:root,:root[data-theme=dark]{--bg:#0e1116;--panel:#161b22;--panel-2:#1f2630;--border:#2a313c;--text:#e6edf3;--muted:#8b949e;--accent:#4f8cff;--green:#4ade80;--red:#f87171;--amber:#fbbf24;--row-hover:#232a35;--grid-line:#222831;--axis-line:#2a313c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f7f8fa;--panel:#fff;--panel-2:#f0f3f7;--border:#d8dde4;--text:#1a1f2c;--muted:#6b7280;--accent:#2563eb;--green:#15803d;--red:#b91c1c;--amber:#b45309;--row-hover:#eef2f7;--grid-line:#e5e7eb;--axis-line:#d1d5db;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);color:var(--text);min-height:100vh;margin:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{grid-template-columns:220px 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.app.sidebar-collapsed{grid-template-columns:64px 1fr}.sidebar{background:var(--panel);border-right:1px solid var(--border);height:calc(100vh - 52px);padding:24px 16px 56px;position:sticky;top:52px;overflow-y:auto}.sidebar.collapsed{padding-left:8px;padding-right:8px}.sidebar nav a{color:var(--text);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.sidebar.collapsed nav a{justify-content:center;gap:0;padding:10px 0}.sidebar.collapsed .nav-label{display:none}.sidebar nav a svg{color:var(--muted);flex:none}.sidebar nav a:hover svg,.sidebar nav a.active svg{color:var(--accent)}.sidebar-collapse{background:var(--panel-2);border:1px solid var(--border);width:36px;height:28px;color:var(--muted);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.sidebar-collapse:hover{color:var(--text);background:var(--row-hover)}.mobile-toggle{z-index:30;background:var(--panel);border:1px solid var(--border);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:none;position:fixed;top:8px;left:12px}.sidebar-scrim{z-index:20;background:#00000073;display:none;position:fixed;inset:0}@media (width<=800px){.app,.app.sidebar-collapsed{grid-template-columns:1fr}.sidebar{z-index:25;border-right:1px solid var(--border);width:240px;height:auto;transition:transform .2s;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar-scrim{display:block;top:52px}.mobile-toggle{display:inline-flex}.main{padding:68px 16px 64px!important}.sidebar-collapse{display:none}}.sidebar h1{color:var(--text);margin:0 0 4px;font-size:15px}input.sidebar-company{width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-bottom-style:dashed;border-radius:4px;margin:0 0 4px -4px;padding:2px 4px;font-family:inherit;font-size:15px;font-weight:600;display:block}input.sidebar-company:hover{border-bottom-color:var(--border)}input.sidebar-company:focus{border-color:var(--accent);background:var(--bg);border-bottom-style:solid;outline:none}.sidebar .sub{color:var(--muted);font-size:12px}.sidebar-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:24px;display:flex}.theme-btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:inline-flex}.theme-btn:hover{background:var(--row-hover)}.theme-btn-header{margin-left:8px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar-section{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.sidebar-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:11px}.side-input{color:var(--text);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.side-input>span{color:var(--muted);font-size:12px}.pct-input{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;align-items:center;padding:2px 6px;display:inline-flex}.pct-input input{color:var(--text);text-align:right;width:60px;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;padding:2px 0}.pct-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pct-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pct-input input[type=number]{-moz-appearance:textfield}.pct-input .suffix{color:var(--muted);margin-left:2px;font-size:12px}.currency-chooser{gap:8px;width:100%;display:flex}.currency-chooser.stack{flex-direction:column}.currency-chooser select.currency-select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:4px;flex:1;min-width:0;padding:6px 8px;font-size:13px}.currency-chooser select.currency-select:focus{border-color:var(--accent);outline:none}.sidebar nav a.active{background:var(--panel-2);color:var(--accent)}.sidebar nav a:hover{background:var(--row-hover);text-decoration:none}.sidebar .meta{color:var(--muted);border-top:1px solid var(--border);margin-top:24px;padding-top:16px;font-size:11px}.main{max-width:1400px;padding:84px 40px 64px}h1.page-title{color:var(--text);margin:0 0 4px;font-size:24px;font-weight:600}.page-sub{color:var(--muted);margin:0 0 28px;font-size:14px}.section{background:var(--panel);border:1px solid var(--border);border-radius:8px;margin-bottom:24px;padding:20px 24px}.section h2{color:var(--text);margin:0 0 4px;font-size:16px;font-weight:600}.section .sub{color:var(--muted);margin:0 0 16px;font-size:12px}.table-wrap{-webkit-overflow-scrolling:touch;margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px;overflow-x:auto}.table-wrap::-webkit-scrollbar{height:10px}.table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}.table-wrap::-webkit-scrollbar-thumb:hover{background:var(--muted)}table.fin{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:720px;font-size:13px}table.fin th,table.fin td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;min-width:84px;padding:6px 10px}table.fin th:first-child,table.fin td:first-child{text-align:left;white-space:normal;background:var(--panel);z-index:1;min-width:260px;position:sticky;left:0}table.fin tbody tr:hover td:first-child{background:var(--row-hover)}.row-label{align-items:center;gap:6px;display:flex;position:relative}.row-label-text{flex:1;min-width:0}.comment-btn{cursor:pointer;color:var(--border);visibility:hidden;background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.row-label:hover .comment-btn,.comment-btn.has{visibility:visible}.comment-btn:hover{color:var(--accent);background:var(--row-hover)}.comment-btn.has{color:var(--accent)}.comment-pop{z-index:80;background:var(--panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;width:320px;padding:8px;display:flex;position:fixed;box-shadow:0 12px 28px #00000059}.comment-pop input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:4px;width:100%;padding:6px 8px;font-size:13px}.comment-pop input:focus{border-color:var(--accent);outline:none}.comment-pop-foot{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.comment-pop-del{color:var(--red)}.comment-count{font-variant-numeric:tabular-nums}table.fin thead th{color:var(--muted);border-bottom:1px solid var(--border);font-size:12px;font-weight:500}table.fin thead th.forecast{color:var(--accent);font-style:italic}.forecast-tag{text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-top:-1px;font-size:9px;font-style:normal;font-weight:500;display:block}table.fin tbody tr:hover{background:var(--row-hover)}table.fin .total{border-top:1px solid var(--border);font-weight:600}table.fin .subtotal{color:var(--text);font-weight:500}table.fin .derived td{color:var(--muted);font-style:italic}table.fin .group-header td{color:var(--accent);padding-top:12px;font-weight:600}table.fin .pos{color:var(--green)}table.fin .neg{color:var(--red)}input.cell{border:1px solid #0000;border-bottom:1px dashed var(--border);width:100%;color:inherit;font:inherit;text-align:right;background:0 0;border-radius:4px;padding:2px 4px}input.cell:hover{border-color:var(--border);background:var(--row-hover);border-bottom-style:solid}input.cell:focus{border-color:var(--accent);background:var(--bg);border-bottom-style:solid;outline:none}.actions{z-index:15;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:52px;padding:8px 24px;display:flex;position:fixed;top:0;left:0;right:0}.brand{color:var(--text);align-items:center;gap:10px;margin-right:auto;font-weight:600;display:flex}.brand-banglabs{background:linear-gradient(135deg,#c7d2fe,#6366f1,#06b6d4);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700;text-decoration:none;transition:opacity .2s}.brand-banglabs:hover{opacity:.85;text-decoration:none}.brand-sep{color:var(--muted);margin:0 2px;font-size:18px;font-weight:400}.logo-chip{background:var(--accent);color:#fff;letter-spacing:-.02em;border-radius:8px;justify-content:center;align-items:center;min-width:38px;height:34px;padding:4px 8px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.brand-name{font-size:14px}.brand-help{background:var(--panel-2);border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.brand-help:hover{color:var(--accent);border-color:var(--accent);background:var(--row-hover)}.actions-wide{display:contents}.actions-menu{display:none;position:relative}.actions-menu-btn{justify-content:center;align-items:center;width:36px;padding:0;display:inline-flex}.actions-menu-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #00000040}.actions-menu-panel .btn{text-align:left;justify-content:flex-start;width:100%}@media (width<=800px){.actions{min-height:52px;padding:8px 12px 8px 60px}.actions-wide{display:none}.actions-menu{display:inline-flex}.brand-banglabs,.brand-sep,.brand-name{display:none}}.btn{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 14px;font-family:inherit;font-size:13px}.btn:hover{background:var(--row-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.1)}.btn.danger{color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.kpi .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.kpi .value{font-variant-numeric:tabular-nums;color:var(--text);margin-top:4px;font-size:22px;font-weight:600}.kpi .delta{color:var(--muted);margin-top:4px;font-size:12px}.chart-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px 20px}.chart-card h3{color:var(--text);margin:0 0 4px;font-size:14px;font-weight:600}.chart-card .sub{color:var(--muted);margin:0 0 8px;font-size:12px}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;display:grid}.flash{background:var(--green);color:#000;z-index:16;border-radius:6px;padding:8px 14px;font-size:13px;position:fixed;top:64px;right:24px}.flash.err{background:var(--red);color:#fff}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;width:100%;max-width:440px;padding:24px;box-shadow:0 24px 48px #00000059}.modal h2{color:var(--text);margin:0 0 4px;font-size:16px}.modal .sub{color:var(--muted);margin:0 0 18px;font-size:12px}.modal .form{flex-direction:column;gap:12px;display:flex}.modal .form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.modal .form label>input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:4px;padding:8px 10px;font-size:14px}.modal .form label>input:focus{border-color:var(--accent);outline:none}.modal .form .row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal .err{color:var(--red);font-size:12px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.about-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0000008c;justify-content:center;align-items:flex-start;padding:60px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.about-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:820px;position:relative;box-shadow:0 24px 60px #00000073}.about-close{background:var(--panel-2);border:1px solid var(--border);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:inline-flex;position:absolute;top:12px;right:12px}.about-close:hover{color:var(--text)}.about-head{border-bottom:1px solid var(--border);padding:28px 32px 18px}.about-brand{align-items:center;gap:10px;margin-bottom:8px;display:flex}.about-brand .brand-name{color:var(--text);font-size:16px;font-weight:600}.about-title{color:var(--text);margin:0;font-size:24px;font-weight:700}.about-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;padding:0 24px;display:flex}.about-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:500;position:relative}.about-tab:hover{color:var(--text)}.about-tab.active{color:var(--accent)}.about-tab.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:0;left:8px;right:8px}.about-body{padding:24px 32px}.about-tab-head h3{color:var(--text);margin:0 0 6px;font-size:18px;font-weight:600}.about-tab-head p{color:var(--muted);max-width:60ch;margin:0 0 20px;font-size:13px;line-height:1.55}.about-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}.about-card{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:14px}.about-card h4{color:var(--text);margin:0 0 4px;font-size:13px;font-weight:600}.about-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.about-foot{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding:16px 32px;font-size:12px;display:flex}.about-foot-links{gap:18px;display:flex}.about-foot-links a{color:var(--muted)}.about-foot-links a:hover{color:var(--text)}.share-row{align-items:stretch;gap:8px;display:flex}.share-url{background:var(--panel-2);border:1px solid var(--border);color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;flex:1;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:hidden}.share-url:focus{border-color:var(--accent);outline:none}.import-section{margin-top:16px}.import-section:first-child{margin-top:0}.import-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px}.import-drop{border:1.5px dashed var(--border);text-align:center;cursor:pointer;color:var(--text);background:var(--panel-2);border-radius:6px;padding:18px;transition:border-color .15s,background .15s}.import-drop:hover,.import-drop.over{border-color:var(--accent);background:var(--row-hover)}.import-prompt-wrap{position:relative}.import-prompt{background:var(--panel-2);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;max-height:260px;color:var(--text);border-radius:6px;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow-y:auto}.import-copy-btn{position:absolute;top:8px;right:8px}.empty{color:var(--muted);text-align:center;padding:16px 0;font-size:13px}ul.save-list{border:1px solid var(--border);border-radius:6px;max-height:50vh;margin:0;padding:0;list-style:none;overflow-y:auto}.save-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:8px;padding:10px 12px;display:flex}.save-item:last-child{border-bottom:none}.save-item:hover{background:var(--row-hover)}.save-item.current{background:color-mix(in srgb, var(--accent) 12%, transparent)}.save-main{flex:1;min-width:0}.save-company{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.save-meta{color:var(--muted);margin-top:2px;font-size:11px}.save-current{color:var(--accent);font-weight:500}.save-del{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:16px;display:inline-flex}.save-del:hover{background:var(--red);color:#fff;border-color:var(--red)}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin:4px 0 24px;font-size:12px;display:inline-flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-sample{font-variant-numeric:tabular-nums;border-radius:3px;padding:2px 6px;display:inline-block}.legend-sample.editable{border-bottom:1px dashed var(--border);color:var(--text)}.legend-sample.derived{color:var(--muted);font-style:italic}.assumptions{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.assumptions label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.assumptions input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:4px;width:100px;padding:6px 10px;font-family:inherit;font-size:13px}.dupont{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:16px;display:grid}.dupont .yr{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:10px;font-size:12px}.dupont .yr .y{color:var(--muted);margin-bottom:6px}.dupont .yr .row{justify-content:space-between;display:flex}.report-attribution{border-top:1px solid var(--border);text-align:center;color:var(--muted);margin-top:28px;padding-top:12px;font-size:12px}.report-attribution a{color:inherit;text-decoration:underline}@page{margin:15mm 12mm 18mm;@bottom-right{content:"Page " counter(page) " · generated with finance.bang-labs.eu";font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:9px;color:#888}}@media print{.app{display:block}.sidebar,.actions,.flash{display:none!important}.main{max-width:none;padding:0}.section,.chart-card{break-inside:avoid;page-break-inside:avoid}body,html,#root{color:#000;background:#fff}table.fin th,table.fin td{color:#000}.kpi,.chart-card,.section{background:#fff!important;border-color:#ddd!important}.kpi .value,.section h2,h1.page-title,.chart-card h3{color:#000}.group-header td{color:#333!important}.report-attribution{color:#666;border-top-color:#ccc}}
