:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050709;--panel:#10151b;--panel2:#151d25;--line:#2c3946;--ink:#f5f7fa;--muted:#a4b1c0;--cyan:#6cddff;--green:#38f59b;--red:#ff627b;font-synthesis:none;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;color:var(--ink);margin:0}body{font-variant-numeric:tabular-nums}button,input,select{font:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}a{color:var(--cyan)}.dashboard-shell{min-height:100vh}.sidebar{z-index:4;background:#090d12;border-right:1px solid #1e2a34;flex-direction:column;width:216px;padding:28px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:.08em;gap:5px;padding:10px 12px 42px;display:grid}.brand span{font-size:19px;font-weight:760}.brand:after{content:"";background:var(--cyan);width:44px;height:2px;margin-top:13px;display:block}.brand small{color:var(--muted);font-size:10px}.side-nav{gap:7px;display:grid}.side-nav button,.mobile-nav button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:7px;min-height:48px;padding:0 18px}.side-nav button.active{color:#fff;background:#142f3e;font-weight:650}.side-nav button:hover,.mobile-nav button:hover{color:#fff;background:#18232d}.demo-side{color:var(--muted);margin-top:auto;padding:16px 12px;font-size:12px}.demo-side small{font-size:10px}.main-content{max-width:1660px;margin-left:216px;padding:26px 32px 66px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.topbar h1{margin:0 0 7px;font-size:28px;font-weight:670;line-height:1.1}.topbar p,.section-heading p{color:var(--muted);margin:0;font-size:13px}.top-actions{align-items:flex-start;gap:16px;display:flex}.quiet-button,.control-button,.primary-button,.icon-button{background:var(--panel);min-height:44px;color:var(--ink);border:1px solid #63778b;border-radius:6px;padding:8px 16px}.quiet-button:hover,.control-button:hover{border-color:var(--cyan)}.primary-button{border-color:var(--cyan);color:#fff;background:#164559;font-weight:650}.icon-button{text-align:center;width:44px;padding:0;font-size:26px}.freshness{color:var(--muted);text-align:right;letter-spacing:.08em;min-width:170px;font-size:10px}.freshness span{letter-spacing:0;margin-top:5px;font-size:12px;display:block}.mobile-brand,.mobile-settings,.mobile-nav{display:none}.eyebrow{letter-spacing:.09em;color:var(--muted);font-size:11px;font-weight:700}.demo-banner,.notice,.error-banner{color:#cef;background:#102531;border:1px solid #325369;border-radius:7px;margin-bottom:18px;padding:12px 16px;font-size:13px}.error-banner{color:#ffe4e9;background:#301820;border-color:#7d3747}.error-banner button{color:var(--cyan);background:0 0;border:0;text-decoration:underline}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.filter-count{color:var(--cyan);background:#173b4b;border-radius:99px;place-items:center;min-width:24px;height:24px;margin-left:8px;display:inline-grid}.periods{flex-wrap:wrap;flex:1;gap:5px;display:flex}.periods button,.segmented button{background:var(--panel);min-height:44px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:7px 12px}.periods button[aria-pressed=true],.segmented button[aria-pressed=true]{color:var(--cyan);border-color:var(--cyan);background:#142f3e}.loading-bar{height:36px;color:var(--cyan);font-size:13px}.metrics-grid{grid-template-columns:1.25fr repeat(3,1fr);gap:14px;display:grid}.metric{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;justify-content:flex-start;min-width:0;min-height:144px;padding:20px;display:flex}.metric-standout{background:#10291f;border-color:#235a42}.metric-standout .eyebrow{color:var(--green)}.metric-value{white-space:nowrap;letter-spacing:-.025em;margin:20px 0 11px;font-size:clamp(21px,2vw,32px);font-weight:650;line-height:1.2}.metric-standout .metric-value{font-size:clamp(25px,2.5vw,38px)}.metric-note{color:var(--muted);font-size:11px;line-height:1.4}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.period-strip{background:var(--panel);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin:16px 0 20px;padding:6px;display:grid}.period-strip button{min-height:65px;color:var(--ink);text-align:center;background:0 0;border:0;border-radius:6px;gap:5px;min-width:0;padding:7px 9px;display:grid}.period-strip button.selected{background:#142f3e}.period-strip button span{color:var(--muted);letter-spacing:.03em;font-size:10px}.period-strip button strong{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(12px,1.2vw,17px);font-weight:650;overflow:hidden}.period-strip button small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.main-grid{grid-template-columns:minmax(0,1.8fr) minmax(300px,.95fr);gap:16px;margin-bottom:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:20px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.section-heading h2{margin:0 0 5px;font-size:19px;font-weight:670}.text-button,.arrow-link,.row-link{color:var(--cyan);text-align:left;background:0 0;border:0;padding:0}.text-button{white-space:nowrap;min-height:36px;font-size:13px;font-weight:600}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented button{min-height:38px;font-size:12px}.chart-wrap{margin-top:14px}.chart-wrap svg{width:100%;height:220px;display:block;overflow:visible}.chart-grid{stroke:#2b3640;stroke-width:1px}.chart-main{stroke:var(--green);stroke-width:3px;fill:none;stroke-linejoin:round}.chart-contribution{stroke:#a4b1c0;stroke-width:2px;stroke-dasharray:6 6;fill:none}.chart-label{fill:var(--muted);font-size:11px}.chart-legend{color:var(--muted);gap:24px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:7px;display:flex}.legend-line{border-top:3px solid var(--green);width:22px}.muted-line{border-color:var(--muted);border-top-style:dashed}.chart-foot{text-align:right;color:var(--muted);margin-top:5px;font-size:11px}.unavailable{text-align:center;min-height:156px;color:var(--muted);background:#111a22;border:1px dashed #3c4a57;border-radius:7px;justify-content:center;align-items:center;padding:20px;font-size:13px;line-height:1.5;display:flex}.risk-alert{color:var(--red);background:#301820;border-radius:8px;gap:7px;padding:16px;display:grid}.risk-alert strong{font-size:16px}.risk-alert span,.risk-unknown,.risk-neutral{color:var(--muted);font-size:12px}.risk-neutral{background:#17222b;border-radius:8px;padding:16px}.risk-unknown{border-bottom:1px solid var(--line);padding:15px 0}.risk-list{display:grid}.risk-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:15px 0;display:flex}.risk-row>div{gap:6px;display:grid}.risk-row>div:last-child{text-align:right}.risk-row small{color:var(--muted);font-size:11px}.status-badge{text-transform:uppercase;border:1px solid #526272;border-radius:99px;justify-self:end;width:max-content;padding:4px 9px;font-size:11px}.status-badge.unknown{color:var(--muted)}.status-badge.warning,.status-badge.exceeded{color:var(--red);border-color:var(--red)}.arrow-link{margin-top:20px}.heat-controls{grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin-bottom:15px;display:grid}.heat-controls label,.field-label,.date-fields label,.save-form label{color:var(--muted);gap:5px;font-size:11px;display:grid}.heat-controls select,.field-label select,.date-fields input,.save-form input{color:var(--ink);background:#17212a;border:1px solid #526272;border-radius:6px;width:100%;min-width:0;min-height:44px;padding:8px 10px}.treemap{min-height:228px;position:relative}.heat-tile{border:2px solid var(--panel);color:#fff;text-align:center;background:#263642;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:0;padding:6px;font-size:12px;display:flex;position:absolute;overflow:hidden}.heat-tile:hover{border-color:var(--cyan);background:#345064}.heat-tile strong{white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:100%;font-size:clamp(10px,1.3vw,15px);line-height:1.1;overflow:hidden}.heat-tile span,.heat-tile small{flex:none;font-size:11px;line-height:1.1}.heat-tile.tile-compact{gap:2px;padding:3px}.heat-tile.tile-compact strong{font-size:11px}.heat-tile.tile-compact span{font-size:10px}.heat-tile.tile-tiny{padding:2px}.heat-tile.tile-tiny strong{font-size:10px}.heat-tile small{opacity:.78}.heat-caption{color:var(--muted);margin-top:14px;font-size:11px}.breadcrumbs{color:var(--muted);align-items:center;gap:7px;margin-bottom:12px;font-size:12px;display:flex}.breadcrumbs button{color:var(--cyan);background:0 0;border:0;padding:4px}.heat-list{gap:5px;display:grid}.heat-list button,.exposure-row{border:1px solid var(--line);color:var(--ink);text-align:left;background:#17212a;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 12px;display:flex}.heat-list button span:last-child{color:var(--muted);font-size:12px}.exposure-list{gap:10px;display:grid}.exposure-row{grid-template-columns:1fr 1fr auto;width:100%;display:grid}.exposure-row small{color:var(--muted)}.exposure-track{background:#273540;border-radius:99px;height:8px}.exposure-track i{background:var(--cyan);border-radius:99px;height:100%;display:block}.exposure-row strong{font-size:12px}.rank-panel{flex-direction:column;display:flex}.rank-panel .unavailable{flex:1}.rank-panel .arrow-link{align-self:flex-start}.portfolio-layout{grid-template-columns:minmax(340px,1fr) minmax(0,1.15fr);gap:16px;display:grid}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}caption{text-align:left;color:var(--muted);margin:14px 0}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 9px}td:not(:first-child),th:not(:first-child){text-align:right;white-space:nowrap}th{color:var(--muted);font-weight:600}tbody tr:hover{background:#17212a}.row-link{color:var(--ink);font-size:12px;font-weight:650}.row-link small{color:var(--muted);margin-top:3px;font-weight:400;display:block}.results-metrics{margin-bottom:18px}.unavailable-panel{margin-top:18px}.unavailable-panel h2{margin:0 0 10px;font-size:19px}.unavailable-panel p,.settings-grid p{color:var(--muted);font-size:13px;line-height:1.6}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.save-form{align-items:end;gap:12px;margin:18px 0;display:flex}.save-form label{flex:1}.saved-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.saved-row button{color:var(--cyan);background:0 0;border:0;min-height:36px}.empty-state{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:10px;padding:60px 20px}.empty-state h2{margin-top:0}.empty-state p{color:var(--muted)}.modal-backdrop,.drawer-backdrop{z-index:20;background:#000b;justify-content:flex-end;display:flex;position:fixed;inset:0}.filter-sheet,.detail-drawer{background:var(--panel);border-left:1px solid var(--line);width:min(520px,100%);height:100%;padding:24px;overflow:auto}.sheet-header,.drawer-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sheet-header h2,.drawer-top h2{margin:4px 0;font-size:26px}.sheet-header+p,.drawer-top p{color:var(--muted);font-size:12px}.date-fields{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.filter-sections{gap:12px;padding-bottom:96px;display:grid}.filter-sections fieldset{border:1px solid var(--line);border-radius:7px;padding:10px}.filter-sections legend{padding:0 7px;font-weight:600}.checkbox-list{flex-wrap:wrap;gap:8px;display:flex}.checkbox-list label{border:1px solid var(--line);border-radius:5px;align-items:center;gap:6px;min-height:40px;padding:7px 9px;font-size:12px;display:flex}.checkbox-list label:has(input:checked){border-color:var(--cyan);background:#14364a}.checkbox-list input{accent-color:var(--cyan)}.sheet-actions{background:var(--panel);border-top:1px solid var(--line);justify-content:flex-end;gap:12px;padding:16px 0 24px;display:flex;position:sticky;bottom:-24px}.detail-kpis{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;display:grid}.detail-kpis .metric{min-height:120px}.detail-kpis .metric-value{font-size:20px}.detail-meta{color:var(--muted);font-size:12px;line-height:1.5}.detail-section{border-top:1px solid var(--line);padding:18px 0}.detail-section h3{margin:0 0 10px;font-size:16px}.detail-section p{color:var(--muted);font-size:12px}.detail-line{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:15px;padding:10px 0;font-size:12px;display:flex}.detail-line small,.scenario-row>small{color:var(--muted);flex-basis:100%;font-size:11px;line-height:1.45;display:block}.scenario-row{border-bottom:1px solid var(--line);padding-bottom:10px}.heat-nested{min-height:260px;position:relative}.heat-nested-group{border:2px solid var(--panel);background:#17212a;border-radius:6px;padding:6px;position:absolute;overflow:hidden}.nested-heading{color:var(--cyan);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;max-width:100%;min-height:24px;font-size:11px;font-weight:650;overflow:hidden}.nested-assets{height:calc(100% - 27px);position:relative}.nested-assets button{color:#fff;background:#263642;border:2px solid #17212a;border-radius:4px;place-content:center;gap:3px;min-width:0;min-height:0;padding:4px;font-size:10px;display:grid;position:absolute;overflow:hidden}.nested-assets button span{color:var(--muted)}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-list span{color:var(--muted);border:1px solid #526272;border-radius:99px;padding:5px 8px;font-size:11px}.analysis-item{border-bottom:1px solid var(--line);padding:8px 0}.analysis-item strong{font-size:12px}.benchmark-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.benchmark-catalog label{border:1px solid var(--line);color:var(--muted);background:#151d25;border-radius:6px;align-items:flex-start;gap:8px;padding:10px;display:flex}.benchmark-catalog input{margin-top:3px}.benchmark-catalog strong{color:var(--ink);font-size:12px;font-weight:550;display:block}.benchmark-catalog small{margin-top:4px;font-size:11px;line-height:1.4;display:block}.benchmark-catalog label:has(input:disabled){opacity:.8}@media (max-width:1199px){.sidebar{align-items:center;width:76px;padding:18px 8px}.brand{padding:0 0 28px;font-size:0}.brand span{font-size:0}.brand span:before{content:"P";font-size:19px}.brand small,.brand:after,.demo-side{display:none}.side-nav button{text-align:center;padding:8px 4px;font-size:11px;line-height:1.3}.main-content{margin-left:76px;padding:24px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-grid{grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr)}.period-strip{grid-template-columns:repeat(4,1fr)}.portfolio-layout{grid-template-columns:1fr}}@media (max-width:767px){.sidebar{display:none}.main-content{padding:20px 20px calc(105px + env(safe-area-inset-bottom));margin-left:0}.topbar{margin-bottom:17px}.topbar h1{font-size:29px}.topbar p{font-size:12px}.mobile-brand{margin-bottom:14px;display:block}.mobile-settings{display:block}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:6px;width:148px}.top-actions .quiet-button{max-width:105px;padding:5px 8px;font-size:11px}.freshness{text-align:right;width:100%;min-width:0;font-size:9px;display:block}.freshness span{margin-top:2px;font-size:10px}.toolbar{margin-bottom:14px}.toolbar>.control-button{flex:0 0 100%}.save-trigger{display:none}.periods{scrollbar-width:thin;flex-wrap:nowrap;flex:0 0 100%;order:2;width:100%;overflow-x:auto}.periods button{white-space:nowrap;flex-shrink:0}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{min-height:106px;padding:16px}.metric:first-child,.metric:nth-child(2){grid-column:1/-1}.metric-standout{min-height:136px}.metric-value{margin:15px 0 8px;font-size:clamp(20px,6vw,32px)}.metric-standout .metric-value{font-size:clamp(30px,9vw,39px)}.metric:nth-child(n+3) .metric-value{font-size:clamp(17px,5vw,22px)}.metric-note{font-size:10px}.period-strip{display:none}.main-grid,.settings-grid{grid-template-columns:1fr;gap:15px}.main-grid{margin:16px 0}.panel{padding:17px}.heat-controls{grid-template-columns:1fr 1fr}.heat-controls label:first-child{grid-column:1/-1}.treemap{min-height:190px}.heat-caption{line-height:1.4}.mobile-nav{z-index:8;border-top:1px solid var(--line);padding:7px 8px calc(9px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10151bf7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav button{text-align:center;align-content:center;justify-items:center;min-height:52px;padding:2px;font-size:11px;display:grid}.mobile-nav button.active{color:var(--cyan)}.nav-marker{background:var(--line);border-radius:9px;width:22px;height:4px;margin-bottom:8px}.mobile-nav .active .nav-marker{background:var(--cyan)}.filter-sheet{border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;width:100%;height:min(87vh,900px);position:absolute;inset:auto 0 0}.detail-drawer{width:100%}.results-metrics .metric:first-child,.results-metrics .metric:nth-child(2){grid-column:auto}.benchmark-catalog{grid-template-columns:1fr}}@media (max-width:390px){.main-content{padding-left:14px;padding-right:14px}.metric{padding:13px}.metric:nth-child(n+3) .metric-value{font-size:17px}.section-heading{gap:8px}.section-heading h2{font-size:17px}.section-heading p,.text-button{font-size:11px}.segmented button{padding:7px 8px;font-size:11px}.chart-wrap svg{height:190px}}@media (prefers-reduced-motion:no-preference){button{transition:background-color .16s,border-color .16s,color .16s}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.auth-shell{color:#f5f7fa;max-width:480px;margin:8vh auto;padding:32px;font-family:Arial,sans-serif;line-height:1.6}.auth-brand{letter-spacing:.05em;font-size:14px;font-weight:700}.auth-brand span{color:#6cddff;font-size:11px;font-weight:400}.auth-shell h1{letter-spacing:-.035em;font-size:42px;line-height:1.15}.auth-shell p{color:#a4b1c0}.auth-shell form{gap:12px;margin:28px 0;display:grid}.auth-shell input,.auth-shell button{color:#f5f7fa;min-height:48px;font:inherit;background:#10151b;border:1px solid #63778b;border-radius:7px;padding:12px}.auth-shell button{color:#6cddff;cursor:pointer;background:#142f3e;border-color:#6cddff}.auth-shell a{color:#6cddff}.auth-shell .google-sign-in{color:#e3e3e3;text-align:center;background:#131314;border:1px solid #8e918f;border-radius:7px;margin:28px 0 16px;padding:12px 20px;font-weight:600;text-decoration:none;display:block}.auth-shell .google-sign-in:hover{background:#242528}.auth-shell .google-sign-in:focus-visible{outline-offset:4px;outline:2px solid #6cddff}.auth-shell .auth-message{color:#f5f7fa;border:1px solid #63778b;border-radius:8px;padding:16px}.auth-foot{font-size:13px}@media (max-width:500px){.auth-shell{margin:3vh auto;padding:24px}.auth-shell h1{font-size:36px}}
