:root{--blue:#1262c8;--indigo:#32207c;--ink:#0b1736;--muted:#60708f;--bg:#edf5fc;--card:#fff;--line:#d6e2ef;--green:#12a76b;--amber:#e8a900;--red:#e75467;--shadow:0 14px 34px rgba(24,58,99,.10)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading{padding:80px;text-align:center;color:var(--muted)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#d8eeff,transparent 40%),linear-gradient(145deg,#f7fbff,#e8effa)}.login-card{width:min(460px,100%);background:#fff;border-radius:28px;padding:36px;box-shadow:0 28px 70px rgba(20,48,95,.18)}.brand-mark{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--indigo));display:grid;place-items:center;color:#fff;font-weight:900;margin-bottom:22px}.login-card h1{font-size:28px;margin:0 0 10px}.login-card p{color:var(--muted);line-height:1.65}.field{display:grid;gap:7px;margin:16px 0}.field label{font-size:13px;font-weight:700;color:#354461}.field input,.field select,.field textarea,.filterbar input,.filterbar select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.primary,.secondary,.danger{border:0;border-radius:12px;padding:11px 16px;font-weight:800}.primary{background:linear-gradient(135deg,var(--blue),var(--indigo));color:#fff}.secondary{background:#edf3fb;color:#19355f}.danger{background:#fff0f2;color:#b72840}.wide{width:100%}.error{color:#b72840;background:#fff0f2;border:1px solid #ffd1d8;padding:10px 12px;border-radius:10px}.success{color:#08784a;background:#eafaf3;border:1px solid #bcebd5;padding:10px 12px;border-radius:10px}.note{color:var(--muted);font-size:13px;line-height:1.55}
.lang-login{float:right;border:1px solid var(--line);background:#f5f8fc;color:#173f8f;border-radius:999px;padding:7px 11px;font-weight:800}
.company-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:10px}.company-checks label{display:flex;gap:7px;align-items:center}.company-checks input{width:auto}.account-switch{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#f5f8fc;border-radius:12px;font-weight:800}.account-switch input{width:18px;height:18px}
.shell{max-width:1500px;margin:auto;padding:24px}.hero{background:linear-gradient(120deg,var(--blue),var(--indigo));color:#fff;padding:28px;border-radius:26px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:24px}.hero h1{margin:0 0 8px;font-size:clamp(25px,3vw,40px)}.hero p{margin:4px 0;opacity:.87}.hero-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start}.pill{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.nav{display:flex;gap:8px;overflow:auto;padding:18px 0 14px}.nav button{border:1px solid var(--line);background:#fff;color:#18365f;border-radius:999px;padding:9px 14px;white-space:nowrap;font-weight:800}.nav button.active{background:#173f8f;color:#fff;border-color:#173f8f}.nav .spacer{flex:1}.grid{display:grid;gap:18px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);min-width:0}.kpi{border-bottom:4px solid var(--blue)}.kpi.green{border-color:var(--green)}.kpi.amber{border-color:var(--amber)}.kpi.red{border-color:var(--red)}.kpi label{font-size:13px;font-weight:800;color:#52627e}.kpi strong{display:block;font-size:clamp(26px,3vw,44px);margin:12px 0 5px;letter-spacing:-1px}.kpi .sub{font-size:20px;font-weight:900}.green-text{color:var(--green)}.red-text{color:var(--red)}.split{grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr)}.card h2{margin:0 0 16px;font-size:21px}.chart{display:flex;align-items:flex-end;gap:8px;height:260px;padding:26px 4px 38px;border-bottom:1px solid var(--line);overflow-x:auto}.bar-set{min-width:44px;height:100%;display:flex;gap:3px;align-items:flex-end;position:relative}.bar{width:17px;border-radius:5px 5px 0 0;background:#276be4;min-height:2px}.bar.budget{background:#e8ab12}.bar-label{position:absolute;bottom:-25px;font-size:10px;transform:rotate(-35deg);transform-origin:left;white-space:nowrap;color:var(--muted)}.risk-list{display:grid;gap:10px}.risk{padding:12px 13px;background:#f6f9fc;border-left:4px solid var(--green);border-radius:10px}.risk.red{border-color:var(--red)}.risk.amber{border-color:var(--amber)}.risk b{display:block;margin-bottom:4px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{border-collapse:collapse;width:100%;min-width:850px}th,td{padding:11px 12px;border-bottom:1px solid #e7edf5;text-align:left;font-size:13px;vertical-align:top}th{background:#f5f8fc;color:#4d5f7b;position:sticky;top:0;z-index:1}td.num{text-align:right;font-variant-numeric:tabular-nums}.status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase}.status.red,.status.rejected{background:#ffe8ec;color:#b82e46}.status.amber,.status.pending_review,.status.uploaded_pending_parse{background:#fff5d8;color:#8d6500}.status.green,.status.approved,.status.approved_baseline,.status.valid{background:#e7f8ef;color:#08784a}.filterbar{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:14px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{padding:7px 10px}.modal{position:fixed;inset:0;background:rgba(8,20,45,.55);display:grid;place-items:center;padding:20px;z-index:20}.modal-card{width:min(900px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:24px}.hidden{display:none!important}.empty{text-align:center;padding:38px;color:var(--muted)}.security-banner{background:#fff7d8;border:1px solid #eed588;color:#6f5300;border-radius:12px;padding:12px 14px;margin-bottom:14px}.upload-grid{grid-template-columns:1fr 1fr}.footer-note{text-align:center;color:var(--muted);font-size:12px;padding:24px}
@media(max-width:950px){.kpis{grid-template-columns:1fr 1fr}.split,.upload-grid{grid-template-columns:1fr}.filterbar{grid-template-columns:1fr 1fr}.hero{display:block}.hero-meta{justify-content:flex-start;margin-top:16px}}
@media(max-width:600px){.shell{padding:12px}.hero{padding:20px;border-radius:20px}.kpis{grid-template-columns:1fr}.filterbar{grid-template-columns:1fr}.card{padding:15px}.login-card{padding:25px}.nav .spacer{display:none}}
.section-nav{display:flex;gap:8px;overflow:auto;padding:0 0 14px}.section-nav a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:#173f8f;text-decoration:none;font-weight:800;white-space:nowrap}.v6-two{grid-template-columns:minmax(0,1.3fr) minmax(350px,1fr);margin-top:18px}.v6-head{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.v6-head h2{margin:0 0 5px}.v6-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.v6-head select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;max-width:220px}.v6-chart{height:310px;display:flex;align-items:stretch;gap:6px;border-bottom:1px solid var(--line);padding:20px 4px 34px;overflow-x:auto}.trend-col{min-width:36px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.trend-values{height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.actual-bar{width:16px;background:#286ce5;border-radius:5px 5px 0 0}.budget-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#e6aa12;transform:translateY(50%);box-shadow:0 0 0 3px #fff}.trend-col small{position:absolute;bottom:-30px;font-size:9px;color:var(--muted);transform:rotate(-35deg);white-space:nowrap}.insight-grid{display:grid;gap:10px}.insight{display:grid;gap:5px;background:#f6f9fc;border-left:4px solid var(--green);padding:12px;border-radius:10px}.insight.red{border-color:var(--red)}.insight.amber{border-color:var(--amber)}.insight span{color:#52627e;font-size:13px;line-height:1.5}.hbars{display:grid;gap:10px}.hbar{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(100px,2fr) 80px;gap:9px;align-items:center;font-size:12px}.hbar>span{overflow-wrap:anywhere}.hbar>i,.ladder i{display:block;height:11px;background:#edf2f7;border-radius:99px;overflow:hidden}.hbar em,.ladder em{display:block;height:100%;background:#286ce5;border-radius:99px}.hbar em.negative{background:var(--red)}.hbar em.positive{background:var(--green)}.hbar>b{text-align:right}.ladder{display:grid;gap:14px}.ladder>div{display:grid;grid-template-columns:125px 1fr 145px;gap:10px;align-items:center}.ladder em.base{background:#8b98aa}.ladder em.amber{background:var(--amber)}.ladder em.green{background:var(--green)}.ladder em.violet{background:#7457c7}.ladder em.red{background:var(--red)}.ladder em.blue{background:#286ce5}.ladder b{text-align:right}.ladder small{color:var(--muted)}.segmented{display:flex;gap:5px}.segmented button{border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:#fff;color:#173f8f}.segmented button.active{background:#173f8f;color:#fff}.coverage{display:grid;gap:18px}.coverage h3{margin:0 0 9px}.chip{display:inline-flex;margin:3px;padding:6px 9px;border-radius:999px;background:#e7f8ef;color:#08784a;font-size:12px;font-weight:700}.chip.miss{background:#fff1f3;color:#b52f46}.badge{background:#edf3fb;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;color:#173f8f;white-space:nowrap}.rule-list{display:grid;gap:9px}.rule-list>div{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;padding:11px;background:#f6f9fc;border-radius:10px}.rule-list small{grid-column:2;color:var(--muted)}.summary-three{grid-template-columns:repeat(3,1fr);margin-bottom:14px}.summary-three>div{background:#f6f9fc;padding:15px;border-radius:13px}.summary-three h3{margin:0 0 7px}.summary-three p{margin:0;color:#52627e;line-height:1.6}.action-preview{margin-top:12px}
@media(max-width:1000px){.v6-two{grid-template-columns:1fr}.summary-three{grid-template-columns:1fr}.v6-head{flex-wrap:wrap}}
@media(max-width:600px){.ladder>div{grid-template-columns:90px 1fr}.ladder b{grid-column:1/-1;text-align:left}.hbar{grid-template-columns:100px 1fr}.hbar>b{grid-column:2}.v6-chart{height:250px}.rule-list>div{grid-template-columns:1fr}.rule-list small{grid-column:1}.section-nav{margin-top:-2px}.nav button,.section-nav a,.segmented button{min-height:44px}.field input,.field select,.field textarea,.filterbar input,.filterbar select{font-size:16px}}

/* V6 accepted visual baseline: keep application/auth controls, mirror the supplied dashboard. */
body{background:linear-gradient(180deg,#e8f2fb 0,#f8fafc 52%,#fff 100%)}
.shell{max-width:1560px;padding:clamp(12px,2vw,24px)}
.shell>.hero{background:linear-gradient(135deg,#0f5fc7 0,#183b93 55%,#351574 100%);border-radius:24px;padding:clamp(18px,2.2vw,28px)}
.shell>.hero h1{font-size:clamp(22px,2.2vw,34px);line-height:1.15;letter-spacing:0}
.hero-version{display:inline-flex;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:11px;font-weight:900;letter-spacing:.08em}.hero-meta .pill b{font-size:15px;margin-right:2px}.session-user{align-self:center;color:#52627e;font-size:12px;font-weight:800;white-space:nowrap}
.shell>.nav{position:sticky;top:0;z-index:8;background:rgba(237,244,251,.9);backdrop-filter:blur(14px);padding:8px 0;margin:8px 0}
.v6-dashboard{display:grid;gap:clamp(12px,1.4vw,20px)}
.v6-dashboard [id^="v6-"]{scroll-margin-top:120px}
.v6-dashboard .section-nav{position:sticky;top:54px;z-index:7;background:rgba(237,244,251,.9);backdrop-filter:blur(14px);padding:8px 0;margin:-8px 0 0}
.v6-dashboard .section-nav a{padding:8px 12px;font-size:13px;font-weight:760}
.v6-dashboard .grid{gap:clamp(12px,1.4vw,18px)}
.v6-dashboard .card{background:rgba(255,255,255,.96);border-color:#d9e4f2;border-radius:14px;box-shadow:0 16px 34px rgba(24,42,72,.1);padding:clamp(14px,1.5vw,20px)}
.v6-dashboard .v6-two{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);margin-top:0}
.v6-dashboard .v6-head{flex-wrap:wrap;margin-bottom:14px}
.v6-dashboard .v6-head h2{font-size:clamp(18px,1.6vw,24px);line-height:1.2;letter-spacing:0}
.v6-dashboard .v6-head p{color:#667085;font-size:12px;font-weight:650;line-height:1.5}
.v6-dashboard .v6-head select{border-color:#d9e4f2;border-radius:10px;color:#101828;padding:9px 10px}
.v6-dashboard .kpi{position:relative;min-height:174px;overflow:hidden;border-bottom:0}
.v6-dashboard .kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#2563eb}
.v6-dashboard .kpi.green:after{background:#20a66a}.v6-dashboard .kpi.amber:after{background:#e5ae19}.v6-dashboard .kpi.red:after{background:#e25563}
.kpi-label{font-size:13px;color:#667085;font-weight:780}.kpi-big{font-size:clamp(28px,3.2vw,46px);font-weight:860;line-height:1.05;margin-top:8px;letter-spacing:0}.kpi-ratio{font-size:clamp(22px,2vw,30px);font-weight:860;margin-top:6px}.kpi-note{color:#667085;font-size:13px;line-height:1.55;margin-top:4px}
.v6-dashboard .insight{background:#f7fbff;border-radius:8px;padding:10px 12px}
.v6-dashboard .hbar{grid-template-columns:minmax(150px,220px) minmax(0,1fr) minmax(80px,110px);gap:10px;font-size:13px}
.v6-dashboard .hbar>i{height:16px;background:#e5edf7}
.v6-dashboard .ladder>div{grid-template-columns:150px minmax(0,1fr) 120px;gap:12px}.v6-dashboard .ladder i{height:24px;background:#e5edf7}
.v6-dashboard .badge{padding:5px 10px;font-size:12px;font-weight:820;background:#e8f1ff;color:#174a94}
.preserve-matrix .table-wrap{max-height:760px;border-radius:10px;border-color:#d9e4f2}
.preserve-matrix table{min-width:900px;background:#fff}.preserve-matrix th,.preserve-matrix td{padding:10px 9px}.preserve-matrix th{background:#f7fbff;color:#667085;font-size:12px}
.preserve-rules .rule-list{gap:10px}.preserve-rules .rule-list>div{grid-template-columns:110px minmax(0,1fr);gap:5px 10px;padding:11px 12px;background:#f5f8fc;border-radius:10px}.preserve-rules .rule-list>div b{font-size:16px}.preserve-rules .rule-list>div span{font-size:16px;line-height:1.35}.preserve-rules .rule-list small{grid-column:2;color:#53698e;font-size:13px;line-height:1.45}
.v6-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ai-button{border:1px solid #c9d9ee;background:#173f8f;color:#fff;border-radius:10px;padding:8px 11px;font-weight:800}.ai-button:disabled{opacity:.6;cursor:wait}.kimi-result{margin:14px 0;background:#f4f8fe;border:1px solid #d9e4f2;border-radius:12px;padding:15px}.kimi-result h3{margin:0 0 8px}.kimi-result p{margin:0;color:#354b70;line-height:1.7}.ai-meta{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px;color:#50617d;font-size:12px}.ai-meta span,.ai-meta strong{padding:5px 9px;border-radius:999px;background:#eaf1fb}.ai-meta strong{color:#a3263f;background:#ffe8ed}
.trend-controls,.pivot-controls{display:flex;gap:8px;flex-wrap:wrap}.trend-controls select,.pivot-controls select{border:1px solid #cfddec;border-radius:10px;background:#fff;color:#101828;padding:10px 14px;font-size:15px;min-height:40px}.chart-svg{height:auto;min-height:360px;display:block;border:0;padding:0;overflow-x:auto}.chart-svg svg{display:block;min-width:860px;width:100%;height:auto}.chart-grid{stroke:#d9e4f2;stroke-width:1}.chart-axis{fill:#596a86;font-size:11px}.chart-value{fill:#101828;font-size:10px;font-weight:800}.chart-actual{fill:#2864e8}.chart-budget{fill:#e5a900;stroke:#fff;stroke-width:2}.chart-budget-line{fill:none;stroke:#e5a900;stroke-width:3;stroke-dasharray:7 6;stroke-linecap:round;stroke-linejoin:round}.chart-legend{display:flex;gap:20px;align-items:center;color:#667085;font-size:12px;margin-top:6px}.chart-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}.actual-key{background:#2864e8}.budget-key{background:#e5a900}
.pivot-card{overflow:hidden}.pivot-card .v6-head{align-items:center}.pivot-wrap{max-width:100%;max-height:690px;overflow:auto;border:1px solid #d9e4f2;border-radius:10px;background:#fff}.pivot-table{min-width:max-content;width:100%;border-collapse:separate;border-spacing:0}.pivot-table th,.pivot-table td{height:54px;padding:10px 12px;border-bottom:1px solid #d9e4f2;background:#fff;white-space:nowrap;font-size:12px}.pivot-table th{height:48px;background:#f5f8fc;color:#5c6c87;font-weight:800;position:sticky;top:0;z-index:4}.pivot-table td.num,.pivot-table th.num{text-align:right;min-width:72px}.pivot-table .sticky{position:sticky;z-index:3;text-align:left}.pivot-table th.sticky{z-index:6;background:#f5f8fc}.pivot-table td.sticky{background:#fff}.pivot-table .c1{left:0;min-width:74px;max-width:74px;white-space:normal}.pivot-table .c2{left:74px;min-width:76px;max-width:76px;white-space:normal}.pivot-table .c3{left:150px;min-width:165px;max-width:165px;white-space:normal;box-shadow:3px 0 5px rgba(24,42,72,.06)}.pivot-table .total-col{background:#f8fbff;font-weight:800}
@media(max-width:1180px){.v6-dashboard .v6-two{grid-template-columns:1fr}}
@media(max-width:760px){.shell>.hero{border-radius:18px}.v6-dashboard .card{border-radius:12px}.v6-dashboard .kpi{min-height:auto}.v6-dashboard .v6-head{align-items:flex-start}.v6-dashboard .v6-head select{width:auto;max-width:100%}.trend-controls,.pivot-controls{width:100%}.trend-controls select,.pivot-controls select{flex:1 1 145px}.chart-svg{min-height:0}.chart-svg svg{width:860px}.v6-dashboard .hbar,.v6-dashboard .ladder>div{grid-template-columns:1fr;gap:6px}.v6-dashboard .hbar>b,.v6-dashboard .ladder b{grid-column:auto;text-align:left}.preserve-matrix .table-wrap{overflow:auto;max-height:620px;border:1px solid #d9e4f2}.preserve-rules .rule-list>div{grid-template-columns:110px minmax(0,1fr)}.preserve-rules .rule-list small{grid-column:2}.v6-dashboard .section-nav{top:52px;margin-inline:-12px;padding-inline:12px}.pivot-table .c1{min-width:70px;max-width:70px}.pivot-table .c2{left:70px;min-width:68px;max-width:68px}.pivot-table .c3{left:138px;min-width:145px;max-width:145px}}
.section-mechanism{margin:12px 0 16px;border:1px solid #d9e4f2;border-radius:12px;background:#f8fbff;padding:12px 14px}.section-mechanism summary{cursor:pointer;font-weight:800;color:#173f8f}.section-mechanism>p{margin:12px 0 0;color:#50617d;line-height:1.6}.mechanism-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.mechanism-flow div{display:flex;gap:8px;align-items:flex-start;padding:10px;border-radius:10px;background:#fff;border:1px solid #e2eaf5}.mechanism-flow b{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:#173f8f;color:#fff}.mechanism-flow span{font-size:12px;line-height:1.45}@media(max-width:900px){.mechanism-flow{grid-template-columns:1fr}}

/* v1.0.4 responsive safety: keep controls readable and constrain wide data views. */
.trend-controls,.pivot-controls{max-width:100%}
.trend-controls select,.pivot-controls select{min-height:44px;max-width:100%}
.trend-controls #trendMetric{flex:0 1 180px}
.trend-controls #trendCompany{flex:1 1 260px;min-width:min(260px,100%)}
.chart-svg{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
th,td{overflow-wrap:anywhere;word-break:normal}
.actions a.secondary{display:inline-flex;align-items:center;text-decoration:none;padding:7px 10px}
@media(max-width:760px){.trend-controls select,.pivot-controls select{flex:1 1 220px}}
@media(max-width:520px){.trend-controls select,.pivot-controls select,.trend-controls #trendMetric,.trend-controls #trendCompany{flex:1 1 100%;width:100%;min-width:0}.v6-head-actions{width:100%}.v6-head-actions>*{max-width:100%}.modal{padding:8px}.modal-card{padding:18px;border-radius:14px}.actions>a,.actions>button{min-height:44px}.toolbar>h2{overflow-wrap:anywhere}}

/* v1.1 currency-safe dashboards */
.dashboard-mode{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;background:#eef4fb;border:1px solid #d4e1f0;border-radius:14px}.dashboard-mode button{border:1px solid #c7d8ec;background:#fff;color:#173f8f;border-radius:999px;padding:10px 14px;font-weight:850}.dashboard-mode button.active{background:#173f8f;color:#fff;border-color:#173f8f}.dashboard-mode span{margin-left:auto;color:#53698e;font-size:12px;font-weight:750}.local-dashboard{margin-top:2px}.local-controls{display:flex;gap:8px;flex-wrap:wrap}.local-controls select{min-width:180px;max-width:100%;min-height:44px;border:1px solid #cfddec;border-radius:10px;background:#fff;padding:9px 12px}.currency-warning{margin:12px 0 16px;padding:12px 14px;border:1px solid #eed588;border-radius:10px;background:#fff8dc;color:#725600;line-height:1.55}.currency-code{display:inline-flex;min-width:46px;justify-content:center;padding:4px 8px;border-radius:999px;background:#e8f1ff;color:#174a94;font-weight:850}.field input[readonly]{background:#eef3f8;color:#53657d}
@media(max-width:600px){.dashboard-mode{align-items:stretch}.dashboard-mode button{flex:1 1 100%;min-height:44px}.dashboard-mode span{margin-left:0;width:100%;text-align:center}.local-controls{width:100%}.local-controls select{width:100%;min-width:0;font-size:16px}}
.status.historical_reference{background:#edf3fb;color:#375b86}
.status.staging_confirmed{background:#e8f3ff;color:#195da8}
.status.approved_processing{background:#fff3cd;color:#8a5a00}
.status.approval_failed{background:#fde7ea;color:#b4233c}
.ai-analysis{display:grid;gap:9px;margin-top:12px}.ai-analysis h4{margin:8px 0 0;padding-left:10px;border-left:3px solid #2864e8;color:#17335f;font-size:15px}.ai-analysis p{margin:0!important;line-height:1.65}.ai-analysis ul,.ai-analysis ol{margin:0;padding-left:24px;color:#354b70}.ai-analysis li{margin:5px 0;line-height:1.6}.ai-analysis strong{color:#17335f}
/* Keep annual numeric headings and values on the same visual axis. */
.annual-summary table{table-layout:fixed;min-width:640px}.annual-summary th:first-child,.annual-summary td:first-child{width:18%}.annual-summary th.num,.annual-summary td.num{text-align:right;font-variant-numeric:tabular-nums}
.fx-matrix-wrap{max-width:100%;overflow:auto}.annual-summary .fx-matrix{table-layout:auto;min-width:1500px;font-variant-numeric:tabular-nums}.fx-matrix th,.fx-matrix td{width:auto!important;padding:9px 10px;white-space:nowrap}.fx-matrix thead th:first-child,.fx-matrix tbody th{position:sticky;left:0;z-index:2;background:#f5f8fc}.fx-matrix thead th:first-child{z-index:3}.fx-matrix .summary-col{background:#f8fbff;font-weight:700}.fx-matrix .fx-source{min-width:230px;white-space:normal;line-height:1.4}

/* v1.2 finance operating-performance cockpit */
.operating-performance{display:grid;gap:14px;scroll-margin-top:120px;min-width:0;max-width:100%;overflow:hidden}.operating-performance>*{min-width:0;max-width:100%}.operating-performance h3{margin:6px 0 0;font-size:17px}.currency-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:36px;padding:0 12px;border-radius:999px;background:#e8f1ff;color:#174a94;font-weight:900;white-space:nowrap}.calculation-note{padding:11px 13px;border:1px solid #d8e5f3;border-radius:10px;background:#f7fbff;color:#53698e;font-size:12px;line-height:1.6}.operating-performance .table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.operating-performance table{min-width:980px}.operating-performance .operating-table{min-width:1280px}.operating-performance th,.operating-performance td{white-space:nowrap}.operating-performance thead tr:first-child th{text-align:center;background:#edf4fc;color:#173f8f}.operating-performance thead tr:first-child th:first-child{text-align:left}.operating-performance .total-row th,.operating-performance .total-row td{background:#f7fbff;font-weight:850}.operating-performance .over-budget{background:#ffe8ec!important;color:#b4233c!important;font-weight:900}.operating-details{min-width:0;max-width:100%;overflow:hidden;border:1px solid #d9e4f2;border-radius:11px;background:#fbfdff;padding:11px 12px}.operating-details summary{cursor:pointer;color:#173f8f;font-weight:850}.operating-details[open] summary{margin-bottom:10px}.company-comparison table{min-width:1900px}.company-comparison tbody th{position:sticky;left:0;z-index:2;background:#fff}.local-controls label{display:grid;gap:5px;color:#52627e;font-size:12px;font-weight:800}.local-controls{align-items:flex-end}
@media(max-width:760px){.operating-performance{gap:11px}.operating-performance .v6-head{margin-bottom:0}.operating-details{padding:10px}.operating-performance th,.operating-performance td{padding:10px 9px}.currency-badge{height:40px}.local-controls{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.local-controls label,.local-controls select{width:100%}}

/* v1.2.1 simplified management cockpit */
.management-nav{align-items:center;background:rgba(237,244,251,.94)!important}.management-nav button,.management-nav a{min-height:44px;border:1px solid #c7d8ec;background:#fff;color:#173f8f;border-radius:999px;padding:9px 18px;font-weight:850;white-space:nowrap;text-decoration:none}.management-nav button.active{color:#fff;background:linear-gradient(135deg,#145fc3,#303095);border-color:#174a94;box-shadow:0 6px 16px rgba(23,74,148,.2)}
.simplified-cockpit{background:linear-gradient(180deg,#fff,#f7fbff)!important}.management-panel{display:none}.management-panel.active{display:grid;gap:16px}.management-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.management-headline{display:grid;gap:5px;padding:18px;border-radius:14px;background:#eef7ff;border:1px solid #d5e7f7}.management-headline small{font-weight:800;color:#53698e}.management-headline strong{font-size:clamp(28px,4vw,46px);line-height:1;color:#138ed1}.management-headline span{font-weight:800;color:#354b70}.management-headline.alert{background:#fff0f2;border-color:#ffcdd5}.management-headline.alert strong,.management-headline.alert span{color:#b4233c}
.component-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.component-card{min-height:112px;display:grid;align-content:center;gap:5px;padding:16px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#1a9cd5,#3bd3c3);box-shadow:0 9px 20px rgba(27,111,170,.16)}.component-card.tone-2{background:linear-gradient(135deg,#2b63e8,#67b9eb)}.component-card.tone-3{background:linear-gradient(135deg,#0ab0c6,#41d2c7)}.component-card.tone-4{background:linear-gradient(135deg,#f39a50,#efd151)}.component-card b{font-size:16px}.component-card strong{font-size:25px}.component-card span{font-size:12px;line-height:1.45}
.simple-chart-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.simple-chart{padding:18px;border:1px solid #d9e4f2;border-radius:14px;background:#fff}.simple-chart.alert{border-color:#ffcdd5}.simple-chart h3{margin:0 0 16px}.simple-bar-row{display:grid;grid-template-columns:110px minmax(0,1fr) 95px;align-items:center;gap:10px;margin:12px 0;font-size:12px}.simple-bar-row>i{display:block;height:22px;border-radius:6px;background:#edf2f7;overflow:hidden}.simple-bar-row em{display:block;height:100%;border-radius:6px}.simple-bar-row em.actual{background:linear-gradient(90deg,#238aef,#75baf5)}.simple-bar-row em.budget{background:linear-gradient(90deg,#efad25,#f2cf63)}.simple-bar-row b{text-align:right;font-variant-numeric:tabular-nums}.simple-detail table{min-width:720px}.secondary-operating{margin-top:4px}.secondary-operating>.operating-details{margin-top:10px}
.advanced-analysis{border:1px solid #cadbec;border-radius:16px;background:#f5f9fd;overflow:hidden}.advanced-analysis>summary{cursor:pointer;list-style:none;padding:17px 20px;color:#173f8f}.advanced-analysis>summary::-webkit-details-marker,.advanced-module>summary::-webkit-details-marker{display:none}.advanced-analysis>summary span{display:flex;justify-content:space-between;gap:16px;align-items:center}.advanced-analysis>summary b{font-size:17px}.advanced-analysis>summary small{color:#60708f}.advanced-analysis>summary:after,.advanced-module>summary:after{content:"＋";float:right;font-size:20px;font-weight:900}.advanced-analysis[open]>summary:after,.advanced-module[open]>summary:after{content:"−"}.advanced-analysis-body{display:grid;gap:10px;padding:0 12px 12px}.advanced-module{min-width:0;border:1px solid #d9e4f2;border-radius:12px;background:#fff;overflow:hidden}.advanced-module>summary{cursor:pointer;padding:14px 16px;color:#173f8f;font-weight:850}.advanced-module>.card,.advanced-module>.grid,.advanced-module>#v6-kpis{margin:0 12px 12px}.advanced-module>.grid{margin-top:0}.advanced-module>#v6-kpis{padding-top:2px}.advanced-module .card{box-shadow:none}.management-priorities{order:99}
@media(max-width:900px){.component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.management-nav button,.management-nav a{flex:1 1 auto;text-align:center;padding-inline:12px}.management-summary,.component-grid{grid-template-columns:1fr}.simple-bar-row{grid-template-columns:86px minmax(0,1fr) 72px}.advanced-analysis>summary span{display:grid;gap:4px}.advanced-analysis>summary small{line-height:1.5}.advanced-analysis-body{padding-inline:8px}.advanced-module>.card,.advanced-module>.grid,.advanced-module>#v6-kpis{margin-inline:8px}}

/* v1.2.2 role-focused navigation and calmer management reporting */
.dashboard-scopebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;background:#eef4fb;border:1px solid #d4e1f0;border-radius:14px}.dashboard-scopebar .dashboard-mode{padding:0;border:0;background:transparent}.group-company-filter{display:flex;align-items:center;gap:8px;color:#52627e;font-size:12px;font-weight:800}.group-company-filter select{min-width:210px;min-height:44px;border:1px solid #c7d8ec;border-radius:10px;background:#fff;color:#17335f;padding:9px 12px;font-size:14px}
.component-card{min-height:108px;color:#17335f;background:#fff;border:1px solid #d6e3f1;border-left:4px solid #2877d6;box-shadow:none}.component-card b{color:#52627e}.component-card strong{color:#1262c8}.component-card span{color:#52627e}
.comparison-columns{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));align-items:end;gap:clamp(12px,3vw,34px);height:260px;padding:20px clamp(8px,2vw,24px) 0;border-bottom:1px solid #d9e4f2;background:repeating-linear-gradient(to top,#fff 0,#fff 63px,#eef3f8 64px)}.comparison-column{height:100%;display:grid;grid-template-rows:24px minmax(0,1fr) 38px;align-items:end;text-align:center;min-width:0}.comparison-column>b{align-self:start;font-size:12px;font-variant-numeric:tabular-nums}.comparison-column>i{height:100%;display:flex;align-items:flex-end;justify-content:center}.comparison-column em{display:block;width:min(54px,72%);min-height:3px;border-radius:7px 7px 0 0}.comparison-column em.actual{background:#2864e8}.comparison-column em.budget{background:#e5a900}.comparison-column>span{align-self:center;color:#52627e;font-size:12px;line-height:1.25}.comparison-legend{display:flex;justify-content:center;gap:18px;margin-top:12px;color:#667085;font-size:12px}.comparison-legend i{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:2px}
.executive-brief{display:grid;margin:4px 0 16px;border:1px solid #d9e4f2;border-radius:12px;overflow:hidden;background:#fff}.executive-brief>div{display:grid;grid-template-columns:minmax(130px,190px) 1fr;gap:16px;padding:13px 15px;border-bottom:1px solid #e7edf5}.executive-brief>div:last-child{border-bottom:0}.executive-brief b{color:#17335f}.executive-brief p{margin:0;color:#52627e;line-height:1.6}.kimi-result{background:#fff;border-color:#d9e4f2}.ai-analysis h4{border-left:0;padding-left:0;color:#17335f}.ai-analysis{gap:7px}.ai-analysis li{margin:3px 0}.final-reference{order:99}
@media(max-width:760px){.dashboard-scopebar{align-items:stretch;flex-direction:column}.group-company-filter{display:grid;grid-template-columns:auto 1fr}.group-company-filter select{width:100%;min-width:0;font-size:16px}.comparison-columns{gap:8px;height:220px;padding-inline:2px}.comparison-column em{width:min(44px,70%)}.comparison-column>span{font-size:10px}.executive-brief>div{grid-template-columns:1fr;gap:5px}.nav{flex-wrap:wrap}.nav .spacer{display:block;flex-basis:100%;height:0}}

/* v1.2.3 completion bullets and a dedicated detailed-analysis tab */
.v6-dashboard.analysis-active #operating-performance{display:none}.analysis-panel{scroll-margin-top:120px;padding:0;background:#f5f9fd}.analysis-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid #d9e4f2;background:#fff;color:#173f8f}.analysis-intro b{font-size:18px}.analysis-intro span{color:#60708f;font-size:13px;line-height:1.5}.analysis-panel .advanced-analysis-body{padding-top:12px}
.budget-bullets{display:grid;gap:22px}.budget-bullet{display:grid;gap:8px}.bullet-head,.bullet-values{display:flex;align-items:center;justify-content:space-between;gap:12px}.bullet-head b{font-size:14px;color:#17335f}.bullet-head strong{font-size:13px;color:#1262c8}.bullet-track{position:relative;height:58px;border-radius:9px;background:#dfe5ec;overflow:hidden}.bullet-budget{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding:0 14px;color:#52606f;font-size:12px;font-weight:850}.bullet-actual{position:absolute;inset:0 auto 0 0;min-width:0;display:flex;align-items:center;justify-content:center;background:#2fb6aa;color:#fff;transition:width .2s ease}.bullet-actual span{padding:0 10px;font-size:12px;font-weight:900;white-space:nowrap}.budget-bullet.met .bullet-actual{background:#1d9a6c}.budget-bullet.over .bullet-actual{background:#e05763}.budget-bullet.negative .bullet-actual{background:#e05763}.budget-bullet.over .bullet-head strong,.budget-bullet.negative .bullet-head strong{color:#b4233c}.bullet-values{color:#667085;font-size:12px}.bullet-values b{color:#17335f;font-variant-numeric:tabular-nums}.budget-track-key{background:#dfe5ec!important;border:1px solid #c7d0db}.coverage .chip{line-height:1.35}
@media(max-width:600px){.analysis-intro{display:grid;padding:14px}.bullet-head,.bullet-values{align-items:flex-start}.bullet-values{display:grid;grid-template-columns:1fr 1fr}.bullet-values span:last-child{text-align:right}.bullet-track{height:52px}.bullet-actual span{font-size:11px}.analysis-panel .advanced-analysis-body{padding-top:8px}}

/* v1.2.4 management financial report */
.management-report{overflow:visible}.report-title{margin:0;padding:3px 0 0;font-size:20px;color:#10264a}.report-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-kpi{min-width:0;padding:18px;border:1px solid #cfdfef;border-radius:14px;background:#f4f9ff}.report-kpi>h3{margin:0 0 8px;color:#52698d;font-size:14px}.report-kpi>strong{display:block;margin-bottom:14px;color:#118ccf;font-size:clamp(28px,4vw,44px);line-height:1;font-variant-numeric:tabular-nums}.report-kpi dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.report-kpi dl div{min-width:0;padding:9px;border-radius:9px;background:#fff}.report-kpi dt{color:#64748b;font-size:11px}.report-kpi dd{margin:4px 0 0;color:#17335f;font-size:13px;font-weight:850;overflow-wrap:anywhere}.report-kpi.over-budget{border-color:#f5a8b3;background:#fff5f6}.report-kpi.over-budget>strong,.report-kpi.over-budget dd{color:#b4233c}.report-budget-chart{overflow:visible}.bullet-track{overflow:hidden}.bullet-gap{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;min-width:0;color:#475569;font-size:12px;font-weight:850}.bullet-gap span{padding:0 8px;white-space:nowrap}.report-no-data{display:flex;justify-content:space-between;gap:12px;padding:16px;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b}.report-table-block,.composition-block{display:grid;gap:10px;padding:16px;border:1px solid #d9e4f2;border-radius:14px;background:#fff}.report-table-block h3,.composition-block h3{margin:0}.report-table{min-width:1480px!important}.expense-report-table{min-width:1320px!important}.report-table thead tr:first-child th{text-align:center}.report-table thead tr:first-child th:first-child{text-align:left}.composition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.composition-grid article{min-width:0;padding:14px;border-radius:11px;background:#f7fafc}.composition-grid h4{margin:0 0 12px}.share-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(130px,1.6fr) minmax(135px,1fr);align-items:center;gap:10px;margin:10px 0;font-size:12px}.share-row>i{height:16px;border-radius:5px;background:#e2e8f0;overflow:hidden}.share-row em{display:block;height:100%;border-radius:5px;background:#28aaa1}.share-row b{text-align:right;font-variant-numeric:tabular-nums}.rank-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e4ebf3}.rank-row:last-child{border-bottom:0}.rank-row b{font-variant-numeric:tabular-nums}.management-report .management-panel{min-width:0}.management-report .table-wrap{max-width:calc(100vw - 90px)}
.report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0;margin-bottom:14px}.report-heading>div{min-width:0}.report-heading p{margin:6px 0 0;color:#667085;font-size:12px;font-weight:650;line-height:1.5}.report-heading .report-title{overflow-wrap:anywhere}.summary-panel-content{display:grid;gap:14px}.summary-heading{margin-bottom:0}
@media(max-width:900px){.report-kpi dl{grid-template-columns:repeat(2,minmax(0,1fr))}.composition-grid{grid-template-columns:1fr}.management-report .table-wrap{max-width:calc(100vw - 54px)}.report-heading{align-items:center}}
@media(max-width:600px){.report-kpi-grid{grid-template-columns:1fr}.report-kpi{padding:14px}.report-kpi dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.share-row{grid-template-columns:minmax(95px,1fr) minmax(85px,1fr);gap:7px}.share-row b{grid-column:1/-1;text-align:left}.bullet-gap{font-size:10px}.management-report .table-wrap{max-width:calc(100vw - 40px)}.report-table-block,.composition-block{padding:12px}.report-title{font-size:18px;line-height:1.35}.report-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.report-heading p{font-size:11px}.report-heading .currency-badge{min-width:52px;height:36px;padding-inline:10px}}

/* v1.4.1 dismissible security notice, readable trend labels and expense ranking */
.security-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 14px}
.security-banner>span{min-width:0;line-height:1.45}.security-banner button{flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #d9bd62;border-radius:50%;background:#fff;color:#6f5300;font-size:23px;line-height:1}
.chart-value{font-weight:850;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.chart-value.actual-label{fill:#174fa8}.chart-value.budget-label{fill:#8a6500}
.expense-company-ranking .company-share-row>span>b{display:inline-block;min-width:22px;color:#64748b}.expense-company-ranking .company-share-row em{background:#238fd0}.expense-company-rank-list{min-width:0}
@media(max-width:600px){.security-banner{align-items:flex-start}.chart-svg svg{width:900px}.expense-company-ranking .company-share-row{grid-template-columns:minmax(110px,145px) minmax(100px,1fr)}}

/* v1.2.5 clearer KPI cards and real gross-profit composition chart */
.gross-composition>div:first-child p{margin:4px 0 0;color:#64748b;font-size:12px}.composition-stack{display:flex;width:100%;height:56px;margin:12px 0;border-radius:10px;overflow:hidden;background:#e2e8f0}.composition-stack>span{display:flex;align-items:center;justify-content:center;min-width:0;color:#fff}.composition-stack b{padding:0 5px;font-size:12px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.28)}.composition-legend{display:grid;gap:9px}.composition-legend>div{display:grid;grid-template-columns:12px minmax(100px,1fr) auto;align-items:center;gap:8px}.composition-legend i{width:12px;height:12px;border-radius:3px}.composition-legend span{font-size:12px}.composition-legend b{font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.report-kpi dl{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.composition-stack{height:48px}.composition-stack b{font-size:10px}.composition-legend>div{grid-template-columns:12px minmax(90px,1fr)}.composition-legend b{grid-column:2;text-align:left}}

/* v1.2.6 circular gross-profit composition */
.composition-donut-row{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(220px,1fr);align-items:center;gap:22px}.composition-donut{position:relative;width:min(190px,100%);aspect-ratio:1;margin:auto;border-radius:50%}.composition-donut:after{content:"";position:absolute;inset:24%;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(203,216,232,.55)}.composition-donut>div{position:absolute;z-index:1;inset:27%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.composition-donut span{color:#64748b;font-size:11px;font-weight:800}.composition-donut b{margin-top:4px;color:#17335f;font-size:15px;font-variant-numeric:tabular-nums}.composition-donut-row .composition-legend{align-content:center}
@media(max-width:600px){.composition-donut-row{grid-template-columns:1fr;gap:16px}.composition-donut{width:168px}.composition-donut b{font-size:14px}}

/* v1.2.7 keep Actual / Budget / Gap labels readable at every completion rate */
.report-budget-chart .bullet-track{background:#dfe5ec}.report-budget-chart .bullet-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-budget-chart .bullet-values span:nth-child(2){text-align:center}.report-budget-chart .bullet-values span:last-child{text-align:right}.report-budget-chart .bullet-values b{display:inline-block;margin-left:4px;white-space:nowrap}.report-budget-chart .bullet-actual{overflow:hidden}.report-budget-chart .bullet-actual span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.report-budget-chart .bullet-values{grid-template-columns:1fr;gap:5px}.report-budget-chart .bullet-values span,.report-budget-chart .bullet-values span:nth-child(2),.report-budget-chart .bullet-values span:last-child{text-align:left}.report-budget-chart .bullet-track{height:48px}}

/* v1.2.8 labelled pies, in-track Gap, and aligned finance tables */
.gross-pie-svg{display:block;width:100%;max-width:520px;height:auto;margin:auto;overflow:visible}.gross-pie-svg path{stroke:#fff;stroke-width:1}.gross-pie-svg text{fill:#17335f;font:11px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif}.gross-pie-svg polyline{fill:none;stroke:#7890ad;stroke-width:1}.gross-pie-svg .pie-legend text{font-size:10px}.bullet-gap-label{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;min-width:0;padding:0 4px;color:#475569;font-size:11px;font-weight:850}.bullet-gap-label span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-budget-chart .bullet-values{grid-template-columns:repeat(2,minmax(0,1fr))}.report-budget-chart .bullet-values span:last-child{text-align:right}.source-data-note{margin:0;color:#64748b;font-size:12px;line-height:1.5}.aligned-report-table{table-layout:fixed}.aligned-report-table thead th,.aligned-report-table tbody td{border-right:1px solid #e1e9f2}.aligned-report-table .period-separator{border-left:3px solid #b9cbe0!important}.aligned-report-table tbody tr:nth-child(even){background:#f8fbff}.aligned-report-table tbody th{position:sticky;left:0;z-index:2;background:inherit;border-right:2px solid #c6d6e8}.component-report-table th:first-child{width:190px}.component-report-table th:not(:first-child){width:105px}.expense-report-table th:first-child{width:300px}.expense-report-table th:not(:first-child){width:112px}
@media(max-width:600px){.gross-pie-svg{min-width:330px}.composition-grid article{overflow:auto}.report-budget-chart .bullet-values{grid-template-columns:1fr 1fr}.report-budget-chart .bullet-values span:last-child{text-align:right}.bullet-gap-label{font-size:10px}.source-data-note{font-size:11px}}

/* v1.2.9 fixed report-column geometry and explicit metric reasons */
.component-report-table{width:1510px!important;min-width:1510px!important;table-layout:auto!important}
.component-report-table thead tr:first-child>th:first-child,
.component-report-table tbody>tr>th:first-child{width:190px!important;min-width:190px!important;max-width:190px!important}
.component-report-table thead tr:nth-child(2)>th{width:110px!important;min-width:110px!important;max-width:110px!important}
.component-report-table thead tr:nth-child(2)>th:first-child{width:110px!important}
.component-report-table tbody>tr>th:first-child{position:static!important;left:auto!important;z-index:auto!important}
.company-report-table{width:1440px!important;min-width:1440px!important;table-layout:fixed!important}
.company-report-table col.company-col{width:190px}.company-report-table col.metric-col{width:125px}
.company-report-table .period-separator{border-left:3px solid #9fb8d5!important}
.company-report-table tbody th{position:sticky;left:0;z-index:3;width:190px;min-width:190px;max-width:190px;background:#fff;border-right:2px solid #c6d6e8}
.company-report-table tbody tr:nth-child(even) th{background:#f8fbff}
.company-report-table td.metric-reason{white-space:normal!important;line-height:1.35;min-width:125px}
.aligned-report-table thead th{box-shadow:inset -1px 0 #dbe6f1}
.aligned-report-table tbody td{box-shadow:inset -1px 0 #e6edf5}
@media(max-width:600px){.component-report-table{width:1450px!important;min-width:1450px!important}.company-report-table{width:1340px!important;min-width:1340px!important}.company-report-table col.metric-col{width:115px}}

/* v1.3.0 finance-table clarity, traceable expense rollups, and company contribution */
.metric-na{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;border-bottom:1px dotted #94a3b8;color:#64748b;cursor:help}
.expense-report-table{width:1410px!important;min-width:1410px!important;table-layout:fixed!important}
.expense-report-table col.expense-name-col{width:210px}.expense-report-table col.expense-metric-col{width:120px}
.expense-report-table tbody th{position:sticky;left:0;z-index:3;width:210px;min-width:210px;max-width:210px;background:#fff;white-space:normal;line-height:1.35}
.expense-report-table tbody tr:nth-child(even) th{background:#f8fbff}
.expense-report-table thead th,.expense-report-table tbody td{padding:11px 10px}
.expense-report-table tfoot th,.expense-report-table tfoot td{font-weight:900;background:#edf4fb;border-top:2px solid #9fb8d5}
.report-budget-chart .bullet-values{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-budget-chart .bullet-values span:nth-child(2){text-align:center}.report-budget-chart .bullet-values span:last-child{text-align:right}
.bullet-gap-label{padding-inline:8px}.bullet-gap-label span{font-size:11px}
.company-share-row{display:grid;grid-template-columns:minmax(130px,190px) minmax(160px,1fr) minmax(120px,160px);align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #e4ebf3}
.company-share-row:last-child{border-bottom:0}.company-share-row>span{font-weight:750;color:#334e73;overflow-wrap:anywhere}.company-share-row>i{height:18px;background:#e2e8f0;border-radius:5px;overflow:hidden}.company-share-row em{display:block;height:100%;background:#2eb5aa;border-radius:5px}.company-share-row em.negative{background:#d94a62}.company-share-row>b{text-align:right;font-variant-numeric:tabular-nums}.company-share-row>b.negative-value{color:#c8324d}.company-share-row small{display:block;margin-top:2px;color:#64748b}
.single-slice-chart{display:grid;grid-template-columns:minmax(150px,190px) minmax(190px,1fr);align-items:center;gap:22px;min-height:230px}.single-slice-chart>div{width:170px;aspect-ratio:1;margin:auto;border:34px solid var(--slice-color);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff}.single-slice-chart>div span{font-size:11px;color:#52627e}.single-slice-chart>div b{font-size:18px;color:#17335f}.single-slice-chart>p{display:grid;grid-template-columns:12px 1fr;gap:7px;align-items:center;margin:0}.single-slice-chart>p i{width:12px;height:12px;border-radius:3px}.single-slice-chart>p strong{grid-column:2;font-size:12px;color:#52627e}
@media(max-width:600px){.expense-report-table{width:1310px!important;min-width:1310px!important}.expense-report-table col.expense-name-col{width:190px}.expense-report-table col.expense-metric-col{width:112px}.expense-report-table tbody th{width:190px;min-width:190px;max-width:190px}.report-budget-chart .bullet-values{grid-template-columns:1fr;gap:5px}.report-budget-chart .bullet-values span,.report-budget-chart .bullet-values span:nth-child(2),.report-budget-chart .bullet-values span:last-child{text-align:left}.company-share-row{grid-template-columns:minmax(105px,140px) minmax(90px,1fr);gap:8px}.company-share-row>b{grid-column:2}.single-slice-chart{grid-template-columns:1fr;min-height:0}.single-slice-chart>div{width:150px}}

/* v1.3.1 responsive detail analysis and compact missing-value labels */
.pivot-card .error,.pivot-card .empty,.pivot-card .loading{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.pivot-table .metric-na,.company-report-table .metric-na{width:100%;border-bottom:0}
.company-report-table td{overflow-wrap:normal;word-break:normal}
@media(max-width:760px){.pivot-card .v6-head{display:grid;grid-template-columns:1fr;gap:12px}.pivot-controls{display:grid;grid-template-columns:1fr;width:100%}.pivot-controls select{width:100%;min-width:0;font-size:16px}.pivot-wrap{max-height:68vh}.pivot-table th,.pivot-table td{height:auto;min-height:48px;padding:9px 8px}.pivot-table .c1{min-width:86px;max-width:86px}.pivot-table .c2{left:86px;min-width:80px;max-width:80px}.pivot-table .c3{left:166px;min-width:138px;max-width:138px}.executive-brief>div{grid-template-columns:1fr}.advanced-module>summary{white-space:normal;line-height:1.4}}
@media(min-width:761px){.pivot-controls{justify-content:flex-end}.pivot-controls select{min-width:190px}.pivot-card .v6-head>div:first-child{min-width:260px}.company-report-table td{white-space:nowrap}}

/* v1.3.2 group summary, expense MoM and traceable expense composition */
.expense-mom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;padding:14px;background:#f7fbff}.expense-mom>div{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid #dbe7f3;border-radius:10px;background:#fff}.expense-mom span,.expense-mom small{color:#64748b}.expense-mom strong{font-size:22px;color:#17335f}.expense-mom .over-budget strong{color:#c9364f}.expense-composition .composition-legend span{display:flex;flex-direction:column;min-width:0}.expense-composition .composition-legend small{margin-top:3px;color:#718096;font-size:10px;white-space:normal}.summary-note{margin:-5px 0 18px;color:#64748b}.summary-period{margin-top:18px}.summary-period>h3{margin:0 0 10px;color:#17335f}.summary-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.summary-metric{padding:18px;border:1px solid #d6e3f1;border-radius:14px;background:#f4f9ff}.summary-metric h3{margin:0;color:#52627e;font-size:14px}.summary-metric>strong{display:block;margin:8px 0 14px;color:#168bc9;font-size:30px}.summary-metric>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.summary-metric span{padding:8px;border-radius:8px;background:#fff;color:#64748b;font-size:12px}.summary-metric b{display:block;margin-top:3px;color:#17335f;font-size:13px}.summary-metric.over-budget{border-color:#f3b5be;background:#fff6f7}.summary-metric.over-budget>strong{color:#c9364f}
@media(max-width:760px){.expense-mom,.summary-metric-grid{grid-template-columns:1fr}.summary-metric>strong{font-size:26px}.expense-composition .composition-legend b{grid-column:2;text-align:left}.management-nav{overflow-x:auto;flex-wrap:nowrap}.management-nav button{white-space:nowrap}}
/* v1.3.4 simplified report labels */
.report-budget-chart .bullet-values.bullet-budget-only{display:flex;justify-content:center}
.report-budget-chart .bullet-values.bullet-budget-only span{text-align:center}
@media(max-width:600px){.report-budget-chart .bullet-values.bullet-budget-only{display:flex}.report-budget-chart .bullet-values.bullet-budget-only span{text-align:center}.summary-metric span{overflow-wrap:anywhere}}
