:root{--navy: #0b1f33;--navy2: #132b44;--blue: #1467ff;--cyan: #20c5d8;--orange: #ff8a3d;--success: #1f9d65;--warning: #f0a020;--danger: #d74444;--canvas: #101820;--app: #f5f7fa;--panel: #ffffff;--subtle: #f8fafc;--border: #d9e1ea;--text: #172033;--text-2: #667085;--text-inv: #ffffff;--text-muted-inv: #b4c4cf;--r-tech: 6px;--r-ctrl: 10px;--r-panel: 16px;--topbar: 56px;--rail: 64px;--font: "Inter", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", "Consolas", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:14px;color:var(--text);background:var(--app);overflow:hidden}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.auth-page{height:100%;min-height:0;display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(430px,.85fr);background:#f7f9fc;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.auth-showcase{position:relative;overflow:hidden;padding:56px clamp(44px,7vw,104px);color:#fff;background:radial-gradient(circle at 78% 18%,rgba(30,156,255,.24),transparent 32%),linear-gradient(145deg,#06192c,#0a2e51 54%,#084b82);display:flex;flex-direction:column}.auth-showcase:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom right,#000,transparent 68%);mask-image:linear-gradient(to bottom right,#000,transparent 68%)}.auth-logo{position:relative;width:255px;filter:brightness(0) invert(1)}.auth-copy{position:relative;z-index:1;max-width:680px;margin:auto 0}.auth-kicker,.eyebrow{display:block;color:#2fc9ff;letter-spacing:.18em;font-size:11px;font-weight:800;margin-bottom:20px}.auth-copy h1{font-size:clamp(35px,4vw,58px);line-height:1.04;letter-spacing:-.045em;margin:0 0 24px;max-width:720px}.auth-copy p{max-width:610px;color:#c3d6e7;line-height:1.7;font-size:16px}.auth-showcase>small{position:relative;color:#7fa4c2;letter-spacing:.13em;font-size:9px}.auth-vessel{position:absolute;width:190px;height:420px;right:-35px;bottom:-80px;border:1px solid rgba(74,196,255,.3);border-radius:95px;transform:rotate(19deg);box-shadow:inset 0 0 80px #0c98ff21,0 0 80px #00000026}.auth-vessel i{position:absolute;left:-10px;right:-10px;height:1px;background:#4ac4ff59}.auth-vessel i:nth-child(1){top:18%}.auth-vessel i:nth-child(2){top:40%}.auth-vessel i:nth-child(3){top:62%}.auth-vessel i:nth-child(4){top:84%}.auth-panel{position:relative;min-height:100%;display:grid;align-items:stretch;justify-items:center;padding:64px clamp(30px,6vw,88px) 44px}.auth-language{position:absolute;top:22px;right:24px}.auth-language select{height:32px;border:1px solid #d4dee8;border-radius:8px;background:#fff;color:#53687a;padding:0 8px;font-size:11px}.auth-card{width:min(440px,100%);margin-block:auto}.auth-logo-mobile{display:none;width:220px;margin-bottom:30px}.auth-card h2{margin:0 0 8px;font-size:30px;letter-spacing:-.035em;color:#0b2741}.auth-intro{color:var(--text-2);line-height:1.5;margin:0 0 26px}.auth-card form{display:flex;flex-direction:column;gap:15px}.auth-card form>label,.auth-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#354a5d}.auth-card input{height:48px;border:1px solid #cfdae5;border-radius:10px;padding:0 14px;font-size:14px;background:#fff;transition:.15s}.auth-card input:focus{outline:none;border-color:#1684e8;box-shadow:0 0 0 4px #1684e81c}.auth-card label small{color:#8a9aaa;font-weight:500}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-submit{height:50px;margin-top:5px;padding:0 18px;border:0;border-radius:10px;background:linear-gradient(115deg,#0968c2,#118ee8);color:#fff;font-weight:750;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 24px #0869c233}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 13px 28px #0869c247}.auth-submit:disabled{opacity:.65;transform:none}.auth-link{display:block;margin:18px auto 0;border:0;background:none;color:#0874ce;font-weight:650}.auth-alert{border-radius:9px;padding:11px 13px;font-size:12px;line-height:1.45}.auth-alert.error{background:#fff0f0;color:#a42d2d}.auth-alert.success{background:#eaf8f1;color:#18744c}.auth-card footer{margin-top:34px;padding-top:20px;border-top:1px solid #e3e9ef;color:#8796a5;text-align:center;font-size:11px}.auth-loading{height:100%;display:grid;place-content:center;gap:18px;background:#f5f8fb}.auth-loading img{width:240px}.auth-loading span{justify-self:center;width:34px;height:34px;border:3px solid #d7e5f1;border-top-color:#0c7bd5;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.account-button,.logout-button{border:0;background:#ffffff14;color:#fff;height:36px;border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 10px}.account-button span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--blue));font-size:11px;font-weight:800}.account-button b{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.logout-button{font-size:18px;padding:0 10px}.topbar-plan{height:27px;border:1px solid rgba(67,201,255,.35);border-radius:99px;background:#149ddc21;color:#66d6ff;padding:0 10px;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.08em}.topbar-plan.expired{color:#ff9d9d;border-color:#ff646459;background:#c8323226}.profile-page{background:linear-gradient(180deg,#f6f9fc,#eef3f8)}.profile-heading{display:flex;align-items:flex-start;justify-content:space-between;max-width:1100px;margin:0 auto 22px}.profile-heading .eyebrow{margin:0 0 8px;color:#0a78d0}.role-pill{padding:6px 12px;border-radius:99px;background:#e7f1fb;color:#0966ad;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.1em}.profile-layout{display:grid;grid-template-columns:260px 1fr;gap:18px;max-width:1100px;margin:auto;align-items:start}.profile-logo-card{text-align:center;position:sticky;top:0}.profile-logo-preview{height:145px;border-radius:12px;background:#f6f9fc;display:grid;place-items:center;margin-bottom:15px;border:1px dashed #cddae6;overflow:hidden}.profile-logo-preview img{max-width:88%;max-height:110px}.profile-logo-card .btn{margin:auto}.profile-logo-card small{display:block;color:var(--text-2);margin-top:10px}.profile-form-card{padding:25px}.profile-form-card h3{margin:0 0 18px;color:#16334c}.profile-form-card hr{border:0;border-top:1px solid var(--border);margin:22px 0}.profile-actions{display:flex;justify-content:flex-end;margin-top:12px}.profile-notice{color:var(--success);font-weight:650}@media (max-width:850px){.auth-page{grid-template-columns:1fr}.auth-showcase{display:none}.auth-panel{padding:64px 22px 30px}.auth-logo-mobile{display:block}.auth-grid,.profile-layout{grid-template-columns:1fr}.profile-logo-card{position:static}.account-button b{display:none}}.invite-page{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;padding:30px;overflow-y:auto;overscroll-behavior-y:contain;background:radial-gradient(circle at 20% 10%,rgba(21,145,232,.16),transparent 35%),linear-gradient(145deg,#071c30,#0b416e)}.invite-card{width:min(500px,100%);margin-block:auto;background:#fff;border-radius:20px;padding:38px;box-shadow:0 30px 80px #00000040}.invite-card>img{width:210px;margin-bottom:28px}.invite-card h1{font-size:28px;margin:5px 0 10px;color:#102d45}.invite-card>p{color:var(--text-2);line-height:1.6}.invite-card form{display:flex;flex-direction:column;gap:13px;margin-top:24px}.invite-card form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#44596b}.invite-card input{height:44px;border:1px solid var(--border);border-radius:9px;padding:0 12px}.invite-check{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e7f7ef;color:var(--success);font-size:28px;font-weight:800;margin:4px 0 22px}.team-page{background:linear-gradient(180deg,#f6f9fc,#eef3f8)}.team-head{max-width:1240px;margin:0 auto 20px;display:flex;justify-content:space-between;align-items:flex-start}.team-head .eyebrow{margin:0 0 7px;color:#0875c9}.trial-badge{background:#e8f5ff;border:1px solid #b9ddf8;color:#075d9d;border-radius:12px;padding:10px 15px;display:flex;flex-direction:column;gap:2px;min-width:145px}.trial-badge b{text-transform:uppercase;font-size:10px;letter-spacing:.1em}.trial-badge span{font-size:12px}.trial-badge.expired{background:#fff0f0;border-color:#f1c6c6;color:#a33131}.usage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;max-width:1240px;margin:0 auto 18px}.usage-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:5px 15px}.usage-card>span{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2)}.usage-card>b{font-size:22px;color:#12324c}.usage-card b small{color:#8797a5;font-size:13px}.usage-card progress{grid-column:1/-1;width:100%;height:6px;border:0}.usage-card.accent{background:linear-gradient(135deg,#082d4b,#075b91);color:#fff}.usage-card.accent span,.usage-card.accent small{color:#a8cee7}.usage-card.accent b{text-transform:capitalize;color:#fff;font-size:18px}.team-layout{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:17px;align-items:start}.team-members{padding:22px}.section-head h2,.plans-column h2{margin:0 0 4px;font-size:18px}.section-head p{margin:0;color:var(--text-2);font-size:12px}.invite-form{display:grid;grid-template-columns:1fr 150px auto;gap:8px;margin:20px 0 8px;padding:13px;background:#f5f8fb;border-radius:11px}.invite-form input,.invite-form select,.member-row select{height:38px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 10px}.team-notice{font-size:12px;color:#176da9}.member-list{margin-top:17px;border-top:1px solid var(--border)}.member-row{display:flex;align-items:center;gap:12px;padding:13px 3px;border-bottom:1px solid #edf1f5}.member-row.disabled{opacity:.5}.member-row.pending{background:#fbfcfd}.member-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f2fb;color:#0871bd;font-weight:800;flex:none}.member-identity{display:flex;flex-direction:column;min-width:0;flex:1}.member-identity b{font-size:13px}.member-identity span{font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-identity em{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-left:7px;padding:2px 5px;background:#eaf3fb;color:#0871bd;border-radius:99px}.member-row select{width:135px}.user-toggle{border:0;background:transparent;color:#557083;font-size:11px;font-weight:650}.user-toggle:hover{color:var(--danger)}.plans-column{display:flex;flex-direction:column;gap:11px}.plan-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px}.plan-card.current{border:2px solid #1485d8;box-shadow:0 10px 25px #0871bd1a}.plan-card>div{display:flex;align-items:center;justify-content:space-between;font-weight:800;text-transform:uppercase;color:#0c619e;font-size:11px;letter-spacing:.08em}.plan-card i{font-style:normal;font-size:8px;background:#fff0e3;color:#d26308;padding:4px 6px;border-radius:99px}.plan-card h3{margin:12px 0 2px;font-size:20px}.plan-card p{margin:0;color:var(--text-2);font-size:12px}.plan-card ul{list-style:none;padding:0;margin:14px 0;display:grid;gap:6px}.plan-card li{font-size:11px;color:#496073}.plan-card .btn{width:100%}@media (max-width:1000px){.team-layout{grid-template-columns:1fr}.plans-column{display:grid;grid-template-columns:1fr 1fr}.plans-column h2{grid-column:1/-1}}@media (max-width:720px){.usage-grid,.invite-form{grid-template-columns:1fr}.member-row{align-items:flex-start;flex-wrap:wrap}.member-identity{min-width:calc(100% - 55px)}.plans-column{grid-template-columns:1fr}.team-head{gap:10px}.trial-badge{min-width:120px}}.shell{display:grid;grid-template-rows:var(--topbar) 1fr;height:100%}.topbar{display:flex;align-items:center;gap:16px;padding:0 16px;background:var(--navy);color:var(--text-inv)}.topbar .logo{font-weight:700;letter-spacing:.06em;font-size:16px}.topbar .logo span{color:var(--cyan)}.topbar .crumb{color:var(--text-muted-inv);font-size:13px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .crumb b{color:var(--text-inv);font-weight:600}.save-state{font-size:12px;color:var(--text-muted-inv)}.save-state.saving{color:var(--warning)}.body{display:grid;grid-template-columns:var(--rail) 1fr;min-height:0}.rail{background:var(--navy2);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:6px}.rail button{width:44px;height:44px;border:none;border-radius:var(--r-ctrl);background:transparent;color:var(--text-muted-inv);font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.rail button.active{background:var(--blue);color:#fff}.rail button:hover:not(.active){background:#ffffff14;color:#fff}.main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.btn{height:38px;padding:0 16px;border-radius:var(--r-ctrl);border:1px solid var(--border);background:var(--panel);color:var(--text);font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn:hover{background:var(--subtle)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:#0f56d6}.btn.danger{color:var(--danger);border-color:#f3c8c8}.btn.small{height:30px;padding:0 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-size:12px;font-weight:600;color:var(--text-2)}.field .row{display:flex;align-items:center;gap:6px}.field input,.field select,.field textarea{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-tech);font-size:13px;width:100%;background:#fff;color:var(--text)}.field textarea{height:auto;padding:8px 10px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:-1px}.field .unit{font-size:12px;color:var(--text-2);min-width:28px}.field .error{color:var(--danger);font-size:12px}.field input.num{font-variant-numeric:tabular-nums}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.03em;border:1px solid transparent;cursor:pointer;white-space:nowrap}.badge.confirmed,.badge.measured{background:#e7f6ee;color:var(--success);border-color:#bfe6d2}.badge.default,.badge.calculated{background:var(--subtle);color:var(--text-2);border-color:var(--border)}.badge.extracted,.badge.estimated{background:#fff3e8;color:#c05616;border-color:#f8d7bb}.badge.imported{background:#e9f0ff;color:var(--blue);border-color:#c4d7ff}.badge.conflict{background:#fdecec;color:var(--danger);border-color:#f3c8c8}.workspace{display:grid;grid-template-columns:250px 1fr 380px;flex:1;min-height:0}.workspace.no-inspector{grid-template-columns:250px 1fr}.panel-left,.panel-right{background:var(--panel);overflow-y:auto;min-height:0}.panel-left{border-right:1px solid var(--border);padding:12px}.panel-right{border-left:1px solid var(--border);padding:14px}.panel-title{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--text-2);margin:10px 0 6px}.tree-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border:none;background:transparent;border-radius:var(--r-tech);font-size:13px;color:var(--text)}.tree-item:hover{background:var(--subtle)}.tree-item.selected{background:#e9f0ff;color:var(--blue);font-weight:600}.tree-item .dot{width:8px;height:8px;border-radius:50%;flex:none}.tree-item small{color:var(--text-2);margin-left:auto;font-size:11px}.viewport-wrap{position:relative;background:var(--canvas);min-width:0;min-height:0}.viewport-toolbar{position:absolute;top:10px;left:10px;z-index:5;display:flex;gap:6px}.viewport-toolbar button{height:30px;padding:0 12px;border-radius:var(--r-tech);border:1px solid rgba(255,255,255,.15);background:#132b44d9;color:var(--text-muted-inv);font-size:12px;font-weight:600}.viewport-toolbar button.active,.viewport-toolbar button:hover{color:#fff;background:var(--blue);border-color:var(--blue)}.viewport-status{position:absolute;bottom:0;left:0;right:0;z-index:5;height:34px;display:flex;align-items:center;gap:18px;padding:0 14px;background:#0b1f33e6;color:var(--text-muted-inv);font-size:12px}.viewport-status .ok{color:#4ade80}.viewport-status .warn{color:var(--warning)}.viewport-status .err{color:#f87171}.tag-label{background:#0b1f33d9;color:#fff;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid rgba(255,255,255,.25);white-space:nowrap}.tag-label.selected{background:var(--orange);border-color:var(--orange);color:#12222f}.inspector-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.inspector-header h3{margin:0;font-size:16px;flex:1}.inspector-sub{color:var(--text-2);font-size:12px;margin:-6px 0 12px}.prop-group{border:1px solid var(--border);border-radius:var(--r-panel);padding:12px;margin-bottom:12px}.prop-group h4{margin:0 0 10px;font-size:12px;letter-spacing:.06em;color:var(--text-2);text-transform:uppercase}.readonly-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0}.readonly-row b{font-variant-numeric:tabular-nums}.quad-buttons{display:flex;gap:6px;margin-top:4px}.quad-buttons button{flex:1;height:28px;border-radius:var(--r-tech);border:1px solid var(--border);background:#fff;font-size:12px;font-weight:600}.quad-buttons button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.page{padding:24px 28px;overflow-y:auto;flex:1;min-height:0}.page h1{font-size:22px;margin:0 0 4px}.page .sub{color:var(--text-2);margin:0 0 20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-panel);padding:18px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.project-card{text-align:left;transition:border-color .15s;cursor:pointer}.project-card:hover{border-color:var(--blue)}.project-card h3{margin:0 0 2px;font-size:15px}.project-card .meta{color:var(--text-2);font-size:12px;display:flex;gap:10px;margin-top:8px}.status-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.status-chip.draft{background:var(--subtle);color:var(--text-2)}.status-chip.revised{background:#e9f0ff;color:var(--blue)}.status-chip.published{background:#e7f6ee;color:var(--success)}table.data{width:100%;border-collapse:collapse;font-size:13px;background:var(--panel)}table.data th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);padding:8px 10px;border-bottom:2px solid var(--border);position:sticky;top:0;background:var(--panel)}table.data td{padding:7px 10px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}table.data tr.selected td{background:#e9f0ff}table.data tr:hover td{background:var(--subtle)}table.data input{width:90px;height:28px;border:1px solid transparent;border-radius:4px;background:transparent;font-size:13px}table.data input:hover{border-color:var(--border)}table.data input:focus{border-color:var(--blue);outline:none;background:#fff}.wizard{max-width:1060px;margin:0 auto}.wizard-steps{display:flex;align-items:center;gap:8px;margin-bottom:22px}.wizard-steps .step{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-2)}.wizard-steps .step .n{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--border);color:var(--text-2);font-size:12px;font-weight:700}.wizard-steps .step.done .n{background:var(--blue);color:#fff}.wizard-steps .step.current .n{background:var(--orange);color:#fff}.wizard-steps .bar{flex:1;height:2px;background:var(--border)}.wizard-body{display:grid;grid-template-columns:1fr 420px;gap:18px}.wizard-preview{background:var(--canvas);border-radius:var(--r-panel);display:flex;align-items:center;justify-content:center;min-height:420px;position:sticky;top:0}.family-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.family-card{display:flex;gap:12px;align-items:center;padding:14px;border:1.5px solid var(--border);border-radius:var(--r-panel);background:#fff;text-align:left}.family-card.selected{border-color:var(--blue);background:#f4f8ff}.family-card.disabled{opacity:.45;cursor:not-allowed}.family-card b{display:block;font-size:14px}.family-card small{color:var(--text-2)}.wizard-nav{display:flex;justify-content:space-between;margin-top:18px}.issues-list{display:flex;flex-direction:column;gap:6px}.issue{display:flex;gap:8px;padding:8px 10px;border-radius:var(--r-tech);font-size:12.5px;align-items:baseline}.issue.error{background:#fdecec;color:#8f2626}.issue.warning{background:#fff6e6;color:#8a5a00}.issue.info{background:var(--subtle);color:var(--text-2)}.toast{position:fixed;bottom:18px;right:18px;z-index:100;background:var(--navy);color:#fff;padding:12px 18px;border-radius:var(--r-ctrl);font-size:13px;box-shadow:0 8px 24px #00000040}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);background:var(--panel);padding:0 16px}.tabs button{height:40px;padding:0 14px;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text-2);border-bottom:2px solid transparent}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.sheet-frame{background:#9aa7b4;padding:24px;overflow:auto;flex:1;display:flex;justify-content:center;align-items:flex-start}.sheet-frame svg{background:#fff;box-shadow:0 6px 30px #00000059;max-width:100%;width:100%;height:auto;display:block}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-panel);padding:14px}.kpi .v{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.kpi .l{font-size:12px;color:var(--text-2)}.kpi .m{font-size:11px;color:var(--text-2);margin-top:4px}.assumptions{font-size:12.5px;color:var(--text-2);line-height:1.5}.popover{position:absolute;z-index:50;background:#fff;border:1px solid var(--border);border-radius:var(--r-ctrl);box-shadow:0 8px 30px #0b1f332e;padding:12px;width:300px;font-size:12.5px}.popover h5{margin:0 0 6px;font-size:12px}.popover .kv{display:flex;justify-content:space-between;padding:2px 0}.popover .kv span:first-child{color:var(--text-2)}
