:root {
    --accura-navy: #08285b;
    --accura-blue: #1769e8;
    --accura-cyan: #16bde8;
    --accura-blue-soft: #e8f1ff;
}

html, body {
    background: #fff;
    color: #17181b;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    margin: 0;
}

a, .btn-link {
    color: var(--accura-blue);
}

.btn-primary {
    color: #fff;
    background-color: var(--accura-blue);
    border-color: var(--accura-blue);
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(23, 105, 232, .38);
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

h1, h2, h3, p { margin-top: 0; }
h1 { color: #17181b; font-size: clamp(1.45rem, 2vw, 1.8rem); font-weight: 680; letter-spacing: -.03em; }
h2 { color: #202124; font-size: 1.12rem; font-weight: 680; letter-spacing: -.015em; }

.top-actions { background: transparent; border: 0; color: #36383e; cursor: pointer; font-size: .95rem; letter-spacing: .16em; line-height: 1; padding: .45rem .25rem; }

.login-page {
    align-items: flex-start;
    display: flex;
    justify-content: center;
    min-height: calc(100vh - 4.25rem);
    padding: 1.6rem 1rem 4rem;
}

.login-shell { background: #fff; min-height: 100vh; }
.login-shell-top { align-items: center; display: flex; height: 3.2rem; justify-content: flex-end; padding: 0 1.35rem; }
.login-shell-content { min-height: calc(100vh - 3.2rem); }

.login-card {
    border: 1px solid #dedfe3;
    border-radius: .9rem;
    box-shadow: 0 3px 12px rgba(27, 32, 43, .025);
    margin-top: 0.25rem;
    max-width: 460px;
    padding: 2.4rem 2.65rem 2rem;
    width: 100%;
}

.login-product { margin-bottom: 1.8rem; }
.login-product .eyebrow { margin-bottom: .55rem; }
.login-card h1 { color: #182a4c; font-size: 1.9rem; letter-spacing: -.04em; margin-bottom: .55rem; }
.login-subtitle { color: #596273; font-size: 1rem; line-height: 1.5; margin-bottom: 0; }
.login-form { display: flex; flex-direction: column; }
.login-field { margin-bottom: 1rem; }
.login-field label { color: #1f2024; display: block; font-size: .84rem; margin-bottom: .38rem; }
.login-field .form-control { border: 1px solid #d5d6da; border-radius: .48rem; box-shadow: none; color: #31343a; font-size: 1rem; height: 2.7rem; padding: .45rem .8rem; }
.login-field .form-control:focus { border-color: #86aef0; box-shadow: 0 0 0 3px rgba(65, 119, 211, .13); }
.login-field .form-control::placeholder { color: #6d7077; opacity: 1; }
.login-submit { align-items: center; background: var(--accura-blue); border: 1px solid var(--accura-blue); border-radius: .48rem; color: #fff; cursor: pointer; display: flex; font-size: .96rem; font-weight: 700; height: 2.7rem; justify-content: center; margin-top: .1rem; text-decoration: none; transition: background-color 140ms ease, border-color 140ms ease; }
.login-submit:hover { background: var(--accura-navy); border-color: var(--accura-navy); color: #fff; }
.forgot-link { color: #69717d; font-size: .77rem; margin: .8rem auto 0; text-decoration: none; }
.forgot-link:hover, .login-secondary a:hover { color: #2858a8; text-decoration: underline; }
.login-secondary { align-items: center; color: #8a8c92; display: flex; font-size: .7rem; gap: .35rem; justify-content: center; margin-top: 1rem; }
.login-secondary a, .passkey-link { color: #69717d; text-decoration: none; }
.passkey-link { background: none; border: 0; font-size: inherit; padding: 0; }
.login-powered { align-items: center; border-top: 1px solid #edf0f5; color: #858891; display: flex; flex-direction: column; font-size: .72rem; gap: .2rem; justify-content: center; margin-top: 1.55rem; padding-top: 1rem; }
.login-powered-logo { height: 6.55rem; overflow: hidden; position: relative; width: 13rem; }
.login-powered-logo img { height: 13rem; left: 0; max-width: none; position: absolute; top: -3.85rem; width: 13rem; }
.login-access-card { margin-top: 3rem; text-align: center; }
.login-access-card h1 { font-size: 1.2rem; }
.login-access-card .login-submit { margin-top: 1.25rem; }
@media (max-width: 520px) { .login-card { max-width: 100%; padding: 1.75rem 1.45rem; } .login-card h1 { font-size: 1.65rem; } }
.login-form .validation-summary-errors { color: #a52b2b; font-size: .74rem; margin: 0 0 .75rem; }
.login-form .validation-message { color: #a52b2b; font-size: .7rem; margin-top: .25rem; }
.visually-hidden { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); }

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.top-row-label { color: #6b7280; font-size: .82rem; letter-spacing: .02em; }
.accura-dashboard { max-width: 1440px; width: 100%; margin: 0 auto; }
.dashboard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 2.2rem; }
.dashboard-heading-compact { align-items: center; margin-bottom: 1.1rem; }
.eyebrow { color: var(--accura-blue); font-size: .72rem; font-weight: 700; letter-spacing: .14em; margin: 0 0 .65rem; }
.lead { color: #596273; font-size: 1.08rem; line-height: 1.6; max-width: 680px; }
.date-chip { background: #f0efff; border: 1px solid #dedbff; border-radius: 999px; color: #5146b7; font-size: .86rem; padding: .6rem 1rem; white-space: nowrap; }
.profile-switcher { display: flex; gap: .35rem; }
.profile-pill { background: #fff; border: 1px solid #e0e1e5; border-radius: .55rem; color: #5e6066; cursor: pointer; font-size: .75rem; padding: .38rem .7rem; }
.profile-pill.active { background: #d4e3ff; border-color: #d4e3ff; color: #2858a8; font-weight: 650; }
.dashboard-grid, .profile-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-card, .profile-card, .empty-state { background: #fff; border: 1px solid #e7e8ef; border-radius: 1rem; box-shadow: 0 10px 30px rgba(34, 38, 66, .05); }
.dashboard-card { min-height: 190px; padding: 1.3rem; }
.dashboard-card-primary { background: linear-gradient(145deg, #f0efff, #fff); border-color: #dedbff; }
.card-label { color: #6b7280; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.metric-placeholder { color: #20243a; font-size: 1.2rem; font-weight: 700; margin-top: 1rem; }
.dashboard-card p { color: #6b7280; line-height: 1.5; min-height: 48px; }
.metric-grid { gap: .8rem; }
.metric-card { background: #fcfcfd; border-color: #f0f0f2; display: flex; flex-direction: column; min-height: 145px; padding: 1rem .85rem .8rem; }
.metric-card .metric-placeholder { font-size: 1.45rem; margin-top: .45rem; }
.metric-card p { font-size: .72rem; margin-bottom: 0; min-height: 2.15rem; }
.metric-source { color: var(--accura-blue); font-size: .64rem; line-height: 1.35; margin-top: auto; padding-top: .45rem; }
.metric-source a { color: inherit; text-decoration: none; }
.metric-source a:hover { text-decoration: underline; }
.metric-source.fallback { color: #9a661a; }
.market-delta { display: flex; flex-direction: column; font-size: .72rem; gap: .08rem; margin: .35rem 0 .15rem; }
.market-delta strong { font-weight: 700; }
.market-delta small { color: #858891; font-size: .64rem; }
.market-delta.up strong { color: #267749; }
.market-delta.down strong { color: #ae3131; }
.market-delta.neutral strong { color: #69717d; }
.dashboard-card a, .profile-card { color: var(--accura-blue); font-weight: 650; text-decoration: none; }
.dashboard-section { margin-top: 3rem; }
.dashboard-section h2 { margin-bottom: 1.2rem; }
.dashboard-two-column { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .8rem; }
.dashboard-secondary-grid .dashboard-card { min-height: 155px; }
.bvc-card .card-label { margin: .7rem 0 -.6rem; }
.bvc-card .market-value { font-size: 1.55rem; }
.bvc-card p { font-size: .72rem; min-height: 0; }
.list-card { min-height: 154px; padding: 1rem .85rem; }
.card-title-row { align-items: center; display: flex; justify-content: space-between; gap: .75rem; }
.card-title-row h2 { font-size: .88rem; margin: 0; }
.card-title-row a { color: #69717d; font-size: .72rem; text-decoration: none; }
.empty-list { align-items: center; border-top: 1px solid #e7e8ec; color: #7a7c82; display: flex; font-size: .76rem; gap: .5rem; margin-top: .8rem; padding-top: .8rem; }
.dashboard-mini-list { list-style: none; margin: .55rem 0 0; padding: 0; }
.dashboard-mini-list li { align-items: center; border-top: 1px solid #e7e8ec; display: flex; font-size: .76rem; gap: .55rem; min-height: 2.35rem; }
.dashboard-item-kind { color: #8a8c92; display: block; font-size: .65rem; margin-top: .12rem; }
.date-chip-small { background: #fff0cf; border-radius: .28rem; color: #72531a; font-size: .68rem; padding: .22rem .38rem; white-space: nowrap; }
.date-chip-small.meeting { background: #e5efff; color: #2858a8; }
.date-chip-small.income { background: #e6f5ec; color: #267749; }
.date-chip-small.expense { background: #fff0df; color: #a15c1a; }
.chart-with-data { color: #596273; }
.chart-with-data strong { color: #20243a; font-weight: 700; }
.chart-with-data .chart-bars i { background: linear-gradient(180deg, var(--accura-cyan), var(--accura-blue)); }
.empty-dot { align-items: center; background: #eff3fa; border-radius: .28rem; color: #5879ae; display: inline-flex; font-size: 1rem; height: 1.35rem; justify-content: center; width: 2rem; }
.cashflow-card { margin-top: .8rem; padding: 1rem .85rem .75rem; }
.chart-empty { align-items: end; border-top: 1px solid #e7e8ec; color: #8a8c92; display: grid; font-size: .72rem; gap: .45rem; grid-template-columns: 2.8rem minmax(0, 1fr) minmax(5.8rem, 7.4rem); margin-top: .75rem; min-height: 100px; padding-top: .75rem; }
.chart-scale { align-self: stretch; color: #8a8c92; display: flex; flex-direction: column; font-size: .6rem; justify-content: space-between; padding: .05rem 0 .9rem; text-align: right; }
.chart-bars { align-items: flex-end; border-bottom: 1px solid #aebbd0; display: flex; gap: .2rem; height: 72px; min-width: 0; }
.chart-bar-wrap { align-items: center; display: flex; flex: 1 1 0; flex-direction: column; gap: .22rem; height: 100%; justify-content: flex-end; min-width: .32rem; }
.chart-bars i { background: #dbe7fb; border-radius: .12rem .12rem 0 0; display: block; height: 38%; max-width: 1.25rem; min-width: .22rem; transition: filter 140ms ease, transform 140ms ease; width: 100%; }
.chart-bars i:hover, .chart-bars i:focus-visible { filter: brightness(.9); transform: translateY(-2px); }
.chart-bars i.negative { background: linear-gradient(180deg, #58a0f1, #2858a8); }
.chart-bar-wrap small { color: #8a8c92; font-size: .56rem; }
.chart-total { align-items: end; display: flex; flex-direction: column; line-height: 1.25; min-width: 0; text-align: right; }
.chart-total small { color: #858891; font-size: .65rem; }
.chart-total strong { overflow-wrap: anywhere; }
.chart-bars i:nth-child(2n) { height: 63%; }
.chart-bars i:nth-child(3n) { height: 48%; }
.quick-action { align-items: center; border: 1px solid #cfd1d7; border-radius: .48rem; color: #27292d; display: inline-flex; font-size: .8rem; gap: .35rem; margin-top: .85rem; padding: .48rem .75rem; text-decoration: none; }
.quick-action { background: var(--accura-blue-soft); border-color: #b9d0f7; color: var(--accura-navy); font-weight: 650; }
.quick-action:hover { background: #d7e7ff; border-color: var(--accura-blue); color: var(--accura-navy); }
.profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-card { align-items: center; display: flex; gap: 1rem; padding: 1.1rem 1.25rem; transition: transform 160ms ease, box-shadow 160ms ease; }
.profile-card:hover { box-shadow: 0 14px 34px rgba(34, 38, 66, .1); transform: translateY(-2px); }
.profile-card strong, .profile-card small { display: block; }
.profile-card small { color: #6b7280; font-weight: 400; line-height: 1.45; margin-top: .25rem; }
.profile-icon { align-items: center; background: #f0efff; border-radius: .8rem; color: #5146b7; display: inline-flex; font-size: 1.35rem; height: 2.8rem; justify-content: center; width: 2.8rem; }
.empty-state { display: flex; flex-direction: column; gap: .5rem; margin-top: 2rem; max-width: 720px; padding: 1.4rem; }
.empty-state span { color: #6b7280; line-height: 1.5; }
.section-page { max-width: 1440px; width: 100%; margin: 0 auto; padding: .35rem 0 3rem; }
.section-heading { margin-bottom: 1.15rem; }
.section-heading h1 { margin-bottom: .3rem; }
.section-lead { color: #596273; font-size: .95rem; line-height: 1.5; margin: 0; }
.workspace-form { display: grid; gap: .8rem; }
.workspace-form label { color: #363942; display: grid; font-size: .78rem; font-weight: 600; gap: .34rem; }
.workspace-form input:not([type=checkbox]), .workspace-form select { background: #fff; border: 1px solid #d9dce3; border-radius: .48rem; box-sizing: border-box; color: #252831; font: inherit; font-size: .84rem; min-height: 2.35rem; padding: .48rem .65rem; width: 100%; }
.workspace-form input:focus, .workspace-form select:focus { border-color: #8db0e9; box-shadow: 0 0 0 3px rgba(65,119,211,.13); outline: none; }
.check-label { align-items: center; display: flex !important; flex-direction: row; font-weight: 500 !important; gap: .45rem !important; }
.check-label input { accent-color: #3d73cb; }
.primary-action { background: var(--accura-blue); border: 1px solid var(--accura-blue); border-radius: .48rem; color: #fff; cursor: pointer; font-size: .82rem; font-weight: 650; min-height: 2.35rem; padding: .45rem .8rem; transition: background-color 140ms ease, border-color 140ms ease; }
.dashboard-card a.primary-action { color: #fff; }
.primary-action:hover { background: var(--accura-navy); border-color: var(--accura-navy); }
.primary-action:disabled { cursor: wait; opacity: .6; }
.inline-message { background: #f0f6ff; border: 1px solid #d4e3fb; border-radius: .48rem; color: #2858a8; font-size: .8rem; margin-bottom: .8rem; padding: .6rem .75rem; }
.treasury-grid, .workspace-grid { display: grid; gap: .8rem; grid-template-columns: minmax(250px, .82fr) minmax(0, 1.18fr); }
.treasury-grid .dashboard-card, .workspace-grid .dashboard-card { min-height: 0; padding: 1rem; }
.treasury-movements-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: .8rem; }
.treasury-movements-grid .dashboard-card { min-height: 0; padding: 1rem; }
.treasury-list { margin: .65rem 0 0; padding: 0; }
.treasury-list li { align-items: center; border-top: 1px solid #e8e9ed; display: flex; gap: .65rem; list-style: none; min-height: 3.1rem; }
.treasury-list li > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: .15rem; min-width: 0; }
.treasury-list small { color: #8a8c92; font-size: .72rem; }
.treasury-type { align-items: center; border-radius: 50%; display: inline-flex; font-size: 1rem; height: 1.55rem; justify-content: center; width: 1.55rem; }
.treasury-type.income { background: #e6f5ec; color: #267749; }
.treasury-type.expense { background: #fff0df; color: #a15c1a; }
.validation-summary-errors { color: #a52b2b; font-size: .74rem; margin: 0; }
.news-grid { display: grid; gap: .8rem; grid-template-columns: minmax(270px, .8fr) minmax(0, 1.2fr); }
.news-grid .dashboard-card { min-height: 0; padding: 1rem; }
.quiet-action { background: #fff; border: 1px solid #d9dce3; border-radius: .42rem; color: #2858a8; cursor: pointer; font-size: .74rem; padding: .35rem .55rem; }
.quiet-action:hover { background: #f1f5fc; }
.source-list, .article-list { list-style: none; margin: .65rem 0 0; padding: 0; }
.source-list li { align-items: center; border-top: 1px solid #e8e9ed; display: flex; gap: .5rem; justify-content: space-between; min-height: 2.75rem; }
.source-list li > span:first-child, .article-list li { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.source-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .3rem; justify-content: flex-end; }
.source-edit-row, .source-confirm-row { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; justify-content: flex-end; padding: .55rem 0; }
.source-edit-row input { background: #fff; border: 1px solid #d9dce3; border-radius: .42rem; font: inherit; font-size: .78rem; min-height: 2.1rem; padding: .38rem .55rem; }
.danger-action { background: transparent; border: 1px solid #d79a9a; border-radius: .42rem; color: #9a3030; cursor: pointer; font: inherit; font-size: .75rem; padding: .32rem .55rem; }
.danger-action:hover { background: #fff1f1; }
.source-list small, .article-list small { color: #8a8c92; font-size: .69rem; }
.source-status { border-radius: 999px; font-size: .67rem; padding: .2rem .42rem; }
.source-status.ok { background: #e6f5ec; color: #267749; }
.source-status.error { background: #fff0df; color: #a15c1a; }
.source-form { border-top: 1px solid #e8e9ed; display: grid; gap: .45rem; margin-top: .8rem; padding-top: .8rem; }
.source-form input { background: #fff; border: 1px solid #d9dce3; border-radius: .42rem; font: inherit; font-size: .78rem; min-height: 2.1rem; padding: .38rem .55rem; }
.article-list li { border-top: 1px solid #e8e9ed; padding: .65rem 0; }
.news-filter-label { align-items: center; color: #69717d; display: flex; font-size: .72rem; gap: .4rem; margin-top: .45rem; }
.news-filter-label select { background: #fff; border: 1px solid #d9dce3; border-radius: .4rem; color: #293650; font: inherit; font-size: .72rem; min-height: 1.9rem; padding: .25rem .4rem; }
.article-link { background: transparent; border: 0; color: #20243a; cursor: pointer; display: block; font: inherit; font-size: .82rem; font-weight: 650; line-height: 1.35; padding: 0; text-align: left; text-decoration: none; }
.article-link:hover, .article-link:focus-visible { color: var(--accura-blue); text-decoration: underline; }
.news-reader-backdrop { align-items: center; background: rgb(8 40 91 / .42); display: flex; inset: 0; justify-content: center; padding: 1.25rem; position: fixed; z-index: 1000; }
.news-reader-card { box-shadow: 0 1.5rem 4rem rgb(8 40 91 / .25); margin: 0; max-height: min(52rem, calc(100vh - 2.5rem)); min-height: 0; overflow: auto; padding: 1.3rem; width: min(62rem, 100%); }
.news-reader-card h2 { font-size: 1.25rem; line-height: 1.35; margin: 0; max-width: 58rem; }
.news-reader-card .eyebrow { margin-bottom: .35rem; }
.news-reader-meta { color: #69717d; font-size: .76rem; margin: .8rem 0 0; }
.news-reader-note { background: var(--accura-blue-soft); border-left: 3px solid var(--accura-blue); color: #40516d; font-size: .84rem; line-height: 1.5; margin: 1rem 0; padding: .7rem .8rem; }
.news-reader-description { color: #293650; font-size: .95rem; line-height: 1.65; margin: 1.1rem 0 1.35rem; }
.news-reader-empty { color: #69717d; font-style: italic; }
.news-reader-link { display: inline-flex; width: fit-content; }
.calendar-grid { display: grid; gap: .8rem; grid-template-columns: minmax(250px, .82fr) minmax(0, 1.18fr); }
.calendar-grid .dashboard-card { min-height: 0; padding: 1rem; }
.calendar-list { list-style: none; margin: .55rem 0 0; padding: 0; }
.calendar-list li { align-items: center; border-top: 1px solid #e8e9ed; display: flex; gap: .7rem; min-height: 3.8rem; }
.calendar-date { align-items: center; background: #e5efff; border-radius: .45rem; color: #2858a8; display: flex; flex-direction: column; justify-content: center; min-height: 2.55rem; min-width: 2.75rem; }
.calendar-date strong { font-size: .96rem; line-height: 1; }
.calendar-date small { font-size: .62rem; margin-top: .18rem; text-transform: uppercase; }
.calendar-detail { display: flex; flex: 1; flex-direction: column; gap: .13rem; min-width: 0; }
.calendar-detail strong { color: #20243a; font-size: .82rem; }
.calendar-detail small { color: #858891; font-size: .69rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.card-subtitle { color: #858891; font-size: .72rem; margin: .2rem 0 0; }
.export-action { color: #2858a8; font-size: .72rem; font-weight: 650; text-decoration: none; }
.export-action:hover { text-decoration: underline; }
.treasury-projection { margin-top: .8rem; }
.treasury-projection-table { margin-top: .75rem; overflow-x: auto; }
.treasury-projection-row { align-items: center; border-top: 1px solid #e8e9ed; display: grid; gap: .8rem; grid-template-columns: minmax(8rem, 1.5fr) repeat(3, minmax(6rem, 1fr)); min-height: 2.8rem; }
.treasury-projection-row > span:not(:first-child) { text-align: right; }
.treasury-projection-row span:first-child { display: flex; flex-direction: column; gap: .1rem; }
.treasury-projection-row small { color: #858891; font-size: .66rem; }
.treasury-projection-header { border-top: 0; color: #858891; font-size: .67rem; font-weight: 650; min-height: 2rem; text-transform: uppercase; }
.treasury-projection-total { background: #f4f7fc; border-top: 2px solid #d8e2f4; font-weight: 700; margin-top: .25rem; padding-inline: .35rem; }
.income-text { color: #2b7d58; }
.expense-text { color: #b44e4e; }
.projection-note { color: #858891; font-size: .68rem; margin: .75rem 0 0; }
.projection-controls { align-items: end; display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .75rem; }
.projection-controls label { color: #596273; display: flex; flex-direction: column; font-size: .68rem; gap: .25rem; }
.projection-controls input, .projection-controls select { border: 1px solid #d9dce3; border-radius: .35rem; color: #20243a; font: inherit; font-size: .75rem; min-height: 2rem; padding: .3rem .45rem; }
.projection-controls input:disabled { background: #f5f6f8; color: #9a9da5; cursor: not-allowed; }
.tax-calculator-grid, .tax-results-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tax-calculator-grid .dashboard-card, .tax-results-grid .dashboard-card { padding: 1rem; }
.tax-workspace-form { margin: 0; }
.tax-input-card { min-height: 0; }
.tax-form-actions { margin-top: .8rem; }
.tax-result-card { min-height: 18rem; }
.tax-breakdown { margin: .7rem 0 0; }
.tax-breakdown > div { align-items: center; border-top: 1px solid #e8e9ed; display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; }
.tax-breakdown dt { color: #596273; font-size: .78rem; }
.tax-breakdown dd { color: #20243a; font-size: .9rem; font-weight: 650; margin: 0; }
.tax-breakdown .tax-total { border-top: 2px solid #d8e2f4; margin-top: .4rem; }
.tax-breakdown .tax-total dt, .tax-breakdown .tax-total dd { color: #173b75; font-size: 1rem; font-weight: 750; }
.tax-history-card { margin-top: .8rem; min-height: 0; }
.tax-history-list { list-style: none; margin: .65rem 0 0; padding: 0; }
.tax-history-list li { align-items: center; border-top: 1px solid #e8e9ed; display: flex; gap: 1rem; justify-content: space-between; min-height: 3.6rem; }
.tax-history-list li > span { display: flex; flex-direction: column; gap: .2rem; }
.tax-history-list li > span:last-child { align-items: flex-end; text-align: right; }
.tax-history-list strong { color: #20243a; font-size: .78rem; }
.tax-history-list small { color: #7a7c82; font-size: .68rem; }
.source-card { margin-top: .8rem; }
.source-card p { color: #596273; font-size: .74rem; line-height: 1.5; }
.source-card a { color: #2858a8; }
.treasury-detail { display: flex; flex: 1; flex-direction: column; gap: .13rem; min-width: 0; }
.treasury-detail small { color: #858891; font-size: .68rem; }
.treasury-actions { display: flex; gap: .3rem; }
.treasury-actions button { background: transparent; border: 0; color: #2858a8; cursor: pointer; font-size: .67rem; padding: .2rem; }
.treasury-actions button:last-child { color: #a15c1a; }
.form-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.calendar-actions { display: flex; gap: .35rem; }
.calendar-actions button { background: transparent; border: 0; color: #2858a8; cursor: pointer; font-size: .68rem; padding: .2rem; }
.calendar-actions button:last-child { color: #a15c1a; }
.calendar-month-card { margin-top: .8rem; padding: 1rem; }
.calendar-month-card .card-title-row { justify-content: center; }
.month-weekdays, .month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.month-weekdays { color: #858891; font-size: .68rem; font-weight: 650; gap: .3rem; margin-top: .9rem; text-align: center; }
.month-grid { border-left: 1px solid #e8e9ed; border-top: 1px solid #e8e9ed; gap: 0; margin-top: .35rem; }
.month-day { border-bottom: 1px solid #e8e9ed; border-right: 1px solid #e8e9ed; min-height: 4.4rem; padding: .35rem; }
.month-day > span { color: #596273; font-size: .72rem; font-weight: 650; }
.month-day small { background: #e5efff; border-radius: .25rem; color: #2858a8; display: block; font-size: .64rem; margin-top: .28rem; overflow: hidden; padding: .2rem; text-overflow: ellipsis; white-space: nowrap; }
.month-day.outside { background: #fafbfc; }
.month-day.outside > span { color: #b5b7bd; }
.dashboard-item-kind.meeting { color: #2858a8; }
.dashboard-item-kind.income { color: #267749; }
.dashboard-item-kind.expense { color: #a15c1a; }
.dashboard-news-list { list-style: none; margin: .55rem 0 0; padding: 0; }
.dashboard-news-list li { border-top: 1px solid #e7e8ec; display: flex; flex-direction: column; gap: .18rem; padding: .58rem 0; }
.dashboard-news-list a { color: #20243a; font-size: .76rem; font-weight: 650; line-height: 1.3; text-decoration: none; }
.dashboard-news-list a:hover { color: #2858a8; }
.dashboard-news-list small { color: #8a8c92; font-size: .67rem; }
.market-grid { display: grid; gap: .8rem; grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr); }
.market-grid .dashboard-card { min-height: 0; padding: 1rem; }
.market-rate-card { background: linear-gradient(145deg, #f9fbff, #fff); }
.market-placeholder { color: #20243a; font-size: 2rem; font-weight: 700; margin: 1rem 0 .25rem; }
.market-value { color: #20243a; font-size: 1.8rem; font-weight: 700; margin: 1rem 0 .25rem; }
.market-grid p { color: #69717d; font-size: .78rem; line-height: 1.45; }
.market-source { color: #2858a8 !important; font-size: .72rem !important; }
.market-source a { color: inherit; text-decoration: none; }
.market-source a:hover { text-decoration: underline; }
.market-warning { background: #fff8e8; border: 1px solid #f0db9f; border-radius: .48rem; color: #77571d; font-size: .74rem; line-height: 1.45; margin-bottom: .8rem; padding: .6rem .75rem; }
.market-warning a { color: #77571d; font-weight: 650; }
.source-link { color: #2858a8; font-size: .74rem; font-weight: 650; text-decoration: none; }
.source-link:hover { text-decoration: underline; }
.source-note { color: #858891; font-size: .72rem; line-height: 1.5; margin-top: .8rem; max-width: 700px; }
.converter-label { color: #363942; display: grid; font-size: .78rem; font-weight: 600; gap: .34rem; margin-top: .75rem; }
.converter-label input { border: 1px solid #d9dce3; border-radius: .45rem; font: inherit; font-size: .84rem; min-height: 2.25rem; padding: .42rem .6rem; }
.converter-label input:focus { border-color: #8db0e9; box-shadow: 0 0 0 3px rgba(65,119,211,.13); outline: none; }
.converter-result { border-top: 1px solid #e8e9ed; display: flex; flex-direction: column; gap: .25rem; margin-top: .9rem; padding-top: .8rem; }
.converter-result span, .converter-footnote { color: #858891; font-size: .7rem; }
.converter-result strong { color: #20243a; font-size: 1.3rem; }
.converter-footnote { display: block; line-height: 1.4; margin-top: .7rem; }
.market-insights { margin-top: 1.4rem; }
.section-subheading { margin-bottom: .75rem; }
.section-subheading h2 { color: #20243a; font-size: 1.18rem; margin: .15rem 0; }
.section-subheading p { color: #69717d; font-size: .78rem; margin: 0; }
.market-detail-grid, .market-movers-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.market-detail-card { min-height: 0; padding: 1rem; }
.market-value small { color: #69717d; font-size: .82rem; font-weight: 600; }
.market-session-change { font-size: .78rem; font-weight: 700; margin: -.05rem 0 .75rem; }
.market-session-change.up { color: #267749; }
.market-session-change.down { color: #ae3131; }
.market-session-change.neutral { color: #69717d; }
.market-stats { display: grid; gap: .35rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .75rem 0; }
.market-stats div { border-top: 1px solid #e8e9ed; padding-top: .45rem; }
.market-stats dt { color: #858891; font-size: .65rem; }
.market-stats dd { color: #363942; font-size: .76rem; font-weight: 700; margin: .15rem 0 0; }
.market-history { align-items: end; border-top: 1px solid #e8e9ed; display: flex; gap: .36rem; height: 5.7rem; margin-top: .8rem; padding-top: .45rem; }
.market-history-point { align-items: center; display: flex; flex: 1; flex-direction: column; height: 100%; justify-content: end; min-width: 0; }
.market-history-point span { background: #b8caf0; border-radius: .16rem .16rem 0 0; display: block; max-width: 1.5rem; width: 100%; }
.market-history-point small { color: #858891; font-size: .6rem; margin-top: .22rem; }
.market-movers-card { margin-top: .8rem; min-height: 0; padding: 1rem; }
.market-movers-card .card-title-row { align-items: start; }
.market-movers-card h3 { color: #596273; font-size: .76rem; margin: .7rem 0 .3rem; }
.market-movers-list { list-style: none; margin: 0; padding: 0; }
.market-movers-list li { align-items: center; border-top: 1px solid #e8e9ed; display: flex; gap: .5rem; justify-content: space-between; min-height: 3.1rem; padding: .3rem 0; }
.market-movers-list li > span { display: flex; flex-direction: column; min-width: 0; }
.market-movers-list li > span:last-child { align-items: end; text-align: right; white-space: nowrap; }
.market-movers-list strong { color: #20243a; font-size: .74rem; }
.market-movers-list small { color: #858891; font-size: .64rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-movers-list.positive li > span:last-child strong { color: #267749; }
.market-movers-list.negative li > span:last-child strong { color: #ae3131; }
.market-data-note { color: #858891; font-size: .68rem; line-height: 1.45; margin: .75rem 0 0; }
.time-summary-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: .8rem; max-width: 46rem; }
.time-grid { display: grid; gap: .8rem; grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.1fr); }
.time-entry-card, .time-distribution-card, .time-recent-card { min-height: 0; padding: 1rem; }
.time-entry-card input[type="number"], .time-entry-card input[type="datetime-local"] { border: 1px solid #d9dce3; border-radius: .45rem; color: #20243a; font: inherit; font-size: .84rem; min-height: 2.25rem; padding: .42rem .6rem; width: 100%; }
.time-entry-card input:focus { border-color: #8db0e9; box-shadow: 0 0 0 3px rgba(65,119,211,.13); outline: none; }
.time-category-list { list-style: none; margin: .7rem 0 0; padding: 0; }
.time-category-list li { align-items: center; border-top: 1px solid #e8e9ed; display: grid; gap: .65rem; grid-template-columns: minmax(7.5rem, 1fr) minmax(5rem, 1.4fr) 2.7rem; min-height: 3.15rem; }
.time-category-list li > span:first-child { display: flex; flex-direction: column; min-width: 0; }
.time-category-list strong { color: #20243a; font-size: .75rem; }
.time-category-list small { color: #858891; font-size: .66rem; }
.time-category-list > li > strong { color: #596273; text-align: right; }
.time-bar { background: #edf1f8; border-radius: .3rem; display: block; height: .46rem; overflow: hidden; }
.time-bar i { background: #4778d3; border-radius: inherit; display: block; height: 100%; min-width: .15rem; }
.time-recent-card { margin-top: .8rem; }
.time-entry-list li { min-height: 3.55rem; }
.time-category-dot { background: #dbe7fb; border: 1px solid #b8caf0; border-radius: 50%; display: block; height: .64rem; margin: 0 .1rem; width: .64rem; }
.admin-users-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-user-form-card, .admin-reset-card, .admin-user-list-card { min-height: 0; padding: 1rem; }
.admin-selected-user { border-top: 1px solid #e8e9ed; display: flex; flex-direction: column; font-size: .78rem; gap: .16rem; margin: .8rem 0; padding-top: .75rem; }
.admin-selected-user span { color: #858891; font-size: .7rem; }
.admin-user-list-card { margin-top: .8rem; }
.admin-user-list li { min-height: 3.75rem; }
.admin-user-actions { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: end; }
@media (max-width: 700px) { .admin-users-grid { grid-template-columns: 1fr; } .admin-user-actions { align-items: flex-end; flex-direction: column; } }
@media (max-width: 700px) { .treasury-grid, .workspace-grid, .treasury-movements-grid { grid-template-columns: 1fr; } .section-page { padding-left: .15rem; padding-right: .15rem; } }
@media (max-width: 700px) { .news-grid, .calendar-grid, .market-grid, .market-detail-grid, .market-movers-grid, .time-summary-grid, .time-grid, .tax-calculator-grid, .tax-results-grid { grid-template-columns: 1fr; } .market-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } .month-day { min-height: 3.5rem; } .calendar-actions { flex-direction: column; } .treasury-projection-row { gap: .45rem; grid-template-columns: minmax(7rem, 1.3fr) repeat(3, minmax(5rem, 1fr)); } }
@media (max-width: 800px) {
    .dashboard-secondary-grid { grid-template-columns: 1fr; }
    .cashflow-card { min-width: 0; }
    .chart-empty { grid-template-columns: 2.45rem minmax(0, 1fr); grid-template-rows: auto auto; min-height: 118px; }
    .chart-bars { height: 82px; }
    .chart-total { align-items: flex-start; grid-column: 2; margin-top: .2rem; text-align: left; }
    .chart-bar-wrap small { display: none; }
    .chart-bar-wrap:nth-child(4n + 1) small, .chart-bar-wrap:last-child small { display: block; }
}
@media (max-width: 800px) { .dashboard-heading { flex-direction: column; } .dashboard-grid, .profile-grid { grid-template-columns: 1fr; } }
