.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#d8dee9;background:#0c1117;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#0c1117}button,input,select{font:inherit}.app-frame{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#0c1117}.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:18px 12px;background:#313b4d;border-right:1px solid #223040;color:#fff}.brand-mark{display:flex;align-items:center;gap:12px;padding:0 10px 38px}.brand-icon{width:44px;height:44px;border-radius:8px;object-fit:cover;box-shadow:0 0 0 1px #46d5a873,0 10px 24px #00000047}.brand-mark strong,.brand-mark span{display:block}.brand-mark strong{font-size:20px}.brand-mark span{color:#c8d1dc;font-size:12px}.side-nav{display:grid;gap:8px}.side-nav-bottom{margin-top:auto;padding-top:12px;border-top:1px solid #26374a}.side-nav button{min-height:54px;display:flex;align-items:center;gap:14px;width:100%;padding:0 14px;border:0;background:transparent;color:#e5ebf2;font-size:17px;font-weight:700;text-align:left}.side-nav button:hover,.side-nav button.active{background:#ffffff17;color:#fff}.side-nav svg{color:#dfe7ef}.workspace{min-width:0}.shell{min-height:100vh;padding:24px;background:linear-gradient(180deg,rgba(70,213,168,.07),transparent 280px),#0c1117}.topbar,.status-line,.section-title,.layout,.metrics-grid,.period-tabs{display:flex}.topbar{align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}.topbar-main{min-width:0}.topbar-actions{display:flex;gap:8px;align-items:center}.topbar-currency{display:inline-grid;grid-template-columns:repeat(2,52px);gap:4px;padding:4px;border:1px solid #2d4054;border-radius:6px;background:#111a24}.topbar-currency button{min-height:34px;padding:0;border-color:transparent;background:transparent;font-weight:800}.topbar-currency button.active{border-color:#46d5a8;background:#10241f;color:#69e7bd}.provider-stack{display:grid;justify-items:end;gap:6px}.provider-list{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,auto);grid-auto-columns:max-content;gap:4px;padding:7px 10px;border:1px solid #2d4054;border-radius:6px;background:#111a24;color:#9fb1c2;font-size:12px;white-space:nowrap}.provider-db-card{display:inline-flex;gap:14px;padding:7px 10px;border:1px solid #2d4054;border-radius:6px;background:#111a24;color:#fff;font-size:12px;white-space:nowrap}.provider-db-card span:not(:first-child){color:#8fc2ff}.provider-item{display:inline-flex;align-items:center;gap:7px;line-height:1.1}.provider-dot{width:9px;height:9px;border-radius:999px;background:#f5c76b;box-shadow:0 0 0 3px #f5c76b24}.provider-item.available .provider-dot{background:#46d5a8;box-shadow:0 0 0 3px #46d5a824}.provider-item.degraded .provider-dot{background:#ff7d7d;box-shadow:0 0 0 3px #ff7d7d24}.provider-item.idle .provider-dot{background:#5da8ff;box-shadow:0 0 0 3px #5da8ff29}.provider-item.available{color:#46d5a8}.provider-item.degraded{color:#ff9a9a}.provider-item.idle{color:#8fc2ff}.provider-item.active{color:#46d5a8}.provider-item.active .provider-dot{background:#46d5a8;animation:provider-pulse .9s ease-in-out infinite}@keyframes provider-pulse{0%,to{box-shadow:0 0 0 3px #46d5a824;opacity:.72}50%{box-shadow:0 0 0 7px #46d5a847;opacity:1}}.eyebrow{color:#46d5a8;margin:0 0 4px;text-transform:uppercase;font-size:12px;letter-spacing:.08em}h1{margin:0;font-size:clamp(32px,4vw,54px);letter-spacing:0}h2{margin:0;font-size:16px}.icon-button,button{border:1px solid #2d4054;background:#111a24;color:#d8dee9;border-radius:6px;min-height:38px;padding:8px 12px;cursor:pointer}.icon-button{width:42px;padding:0;display:grid;place-items:center}button:hover{border-color:#46d5a8}.status-line{gap:18px;flex-wrap:wrap;border-top:1px solid #223040;border-bottom:1px solid #223040;padding:12px 0;margin-bottom:18px;color:#9fb1c2}.status-line strong{color:#fff}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric,.panel,.alert{background:#111a24eb;border:1px solid #223040;border-radius:8px}.metric{min-height:120px;padding:16px;display:flex;justify-content:space-between;gap:12px}.metric p,.metric span{margin:0;color:#8ca0b3;font-size:13px}.metric strong{display:block;margin:10px 0 6px;font-size:clamp(22px,2.4vw,34px);color:#fff}.metric svg{color:#46d5a8}.today-ticker-panel{margin-bottom:12px}.today-ticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.ticker-card{min-height:132px;display:grid;grid-template-rows:auto 1fr auto;gap:12px;border:1px solid #2d4054;border-radius:8px;padding:12px;background:#0c1117e6}.ticker-card.positive{border-color:#46d5a8a6;background:linear-gradient(135deg,#153a33f2,#0c1117eb)}.ticker-card.negative{border-color:#ff7c7ca6;background:linear-gradient(135deg,#431a1ff2,#0c1117eb)}.ticker-card.neutral{border-color:#2d4054}.ticker-card strong,.ticker-card b{display:block;color:#fff}.ticker-card strong{font-size:16px}.ticker-card-value{align-self:center;text-align:center}.ticker-card-value b{font-size:clamp(20px,1.7vw,28px)}.ticker-card-value small{margin-top:4px}.ticker-card span,.ticker-card small{display:block;color:#9fb1c2;line-height:1.25}.ticker-card-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticker-card-change{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:8px;align-items:center}.ticker-card-change span{min-height:32px;display:grid;place-items:center;border-radius:6px;background:#ffffff0b;color:#d8dee9;font-weight:800;text-align:center}.ticker-card.positive .ticker-card-change span{color:#74e2b8}.ticker-card.negative .ticker-card-change span{color:#ff8f8f}.ticker-card.flash-up{animation:ticker-flash-up var(--ticker-flash-ms, .6s) ease-out 1}.ticker-card.flash-down{animation:ticker-flash-down var(--ticker-flash-ms, .6s) ease-out 1}@keyframes ticker-flash-up{0%{box-shadow:0 0 #46d5a8cc}40%{box-shadow:0 0 0 10px #46d5a82e}to{box-shadow:0 0 #46d5a800}}@keyframes ticker-flash-down{0%{box-shadow:0 0 #ff7c7ccc}40%{box-shadow:0 0 0 10px #ff7c7c2e}to{box-shadow:0 0 #ff7c7c00}}@media(prefers-reduced-motion:reduce){.ticker-card.flash-up,.ticker-card.flash-down{animation:none}}.layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:12px;margin-bottom:12px}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.asset-structure-panel{margin-bottom:12px}.asset-map-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:-2px 0 10px}.asset-map-toolbar span{padding:5px 9px;border:1px solid #26374d;border-radius:999px;background:#ffffff09;color:#9fb3c9;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.asset-map-scale{display:flex;gap:4px;margin-left:auto}.asset-map-scale b{min-width:48px;padding:5px 9px;border-radius:5px;color:#fff;font-size:11px;font-weight:900;text-align:center;box-shadow:inset 0 0 0 1px #ffffff1a}.asset-map-filter{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}.asset-map-filter button{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px;border-radius:999px;color:#9fb3c9;font-size:12px;font-weight:800}.asset-map-filter button span{width:9px;height:9px;border-radius:999px}.asset-map-chart{overflow:hidden;border:1px solid #000;border-radius:8px;background:#000;box-shadow:inset 0 0 0 1px #ffffff09}.asset-map-html{position:relative;width:100%;height:815px}.asset-map-tile{position:absolute;display:grid;place-items:center;overflow:hidden;border:2px solid #050505;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff0d}.asset-map-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;height:100%;min-width:0;min-height:0}.asset-map-content img{display:block;width:var(--icon-width, calc(100% - 8px) );height:var(--icon-height, calc(100% - 8px) );object-fit:contain;object-position:center;pointer-events:none}.asset-map-tile.with-percent{padding:clamp(3px,.55vw,9px)}.asset-map-tile.icon-only{padding:2px}.asset-map-tile.large{--icon-width: min(86%, 250px);--icon-height: min( calc(100% - 36px) , 210px)}.asset-map-tile.medium{--icon-width: min(90%, 170px);--icon-height: min( calc(100% - 30px) , 128px)}.asset-map-tile.small{--icon-width: calc(100% - 4px) ;--icon-height: calc(100% - 22px) }.asset-map-tile.tiny{--icon-width: calc(100% - 2px) ;--icon-height: calc(100% - 16px) }.asset-map-content span{color:#f2f7ff;font-size:clamp(9px,1.15vw,24px);font-weight:900;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.55)}.asset-map-tile.small .asset-map-content span{font-size:clamp(8px,.9vw,14px)}.asset-map-tile.tiny.with-percent{padding:1px}.asset-map-tile.tiny.with-percent .asset-map-content{gap:1px}.asset-map-tile.tiny.with-percent .asset-map-content span{font-size:clamp(6px,.58vw,8px);letter-spacing:-.04em}.asset-map-content strong{color:#fff;font-weight:900;font-size:clamp(10px,2vw,24px)}@media(max-width:1100px){.asset-map-html{height:638px}.asset-map-tile.large{--icon-width: min(78%, 180px);--icon-height: min(56%, 120px)}}@media(max-width:720px){.asset-map-html{height:499px}.asset-map-tile.with-percent span{display:none}.asset-map-tile.medium,.asset-map-tile.large{--icon-width: calc(100% - 6px) ;--icon-height: calc(100% - 6px) ;--icon-scale: 1.22}}.heatmap-tooltip{display:grid;gap:4px;min-width:220px;padding:10px 12px;border:1px solid #26374d;border-radius:10px;background:#05080df5;box-shadow:0 18px 44px #0000006b}.heatmap-tooltip strong{color:#fff;font-size:13px}.heatmap-tooltip span,.heatmap-tooltip div{color:#9fb3c9;font-size:11px}.pie-layout{position:relative;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr);gap:18px;align-items:center}.pie-connectors{position:absolute;inset:0;width:100%;height:260px;pointer-events:none;z-index:0}.pie-connectors path{fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.72;vector-effect:non-scaling-stroke}.pie-layout .recharts-responsive-container,.pie-legend{position:relative;z-index:1}.pie-legend{display:grid;gap:8px}.pie-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:7px;align-items:center}.pie-legend-row{position:relative;padding:4px 6px 4px 9px;border-left:2px solid var(--row-color);border-radius:8px;background:color-mix(in srgb,var(--row-color) 8%,transparent)}.pie-legend span{width:10px;height:10px;border-radius:999px}.pie-legend strong,.pie-legend small{overflow:hidden;text-overflow:ellipsis;white-space:normal}.pie-legend strong{color:#fff;font-size:12px}.pie-legend em{color:var(--row-color);font-size:10px;font-style:normal;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pie-legend small{grid-column:2 / 4;color:#8ca0b3;font-size:11px}.dividend-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dividend-actions select{width:110px}.dividend-page{display:grid;gap:12px}.dividend-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.dividend-hero .trade-summary{margin-top:0}.mwrr-panel{display:grid;gap:10px}.mwrr-config-panel{display:grid;gap:8px;padding:14px 16px}.mwrr-config-header{display:grid;gap:4px}.mwrr-config-grid{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(300px,1.35fr) minmax(360px,1.65fr) minmax(260px,1.1fr) minmax(250px,1fr) minmax(260px,1.05fr);gap:8px;align-items:stretch;overflow-x:auto}.mwrr-config-card{display:grid;align-content:start;gap:6px;min-width:0;padding:8px 10px;border:1px solid #2d4054;border-radius:8px;background:#0c111761}.mwrr-config-card-wide{grid-column:auto}.mwrr-config-label{color:#8ca0b3;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mwrr-config-card .period-tabs,.mwrr-config-card .scope-controls{gap:6px;margin:0}.mwrr-config-card .scope-check{min-height:32px;padding:5px 8px}.mwrr-config-card .period-tabs button{min-height:32px;padding:5px 9px}.mwrr-config-card .section-title{gap:8px;margin-bottom:2px}.mwrr-config-card .section-title h2{font-size:14px}.mwrr-config-card .period-selector-panel{margin:0;padding:0;border:0;background:transparent}.mwrr-primary-metrics,.mwrr-secondary-metrics{margin-bottom:0}.mwrr-secondary-metrics .metric{min-height:96px}.mwrr-kpi-strip{display:grid;grid-template-columns:minmax(220px,1.25fr) repeat(3,minmax(160px,1fr));gap:8px}.mwrr-kpi{min-width:0;padding:12px 14px;border:1px solid #223040;border-radius:8px;background:#0f1721c7}.mwrr-kpi span,.mwrr-kpi small{display:block;overflow:hidden;color:#8ca0b3;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mwrr-kpi strong{display:block;overflow:hidden;margin:6px 0 4px;color:#fff;font-size:clamp(20px,2.2vw,30px);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.mwrr-kpi.primary strong{color:#69e7bd;font-size:clamp(24px,3vw,38px)}.mwrr-method-strip{display:flex;flex-wrap:wrap;gap:8px}.mwrr-method-strip span{display:inline-flex;gap:8px;align-items:center;min-height:32px;padding:6px 10px;border:1px solid #223040;border-radius:8px;background:#0f1721ad;color:#8ca0b3;font-size:12px}.mwrr-method-strip strong{color:#fff}.mwrr-compact-summary,.mwrr-flow-summary{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0}.mwrr-compact-summary span,.mwrr-flow-summary span{display:inline-flex;gap:6px;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #223040;border-radius:999px;background:#101923;color:#8ca0b3;font-size:12px}.mwrr-compact-summary strong,.mwrr-flow-summary strong{color:#fff}.diagnostic-details{border:1px solid #223040;border-radius:8px;background:#0f1721b8}.diagnostic-details summary{cursor:pointer;padding:10px 12px;color:#d8dee9;font-weight:800}.diagnostic-details[open] summary{border-bottom:1px solid #223040}.diagnostic-details .table-wrap,.diagnostic-details .issues{margin:0}.mwrr-details table{min-width:760px}.dividend-matrix table,.dividend-securities table{min-width:1120px}.dividend-facts{display:grid;gap:10px}.dividend-facts div,.dividend-list div{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid #223040}.dividend-facts span,.dividend-list span{color:#9fb1c2;font-size:13px}.dividend-facts strong,.dividend-list strong{color:#fff;font-size:18px}.dividend-list small,.dividend-securities small{color:#8ca0b3;font-size:12px}.panel{padding:16px;min-width:0}.wide{margin-bottom:12px}.section-title{align-items:center;gap:8px;margin-bottom:14px;color:#fff}.section-title svg{color:#46d5a8}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.account-panel{display:grid;gap:10px;margin-bottom:14px;padding:12px;border:1px solid #263548;border-radius:12px;background:#101925}.account-panel p{margin:4px 0 0;color:#9fb1c2;font-size:13px}.account-form{display:grid;gap:8px}.account-form>button[type=submit]{width:100%;display:inline-flex;justify-content:center}.account-form input{width:100%;min-height:38px;border:1px solid #2b3a4e;border-radius:10px;background:#0c1420;color:#e5edf5;padding:8px 10px}.account-form small{color:#9fb1c2}.import-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.import-batch-form{display:grid;gap:12px}.import-batch-form label small{color:#94a3b8;display:block;font-size:12px;line-height:1.35;margin-top:5px}.import-batch-form .primary{align-items:center;display:inline-flex;gap:8px;justify-content:center}.import-steps{display:grid;gap:6px;margin:10px 0 12px}.import-steps span{border-left:2px solid #253244;color:#94a3b8;font-size:12px;line-height:1.35;padding-left:8px}.import-steps span.active{border-color:#46b9a6;color:#e5edf5}.import-live-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}.live-card{display:grid;align-content:start;gap:6px;min-height:118px;border:1px solid #223040;border-radius:6px;background:#0f1721;padding:12px}.live-card.active{border-color:#46d5a8;box-shadow:0 0 0 1px #46d5a81f}.live-card strong{color:#fff;font-size:13px}.live-card span,.live-card small{overflow:hidden;color:#94a3b8;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:11px 10px;border-bottom:1px solid #223040;text-align:left;font-size:13px;white-space:nowrap}th{color:#8ca0b3;font-weight:600;background:#0f1721}td{color:#d8dee9}tr.selected-row td{background:#46d5a817;color:#fff}.positive{color:#46d5a8}.negative{color:#ff7d7d}.pill{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#182433;color:#9fb1c2}.pill.calculated{color:#46d5a8;background:#12332b}.pill.pending,.pill.unverified{color:#f5c76b;background:#3a2e15}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pill.error{color:#ff9a9a;background:#3a1919}.freshness{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:6px;background:#182433;color:#9fb1c2}.freshness.current{color:#46d5a8;background:#12332b}.freshness.stale{color:#f5c76b;background:#3a2e15}.freshness.not-calculated{color:#ff9a9a;background:#3a1919}.history-source{display:block;margin-top:4px;color:#9fb1c2;font-size:12px;line-height:1.25}.history-source.available{color:#46d5a8}.history-source.not-calculated{color:#ff9a9a}.import-panel label,.manual-form{display:grid;gap:8px;color:#9fb1c2;margin-bottom:12px}input,select{width:100%;border:1px solid #2d4054;background:#0c1117;color:#d8dee9;border-radius:6px;min-height:38px;padding:8px 10px}.manual-form{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-form button{grid-column:1 / -1}.manual-field{display:grid;gap:6px;margin:0}.manual-field span{color:#d8dee9;font-weight:700;font-size:13px}.manual-field small{color:#8ca0b3;line-height:1.3}.mapping-grid{display:grid;gap:10px}.mapping-row{display:grid;grid-template-columns:130px minmax(120px,.8fr) minmax(160px,1fr) 120px 110px 110px;gap:8px;align-items:center;border-bottom:1px solid #223040;padding-bottom:10px}.mapping-row.verified .mapping-isin{color:#46d5a8}.mapping-row.open .mapping-isin{color:#f5c76b}.mapping-isin{display:inline-flex;align-items:center;gap:6px}.mapping-row.verified .check{color:#46d5a8;font-weight:700}.mapping-row small{grid-column:2 / -1;color:#8ca0b3}.mapping-url{grid-column:2 / -1}.compact-table table{min-width:1180px}.check{display:flex;gap:8px;align-items:center;color:#9fb1c2}.check input{width:auto;min-height:auto}.scope-panel{margin-bottom:12px}.dashboard-controls-panel{display:grid;grid-template-columns:minmax(420px,1fr);gap:18px;align-items:start}.dashboard-control-group{min-width:0}.scope-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.inline-note{margin-top:0}.scope-check{min-height:38px;padding:8px 10px;border:1px solid #2d4054;border-radius:6px;background:#0f1721}.alert{display:flex;align-items:center;gap:8px;padding:12px 14px;color:#f5c76b;margin-bottom:12px}.empty,.message{color:#8ca0b3}.issues{margin:0;padding-left:18px;color:#f5c76b}.issues.neutral{color:#8ca0b3}.issues li{margin:8px 0}.benchmark-panel{margin-bottom:12px}.period-tabs{gap:8px;flex-wrap:wrap;margin-bottom:14px}.period-tabs.compact{margin-bottom:0}.period-tabs button.active,button.active{border-color:#46d5a8;color:#46d5a8;background:#10241f}.benchmark-message{font-size:clamp(18px,2vw,28px);line-height:1.35;color:#fff;margin-bottom:14px}.benchmark-message span{color:#f5c76b;font-weight:700}.benchmark-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cashflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.benchmark-cell{border:1px solid #223040;border-radius:6px;padding:12px;background:#0f1721;min-height:102px}.cashflow-cell{border:1px solid #223040;border-radius:6px;padding:12px;background:#0f1721;min-height:96px}.benchmark-cell.primary{border-color:#46d5a8;background:#10241f}.benchmark-cell p,.benchmark-cell small,.cashflow-cell p,.cashflow-cell small,.method-note{margin:0;color:#8ca0b3;font-size:12px}.benchmark-cell strong,.cashflow-cell strong{display:block;margin:8px 0 4px;font-size:24px}.cashflow-inline{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:#8ca0b3;font-size:13px}.cashflow-inline strong{color:#fff}.method-note{margin-top:10px}.single-performance-panel{min-height:760px}.single-performance-tabs{margin-top:10px}.single-performance-uplot-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:8px;min-height:560px;margin-top:10px}.single-performance-uplot{min-height:560px;border:1px solid #223040;border-radius:8px;background:#0f1721;overflow:hidden}.single-performance-uplot .uplot{font-family:inherit}.single-performance-labels{position:relative;min-height:560px;overflow:hidden}.single-performance-endlabel{position:absolute;left:0;width:100%;transform:translateY(-50%);display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center}.single-performance-endlabel-line{width:14px;border-top:1px solid}.single-performance-endlabel strong{display:block;color:#dbe6f2;font-size:11px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.single-performance-endlabel small{grid-column:2;color:#9fb1c2;font-size:11px;line-height:1.1}.single-performance-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;max-height:230px;overflow:auto;margin-top:14px;padding-right:4px}.single-performance-legend button{display:grid;grid-template-columns:10px 16px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:7px 9px;text-align:left}.single-performance-legend button.hidden{opacity:.48}.single-performance-legend span{width:10px;height:10px;border-radius:999px}.single-performance-legend strong{min-width:0;overflow:hidden;color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.single-performance-legend small{grid-column:3;min-width:0;overflow:hidden;color:#8ca0b3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.trade-summary{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 12px;color:#8ca0b3;font-size:13px}.trade-summary strong{color:#fff}.trade-type{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:#182433}.trade-type.buy{color:#46d5a8;background:#12332b}.trade-type.sell{color:#ff7d7d;background:#3a1919}.chart-title{justify-content:space-between;align-items:center}.chart-title>div{display:flex;align-items:center;gap:8px}.chart-controls{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.chart-controls.single{justify-content:flex-end}.forecast-toggle{display:inline-flex;align-items:center;gap:7px;color:#9fb1c2;font-size:13px}.dividend-mode-tabs{flex-wrap:wrap}.chart-tooltip{display:grid;gap:6px;max-width:320px;padding:10px 12px;border:1px solid #2d4054;border-radius:6px;background:#0f1721;color:#d8dee9;box-shadow:0 12px 28px #00000047}.chart-tooltip div{display:flex;align-items:center;gap:7px;font-size:12px}.chart-tooltip span{width:9px;height:9px;border-radius:999px;flex:0 0 auto}.chart-tooltip small{color:#9fb1c2}.dividend-stack-legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.dividend-stack-legend button{min-height:30px;display:inline-flex;align-items:center;gap:7px;padding:5px 8px;font-size:12px}.dividend-stack-legend span{width:9px;height:9px;border-radius:999px}.loading-note{color:#f5c76b;font-size:12px}.loading-dot{width:9px;height:9px;display:inline-block;flex:0 0 auto;margin-left:8px;border-radius:999px;background:#f5c76b;box-shadow:0 0 #f5c76b7a;animation:loading-dot-pulse 1.15s ease-out infinite;vertical-align:middle}@keyframes loading-dot-pulse{0%{transform:scale(.82);box-shadow:0 0 #f5c76b7a}70%{transform:scale(1);box-shadow:0 0 0 8px #f5c76b00}to{transform:scale(.82);box-shadow:0 0 #f5c76b00}}html[data-theme=light]{color:#1d2935;background:#f4f7fa}html[data-theme=light] body{background:#f4f7fa}html[data-theme=light] .shell{background:linear-gradient(180deg,rgba(8,127,91,.08),transparent 280px),#f4f7fa}html[data-theme=light] .metric,html[data-theme=light] .panel,html[data-theme=light] .alert{background:#fffffff5;border-color:#d8e1ea}html[data-theme=light] .icon-button,html[data-theme=light] button,html[data-theme=light] input,html[data-theme=light] select,html[data-theme=light] .provider-list,html[data-theme=light] .topbar-currency,html[data-theme=light] .scope-check{background:#fff;color:#1d2935;border-color:#b7c5d4}html[data-theme=light] .topbar-currency button{background:transparent}html[data-theme=light] .topbar-currency button.active{background:#e2f6ee;color:#087f5b;border-color:#087f5b}html[data-theme=light] button:hover{border-color:#087f5b}html[data-theme=light] .status-line,html[data-theme=light] th,html[data-theme=light] td,html[data-theme=light] .mapping-row{border-color:#d8e1ea}html[data-theme=light] .mapping-row.verified .mapping-isin,html[data-theme=light] .mapping-row.verified .check{color:#16895f}html[data-theme=light] .mapping-row.open .mapping-isin{color:#9a6a00}html[data-theme=light] th,html[data-theme=light] .benchmark-cell{background:#edf2f7}html[data-theme=light] .single-performance-legend strong{color:#1d2935}html[data-theme=light] tr.selected-row td{background:#e2f6ee}html[data-theme=light] td,html[data-theme=light] .metric strong,html[data-theme=light] .section-title,html[data-theme=light] .benchmark-message,html[data-theme=light] .status-line strong{color:#0b1220}html[data-theme=light] .status-line,html[data-theme=light] .metric p,html[data-theme=light] .metric span,html[data-theme=light] th,html[data-theme=light] .empty,html[data-theme=light] .message,html[data-theme=light] .trade-summary,html[data-theme=light] .mapping-row small,html[data-theme=light] .benchmark-cell p,html[data-theme=light] .benchmark-cell small,html[data-theme=light] .method-note,html[data-theme=light] .check,html[data-theme=light] .import-panel label,html[data-theme=light] .manual-form{color:#627386}html[data-theme=light] .eyebrow,html[data-theme=light] .metric svg,html[data-theme=light] .section-title svg,html[data-theme=light] .positive{color:#087f5b}html[data-theme=light] .negative{color:#bd3030}html[data-theme=light] .pill,html[data-theme=light] .freshness{background:#edf2f7;color:#43566b}html[data-theme=light] .pill.calculated,html[data-theme=light] .freshness.current{color:#087f5b;background:#dff6ec}html[data-theme=light] .pill.pending,html[data-theme=light] .pill.unverified,html[data-theme=light] .freshness.stale{color:#9a6400;background:#fff1cf}html[data-theme=light] .pill.error,html[data-theme=light] .freshness.not-calculated{color:#bd3030;background:#ffe1e1}html[data-theme=light] .history-source{color:#5f7184}html[data-theme=light] .history-source.available{color:#087f5b}html[data-theme=light] .history-source.not-calculated{color:#bd3030}html[data-theme=light] .trade-summary strong{color:#0b1220}html[data-theme=light] .trade-type.buy{color:#087f5b;background:#dff6ec}html[data-theme=light] .trade-type.sell{color:#bd3030;background:#ffe1e1}html[data-theme=light] .period-tabs button.active,html[data-theme=light] button.active,html[data-theme=light] .benchmark-cell.primary{border-color:#087f5b;color:#087f5b;background:#e2f6ee}html[data-theme=light] .benchmark-message span,html[data-theme=light] .alert,html[data-theme=light] .issues,html[data-theme=light] .loading-note{color:#9a6400}html[data-theme=light] .loading-dot{background:#d88900;box-shadow:0 0 #d8890059}html[data-theme=light] .issues.neutral{color:#627386}html[data-theme=light] .chart-tooltip{background:#fff;border-color:#d8e1ea;color:#0b1220}@media(max-width:980px){.app-frame{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:12px}.brand-mark{padding:0 4px 14px}.side-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.side-nav button{justify-content:center;min-height:46px;padding:0 8px;font-size:13px}.side-nav button span{display:none}.metrics-grid,.layout,.dividend-kpis,.dashboard-controls-panel,.mwrr-config-grid,.mwrr-kpi-strip,.analysis-grid,.pie-layout{grid-template-columns:1fr}.benchmark-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mapping-row{grid-template-columns:1fr}.mapping-row small{grid-column:auto}.shell{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.topbar-main{width:100%}}@media(max-width:620px){.benchmark-grid{grid-template-columns:1fr}.provider-list{width:100%;grid-auto-columns:minmax(0,1fr)}}
