:root{--color-accent:#0071e3;--color-accent-hover:#0077ed;--color-page-bg:#f5f5f7;--color-surface:#fff;--color-surface-alt:#fbfbfd;--color-border:#e5e5ea;--color-border-strong:#d2d2d7;--color-text:#1d1d1f;--color-secondary:#6e6e73;--shadow-card:0 1px 2px #0000000a, 0 8px 24px #0000000a;--space-page:clamp(12px, 4vw, 40px);--space-card:clamp(12px, 3vw, 20px);--fs-kpi:clamp(22px, 6vw, 34px);--fs-body:clamp(13px, 3.4vw, 15px);--container-max:1440px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);color:var(--color-text);background:var(--color-page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0;font-family:-apple-system,SF Pro Text,BlinkMacSystemFont,PingFang SC,Inter,ui-sans-serif,system-ui,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:#0071e31f}body{-webkit-tap-highlight-color:#0071e31f;min-width:320px;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100dvh}.platform-login{background:linear-gradient(135deg, #0071e31f, #34c7591f), var(--color-page-bg);place-items:center;min-height:100dvh;padding:clamp(20px,6vw,72px);display:grid}.platform-login__panel{border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,520px);box-shadow:var(--shadow-card);border-radius:8px;gap:20px;padding:clamp(20px,5vw,32px);display:grid}.platform-login__brand{align-items:center;gap:14px;display:flex}.platform-login__mark{color:#0b5cad;background:#0071e31a;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.platform-login__eyebrow{color:var(--color-secondary);margin:0 0 4px;font-size:13px;font-weight:700}.platform-login h1{margin:0;font-size:28px;line-height:1.15}.platform-login__status{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;gap:4px;padding:14px 16px;display:grid}.platform-login__status span{color:var(--color-secondary);text-transform:uppercase;font-size:12px;font-weight:700}.platform-login__status strong{font-size:15px;line-height:1.45}.platform-login__status--ready{background:#34c7591a;border-color:#34c75973}.platform-login__status--error{background:#ff3b3014;border-color:#ff3b3073}.platform-login__form,.platform-login__meta,.platform-login__rows{gap:12px;display:grid}.platform-login__form label{color:var(--color-secondary);gap:6px;font-size:13px;font-weight:700;display:grid}.platform-login__form input{border:1px solid var(--color-border-strong);width:100%;min-height:42px;color:var(--color-text);background:var(--color-surface-alt);border-radius:8px;padding:10px 12px}.platform-login__form button,.platform-login__refresh{color:#fff;background:var(--color-accent);border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:700;display:inline-flex}.platform-login__form button:disabled,.platform-login__refresh:disabled{cursor:not-allowed;opacity:.6}.platform-login__meta div,.platform-login__rows li{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.platform-login__meta span,.platform-login__rows strong{overflow-wrap:anywhere;min-width:0}.platform-login__rows{margin:0;padding:0;list-style:none}.platform-login__rows span{color:var(--color-secondary);flex:none;font-weight:700}.app-shell{--sticky-header-offset:81px;background:var(--color-page-bg);min-height:100dvh}.app-shell.nav-compact{--sticky-header-offset:61px}.app-header{z-index:40;width:100%;color:var(--color-text);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#ffffffb8;justify-content:space-between;align-items:center;gap:24px;padding:18px max(20px,50% - 720px) 14px;transition:padding .18s,background-color .18s,box-shadow .18s;display:flex;position:sticky;top:0}.app-shell.nav-compact .app-header{background:#ffffffdb;padding-top:9px;padding-bottom:8px;box-shadow:0 4px 16px #0f172a0f}.brand-block{align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{width:44px;height:44px;color:var(--color-accent);background:#0071e317;border:1px solid #0071e329;border-radius:12px;place-items:center;transition:width .18s,height .18s,border-radius .18s;display:grid}.app-shell.nav-compact .brand-mark{border-radius:10px;width:34px;height:34px}.app-shell.nav-compact .brand-mark svg{width:18px;height:18px}.brand-logo{width:26px;height:26px;display:block}.app-shell.nav-compact .brand-logo{width:20px;height:20px}.brand-block h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700;line-height:1.2;transition:font-size .18s}.brand-block p{color:var(--color-secondary);margin:5px 0 0;font-size:13px;transition:margin .18s,font-size .18s}.app-shell.nav-compact .brand-block h1{font-size:18px}.app-shell.nav-compact .brand-block p{margin-top:2px;font-size:12px}.version-badge{border:1px solid var(--color-border);color:var(--color-text);text-align:right;background:#ffffffc7;border-radius:12px;flex-direction:column;flex:none;align-items:flex-end;gap:2px;padding:7px 12px;line-height:1.25;transition:padding .18s,border-radius .18s;display:flex;box-shadow:0 1px 2px #0000000a}.app-shell.nav-compact .version-badge{border-radius:10px;padding:5px 10px}.version-badge-release{font-size:13px;font-weight:700}.version-badge-meta,.version-badge-snapshot{color:var(--color-secondary);white-space:nowrap;font-size:11px;font-weight:500}.version-badge-snapshot{color:#047857}.platform-header-meta{flex:0 auto;justify-content:flex-end;align-items:stretch;gap:10px;min-width:0;margin-left:auto;display:flex}.platform-header-auth{border:1px solid var(--color-border);min-width:0;max-width:360px;color:var(--color-text);background:#ffffffc7;border-radius:12px;align-items:center;gap:10px;padding:7px 10px;transition:padding .18s,border-radius .18s;display:flex;box-shadow:0 1px 2px #0000000a}.app-shell.nav-compact .platform-header-auth{border-radius:10px;padding:5px 8px}.platform-header-auth__email{min-width:0;color:var(--color-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.25;overflow:hidden}.platform-header-auth button{border:1px solid var(--color-border-strong);min-height:30px;color:var(--color-text);background:var(--color-surface);border-radius:8px;flex:none;padding:0 10px;font-weight:700}.platform-header-auth button:hover,.platform-header-auth button:focus-visible{color:var(--color-accent);background:#0071e314;border-color:#0071e361}.platform-header-auth__password{align-items:center;gap:5px;display:inline-flex}.platform-password-modal{z-index:120;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.platform-password-dialog{border:1px solid var(--color-border);background:#fff;border-radius:12px;width:min(430px,100%);padding:18px;box-shadow:0 24px 60px #0f172a38}.platform-password-dialog__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.platform-password-dialog__header p,.platform-password-dialog__email{color:var(--color-secondary);margin:0;font-size:12px;font-weight:700}.platform-password-dialog__header h2{color:var(--color-text);margin:4px 0 0;font-size:20px;line-height:1.2}.platform-password-dialog__close{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-secondary);background:var(--color-surface);border-radius:8px;place-items:center;font-size:20px;line-height:1;display:grid}.platform-password-dialog__close:hover,.platform-password-dialog__close:focus-visible{color:var(--color-text);border-color:var(--color-border-strong)}.platform-password-dialog__email{overflow-wrap:anywhere;border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;margin-top:12px;padding:9px 10px}.platform-password-form{gap:12px;margin-top:14px;display:grid}.platform-password-form label{gap:5px;display:grid}.platform-password-form label span{color:var(--color-secondary);font-size:12px;font-weight:700}.platform-password-status{border-radius:8px;margin:0;padding:9px 10px;font-size:12px;font-weight:700;line-height:1.45}.platform-password-status.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.platform-password-status.success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.platform-password-status.submitting{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.platform-password-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.app-nav{top:var(--sticky-header-offset);z-index:39;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);background:#ffffffb8;border-bottom:1px solid #e5e5ea;grid-template-columns:repeat(8,minmax(0,1fr)) minmax(112px,.7fr);align-items:stretch;gap:6px;width:100%;margin:0 auto;padding:0 max(20px,50% - 720px) 10px;transition:top .18s,padding .18s,gap .18s,background-color .18s,box-shadow .18s;display:grid;position:sticky}.app-shell.nav-compact .app-nav{background:#ffffffe6;gap:5px;padding-bottom:6px;box-shadow:0 6px 18px #0f172a0f}.app-nav>button,.app-tools-summary{text-align:center;white-space:nowrap;overflow-wrap:anywhere;border:1px solid var(--color-border);min-width:0;height:auto;min-height:40px;color:var(--color-secondary);background:var(--color-surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px;font-weight:590;line-height:1.2;transition:min-height .18s,padding .18s,font-size .18s,background-color .15s,color .15s,border-color .15s;display:inline-flex}.app-shell.nav-compact .app-nav>button,.app-shell.nav-compact .app-tools-summary{min-height:32px;padding:5px 7px;font-size:12px}.app-nav button svg,.app-nav button .nav-icon,.app-tools-summary svg{flex:none;transition:width .18s,height .18s}.app-shell.nav-compact .app-nav button svg,.app-shell.nav-compact .app-tools-summary svg{width:14px;height:14px}.app-nav button span,.app-tools-summary span{min-width:0}.app-nav>button.active,.app-tools-menu.active .app-tools-summary{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.app-tools-menu{min-width:0;position:relative}.app-tools-menu[open]{z-index:45}.app-tools-summary{color:#6b7280;background:#ffffffb8;border-style:dashed;height:100%;font-size:13px;list-style:none}.app-tools-summary::-webkit-details-marker{display:none}.app-tools-summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-left:2px;transform:rotate(45deg)translateY(-1px)}.app-tools-menu[open] .app-tools-summary:after{transform:rotate(225deg)translate(-1px,-1px)}.app-tools-panel{border:1px solid var(--color-border);background:#fff;border-radius:10px;min-width:156px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #0f172a24}.app-tools-panel button{color:#4b5563;background:0 0;border:0;border-radius:8px;justify-content:flex-start;align-items:center;gap:7px;width:100%;min-height:34px;padding:7px 9px;font-size:13px;font-weight:590;display:inline-flex}.app-tools-panel button:hover,.app-tools-panel button:focus-visible{color:var(--color-text);background:var(--color-surface-alt)}.app-tools-panel button.active{color:var(--color-accent);background:#0071e314}main{width:min(1440px,100% - 40px);margin:0 auto;padding:16px 0 32px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-header,.app-nav{background:#fbfbfd}}.global-filters{z-index:30;border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fff;border-radius:10px;grid-template-columns:.8fr .8fr 1.1fr 1fr 1.6fr;gap:8px;margin-bottom:14px;padding:10px;display:grid;position:relative}.global-filters:focus-within{z-index:80}.global-filters label,.global-filters .filter-search,.config-stack label{gap:4px;display:grid}.global-filters span,.global-filters .filter-search>label,.config-stack label span{color:var(--color-secondary);font-size:12px;font-weight:700}select,input{border:1px solid var(--color-border-strong);width:100%;height:36px;color:var(--color-text);background:#fff;border-radius:10px;outline:none;padding:0 10px}.global-filters select,.global-filters input{border-radius:8px;height:32px;font-size:12px}select:focus,input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #0071e31f}select:disabled{color:var(--color-secondary);cursor:not-allowed;background:#f1f5f9}.period-state-strip,.period-context-panel{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:start;gap:12px;padding:12px;display:grid}.period-state-strip{grid-column:1/-1;grid-template-columns:minmax(0,1fr);gap:6px;padding:9px 10px}.period-context-panel{background:#fff;box-shadow:0 8px 20px #0000000a}.period-state-main,.period-context-main{min-width:0}.period-state-main strong,.period-context-main strong{color:var(--color-text);margin-top:7px;font-size:16px;line-height:1.25;display:block}.global-filters .period-state-main strong{margin-top:5px;font-size:15px}.period-state-main p,.period-context-main p,.period-guard{color:var(--color-secondary);margin:6px 0 0;font-size:12px;line-height:1.45}.global-filters .period-state-main p{margin-top:4px;font-size:11px;line-height:1.35}.period-guard{color:#7c4a03;background:#fffbeb;border:1px solid #f3d19c;border-radius:8px;margin:0;padding:10px;font-weight:590}.global-filters .period-guard{color:#8a4b0b;background:0 0;border:0;padding:0;font-size:11px;line-height:1.35}.incomplete-month-notice{color:#7c4a03;background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #f59e0b;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;font-weight:590;line-height:1.45}.global-filters .period-state-chip,.period-context-panel .period-state-chip{border-radius:999px;align-items:center;width:max-content;max-width:100%;min-height:24px;padding:3px 8px;font-size:12px;font-weight:850;line-height:1.2;display:inline-flex}.period-state-chip.period-mode-all-periods{color:#475569;background:#e2e8f0}.period-state-chip.period-mode-year{color:#075985;background:#e0f2fe}.period-state-chip.period-mode-year-month{color:#047857;background:#d1fae5}.period-state-chip.period-mode-ytd{color:#9a3412;background:#fed7aa}.period-state-chip.period-mode-range{color:#0f766e;background:#ccfbf1}.period-boundary-details{border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;grid-column:1/-1;overflow:hidden}.period-boundary-details summary{color:#475569;cursor:pointer;align-items:center;gap:10px;min-height:32px;padding:0 10px;font-size:12px;font-weight:800;list-style:none;display:flex}.period-boundary-details summary::-webkit-details-marker{display:none}.period-boundary-details summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-left:auto;transform:rotate(45deg)translateY(-1px)}.period-boundary-details[open] summary:after{transform:rotate(225deg)translate(-1px,-1px)}.period-boundary-details small{color:var(--color-secondary);font-size:11px;font-weight:700}.period-boundary-hints{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 8px 8px;display:grid}.period-boundary-hint{border:1px solid var(--color-border);background:#fff;border-radius:8px;min-width:0;padding:10px}.period-boundary-hint.is-ytd{background:#fff7ed;border-color:#fdba74}.period-boundary-hint strong{color:var(--color-text);font-size:13px;line-height:1.25;display:block}.period-boundary-hint span{color:var(--color-secondary);margin-top:4px;font-size:12px;line-height:1.45;display:block}.global-filters.period-mode-year-month{border-color:#86efac}.global-filters.period-mode-ytd{border-color:#fdba74}.global-filters.period-mode-range{border-color:#5eead4}.period-quick-presets{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.period-preset{border:1px solid var(--color-border-strong);color:#334155;cursor:pointer;background:#fff;border-radius:999px;height:28px;padding:0 10px;font-size:11px;font-weight:800}.period-preset:hover{border-color:var(--color-accent);color:var(--color-accent)}.period-preset.active{color:#fff;background:#0f766e;border-color:#0f766e}.period-preset:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9}.period-range-note{color:var(--color-secondary);align-self:end;margin:0;font-size:11px;line-height:1.35}.search-input{position:relative}.search-input svg{color:#708196;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input input{padding-left:34px}.project-picker{z-index:120;grid-column:1/-1;gap:6px;display:grid;position:relative}.project-picker-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-picker-header label{color:var(--color-secondary);font-size:12px;font-weight:700}.project-picker-clear{color:var(--color-accent);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.project-picker-trigger{border:1px solid var(--color-border-strong);cursor:text;background:#fff;border-radius:8px;min-height:36px;padding:5px 9px}.project-picker-trigger:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #0891b21f}.project-picker-placeholder{min-height:26px;color:var(--color-secondary);align-items:center;font-size:12px;display:inline-flex}.project-picker-chip-row{flex-wrap:wrap;gap:6px;display:flex}.project-picker-chip{color:#12324f;background:#f0f8fb;border:1px solid #cfe0ec;border-radius:999px;align-items:center;gap:5px;max-width:100%;min-height:26px;padding:3px 6px 3px 8px;font-size:12px;font-weight:700;line-height:1.25;display:inline-flex}.project-picker-chip.more{color:var(--color-secondary);background:var(--color-surface-alt)}.project-picker-chip button{color:#496172;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:18px;height:18px;padding:0;display:inline-grid}.project-picker-chip button:hover{color:var(--color-accent);background:#dbeff5}.project-picker-popover{z-index:140;border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;gap:10px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 20px 44px #00000029}.project-picker-search input{height:34px}.project-picker-tools{color:var(--color-secondary);justify-content:space-between;align-items:center;gap:12px;padding:0 2px;font-size:12px;display:flex}.project-picker-actions{align-items:center;gap:8px;display:flex}.project-picker-actions button,.project-picker-option>button{border:1px solid var(--color-border-strong);min-height:28px;color:var(--color-accent);cursor:pointer;background:#fff;border-radius:6px;font-size:12px;font-weight:800}.project-picker-actions button{padding:0 10px}.project-picker-actions button:disabled{cursor:not-allowed;color:#94a3b8;background:var(--color-surface-alt)}.project-picker-list{gap:4px;max-height:360px;padding-right:2px;display:grid;overflow-y:auto}.project-picker-option{border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:6px 8px;display:grid}.project-picker-option:hover,.project-picker-option.selected{background:#eaf8fb}.project-picker-option label{cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.project-picker-option input{flex:none;width:16px;height:16px}.project-picker-option label span{min-width:0;color:var(--color-text);overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.35}.project-picker-option>button{padding:0 8px}.project-picker-empty{color:var(--color-secondary);padding:12px;font-size:12px}.project-picker mark{color:#713f12;background:#fef3c7;border-radius:4px;padding:0 2px}.page-stack{gap:16px;display:grid}.readability-bridge-panel,.signal-review-card{border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fff;border-radius:12px}.readability-bridge-panel{grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr);align-items:stretch;gap:12px;padding:12px;display:grid}.readability-bridge-header{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:12px;align-content:center;gap:7px;padding:12px;display:grid}.readability-bridge-header h2{color:var(--color-text);margin:0;font-size:16px;line-height:1.25}.readability-bridge-header p,.readability-step span,.signal-review-card span,.panel-helper,.project-card-note{color:var(--color-secondary);margin:0;font-size:12px;line-height:1.45}.readability-step-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.readability-step{border:1px solid var(--color-border);background:#fff;border-radius:8px;min-width:0;padding:12px}.readability-step strong,.signal-review-card strong{color:var(--color-text);margin-bottom:6px;font-size:13px;line-height:1.25;display:block}.signal-review-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.briefing-readiness-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.signal-review-card{border-left-width:4px;min-height:104px;padding:12px}.insight-panel{border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fff;border-radius:12px;padding:14px}.review-suggestion-card{background:#fffdf7;border:1px solid #d9e2ee;border-left:4px solid #f59e0b;border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:grid}.review-suggestion-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.review-suggestion-heading strong{color:var(--color-text);font-size:14px;line-height:1.25;display:block}.review-suggestion-heading p,.review-suggestion-guard{color:var(--color-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.review-suggestion-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.review-suggestion-list li{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:9px 10px;display:grid}.review-suggestion-list p{color:#334155;margin:0;font-size:12px;line-height:1.55}.review-priority-chip{text-align:center;color:#92400e;background:#fef3c7;border-radius:999px;min-width:30px;padding:4px 8px;font-size:11px;font-weight:590}.review-priority-high .review-priority-chip{color:#991b1b;background:#fee2e2}.review-priority-low .review-priority-chip{color:#475569;background:#e2e8f0}.review-suggestion-guard{border-top:1px solid #ece4d4;margin-top:0;padding-top:10px}.insight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.insight-card{border:1px solid var(--color-border);border-left:4px solid var(--color-accent);background:#fbfdff;border-radius:12px;min-width:0;padding:12px}.insight-card.needs-review{background:snow;border-left-color:#dc2626}.insight-card-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.insight-card-header strong{color:var(--color-text);font-size:13px;line-height:1.25}.review-flag{color:#991b1b;background:#fee2e2;border-radius:999px;flex:none;padding:3px 7px;font-size:11px;font-weight:590}.review-flag.muted{color:#475569;background:#e2e8f0}.insight-card p,.insight-empty,.insight-disclaimer{color:var(--color-secondary);margin:0;font-size:12px;line-height:1.45}.insight-metrics{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.insight-metrics span{color:#334155;background:#eef4fa;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:700}.insight-list{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.insight-list li{color:var(--color-secondary);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;font-size:12px;display:grid}.insight-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.insight-list strong{color:var(--color-text);font-size:12px}.trend-insight-list span{text-overflow:initial;white-space:normal;overflow:visible}.trend-summary.has-exclusion{color:#8a4b0b;background:#fff7ed;border-radius:7px;margin-top:8px;padding:8px}.trend-insight-list li.needs-review strong{color:#b91c1c}.insight-empty{margin-top:10px;display:block}.insight-disclaimer{border-top:1px solid var(--color-border);margin-top:12px;padding-top:10px}.overview-ai-assistant{border:1px solid var(--color-border);background:#f8fafc;border-radius:8px;margin-top:12px}.overview-ai-assistant summary{color:#475569;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:0 12px;font-size:13px;font-weight:800;list-style:none;display:flex}.overview-ai-assistant summary::-webkit-details-marker{display:none}.overview-ai-assistant summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;transform:rotate(45deg)translateY(-2px)}.overview-ai-assistant[open] summary{color:var(--color-text)}.overview-ai-assistant[open] summary:after{transform:rotate(225deg)translate(-1px,-1px)}.overview-ai-assistant summary span,.overview-ai-assistant summary small{min-width:0}.overview-ai-assistant summary small{color:var(--color-secondary);margin-left:auto;font-size:12px;font-weight:700}.overview-ai-assistant-body{gap:10px;padding:0 12px 12px;display:grid}.overview-ai-assistant-body .insight-briefing-tool{background:#fff;margin-top:0}.insight-briefing-tool{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:12px;gap:10px;margin-top:12px;padding:12px;display:grid}.insight-analysis-tool{border:1px solid var(--color-border);background:var(--color-surface-alt);border-left:4px solid #2563eb;border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:grid}.insight-analysis-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.insight-analysis-header strong{color:var(--color-text);font-size:13px;display:block}.insight-analysis-header p{color:var(--color-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.insight-analysis-qa{border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:10px;padding:10px;display:grid}.insight-analysis-qa-summary{color:var(--color-text);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.insight-analysis-qa-summary::-webkit-details-marker{display:none}.insight-analysis-qa-summary strong{font-size:13px;display:block}.insight-analysis-qa-summary small{color:var(--color-secondary);margin-top:3px;font-size:12px;font-weight:590;line-height:1.4;display:block}.insight-analysis-qa-indicator{color:var(--color-secondary);font-size:20px;line-height:1;transition:transform .15s}.insight-analysis-qa[open] .insight-analysis-qa-indicator{transform:rotate(90deg)}.insight-analysis-qa-body{gap:10px;padding-top:2px;display:grid}.insight-analysis-qa-actions{justify-content:flex-start}.insight-briefing-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.insight-briefing-header strong{color:var(--color-text);font-size:13px;display:block}.insight-briefing-header p,.copy-feedback{color:var(--color-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.copy-feedback.error{color:#b91c1c}.local-narrative-note{color:var(--color-secondary);margin:0;font-size:12px;line-height:1.45}.insight-question-input{width:100%;min-height:84px;color:var(--color-text);font:inherit;resize:vertical;background:#fff;border:1px solid #cbd7e4;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5}.insight-question-input:focus{border-color:#93c5fd;outline:2px solid #2563eb2e}.narrative-backend-status{border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:1.35;display:flex}.narrative-backend-status strong{font-size:12px}.narrative-backend-status span{color:var(--color-secondary)}.narrative-egress-external{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.narrative-egress-external span{color:#9a3412}.narrative-egress-local{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.narrative-egress-local span{color:#315b90}.narrative-egress-unknown{border:1px solid var(--color-border);color:#475569;background:#fff}.local-narrative-output{background:#fff;border:1px solid #c7dce9;border-radius:8px;gap:8px;padding:12px;display:grid}.local-narrative-output strong{color:var(--color-text);font-size:13px}.local-narrative-output p{color:#243244;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.7}.local-narrative-output span{border-top:1px solid var(--color-border);color:#7a4d0b;padding-top:8px;font-size:12px;line-height:1.45}.ai-analysis-output{background:#fff;border:1px solid #c8d7e8;border-radius:8px;gap:8px;padding:12px;display:grid;box-shadow:inset 3px 0 #2563eb}.ai-analysis-output strong{color:var(--color-text);font-size:13px}.ai-analysis-output p{color:#243244;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.75}.ai-qa-page{max-width:var(--container-max);min-height:calc(100dvh - 180px);margin:0 auto}.ai-qa-shell{flex-direction:column;max-width:960px;min-height:calc(100dvh - 188px);margin:0 auto;display:flex}.ai-qa-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:18px;padding:4px 0 14px;display:flex}.ai-qa-title-block{align-items:flex-start;gap:10px;min-width:0;display:flex}.ai-qa-title-icon{width:34px;height:34px;color:var(--color-accent);background:#0071e317;border:1px solid #0071e329;border-radius:10px;flex:none;place-items:center;display:grid}.ai-qa-title-block h2{margin:0;font-size:24px;line-height:1.2}.ai-qa-title-block p{color:var(--color-secondary);margin:4px 0 0;font-size:13px;line-height:1.45}.ai-qa-backend{flex:0 360px;gap:6px;min-width:0;display:grid}.ai-qa-thread{flex:auto;align-content:start;gap:14px;min-height:360px;padding:16px 0;display:grid}.ai-qa-thread-end{min-height:1px}.ai-qa-empty{min-height:220px;color:var(--color-secondary);text-align:center;background:#ffffff9e;border:1px dashed #cbd7e4;border-radius:12px;place-items:center;gap:6px;padding:18px;display:grid}.ai-qa-empty strong{color:var(--color-text);font-size:15px}.ai-qa-empty span{font-size:13px}.ai-qa-exchange{gap:10px;display:grid}.ai-qa-message{gap:5px;min-width:0;max-width:min(760px,84%);display:grid}.ai-qa-message-user{justify-self:end}.ai-qa-message-assistant{justify-self:start}.ai-qa-message-meta{color:var(--color-secondary);align-items:center;gap:6px;font-size:12px;line-height:1.2;display:flex}.ai-qa-message-user .ai-qa-message-meta{justify-content:flex-end}.ai-qa-message-meta svg{flex:none}.ai-qa-bubble{border:1px solid var(--color-border);color:#243244;min-width:0;box-shadow:var(--shadow-card);background:#fff;border-radius:12px;padding:11px 12px}.ai-qa-message-user .ai-qa-bubble{background:#eff6ff;border-color:#bfdbfe}.ai-qa-bubble p{overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}.ai-qa-answer{white-space:pre-wrap;align-items:flex-start;gap:8px;display:flex}.ai-qa-answer .button-spinner{border-color:#0071e338;border-top-color:var(--color-accent);flex:none;margin-top:3px;display:inline-block}.ai-qa-error{color:#b91c1c}.ai-qa-message-footnote,.ai-qa-egress-note{color:var(--color-secondary);font-size:12px;line-height:1.45}.ai-qa-message-footnote{max-width:680px}.ai-qa-egress-note{margin:0}.ai-qa-composer{z-index:20;background:linear-gradient(180deg, #f5f5f700, var(--color-page-bg) 22%);padding:12px 0 0;position:sticky;bottom:0}.ai-qa-composer-inner{border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fffffff0;border-radius:14px;gap:8px;padding:10px;display:grid}.ai-qa-preset-strip{-webkit-overflow-scrolling:touch;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.ai-qa-chip{border:1px solid var(--color-border-strong);color:#075985;white-space:nowrap;background:#f0f9ff;border-radius:999px;flex:none;min-height:36px;padding:0 12px;font-size:13px;font-weight:700}.ai-qa-chip:disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc}.ai-qa-composer-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.ai-qa-input{resize:vertical;min-height:48px;max-height:160px;font-size:16px}.ai-qa-send{min-width:96px;min-height:44px;padding:0 14px}.insight-briefing-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.insight-anonymize-toggle{color:#334155;white-space:nowrap;align-items:center;gap:6px;min-height:34px;font-size:12px;font-weight:590;display:inline-flex}.insight-anonymize-toggle input{width:16px;height:16px}.insight-briefing-preview{border:1px solid var(--color-border);background:#fff;border-radius:8px;overflow:hidden}.insight-briefing-preview summary{color:var(--color-secondary);cursor:pointer;padding:9px 11px;font-size:12px;font-weight:800}.insight-briefing-preview pre{border-top:1px solid var(--color-border);max-height:320px;color:var(--color-text);white-space:pre-wrap;background:#fbfdff;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;overflow:auto}.briefing-readiness-card{border:1px solid var(--color-border);min-height:92px;box-shadow:var(--shadow-card);background:#fff;border-radius:12px;padding:12px}.briefing-readiness-card strong{color:var(--color-text);margin-bottom:6px;font-size:13px;line-height:1.25;display:block}.briefing-readiness-card span{color:var(--color-secondary);font-size:12px;line-height:1.45;display:block}.signal-revenue{border-left-color:var(--color-accent)}.signal-profit{border-left-color:#059669}.signal-cost{border-left-color:#d97706}.signal-inventory{border-left-color:#7c3aed}.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.kpi-card,.panel{border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fff;border-radius:12px}.kpi-card{grid-template-columns:34px minmax(0,1fr);gap:9px;min-height:92px;padding:12px;display:grid}.kpi-icon{border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.kpi-blue .kpi-icon{color:#075985;background:#e0f2fe}.kpi-green .kpi-icon{color:#047857;background:#d1fae5}.kpi-amber .kpi-icon{color:#a16207;background:#fef3c7}.kpi-red .kpi-icon{color:#b91c1c;background:#fee2e2}.kpi-violet .kpi-icon{color:#6d28d9;background:#ede9fe}.kpi-slate .kpi-icon{color:#475569;background:#e2e8f0}.kpi-label{color:var(--color-secondary);font-size:12px;font-weight:700}.kpi-value{color:var(--color-text);margin-top:4px;font-size:21px;font-weight:590;line-height:1.15}.kpi-note{color:var(--color-secondary);margin-top:4px;font-size:12px}.inventory-hero .readability-step strong{color:#164e63}.inventory-kpi-card{grid-template-columns:minmax(0,1fr);align-content:start}.inventory-kpi-card strong{color:var(--color-text);margin-top:6px;font-size:21px;line-height:1.15}.inventory-negative{color:#b91c1c!important}.inventory-positive{color:#047857!important}.inventory-ok-strip{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px 14px;font-size:13px;font-weight:700}.anomaly-hero .readability-step strong{color:#1d1d1f}.anomaly-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.anomaly-kpi-card{min-height:88px}.anomaly-sanity-panel{background:#f8fbff;border-color:#bfdbfe}.anomaly-sanity-strip,.anomaly-contract-warning{flex-wrap:wrap;gap:8px;display:flex}.anomaly-sanity-ok,.anomaly-sanity-warn{border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.anomaly-sanity-ok{color:#166534;background:#dcfce7}.anomaly-sanity-warn,.anomaly-contract-warning span{color:#92400e;background:#fef3c7}.anomaly-contract-warning{margin-top:10px}.anomaly-contract-warning span{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.anomaly-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:680px;display:flex}.anomaly-controls select{border:1px solid var(--color-border);min-height:36px;color:var(--color-text);background:#fff;border-radius:10px;padding:0 10px}.anomaly-rule-section{gap:10px;margin-top:14px;display:grid}.anomaly-rule-section+.anomaly-rule-section{border-top:1px solid var(--color-border);padding-top:14px}.anomaly-rule-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.anomaly-rule-heading>div{color:var(--color-text);align-items:center;gap:8px;display:inline-flex}.anomaly-rule-heading span{color:var(--color-secondary);font-size:12px;font-weight:700}.anomaly-severity{border-radius:999px;justify-content:center;align-items:center;min-width:36px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.anomaly-severity.high{color:#991b1b;background:#fee2e2}.anomaly-severity.medium{color:#92400e;background:#fef3c7}.anomaly-severity.low{color:#475569;background:#e2e8f0}.anomaly-note-cell{color:#475569;min-width:260px;max-width:540px;font-size:12px;line-height:1.45;display:inline-block}.cashflow-hero .readability-step strong{color:#1d1d1f}.cashflow-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.cashflow-kpi-card{min-height:88px}.cashflow-sanity-panel{background:#f8fbff;border-color:#c7d2fe}.cashflow-view-tabs{margin:12px 0}.cashflow-view-section{gap:12px;margin-top:14px;display:grid}.cashflow-view-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.cashflow-view-heading h3{color:var(--color-text);margin:0;font-size:15px}.cashflow-view-heading span{color:var(--color-secondary);font-size:12px;line-height:1.4}.cashflow-note-cell{color:#475569;min-width:260px;max-width:520px;font-size:12px;line-height:1.45;display:inline-block}.cashflow-mobile-detail-hint{display:none}.labor-brand-hero .readability-step strong{color:#1d1d1f}.labor-brand-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.labor-brand-kpi-card{min-height:88px}.labor-brand-sanity-panel{background:#f8fbff;border-color:#bae6fd}.labor-brand-view-tabs{margin:12px 0}.labor-brand-monthly-summary{flex-wrap:wrap;gap:8px;display:flex}.labor-brand-monthly-summary span,.labor-brand-snapshot-badge,.labor-brand-job-tags span,.labor-brand-headcount-missing{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;min-height:26px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.labor-brand-job-tags{flex-wrap:wrap;gap:6px;min-width:280px;max-width:520px;display:flex}.labor-brand-headcount-missing{color:#92400e;background:#fef3c7}.labor-brand-amber{color:#a16207!important}.labor-brand-muted{color:#94a3b8;font-weight:700}.labor-brand-trend-list{gap:8px;display:grid}.labor-brand-trend-row{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:76px minmax(120px,1fr) 120px;align-items:center;gap:10px;padding:8px 10px;display:grid}.labor-brand-trend-row.muted{opacity:.56;background:#f8fafc}.labor-brand-trend-row>span,.labor-brand-trend-row>strong{color:var(--color-text);font-size:12px;font-weight:800}.labor-brand-trend-track{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.labor-brand-trend-track i{border-radius:inherit;background:#0e7490;min-width:4px;height:100%;display:block}.detail-explorer-hero .readability-step strong{color:#1d1d1f}.detail-explorer-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-explorer-kpi-card{grid-template-columns:minmax(0,1fr);align-content:start;min-height:88px}.detail-explorer-kpi-content{min-width:0}.detail-explorer-kpi-card .kpi-note{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.detail-explorer-sanity-panel{background:#f8fbff;border-color:#bfdbfe}.detail-explorer-view-tabs{margin:12px 0}.project-management-switcher{gap:12px;display:grid}.single-project-preserved-list{display:none}.single-project-loading-panel{justify-content:flex-start;display:flex}.single-project-hero{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.single-project-title{gap:8px;min-width:0;display:grid}.single-project-title>span{color:var(--color-secondary);font-size:12px;font-weight:800}.single-project-title h2{color:var(--color-text);margin:0;font-size:22px;line-height:1.25}.single-project-tags{flex-wrap:wrap;gap:6px;display:flex}.single-project-tags span,.mom-pill{border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.2;display:inline-flex}.single-project-tags span{color:#475569;background:#f1f5f9}.single-project-profile-panel{gap:12px;display:grid}.single-project-profile-title{color:var(--color-text);align-items:center;gap:8px;display:flex}.single-project-profile-title>span{color:#075985;background:#e0f2fe;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.single-project-profile-title strong{font-size:15px}.single-project-profile-metrics,.unit-economics-grid,.profit-structure-list,.expense-bucket-mini-list{gap:8px;display:grid}.single-project-profile-metrics div,.unit-economics-card,.profit-structure-list div,.expense-bucket-mini-list div{background:#f8fafc;border-radius:8px;gap:5px;min-width:0;padding:10px;display:grid}.single-project-profile-metrics span,.unit-economics-card span,.profit-structure-list span,.expense-bucket-mini-list span{color:var(--color-secondary);font-size:12px;font-weight:800}.single-project-profile-metrics strong,.unit-economics-card strong,.profit-structure-list strong,.expense-bucket-mini-list strong{color:#111827;font-size:16px;line-height:1.25}.unit-economics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-economics-card svg{color:#0f766e}.mom-pill{gap:4px;width:fit-content;font-style:normal}.mom-pill.up{color:#075985;background:#e0f2fe}.mom-pill.down{color:#b91c1c;background:#fee2e2}.mom-pill.flat{color:#047857;background:#d1fae5}.mom-pill.none{color:var(--color-secondary);background:#e2e8f0}.single-project-rate-strip{margin:0 0 12px}.compact-title{margin:4px 0 12px}.single-project-fact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.single-project-fact-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}.single-project-fact-cell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:5px;min-width:0;min-height:86px;padding:10px;display:grid}.single-project-fact-cell.red{background:#fff7f7;border-color:#fecaca}.single-project-fact-cell.yellow{background:#fffbeb;border-color:#fde68a}.single-project-fact-cell.green{background:#f0fdf4;border-color:#bbf7d0}.single-project-fact-cell span{color:var(--color-secondary);font-size:12px;font-weight:800}.single-project-fact-cell strong{color:#111827;font-size:16px;line-height:1.25}.single-project-fact-cell em,.profit-structure-list em,.labor-month-list em{color:var(--color-secondary);font-size:11px;font-style:normal;line-height:1.35}.labor-month-list{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-explorer-load-panel{border:1px dashed var(--color-border-strong);min-height:120px;color:var(--color-secondary);background:#f8fafc;border-radius:8px;align-content:center;gap:4px;margin-top:12px;padding:16px;display:grid}.detail-explorer-load-panel strong{color:var(--color-text);font-size:14px}.detail-explorer-load-panel span{font-size:12px}.detail-explorer-top-grid{gap:8px;display:grid}.detail-explorer-top-row{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1fr) minmax(160px,.8fr) 110px;align-items:center;gap:10px;min-height:56px;padding:10px 12px;display:grid}.detail-explorer-top-row.highlighted,.detail-explorer-highlight-row{background:#fff7ed}.detail-explorer-top-row.highlighted{border-color:#fed7aa}.detail-explorer-top-row strong,.detail-explorer-voucher-card strong,.detail-explorer-subject-cell strong{min-width:0;color:var(--color-text);overflow-wrap:anywhere;word-break:break-word;font-size:13px;display:block}.detail-explorer-top-row span,.detail-explorer-voucher-card span,.detail-explorer-voucher-card small,.detail-explorer-subject-cell span{min-width:0;color:var(--color-secondary);overflow-wrap:anywhere;word-break:break-word;margin-top:3px;font-size:12px;display:block}.detail-explorer-top-row b{color:var(--color-text);text-align:right;font-size:13px}.detail-explorer-bar-track{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.detail-explorer-bar-track i{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#14b8a6);min-width:4px;height:100%;display:block}.detail-explorer-trend-panel{border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.detail-explorer-trend-heading,.detail-explorer-pagination{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-explorer-trend-heading h3{color:var(--color-text);margin:0;font-size:14px}.detail-explorer-trend-heading span,.detail-explorer-pagination span{color:var(--color-secondary);font-size:12px;font-weight:700}.detail-explorer-inline-controls{align-items:center;gap:8px;display:flex}.detail-explorer-inline-controls select,.detail-explorer-controls select,.detail-explorer-search input{border:1px solid var(--color-border-strong);min-height:36px;color:var(--color-text);background:#fff;border-radius:8px;font-size:12px}.detail-explorer-inline-controls select{width:min(360px,42vw)}.detail-explorer-trend-list{gap:7px;display:grid}.detail-explorer-trend-row{grid-template-columns:74px minmax(120px,1fr) 110px 64px;align-items:center;gap:10px;min-height:32px;display:grid}.detail-explorer-trend-row span,.detail-explorer-trend-row strong,.detail-explorer-trend-row em{color:var(--color-text);font-size:12px;font-style:normal;font-weight:800}.detail-explorer-trend-row em{color:var(--color-secondary)}.detail-explorer-voucher-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.detail-explorer-voucher-card{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-rows:auto auto minmax(0,auto) auto;align-content:start;gap:5px;height:auto;min-height:152px;padding:12px;display:grid}.detail-explorer-voucher-card p{color:#475569;overflow-wrap:anywhere;text-overflow:ellipsis;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;min-height:0;max-height:2.9em;margin:0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.detail-explorer-controls{grid-template-columns:minmax(180px,1.2fr) minmax(170px,1fr) minmax(150px,1fr) minmax(150px,1fr) 120px 96px 96px;align-items:center;gap:8px;display:grid}.detail-explorer-search{border:1px solid var(--color-border-strong);min-height:36px;color:var(--color-secondary);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.detail-explorer-search input{border:0;outline:0;width:100%;min-width:0}.platform-expense-controls{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) minmax(180px,.8fr);align-items:end;gap:10px;margin-bottom:14px;display:grid}.platform-expense-controls label{color:var(--color-secondary);gap:6px;font-size:12px;font-weight:700;display:grid}.platform-expense-controls select,.platform-expense-search{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;min-height:38px}.platform-expense-controls select{padding:0 10px}.platform-expense-search{color:var(--color-secondary);align-items:center;gap:8px;padding:0 10px;display:flex}.platform-expense-search input{border:0;outline:0;width:100%;min-width:0}.muted-cell{max-width:360px;color:var(--color-secondary);font-size:12px;line-height:1.35;display:block}.platform-expense-pagination{justify-content:flex-end;align-items:center;gap:10px;display:flex}.detail-explorer-table-wrap{max-height:640px;overflow:auto}.detail-explorer-table{min-width:1120px}.detail-explorer-note-cell{color:#475569;min-width:280px;max-width:560px;font-size:12px;line-height:1.45;display:inline-block}.detail-explorer-subject-cell{min-width:180px}.detail-explorer-subject-cell em{color:#9a3412;background:#ffedd5;border-radius:999px;align-items:center;min-height:22px;margin-top:5px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.detail-explorer-pagination{min-height:44px;padding-top:4px}.inventory-view-tabs{background:var(--color-surface-alt);scrollbar-width:thin;border:1px solid #d8e2ef;border-radius:8px;flex-wrap:nowrap;gap:8px;padding:6px;display:flex;overflow-x:auto}.inventory-view-tabs button{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:1 1 0;min-width:max-content;min-height:38px;padding:0 12px;font-weight:590}.inventory-view-tabs button.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.inventory-review-panel{background:#fff7ed;border-color:#fed7aa}.inventory-review-list{color:#9a3412;margin:0;padding-left:18px}.inventory-reversal-panel{background:var(--color-surface-alt);border-color:#c7d2fe}.inventory-reversal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.inventory-project-cell{gap:3px;min-width:0;display:grid}.inventory-project-cell strong{color:var(--color-text);font-size:12px;line-height:1.25}.inventory-project-cell span{color:var(--color-secondary);font-size:11px;line-height:1.25}.inventory-amount-ratio{justify-items:end;gap:2px;display:grid}.inventory-amount-ratio strong{color:var(--color-text);font-size:12px;line-height:1.2}.inventory-amount-ratio span{color:var(--color-secondary);font-size:11px;line-height:1.2}.inventory-tier-cell{justify-items:center;gap:4px;min-width:120px;display:grid}.inventory-tier-cell small{max-width:180px;color:var(--color-secondary);text-align:center;font-size:10px;line-height:1.3}.inventory-health-tier{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:86px;padding:3px 9px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.inventory-health-tier.red{color:#991b1b;background:#fee2e2}.inventory-health-tier.yellow{color:#92400e;background:#fef3c7}.inventory-health-tier.green{color:#166534;background:#dcfce7}.inventory-provision-label,.inventory-sku-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:64px;padding:3px 8px;font-size:11px;font-weight:590;display:inline-flex}.inventory-provision-label.reversal{color:#991b1b;background:#fee2e2}.inventory-provision-label.provision,.inventory-sku-status.risk{color:#92400e;background:#fef3c7}.inventory-provision-label.neutral,.inventory-sku-status.normal{color:#475569;background:#e2e8f0}.content-grid{gap:16px;display:grid}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{min-width:0;padding:14px}.compact-panel{padding:14px}.panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.panel-heading h2{color:var(--color-text);letter-spacing:0;margin:0;font-size:16px;line-height:1.25}.panel-heading span{color:#748196;font-size:12px;font-weight:700}.panel-helper{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;margin:-6px 0 12px;padding:9px 10px}.panel-heading.with-controls{align-items:flex-start}.local-controls{gap:8px;min-width:min(420px,100%);display:flex}.overview-mini-trend-panel{grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);align-items:stretch;gap:12px;display:grid}.overview-mini-trend-copy{align-content:start;gap:8px;min-width:0;display:grid}.overview-mini-trend-copy .panel-heading{margin-bottom:0}.overview-mini-trend-copy .panel-helper{margin:0}.sparkline-frame{border:1px solid var(--color-border);background:linear-gradient(#f8fafcd1,#fffffff5);border-radius:8px;min-width:0;min-height:164px;padding:7px 0}.sparkline-legend,.sparkline-keypoints{flex-wrap:wrap;gap:6px;display:flex}.sparkline-legend span,.sparkline-keypoints span,.sparkline-keypoints strong{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.sparkline-legend span:before{content:"";background:currentColor;border-radius:999px;width:16px;height:3px;margin-right:6px}.sparkline-legend .target{color:#6d28d9;background:#f3e8ff}.sparkline-legend .actual{color:#047857;background:#dcfce7}.sparkline-keypoints strong{color:#334155;background:#eef4fa}.project-summary-controls{grid-template-columns:minmax(180px,1fr) 134px auto;align-items:end;gap:8px;width:min(560px,100%);display:grid}.project-summary-controls label{min-width:0;color:var(--color-secondary);gap:4px;font-size:12px;font-weight:700;display:grid}.project-summary-controls input,.project-summary-controls select{border:1px solid var(--color-border-strong);width:100%;min-width:0;min-height:36px;color:var(--color-text);font:inherit;background:#fff;border-radius:8px;padding:0 10px;font-size:12px}.project-summary-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:-4px 0 10px;display:flex}.project-summary-status span{color:var(--color-secondary);font-size:12px;font-weight:700}.compact-action{white-space:nowrap;border-radius:8px;min-height:34px;padding:0 10px;font-size:12px}.chart-frame{height:280px}.data-table-shell{gap:8px;min-width:0;display:grid}.table-toolbar{border:1px solid var(--color-border);background:linear-gradient(#fff,#fafbfd);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.table-toolbar-primary,.table-toolbar-secondary{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.table-search{border:1px solid var(--color-border-strong);width:min(300px,100%);min-height:32px;color:var(--color-secondary);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.table-search:focus-within{border-color:#0071e37a;box-shadow:0 0 0 3px #0071e31a}.table-search input{background:0 0;border:0;border-radius:0;width:100%;min-width:130px;height:30px;padding:0;font-size:12px}.table-search input:focus{box-shadow:none}.table-filter-group{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.table-enum-filter{min-width:148px;position:relative}.table-enum-filter[open]{z-index:8}.table-enum-filter summary{border:1px solid var(--color-border-strong);width:100%;min-height:32px;color:var(--color-secondary);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0 9px;font-size:12px;font-weight:800;list-style:none;display:inline-flex}.table-enum-filter summary::-webkit-details-marker{display:none}.table-enum-filter summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transform:rotate(45deg)translateY(-1px)}.table-enum-filter[open] summary:after{transform:rotate(225deg)translate(-1px,-1px)}.table-enum-filter summary strong{color:var(--color-accent);white-space:nowrap;margin-left:auto;font-size:11px}.table-enum-menu{border:1px solid var(--color-border);background:#fff;border-radius:10px;gap:4px;width:max(100%,190px);max-height:260px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 28px #0f172a24}.table-enum-menu-heading{color:var(--color-secondary);justify-content:space-between;align-items:center;gap:8px;padding:2px 3px 5px;font-size:12px;font-weight:800;display:flex}.table-enum-menu-heading button{border:1px solid var(--color-border);width:auto;min-height:24px;color:var(--color-secondary);background:var(--color-surface-alt);border-radius:7px;padding:0 7px;font-size:11px;font-weight:800}.table-enum-menu-heading button:disabled{cursor:not-allowed;opacity:.45}.table-enum-option{min-height:30px;color:var(--color-text);border-radius:8px;align-items:center;gap:7px;padding:5px 7px;font-size:12px;font-weight:700;display:flex}.table-enum-option:hover,.table-enum-option:focus-within{background:var(--color-surface-alt)}.table-enum-option input{width:14px;height:14px;accent-color:var(--color-accent);flex:none}.table-enum-empty{color:var(--color-secondary);padding:8px 7px;font-size:12px;font-weight:700}.table-row-count{color:var(--color-secondary);white-space:nowrap;font-size:12px;font-weight:800}.table-page-size{color:var(--color-secondary);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.table-page-size select{border-radius:8px;width:72px;height:32px;font-size:12px}.table-wrap{border:1px solid var(--color-border);border-radius:8px;overflow:auto}.data-table{border-collapse:collapse;background:#fff;width:100%;min-width:880px}.data-table th,.data-table td{color:var(--color-text);text-align:left;vertical-align:middle;border-bottom:1px solid #eef2f6;padding:12px 13px;font-size:13px;line-height:1.4}.data-table.compact th,.data-table.compact td{padding:9px 11px}.data-table th{z-index:1;color:#526173;background:#f7fafc;font-size:12px;font-weight:800;position:sticky;top:0;box-shadow:inset 0 -1px #e6edf5}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:nth-child(2n){background:#fbfdff}.data-table tbody tr:hover{background:#f4f8fc}.data-table-sort-button{width:100%;min-height:24px;color:inherit;font:inherit;text-align:inherit;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:5px;padding:0;display:inline-flex}.data-table-sort-button span{min-width:0}.data-table-sort-button svg{color:#94a3b8;flex:none}.data-table-sort-button:hover svg,.data-table-sort-button:focus-visible svg{color:var(--color-accent)}.align-right .data-table-sort-button{justify-content:flex-end}.align-center .data-table-sort-button{justify-content:center}.table-empty-cell{background:#fbfdff;height:88px;font-weight:700;color:var(--color-secondary)!important;text-align:center!important;font-size:13px!important}.table-pagination{color:var(--color-secondary);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.table-pagination .secondary-action:disabled{cursor:not-allowed;opacity:.46}.align-right{text-align:right!important}.align-center{text-align:center!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.metric-pill,.status-pill{border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.tone-green,.status-active,.status-pass{color:#047857;background:#d1fae5}.tone-amber,.status-closing,.status-warning{color:#9a5b00;background:#fef3c7}.tone-red,.status-closed,.status-fail{color:#b91c1c;background:#fee2e2}.tone-blue,.status-pending{color:#075985;background:#e0f2fe}.tone-muted{color:var(--color-secondary);background:#e2e8f0}.project-card-title{color:var(--color-text);justify-content:space-between;align-items:flex-start;gap:10px;font-weight:780;display:flex}.project-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.project-card-metrics div{background:#f7fafc;border-radius:8px;padding:10px}.project-card-metrics span{color:var(--color-secondary);font-size:12px;font-weight:700;display:block}.project-card-metrics strong{color:#111827;margin-top:4px;font-size:15px;display:block}.project-card-note{border-top:1px solid var(--color-border);margin-top:12px;padding-top:10px}.groups-layout{grid-template-columns:260px minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.platform-project-groups-page .groups-layout{grid-template-columns:minmax(220px,.72fr) minmax(520px,1.85fr) minmax(420px,1.08fr)}.stack-list{gap:8px;display:grid}.group-item{text-align:left;background:#fff;border:1px solid #e0e8f1;border-radius:8px;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:10px;display:grid}.group-item.active{border-color:var(--color-accent);background:var(--color-surface-alt)}.group-dot{border-radius:999px;width:10px;height:10px}.group-item strong,.template-list strong,.source-row span,.project-check-row strong,.suggestion-row strong{color:var(--color-text);font-size:13px;display:block}.group-item small,.template-list small,.rule-box small,.project-check-row small,.suggestion-row small{color:var(--color-secondary);margin-top:2px;font-size:12px;display:block}.group-source-note{margin-top:-4px}.group-source-badge{border-radius:999px;align-items:center;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:800;display:inline-flex}.group-source-badge.standard{color:#0f766e;background:#ccfbf1}.group-source-badge.custom{color:#2563eb;background:#dbeafe}.icon-button{border:1px solid var(--color-border-strong);width:32px;height:32px;color:var(--color-secondary);background:#fff;border-radius:8px;place-items:center;display:inline-grid}.icon-button.danger{color:#b91c1c}.icon-button:disabled{opacity:.5;cursor:not-allowed}.button-row{align-items:center;gap:8px;display:flex}.button-row.end{justify-content:flex-end;margin-top:14px}.project-check-list{gap:8px;max-height:540px;display:grid;overflow:auto}.project-check-row{border:1px solid var(--color-border);border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.project-check-row input{width:16px;height:16px}.project-table-checkbox{width:16px;height:16px;accent-color:var(--color-accent)}.project-table-checkbox:disabled{cursor:not-allowed}.project-table-name{gap:2px;display:grid}.project-table-name strong{color:var(--color-text);font-size:13px}.project-table-name small{color:var(--color-secondary);font-size:11px;font-weight:700}.config-stack{gap:12px;display:grid}.group-readonly-note{color:#075985;background:#e0f2fe;border:1px solid #bae6fd;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.6}.group-empty-state{margin:0}.group-sharing-toggle{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex!important}.group-sharing-toggle input{width:16px;height:16px;accent-color:var(--color-accent);flex:none;margin-top:2px;padding:0}.group-sharing-toggle__text{gap:2px;min-width:0;display:grid}.group-sharing-toggle__text strong{color:#1e3a8a;font-size:13px}.group-sharing-toggle__text small{color:#475569;font-size:12px;line-height:1.5}.rule-box{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;gap:8px;padding:12px;display:grid}.rule-title{color:#475569;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}code{color:#075985;white-space:normal;background:#e0f2fe;border-radius:6px;width:max-content;max-width:100%;padding:4px 7px;font-size:12px;display:inline-flex}.suggestion-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.suggestion-row button,.primary-action,.secondary-action{border:1px solid var(--color-accent);color:#fff;background:var(--color-accent);border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:36px;font-weight:590;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.secondary-action{color:var(--color-accent);border-color:var(--color-border-strong);background:var(--color-surface-alt)}.primary-action:hover,.suggestion-row button:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.secondary-action:hover{color:var(--color-accent-hover);border-color:var(--color-border-strong);background:#fff}.primary-action:disabled{opacity:.65;cursor:progress}.secondary-action:disabled{opacity:.58;cursor:not-allowed}.button-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:999px;width:14px;height:14px;animation:.7s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}.suggestion-row button{min-height:30px;padding:0 10px;font-size:12px}.primary-action,.secondary-action{padding:0 16px}.option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.option-card{border:1px solid var(--color-border);color:#2e4056;background:#fff;border-radius:8px;place-items:center;gap:8px;min-height:118px;font-weight:800;display:grid}.option-card.active{color:#075985;border-color:var(--color-accent);background:var(--color-surface-alt)}.option-card.disabled,.option-card:disabled,.primary-action.disabled,.primary-action:disabled,.secondary-action.disabled,.secondary-action:disabled{cursor:not-allowed;color:#94a3b8;opacity:.72;background:#f8fafc;border-color:#dbe4ef}.template-list,.version-notes,.source-list{gap:8px;display:grid}.template-list div,.version-notes div,.source-row{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;padding:10px}.source-row{align-items:center;gap:8px;display:flex}.source-row svg{color:var(--color-accent)}.recent-import-box{border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:6px;margin-top:12px;padding:12px;display:grid}.recent-import-box strong{color:var(--color-text);overflow-wrap:anywhere;font-size:13px}.recent-import-box span{color:var(--color-secondary);overflow-wrap:anywhere;font-size:12px}.warning-text{font-weight:800;color:#b45309!important}.export-config-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.config-block{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;padding:12px}.config-block h3{color:var(--color-text);margin:0 0 10px;font-size:14px}.checkbox-list{gap:8px;display:grid}.checkbox-list label{color:var(--color-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-list label.disabled{color:#94a3b8}.checkbox-list input{width:16px;height:16px}.export-scope-select{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fff;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:12px}.export-preview{border:1px solid var(--color-border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:12px;display:flex}@media print{.app-nav,.platform-header-auth,.global-filters,.version-badge,.local-controls,.table-toolbar,.table-pagination,.button-row,.primary-action,.secondary-action,.icon-button{display:none!important}.app-shell{background:#fff}.app-header{color:#111827;width:100%}main{width:100%;padding:0}.panel,.kpi-card{box-shadow:none;break-inside:avoid}}.export-preview span{color:var(--color-secondary);font-size:12px;font-weight:800;display:block}.admin-user-page{gap:14px;display:grid}.admin-user-header,.admin-user-status,.admin-user-table-wrap{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:8px}.admin-user-header{justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.admin-user-header h2{margin:4px 0 0;font-size:20px}.admin-user-header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-user-status{color:var(--color-secondary);gap:4px;padding:10px 12px;font-size:13px;display:grid}.admin-user-status strong{color:var(--color-text)}.admin-user-status--error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.admin-user-table-wrap{overflow-x:auto}.admin-user-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:920px}.admin-user-table th,.admin-user-table td{border-bottom:1px solid var(--color-border);vertical-align:top;text-align:left;padding:12px}.admin-user-table th{color:var(--color-secondary);background:var(--color-surface-alt);font-size:12px;font-weight:800}.admin-user-table th:first-child,.admin-user-table td:first-child{width:28%}.admin-user-table th:nth-child(2),.admin-user-table td:nth-child(2){width:110px}.admin-user-table th:nth-child(3),.admin-user-table td:nth-child(3){width:38%}.admin-user-table th:nth-child(4),.admin-user-table td:nth-child(4){width:90px}.admin-user-table th:nth-child(5),.admin-user-table td:nth-child(5){width:150px}.admin-user-table td strong,.admin-user-table td span,.admin-user-table td small{display:block}.admin-user-table td strong{overflow-wrap:anywhere}.admin-user-table td span,.admin-user-table td small{color:var(--color-secondary);margin-top:4px;font-size:12px}.admin-user-role-pill{width:fit-content;color:var(--color-accent);background:#0071e30f;border:1px solid #0071e329;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.admin-user-project-summary{max-width:520px;color:var(--color-text);line-height:1.45}.admin-user-badge{color:#047857;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;width:fit-content;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.admin-user-badge--blocked{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.admin-user-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-user-actions button{border:1px solid var(--color-border);min-height:34px;color:var(--color-text);background:var(--color-surface);border-radius:8px;padding:6px 8px;font-size:12px;font-weight:700}.admin-user-actions button:hover,.admin-user-actions button:focus-visible{color:var(--color-accent);background:#0071e30f;border-color:#0071e357}.admin-user-actions button:disabled{cursor:not-allowed;opacity:.52}.admin-user-editor{z-index:70;justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-user-editor-backdrop{background:#1118276b;border:none;position:absolute;inset:0}.admin-user-editor-panel{z-index:1;border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;width:min(720px,100vw - 40px);max-height:calc(100vh - 40px);margin:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #0f172a38}.admin-user-editor-header,.admin-user-editor-footer{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.admin-user-editor-header h3{margin:3px 0 0;font-size:18px}.admin-user-editor-header button{border:1px solid var(--color-border);min-width:38px;min-height:38px;color:var(--color-secondary);background:var(--color-surface);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.admin-user-editor-body{-webkit-overflow-scrolling:touch;gap:16px;padding:16px;display:grid;overflow-y:auto}.admin-user-editor-footer{border-top:1px solid var(--color-border);border-bottom:none;justify-content:flex-end}.admin-user-editor-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:700}.admin-user-editor-grid{grid-template-columns:minmax(200px,1fr) minmax(160px,.8fr);gap:12px;display:grid}.admin-user-editor-grid label,.admin-user-password-section label{color:var(--color-secondary);gap:6px;font-size:12px;font-weight:800;display:grid}.admin-user-editor-grid input,.admin-user-password-section input,.admin-project-search input{border:1px solid var(--color-border);width:100%;min-height:40px;color:var(--color-text);background:var(--color-surface);border-radius:8px;font-size:14px}.admin-user-editor-grid input,.admin-user-password-section input{padding:8px 10px}.admin-user-editor-grid input[readonly]{color:var(--color-secondary);background:var(--color-surface-alt)}.admin-user-role-options{border:none;gap:8px;margin:0;padding:0;display:grid}.admin-user-role-options legend{color:var(--color-secondary);font-size:12px;font-weight:800}.admin-user-role-options>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admin-user-role-options label{border:1px solid var(--color-border);min-height:40px;color:var(--color-text);background:var(--color-surface);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.admin-user-role-options label.active{color:var(--color-accent);background:#0071e314;border-color:#0071e36b}.admin-user-role-options input{opacity:0;pointer-events:none;position:absolute}.admin-user-all-projects-note{color:var(--color-accent);background:#0071e30f;border:1px solid #0071e32e;border-radius:8px;padding:12px;font-size:13px;font-weight:800}.admin-project-picker{gap:10px;display:grid}.admin-project-picker-header,.admin-project-picker-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-project-picker-header strong{font-size:13px}.admin-project-picker-header span,.admin-project-picker-tools span{color:var(--color-secondary);font-size:12px;font-weight:700}.admin-project-search{align-items:center;display:flex;position:relative}.admin-project-search svg{color:var(--color-secondary);position:absolute;left:11px}.admin-project-search input{padding:8px 10px 8px 34px}.admin-project-picker-tools{justify-content:flex-start}.admin-project-picker-tools button,.admin-project-chips button{border:1px solid var(--color-border);min-height:32px;color:var(--color-text);background:var(--color-surface);border-radius:8px;font-size:12px;font-weight:800}.admin-project-picker-tools button{padding:6px 9px}.admin-project-picker-tools button:disabled{cursor:not-allowed;opacity:.52}.admin-project-chips{flex-wrap:wrap;gap:6px;max-height:78px;display:flex;overflow-y:auto}.admin-project-chips button{color:var(--color-accent);background:#0071e30f;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.admin-project-list{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;gap:6px;max-height:260px;padding:8px;display:grid;overflow-y:auto}.admin-project-list label{color:var(--color-text);background:var(--color-surface);border:1px solid #0000;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:8px;font-size:13px;line-height:1.35;display:grid}.admin-project-list label.selected{background:#0071e30f;border-color:#0071e352}.admin-project-list input{margin-top:2px}.admin-project-list strong{color:var(--color-accent);margin-right:6px}.admin-user-password-section{gap:10px;display:grid}.admin-user-password-toggle{border:1px solid var(--color-border);width:fit-content;min-height:34px;color:var(--color-text);background:var(--color-surface);border-radius:8px;padding:6px 10px;font-weight:800}.admin-user-editor button:disabled{cursor:not-allowed;opacity:.52}@media (width<=767px){.admin-user-header{flex-direction:column;align-items:stretch}.admin-user-header-actions{justify-content:stretch}.admin-user-header-actions button{flex:1 1 0}.admin-user-table{min-width:760px}.admin-user-editor{justify-content:center;align-items:flex-end}.admin-user-editor-panel{border-radius:16px 16px 0 0;width:100%;max-height:88dvh;margin:0}.admin-user-editor-grid,.admin-user-role-options>div{grid-template-columns:1fr}.admin-user-editor-header,.admin-user-editor-footer,.admin-user-editor-body{padding-right:var(--space-page);padding-left:var(--space-page)}.admin-user-editor-footer{padding-bottom:calc(12px + var(--safe-bottom))}.admin-project-list{max-height:34vh}}.export-preview small{color:var(--color-secondary);margin-top:4px;font-size:12px;line-height:1.4;display:block}.export-preview strong{color:var(--color-text);overflow-wrap:anywhere;margin-top:3px;font-size:13px;display:block}.import-dropzone{border:1px dashed var(--color-border-strong);min-height:132px;color:var(--color-secondary);background:var(--color-surface-alt);text-align:center;border-radius:8px;place-items:center;gap:7px;margin-top:12px;display:grid}.import-dropzone strong{color:var(--color-text)}.import-dropzone span{font-size:12px}.active-import-zone{background:var(--color-surface-alt);align-items:center;min-height:190px;padding:18px}.active-import-zone svg{color:var(--color-secondary)}.visually-hidden-file{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.import-actions{flex-wrap:wrap;justify-content:center;max-width:100%}.disabled-action{width:min(100%,360px)}.import-preview-stack{gap:12px;display:grid}.import-validation-box,.empty-state{border:1px solid var(--color-border);color:#475569;background:var(--color-surface-alt);border-radius:8px;gap:4px;padding:12px;display:grid}.import-validation-box strong{color:var(--color-text)}.import-validation-box span,.empty-state{font-size:13px}@media (width<=1180px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.signal-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-grid{grid-template-columns:1fr}.insight-briefing-header,.insight-briefing-actions{flex-direction:column;align-items:stretch}.briefing-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.groups-layout{grid-template-columns:240px minmax(0,1fr)}.group-config-panel{grid-column:1/-1}}@media (width<=900px){.app-shell{--sticky-header-offset:151px}.app-shell.nav-compact{--sticky-header-offset:120px}.app-header{flex-direction:column;align-items:flex-start}.platform-header-meta{flex-wrap:wrap;justify-content:flex-start;width:100%;margin-left:0}.platform-header-auth{max-width:100%}.app-nav,.global-filters,.period-state-strip,.period-context-panel,.overview-mini-trend-panel,.period-boundary-hints,.readability-bridge-panel,.readability-step-grid,.insight-grid,.briefing-readiness-grid,.two-col,.three-col,.export-config-grid,.groups-layout{grid-template-columns:1fr}.app-nav>button,.app-tools-summary{color:var(--color-secondary);border-color:var(--color-border);background:#fff;border-radius:10px}.app-nav>button.active,.app-tools-menu.active .app-tools-summary{color:#fff;background:var(--color-accent);border-color:var(--color-accent)}.app-tools-panel{min-width:0;margin-top:6px;position:static}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading.with-controls,.export-preview{flex-direction:column;align-items:stretch}.local-controls{width:100%;min-width:0}.single-project-hero,.unit-economics-grid,.single-project-fact-grid,.single-project-fact-grid.four-col,.labor-month-list{grid-template-columns:1fr}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-primary,.table-toolbar-secondary,.table-filter-group,.table-search{width:100%}.table-toolbar-secondary{justify-content:space-between}.table-enum-filter{width:100%}.table-enum-menu{width:100%;box-shadow:none;margin-top:6px;position:static}.project-summary-controls{grid-template-columns:minmax(0,1fr) minmax(120px,.7fr) auto;width:100%}.sparkline-frame{min-height:148px}}@media (width<=560px){.app-header,.app-nav{padding-left:12px;padding-right:12px}main{width:min(100% - 24px,1440px)}.overview-ai-assistant summary{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:9px 34px 9px 12px;position:relative}.overview-ai-assistant summary:after{position:absolute;top:17px;right:14px}.overview-ai-assistant summary small{margin-left:0}.project-summary-controls{grid-template-columns:1fr}.period-boundary-details summary{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:44px;padding:6px 32px 6px 10px;position:relative}.period-boundary-details summary:after{position:absolute;top:16px;right:12px}.kpi-grid,.signal-review-grid,.briefing-readiness-grid,.option-grid{grid-template-columns:1fr}.brand-block{align-items:flex-start}.brand-block h1{font-size:18px}.brand-block p{font-size:12px}}@media (width>=768px) and (width<=1179px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.signal-review-grid,.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-nav>button,.app-tools-summary{min-height:44px}}@media (width<=767px){main{width:100%;padding:12px var(--space-page) calc(76px + var(--safe-bottom))}.app-header{padding:12px var(--space-page)}input,select,textarea{font-size:16px}button,summary,[role=button]{touch-action:manipulation}.table-wrap,.detail-explorer-table-wrap,.anomaly-sanity-strip,.inventory-view-tabs,.cashflow-view-tabs,.labor-brand-view-tabs,.project-management-view-tabs,.app-tools-panel,.filter-sheet-body,.ai-analysis-output,.local-narrative-output,.insight-briefing-preview,.insight-briefing-preview pre{-webkit-overflow-scrolling:touch}.mobile-desktop-hint{border:1px solid #bfdbfe;border-left:4px solid var(--color-accent);color:#1e3a5f;box-shadow:var(--shadow-card);background:#eff6ff;border-radius:10px;gap:5px;padding:10px 12px;display:grid}.mobile-desktop-hint strong{color:var(--color-text);font-size:13px;line-height:1.25}.mobile-desktop-hint span{color:#315b90;overflow-wrap:anywhere;font-size:12px;line-height:1.45}.brand-block h1{font-size:17px}.brand-block p{font-size:11px}.version-badge{display:none}.platform-header-meta{width:100%}.platform-header-auth{flex-wrap:wrap;justify-content:space-between;width:100%;padding:8px 10px}.platform-header-auth__email{flex:100%}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-card{min-height:84px}.content-grid,.content-grid.two-col,.content-grid.three-col{grid-template-columns:1fr}.anomaly-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-review-grid,.insight-grid,.readability-step-grid,.briefing-readiness-grid{grid-template-columns:1fr}.table-wrap{-webkit-overflow-scrolling:touch}.panel-heading.with-controls{flex-direction:column;align-items:stretch}.anomaly-controls{flex-direction:column;align-items:stretch;width:100%;max-width:none}.anomaly-controls select,.anomaly-controls .secondary-action{width:100%;min-height:44px}.anomaly-sanity-strip{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.anomaly-sanity-ok,.anomaly-sanity-warn{white-space:normal;flex:none;max-width:min(82vw,320px);min-height:34px;line-height:1.25}.single-project-analysis-page .chart-frame{height:200px}.single-project-hero{grid-template-columns:1fr}.single-project-hero .compact-action,.inventory-view-tabs button,.cashflow-view-tabs button{min-height:44px}.single-project-title h2,.single-project-tags span,.cashflow-view-heading h3,.cashflow-view-heading span{overflow-wrap:anywhere}.single-project-tags span{white-space:normal;max-width:100%}.single-project-fact-grid,.single-project-fact-grid.four-col,.unit-economics-grid,.labor-month-list{grid-template-columns:1fr}.cashflow-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cashflow-view-heading{flex-direction:column;align-items:stretch}.cashflow-view-heading .secondary-action,.cashflow-page select,.cashflow-page button,.cashflow-page .primary-action,.cashflow-page .secondary-action{min-height:44px}.cashflow-mobile-detail-hint{border:1px solid var(--color-border);color:var(--color-secondary);background:var(--color-surface-alt);border-radius:8px;margin:-2px 0 0;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.45;display:block}.detail-explorer-controls{grid-template-columns:1fr}.detail-explorer-search,.detail-explorer-controls select,.detail-explorer-pagination .secondary-action{min-height:44px}.insight-analysis-tool,.insight-briefing-tool{min-width:0;max-width:100%}.insight-analysis-header,.insight-briefing-header{flex-direction:column;align-items:stretch;gap:10px}.insight-analysis-header>div,.insight-briefing-header>div{min-width:0}.insight-analysis-header .primary-action,.insight-briefing-actions .primary-action,.insight-briefing-actions .secondary-action,.insight-analysis-qa-actions .primary-action,.local-narrative-output .secondary-action{width:100%;min-height:44px}.insight-briefing-actions,.insight-analysis-qa-actions{flex-direction:column;flex:auto;justify-content:flex-start;align-items:stretch;width:100%}.insight-analysis-qa-summary,.overview-ai-assistant summary,.insight-briefing-preview summary{min-height:44px}.insight-analysis-qa-summary{padding:4px 0}.insight-question-input{min-height:96px;font-size:16px}.narrative-backend-status{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start}.ai-analysis-output,.local-narrative-output,.insight-briefing-preview,.insight-briefing-preview pre{min-width:0;max-width:100%}.ai-analysis-output,.local-narrative-output{-webkit-overflow-scrolling:touch;white-space:pre-wrap;overflow-x:auto}.ai-analysis-output p,.local-narrative-output p,.local-narrative-output span{overflow-wrap:anywhere;white-space:pre-wrap}.insight-briefing-preview{overflow-x:auto}.insight-briefing-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto}.ai-qa-page{min-height:calc(100dvh - 92px);padding-bottom:190px}.ai-qa-shell{max-width:100%;min-height:calc(100dvh - 100px)}.ai-qa-header{flex-direction:column;align-items:stretch;gap:10px;padding:2px 0 10px}.ai-qa-title-block h2{font-size:21px}.ai-qa-backend{flex-basis:auto}.ai-qa-thread{gap:12px;min-height:calc(100dvh - 314px);padding:12px 0}.ai-qa-thread-end{min-height:168px;scroll-margin-bottom:168px}.ai-qa-empty{min-height:180px}.ai-qa-message{max-width:92%}.ai-qa-message-user{max-width:88%}.ai-qa-bubble{border-radius:10px}.ai-qa-composer{left:0;right:0;bottom:calc(60px + var(--safe-bottom));padding:8px var(--space-page) max(8px, var(--safe-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f5f7eb;position:fixed}.ai-qa-composer-inner{border-radius:12px;max-width:100%;padding:8px}.ai-qa-preset-strip{margin:0 -2px;padding:0 2px 4px}.ai-qa-chip{max-width:78vw;min-height:44px}.ai-qa-composer-form{grid-template-columns:minmax(0,1fr) 44px}.ai-qa-input{min-height:44px;max-height:112px;font-size:16px}.ai-qa-send{border-radius:12px;width:44px;min-width:44px;min-height:44px;padding:0}.ai-qa-send span{display:none}.adaptive-nav{z-index:50;padding:6px 4px calc(6px + var(--safe-bottom));-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border);background:#ffffffeb;justify-content:space-around;align-items:stretch;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}.adaptive-nav-tab{min-height:48px;color:var(--color-secondary);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-size:11px;display:flex}.adaptive-nav-tab.active{color:var(--color-accent);background:#0071e314}.adaptive-nav-tab span{line-height:1}.adaptive-nav-drawer{z-index:60;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.adaptive-nav-drawer-backdrop{background:#0006;border:none;position:absolute;inset:0}.adaptive-nav-drawer-panel{background:var(--color-surface);padding:16px var(--space-page) calc(16px + var(--safe-bottom));box-shadow:var(--shadow-card);border-radius:16px 16px 0 0;position:relative}.adaptive-nav-drawer-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.adaptive-nav-drawer-header button{color:var(--color-secondary);background:0 0;border:none;min-width:44px;min-height:44px}.adaptive-nav-drawer-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.adaptive-nav-drawer-item{border:1px solid var(--color-border);background:var(--color-surface-alt);min-height:64px;color:var(--color-text);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font-size:12px;display:flex}.adaptive-nav-drawer-item.active{border-color:var(--color-accent);color:var(--color-accent)}.filter-sheet-trigger{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font-size:var(--fs-body);border-radius:12px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;display:flex}.filter-sheet-trigger-label{font-weight:600}.filter-sheet-trigger-summary{color:var(--color-secondary);text-align:right;margin-left:auto;font-size:12px}.filter-sheet{z-index:60;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.filter-sheet-backdrop{background:#0006;border:none;position:absolute;inset:0}.filter-sheet-panel{background:var(--color-surface);max-height:86dvh;box-shadow:var(--shadow-card);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:relative}.filter-sheet-header{padding:14px var(--space-page);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.filter-sheet-header button{color:var(--color-secondary);background:0 0;border:none;min-width:44px;min-height:44px}.filter-sheet-body{-webkit-overflow-scrolling:touch;padding:12px var(--space-page);overflow-y:auto}.filter-sheet-body .global-filters{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:12px;padding:0;display:flex}.filter-sheet-body .global-filters select,.filter-sheet-body .global-filters input{width:100%}.global-filters select,.global-filters input,.project-summary-controls select,.project-summary-controls input,.detail-explorer-inline-controls select,.detail-explorer-controls select,.detail-explorer-search input,.table-search input,.table-page-size select,.responsive-card-search{font-size:16px}.filter-sheet-footer{padding:12px var(--space-page) calc(12px + var(--safe-bottom));border-top:1px solid var(--color-border)}.filter-sheet-apply{background:var(--color-accent);color:#fff;border:none;border-radius:12px;width:100%;min-height:46px;font-weight:600}.responsive-card-list{flex-direction:column;gap:10px;display:flex}.responsive-card-toolbar{border:1px solid var(--color-border);background:linear-gradient(#fff,#fafbfd);border-radius:10px;gap:8px;padding:8px;display:grid}.responsive-card-search-field{min-width:0;display:block}.responsive-card-search{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;font:inherit;border-radius:10px;padding:10px 12px}.responsive-card-toolbar-row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.responsive-card-count{min-height:44px;color:var(--color-secondary);white-space:nowrap;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.responsive-card-sort{flex:180px;gap:8px;min-width:0;display:flex}.responsive-card-sort select,.responsive-card-sort button,.responsive-card-export{min-height:44px;font:inherit;border-radius:10px;font-size:12px}.responsive-card-sort select{border:1px solid var(--color-border-strong);min-width:0;color:var(--color-text);background:#fff;flex:auto;font-size:16px}.responsive-card-sort button{border:1px solid var(--color-border-strong);color:var(--color-accent);background:var(--color-surface-alt);flex:0 0 64px;font-weight:800}.responsive-card-sort button:disabled{color:#94a3b8;background:#f8fafc}.responsive-card-export{flex:112px}.responsive-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:12px;padding:12px}.responsive-card-title{overflow-wrap:anywhere;margin-bottom:8px;font-weight:600}.responsive-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.responsive-card-metric dt{color:var(--color-secondary);font-size:11px;line-height:1.25}.responsive-card-metric dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;line-height:1.35}.responsive-card .inventory-project-cell,.responsive-card .detail-explorer-subject-cell,.responsive-card .cashflow-note-cell,.responsive-card .anomaly-note-cell{min-width:0;max-width:100%}.responsive-card-more{margin-top:8px}.responsive-card-more summary{min-height:44px;color:var(--color-accent);align-items:center;font-size:13px;font-weight:800;display:inline-flex}.responsive-card-more .responsive-card-metrics{padding-top:4px}.responsive-card-footer{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:8px;margin-top:10px;padding-top:10px;display:flex}.responsive-card-footer .secondary-action,.responsive-card-action{flex:140px;min-height:44px}.responsive-card-empty,.responsive-card-truncated{color:var(--color-secondary);padding:8px 0;font-size:13px}}
