/* Monthly executive review: light result context, comparable insights and an on-demand source explanation. */
.dashboard-workspace { max-width: 1620px; margin-inline: auto; }
.dashboard-header { display: flex; align-items: center; gap: 20px; margin-bottom: 16px; }
.dashboard-header .eyebrow { margin: 0 0 2px; color: var(--muted); font-size: 10px; letter-spacing: 1px; }
.dashboard-header h1 { margin: 0; font-size: 27px; line-height: 1.15; letter-spacing: -.7px; }
.dashboard-company { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.dashboard-company-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--border); border-radius: 9px; color: var(--primary); background: var(--surface); }
.dashboard-company strong,.dashboard-company small { display: block; }
.dashboard-company strong { max-width: 430px; font-size: 13px; overflow-wrap: anywhere; }
.dashboard-company small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.dashboard-period-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; padding: 9px 12px; margin-bottom: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.dashboard-period-icon { display: grid; place-items: center; align-self: center; width: 30px; color: var(--primary); }
.dashboard-period-bar label { display: grid; gap: 3px; color: var(--muted); font-size: 10px; }
.dashboard-period-bar input,.dashboard-period-bar select,.dashboard-chart-tools select { min-height: 32px; padding: 5px 8px; border: 1px solid var(--border-strong); border-radius: 6px; color: var(--text); background: var(--surface); font-size: 12px; }
.dashboard-period-bar input { width: 132px; }
.dashboard-period-bar select { width: 104px; }
.dashboard-period-bar .button { min-height: 32px; padding: 5px 11px; font-size: 12px; }
.dashboard-period-bar .period-presets { min-height: 32px; }
.dashboard-period-scope { display: flex; align-items: center; gap: 6px; align-self: center; margin-left: auto; color: var(--muted); font-size: 10px; }
.dashboard-period-scope .icon { width: 15px; color: var(--success); }
.dashboard-period-bar .validation { flex-basis: 100%; margin: 0; }
.dashboard-draft-note { display: flex; align-items: center; gap: 6px; margin: -3px 0 12px; padding: 7px 10px; color: var(--warning); border-left: 2px solid #b77915; background: #fff9ee; font-size: 11px; }
.dashboard-draft-note .icon { width: 15px; }
.dashboard-finance-canvas { overflow: hidden; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); }
.dashboard-result-summary { display: grid; grid-template-columns: minmax(220px,1fr) minmax(210px,.85fr) minmax(210px,.85fr); align-items: center; gap: 22px; padding: 16px 20px; border-bottom: 1px solid var(--border); background: #fff; }
.dashboard-kicker { margin: 0 0 4px; color: var(--muted); font-size: 9px; font-weight: 650; text-transform: uppercase; letter-spacing: .9px; }
.dashboard-result-heading h2 { margin: 0; color: var(--text); font-size: 15px; font-weight: 650; }
.dashboard-result-state { display: flex; width: fit-content; align-items: center; gap: 5px; padding: 3px 6px; margin: 6px 0 1px; border: 1px solid #cde4da; border-radius: 4px; color: #17634c; background: #f3faf6; font-size: 9px; }
.dashboard-result-state .icon { width: 11px; height: 11px; }
.dashboard-result-state.warning { border-color: #ead7b2; color: #865809; background: #fffaf0; }
.dashboard-result-main { min-width: 0; padding-left: 22px; border-left: 1px solid var(--border); }
.dashboard-result-unavailable { margin: 4px 0; color: var(--warning); font-size: 19px; font-weight: 650; }
.dashboard-result-main > p.dashboard-result-caution { color: var(--warning); font-size: 10px; }
.dashboard-result-amount { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin-block: 4px; color: var(--text); font-size: clamp(22px,2.1vw,28px); font-weight: 700; line-height: 1.2; letter-spacing: -.6px; overflow-wrap: anywhere; }
.dashboard-result-amount.negative { color: #9a4d36; }
.dashboard-result-amount > span { color: var(--muted); font-size: 11px; font-weight: 500; letter-spacing: .2px; }
.dashboard-result-main > p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.dashboard-result-link { display: inline-flex; align-items: center; gap: 5px; padding: 5px 0 0; color: var(--primary); text-decoration: none; font-size: 10px; font-weight: 600; }
.dashboard-result-link:hover { text-decoration: underline; }
.dashboard-result-link .icon { width: 12px; height: 12px; }
.dashboard-result-comparison { display: grid; gap: 3px; padding: 2px 0 2px 22px; border-left: 1px solid var(--border); }
.dashboard-result-comparison > span { color: var(--muted); font-size: 10px; }
.dashboard-result-comparison > strong { color: var(--text); font-size: 19px; font-weight: 650; line-height: 1.25; letter-spacing: -.3px; }
.dashboard-result-comparison strong small { margin-left: 6px; color: var(--muted); font-size: 10px; font-weight: 500; }
.dashboard-result-comparison > .dashboard-comparison-unavailable { font-size: 17px; }
.dashboard-result-difference { display: flex; flex-wrap: wrap; align-items: center; column-gap: 5px; padding-top: 3px; color: #17634c; }
.dashboard-result-difference.negative { color: #9a4d36; }
.dashboard-result-difference .icon { width: 15px; }
.dashboard-result-difference strong { font-size: 11px; }
.dashboard-result-difference small { color: var(--muted); font-size: 9px; }
.dashboard-detail-analysis { border-top: 1px solid var(--border); }
.dashboard-detail-analysis > summary { display: flex; align-items: center; gap: 9px; min-height: 51px; padding: 10px 20px; color: var(--text); cursor: pointer; list-style: none; background: #fafbfd; }
.dashboard-detail-analysis > summary::-webkit-details-marker { display: none; }
.dashboard-detail-analysis > summary > .icon { width: 17px; color: var(--muted); }
.dashboard-detail-analysis > summary > .icon:last-child { width: 14px; margin-left: auto; }
.dashboard-detail-analysis[open] > summary > .icon:last-child { transform: rotate(180deg); }
.dashboard-detail-analysis > summary strong,.dashboard-detail-analysis > summary small { display: block; }
.dashboard-detail-analysis > summary strong { font-size: 11px; font-weight: 600; }
.dashboard-detail-analysis > summary small { margin-top: 1px; color: var(--muted); font-size: 9px; }
.dashboard-detail-analysis > summary:hover { background: var(--raised); }
.dashboard-detail-analysis > summary:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.dashboard-finance-body { display: grid; grid-template-columns: minmax(0,1fr) 310px; }
.dashboard-result-chart { min-width: 0; padding: 19px 24px 15px; }
.dashboard-result-chart > header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.dashboard-result-chart h3,.dashboard-control-rail h3 { margin: 0; color: var(--text); font-size: 16px; font-weight: 680; letter-spacing: -.3px; }
.dashboard-chart-unit { margin-left: auto; padding: 3px 7px; border: 1px solid var(--border); border-radius: 5px; color: var(--muted); background: var(--raised); font-size: 10px; font-weight: 650; }
.dashboard-chart-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 16px; }
.dashboard-chart-tools select { min-height: 29px; max-width: 170px; font-size: 11px; }
.dashboard-chart-tools > span { display: flex; align-items: center; gap: 5px; margin-left: auto; color: var(--muted); font-size: 9px; }
.dashboard-chart-tools i { width: 6px; height: 6px; border-radius: 2px; background: #087f6f; }
.dashboard-chart-tools i.negative { margin-left: 8px; background: #b9783f; }
.dashboard-result-bands { display: grid; gap: 15px; padding: 0; margin: 0; list-style: none; }
.dashboard-band-copy { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin-bottom: 5px; }
.dashboard-band-copy strong { min-width: 0; font-size: 11px; font-weight: 600; overflow-wrap: anywhere; }
.dashboard-band-copy > span { flex: 0 0 auto; color: var(--text); font-size: 12px; font-weight: 650; }
.dashboard-band-track { overflow: hidden; height: 8px; border-radius: 3px; background: #edf1f4; }
.dashboard-band-track > span { display: block; height: 100%; border-radius: 3px; background: #087f6f; transition: width .22s ease; }
.dashboard-band-track > .negative { background: #b9783f; }
.dashboard-band-link { display: block; padding: 5px 7px; margin: -5px -7px; border-radius: 5px; color: var(--text); text-decoration: none; }
.dashboard-band-link:hover { background: var(--raised); }
.dashboard-band-link:hover .dashboard-band-copy strong { color: var(--primary); }
.dashboard-band-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 3px; }
.dashboard-band-footer > small { color: var(--muted); font-size: 9px; }
.dashboard-band-footer > span { display: flex; align-items: center; gap: 2px; color: var(--primary); font-size: 9px; font-weight: 600; }
.dashboard-band-footer .icon { width: 11px; height: 11px; }
.dashboard-chart-note { margin: 15px 0 0; color: var(--muted); font-size: 10px; }
.dashboard-chart-empty { display: grid; justify-items: center; align-content: center; gap: 9px; min-height: 150px; padding: 22px; color: var(--muted); text-align: center; }
.dashboard-chart-empty .icon { width: 30px; height: 30px; color: var(--primary); }
.dashboard-chart-empty strong { color: var(--text); font-size: 13px; }
.dashboard-chart-empty p { margin: 0; font-size: 11px; }
.dashboard-control-rail { min-width: 0; padding: 19px 17px 16px; border-left: 1px solid var(--border); background: var(--raised); }
.dashboard-control-status { display: flex; align-items: center; gap: 8px; margin-top: 15px; padding: 10px; border: 1px solid #bfdfd4; border-radius: 7px; color: #08644b; background: #eaf6f1; text-decoration: none; }
.dashboard-control-status > .icon { width: 16px; }
.dashboard-control-status > .icon:last-child { margin-left: auto; width: 13px; }
.dashboard-control-status strong,.dashboard-control-status small { display: block; }
.dashboard-control-status strong { font-size: 11px; font-weight: 650; }
.dashboard-control-status small { margin-top: 2px; color: #386b5e; font-size: 9px; }
.dashboard-control-status:hover { border-color: #73baa0; background: #e1f2ea; }
.dashboard-control-status.warning { color: #85580e; background: #fff8eb; border-color: #efd6a8; }
.dashboard-control-status.warning small { color: #8e6931; }
.dashboard-control-rail dl { display: grid; gap: 11px; padding: 16px 0; margin: 0; }
.dashboard-control-rail dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dashboard-control-rail dt { color: var(--muted); font-size: 10px; }
.dashboard-control-rail dd { margin: 0; font-size: 12px; font-weight: 650; text-align: right; }
.dashboard-control-rail dd small { display: block; color: var(--muted); font-size: 9px; font-weight: 400; }
.dashboard-finance-actions { border-block: 1px solid var(--border); }
.dashboard-finance-actions > a { display: flex; align-items: center; gap: 10px; padding: 12px 0; color: var(--primary-deep); text-decoration: none; font-size: 12px; font-weight: 650; }
.dashboard-finance-actions > a + a { border-top: 1px solid var(--border); }
.dashboard-finance-actions > a:hover { color: var(--primary); }
.dashboard-finance-actions > a > .icon { width: 17px; }
.dashboard-finance-actions > a > .icon:last-child { margin-left: auto; width: 14px; }
.dashboard-finance-actions small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; font-weight: 400; }
.dashboard-source-warnings { margin-top: 13px; }
.dashboard-source-warnings summary { display: flex; align-items: center; gap: 7px; color: var(--warning); font-size: 10px; cursor: pointer; }
.dashboard-source-warnings summary .icon { width: 14px; height: 14px; }
.dashboard-source-warnings summary .icon:last-child { margin-left: auto; }
.dashboard-source-warnings ul { display: grid; gap: 9px; max-height: 190px; overflow: auto; padding-left: 15px; color: var(--muted); font-size: 10px; }
.dashboard-ledger-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 23px; padding: 11px 24px; border-top: 1px solid var(--border); background: #f9fbfd; }
.dashboard-ledger-strip > span { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; }
.dashboard-ledger-strip .icon { width: 15px; }
.dashboard-ledger-strip > div { display: flex; align-items: baseline; gap: 8px; }
.dashboard-ledger-strip > div > span { color: var(--muted); font-size: 10px; }
.dashboard-ledger-strip strong { color: var(--text); font-size: 12px; font-weight: 650; }
.dashboard-ledger-strip strong small { margin-left: 4px; color: var(--muted); font-size: 9px; font-weight: 400; }
.dashboard-ledger-strip > a { display: flex; align-items: center; gap: 4px; margin-left: auto; font-size: 10px; font-weight: 600; text-decoration: none; }
.dashboard-module-section { margin-top: 20px; }
.dashboard-module-section > header { display: flex; align-items: center; gap: 12px; margin-bottom: 11px; }
.dashboard-module-section h2 { margin: 0; font-size: 17px; font-weight: 680; letter-spacing: -.3px; }
.dashboard-module-section > header > span { margin-left: auto; color: var(--muted); font-size: 10px; }
.dashboard-module-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 10px; }
.dashboard-module-link { display: flex; align-items: flex-start; gap: 10px; min-height: 102px; padding: 12px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: var(--surface); text-decoration: none; transition: border-color .15s,box-shadow .15s; }
.dashboard-module-link:hover { border-color: #83b1d2; box-shadow: 0 3px 10px rgb(16 37 58 / 5%); }
.dashboard-module-icon { display: grid; place-items: center; flex: 0 0 auto; width: 29px; height: 29px; border-radius: 8px; color: var(--primary); background: #eaf2fa; }
.dashboard-module-copy { display: grid; gap: 6px; min-width: 0; }
.dashboard-module-copy > strong { color: var(--primary-deep); font-size: 13px; font-weight: 650; }
.dashboard-module-copy > span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.dashboard-module-copy > small { display: flex; align-items: center; gap: 5px; margin-top: 2px; color: var(--muted); font-size: 9px; }
.dashboard-module-copy > small .icon { width: 12px; height: 12px; }
.dashboard-module-link > .icon { margin-left: auto; width: 14px; color: var(--muted); }
.dashboard-module-link.module-sales:hover { border-color: #8dbbb0; }
.dashboard-module-link.module-sales .dashboard-module-icon { color: #087769; background: #e8f5f1; }
.dashboard-module-link.module-purchase:hover { border-color: #c7b494; }
.dashboard-module-link.module-purchase .dashboard-module-icon { color: #876022; background: #f9f2e7; }
.dashboard-module-link.module-inventory:hover { border-color: #a6b3cb; }
.dashboard-module-link.module-inventory .dashboard-module-icon { color: #4d6490; background: #eef1f8; }
.dashboard-module-link.module-management:hover { border-color: #a5adb6; }
.dashboard-module-link.module-management .dashboard-module-icon { color: #435564; background: #eff2f5; }
.dashboard-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 16px; color: var(--muted); font-size: 9px; }
.dashboard-footer .icon { width: 13px; height: 13px; }
.dashboard-footer > span:last-child:not(:first-of-type) { margin-left: auto; }
.dashboard-loading { display: grid; gap: 12px; min-height: 400px; padding: 25px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.dashboard-loading .skeleton { min-height: 68px; }
.dashboard-access-state > .icon { width: 34px; height: 34px; color: var(--primary); }
@media (max-width: 1100px) { .dashboard-finance-body { grid-template-columns: minmax(0,1fr) 275px; } .dashboard-result-summary { grid-template-columns: minmax(180px,1fr) minmax(170px,1fr) minmax(170px,1fr); gap: 16px; padding-inline: 18px; } .dashboard-result-main,.dashboard-result-comparison { padding-left: 16px; } .dashboard-result-chart { padding: 18px; } .dashboard-period-scope { display: none; } }
@media (max-width: 820px) { .dashboard-header { align-items: flex-start; } .dashboard-company { max-width: 50%; } .dashboard-result-summary { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; } .dashboard-result-heading { grid-column: 1 / -1; } .dashboard-result-main { padding-left: 0; border-left: 0; } .dashboard-result-amount { font-size: 25px; } .dashboard-finance-body { grid-template-columns: minmax(0,1fr); } .dashboard-control-rail { border-left: 0; border-top: 1px solid var(--border); } .dashboard-control-rail dl { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; } .dashboard-control-rail dl > div { display: grid; gap: 3px; } .dashboard-control-rail dd { text-align: left; } .dashboard-control-status { max-width: 410px; } .dashboard-finance-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .dashboard-finance-actions > a + a { border-top: 0; } .dashboard-ledger-strip { gap: 12px; padding-inline: 18px; } }
@media (max-width: 560px) { .dashboard-header { flex-direction: column; gap: 10px; margin-bottom: 11px; } .dashboard-company { max-width: 100%; margin-left: 0; } .dashboard-result-summary { grid-template-columns: minmax(0,1fr); gap: 10px; padding: 14px; } .dashboard-result-comparison { padding: 10px 0 0; border-left: 0; border-top: 1px solid var(--border); } .dashboard-result-comparison > strong { font-size: 18px; } .dashboard-result-difference { padding-top: 2px; } .dashboard-period-bar { padding: 9px; gap: 7px; } .dashboard-period-icon { display: none; } .dashboard-period-bar input { width: 120px; } .dashboard-period-bar select { width: 92px; } .dashboard-result-chart { padding: 16px; } .dashboard-chart-tools > span { margin-left: 0; } .dashboard-band-copy { gap: 10px; } .dashboard-band-copy strong { font-size: 10px; } .dashboard-band-copy > span { font-size: 11px; } .dashboard-control-rail dl { grid-template-columns: minmax(0,1fr); } .dashboard-control-rail dl > div { display: flex; } .dashboard-finance-actions { grid-template-columns: minmax(0,1fr); gap: 0; } .dashboard-finance-actions > a + a { border-top: 1px solid var(--border); } .dashboard-ledger-strip > span { flex-basis: 100%; } .dashboard-detail-analysis > summary { padding-inline: 14px; } .dashboard-module-grid { grid-template-columns: minmax(0,1fr); } .dashboard-module-link { min-height: 94px; } .dashboard-footer > span:last-child:not(:first-of-type) { flex-basis: 100%; margin-left: 19px; } }
@media (prefers-reduced-motion: reduce) { .dashboard-band-track > span,.dashboard-module-link { transition: none; } .dashboard-module-link:hover { transform: none; } }
@media print { .dashboard-period-bar,.dashboard-chart-tools,.dashboard-finance-actions,.dashboard-module-section,.dashboard-result-summary a,.dashboard-ledger-strip > a { display: none; } .dashboard-finance-canvas { box-shadow: none; } .dashboard-result-summary { color: #10253a; background: #fff; } .dashboard-result-heading h2,.dashboard-result-amount,.dashboard-result-comparison > strong { color: #10253a; } .dashboard-result-main > p,.dashboard-result-amount > span,.dashboard-result-comparison > span { color: #526a80; } }
