@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--background:#f7f8fb;--foreground:#1f2933;--panel:#fff;--line:#d9dee8;--muted:#64748b;--accent:#0f766e;--accent-2:#1d4ed8;--danger:#b42318;--warning:#b54708;--success:#047857}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);letter-spacing:0;margin:0;font-family:Arial,Helvetica,sans-serif}button,select,input{font:inherit}.app-shell{grid-template-columns:272px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);color:#eef6f8;background:#10202a;flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow:hidden}.brand{border-bottom:1px solid #ffffff21;padding:0 8px 16px}.brand h1{margin:0;font-size:18px;font-weight:760;line-height:1.2}.brand p{color:#b8c9d1;margin:8px 0 0;font-size:12px}.nav-list{scrollbar-color:#ffffff40 transparent;flex:auto;gap:3px;min-height:0;margin-top:12px;padding-right:4px;display:grid;overflow-y:auto}.nav-item{color:#d8e6eb;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;text-decoration:none;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1a}.nav-item.special{border-top:1px solid #ffffff21;border-radius:0 0 8px 8px;margin-top:6px;padding-top:10px}.sidebar-footer{border-top:1px solid #ffffff21;flex:none;margin-top:8px;padding-top:8px}.logout-button{cursor:pointer;background:0 0;border:0;width:100%}.content{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.eyebrow{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:760}.page-title{margin:4px 0 6px;font-size:28px;font-weight:780;line-height:1.12}.page-subtitle{color:var(--muted);max-width:840px;margin:0;line-height:1.45}.filters{grid-template-columns:repeat(5,minmax(132px,1fr));gap:10px;margin-bottom:18px;display:grid}.filter-modebar,.quick-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filter-modebar button{border:1px solid var(--line);cursor:pointer;color:var(--foreground);background:#fff;border-radius:8px;padding:8px 10px}.filter-modebar button.active{border-color:var(--accent);color:var(--accent);background:#ecfdf5;font-weight:700}.quick-note{color:var(--muted);font-size:12px}.toggle-control{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.toggle-control input{width:17px;height:17px;accent-color:var(--accent)}.control{gap:5px;display:grid}.concept-top-control{min-width:138px}.control label{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.control select,.control input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--foreground);background:#fff;border-radius:8px;padding:9px 10px}.grid-kpi{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.grid-kpi.one-col{grid-template-columns:1fr}.executive-section{margin-bottom:18px}.period-banner{color:#134e4a;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;padding:12px;display:flex}.period-banner.compact{margin-bottom:8px;padding:9px 10px}.period-banner span{color:var(--muted)}.period-filter{margin-bottom:16px;padding:12px}.compact-controls{margin-bottom:0}.executive-note,.filter-help{border-left:3px solid var(--accent-2);color:#334155;margin:0 0 14px;padding:8px 0 8px 12px;font-size:12px;line-height:1.45}.filter-help-modal{width:min(720px,100vw - 40px);max-height:calc(100vh - 64px);padding:0;overflow:auto}.filter-help-modal .table{font-size:13px}.filter-help-body{color:#334155;padding:16px;line-height:1.5}.empty-state{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:0 0 14px;padding:13px 14px;line-height:1.45}.executive-wide-chart{margin-bottom:16px;padding:16px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.section-heading h2{margin:0 0 4px;font-size:18px}.section-heading p{color:var(--muted);margin:0;line-height:1.45}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.kpi-card{align-content:space-between;min-height:118px;padding:14px;display:grid}.kpi-label{color:var(--muted);font-size:12px;font-weight:720}.kpi-value{margin:8px 0;font-size:25px;font-weight:780;line-height:1.08}.kpi-note{color:var(--muted);font-size:12px;line-height:1.35}.panel{min-width:0;padding:16px}.panel h2{margin:0 0 12px;font-size:16px}.chart-grid{grid-template-columns:1.4fr 1fr;gap:14px;display:grid}.trend-layout,.stacked-layout{grid-template-columns:1fr;gap:14px;display:grid}.three-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.table th{color:var(--muted);text-transform:uppercase;font-size:11px}.badge{color:#0f766e;background:#e7f4f2;border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.table-link{color:var(--accent-2);font-weight:700;text-decoration:none}.table-link:hover{text-decoration:underline}.reconciliation-summary{margin-top:16px;padding:16px}.reconciliation-summary p{color:var(--muted);line-height:1.5}.mini-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.mini-metrics span{border:1px solid var(--line);color:var(--muted);background:#f8fafc;border-radius:8px;padding:10px;font-size:12px}.mini-metrics strong{color:var(--foreground);margin-top:4px;font-size:14px;display:block}.notes-list{color:var(--muted);margin:0;padding-left:20px;line-height:1.55}.comparison-header{margin-bottom:14px;padding:16px}.comparison-header h2{margin:0 0 12px}.comparison-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.comparison-card{padding:14px}.comparison-lines{color:var(--muted);gap:5px;margin:8px 0;font-size:13px;display:grid}.comparison-lines strong{color:var(--foreground)}.full-span{grid-column:1/-1}.badge.danger{color:var(--danger);background:#fee4e2}.badge.warning{color:var(--warning);background:#fef0c7}.toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar.wrap,.action-row,.scenario-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.action-row{margin-left:auto}.grouping-control{min-width:240px}.table-scroll{width:100%;overflow-x:auto}.commercial-table,.model-table{min-width:1460px}.commercial-table th,.model-table th,.commercial-table td:not(:first-child),.model-table td:not(:first-child){white-space:nowrap}.sticky-cell{z-index:1;background:var(--panel);min-width:190px;position:sticky;left:0}.table-context{color:var(--muted);justify-content:space-between;gap:16px;margin:4px 0 12px;font-size:12px;display:flex}.table-context strong{color:var(--foreground);font-size:14px}.projection-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.projection-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.projection-type-select{border:1px solid var(--line);min-width:220px;min-height:44px;color:var(--foreground);background:#fff;border-radius:8px;padding:0 12px}.assumptions-status{color:var(--muted);font-size:12px;font-weight:700}.projection-warning{color:#155e55;background:#edf8f6;border:1px solid #b6d9d4;border-radius:7px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:13px;display:flex}.projection-explanation{border-left:3px solid var(--accent-2);color:#475569;margin:-2px 0 14px;padding:8px 12px;font-size:12px;line-height:1.45}.projection-warning.partial{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.projection-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.projection-section,.projection-chart{margin-bottom:14px}.projection-detail-table{min-width:1320px}.projection-summary-table{min-width:2280px}.projection-ranking-table{min-width:760px}.projection-details summary{cursor:pointer;margin-bottom:0;font-size:16px;font-weight:700}.projection-details[open] summary{margin-bottom:14px}.modal-backdrop{z-index:50;background:#0f172a9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.assumptions-modal{background:var(--panel);border:1px solid #b8c5ce;border-radius:8px;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1180px,100%);max-height:calc(100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f172a47}.modal-header,.modal-footer,.assumption-actions{align-items:center;gap:10px;padding:14px 16px;display:flex}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between}.modal-header h2,.modal-header p{margin:0}.modal-header h2{font-size:18px}.modal-header p{color:var(--muted);margin-top:4px;font-size:12px}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--foreground);cursor:pointer;background:#fff;border-radius:7px;flex:none;place-items:center;display:grid}.assumption-actions{border-bottom:1px solid var(--line);background:#f8fafc;flex-wrap:wrap}.assumption-actions label{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.assumption-actions input,.assumptions-table input{border:1px solid var(--line);width:76px;min-height:34px;color:var(--foreground);border-radius:6px;padding:6px 8px}.assumptions-table-wrap{overflow:auto}.assumptions-table{min-width:920px}.assumptions-table thead{z-index:3;background:#fff;position:sticky;top:0}.modal-footer{border-top:1px solid var(--line);background:#f8fafc;justify-content:flex-end}.trend,.impact{color:#52606d;background:#eef2f6;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.trend.up,.impact.alto{color:var(--success);background:#dff7ec}.trend.down{color:var(--danger);background:#fee4e2}.impact.medio{color:var(--warning);background:#fef0c7}.copy-summary,.annual-note{margin-top:14px}.notes-year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.year-insight{align-content:start;gap:12px;display:grid}.year-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.year-heading span:first-child{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:720}.year-heading h2{margin:3px 0 0;font-size:25px}.year-change{border-radius:999px;padding:5px 8px;font-size:12px;font-weight:760}.year-change.positive{color:var(--success);background:#dff7ec}.year-change.negative{color:var(--danger);background:#fee4e2}.compact-table td{padding:7px 4px}.compact-table td:last-child{text-align:right;font-weight:700}.year-comparison{color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:740}.year-commentary{color:#3f4e5a;margin:0;font-size:13px;line-height:1.5}.category-chips{flex-wrap:wrap;gap:6px;display:flex}.category-chips span{color:#455563;background:#f7f9fb;border:1px solid #cbd5df;border-radius:4px;padding:5px 7px;font-size:11px}.year-risks{border-top:1px solid var(--line);padding-top:10px;font-size:12px}.year-risks ul,.insight-panel ul{margin:7px 0 0;padding-left:18px}.year-risks li,.insight-panel li{margin-bottom:7px;line-height:1.45}.executive-notes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.insight-panel ul{color:#455563;font-size:13px}.scenario-bar{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;margin-bottom:18px;padding:12px 14px}.segmented{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,1fr);display:inline-grid;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);min-width:112px;color:var(--muted);cursor:pointer;background:#fff;padding:9px 12px}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--accent);color:#fff}.attribution-control{min-width:220px}.input-suffix{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;display:flex;overflow:hidden}.input-suffix input{border:0;outline:0;width:100%;min-width:0;padding:9px 10px}.input-suffix span{color:var(--muted);padding:0 10px 0 4px}.financial-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.financial-tabs button{border:1px solid var(--line);min-height:38px;color:var(--foreground);cursor:pointer;background:#fff;border-radius:8px;padding:0 12px;font-weight:700}.financial-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.period-controls{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.period-controls label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:11px;font-weight:800;display:grid}.period-controls select{border:1px solid var(--line);min-height:40px;color:var(--foreground);text-transform:none;background:#fff;border-radius:8px;padding:0 10px;font-size:14px}.financial-detail-table{min-width:1420px}.compact-input{width:104px}.table-input{border:1px solid var(--line);width:118px;min-height:36px;color:var(--foreground);border-radius:7px;padding:7px 8px}.money-input{width:132px}.model-table small{color:var(--muted);margin-top:4px;display:block}.model-table tfoot td{border-top:2px solid var(--line);background:#f8fafc;border-bottom:0;font-weight:760}.button{border:1px solid var(--line);color:var(--foreground);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;text-decoration:none;display:inline-flex}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.loading,.error{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px}.error{color:var(--danger)}.login-page{background:#edf2f5;place-items:center;min-height:100vh;padding:28px;display:grid}.login-layout{background:#f8fafb;border:1px solid #c6d1d8;border-radius:8px;grid-template-columns:1.1fr .9fr;align-items:center;gap:32px;width:min(940px,100%);padding:40px;display:grid;box-shadow:0 24px 70px #10202a24}.login-intro{gap:16px;display:grid}.login-brand{color:#28586a;text-transform:uppercase;background:#e2ebef;border:1px solid #9db1bd;border-radius:4px;width:fit-content;padding:6px 9px;font-size:11px;font-weight:760}.login-intro h1{max-width:560px;margin:0;font-size:38px;font-weight:780;line-height:1.12}.login-intro>p{max-width:540px;color:var(--muted);margin:0;font-size:17px;line-height:1.55}.login-access-note{border-left:3px solid var(--accent);color:#52606d;padding:8px 12px;font-size:13px}.login-card{background:#fff;border:1px solid #c6d1d8;border-radius:8px;gap:10px;padding:24px;display:grid;box-shadow:0 16px 44px #10202a1f}.login-card-heading{align-items:center;gap:12px;margin-bottom:8px;display:flex}.login-card-heading h2,.login-card-heading p{margin:0}.login-card-heading h2{font-size:19px}.login-card-heading p{color:var(--muted);margin-top:3px;font-size:13px}.login-lock{color:#fff;background:#28586a;border-radius:6px;place-items:center;width:42px;height:42px;display:grid}.login-card label{color:#334155;font-size:12px;font-weight:720}.login-card input{width:100%;min-height:42px;color:var(--foreground);background:#f7f9fb;border:1px solid #b9c6d4;border-radius:7px;padding:9px 10px}.login-card input:focus{border-color:var(--accent);outline:2px solid #0f766e3d}.login-error{color:#b42318;background:#fff1f2;border:1px solid #fecaca;border-radius:6px;padding:9px 10px;font-size:13px}.login-submit{justify-content:center;width:100%;margin-top:6px}@media (max-width:1200px){.filters,.grid-kpi,.three-grid,.notes-year-grid,.executive-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.projection-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;overflow:visible}.nav-list{overflow:visible}.filters,.grid-kpi,.three-grid,.notes-year-grid,.executive-notes-grid{grid-template-columns:1fr}.topbar{display:block}.login-page{padding:16px}.login-layout{grid-template-columns:1fr;padding:24px}.login-intro h1{font-size:30px}.table-context{display:grid}.scenario-bar{align-items:stretch}.projection-toolbar{flex-direction:column;align-items:stretch}.projection-kpis{grid-template-columns:1fr}.modal-backdrop{padding:10px}.segmented{width:100%}.segmented button{min-width:0}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
