:root{color:#17202a;--ink:#17202a;--muted:#64707d;--line:#d9dee5;--card:#fff;--accent:#0f766e;--accent-strong:#115e59;--blue:#2563eb;--cyan:#12abc8;--amber:#d97706;--red:#b42318;--soft:#eef6f5;--shadow:0 14px 34px #17202a13;--shadow-strong:0 22px 60px #0f172a1a;background:#f3f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#12abc81a,#0000 28%),#f3f6f8;margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.65;transform:none}main{grid-template-columns:286px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#0d241d,#102820 52%,#0b1e18);flex-direction:column;gap:22px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0;box-shadow:inset -1px 0 #ffffff14}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:4px 4px 12px;display:flex}.brand-mark{color:#102820;letter-spacing:-.04em;background:linear-gradient(135deg,#fff,#e7f6f2);border-radius:14px;place-items:center;width:48px;height:48px;font-weight:950;display:grid;box-shadow:0 10px 26px #0000002e}.brand span,.sync-panel span{color:#b9c7c3;margin-top:3px;font-size:12px;display:block}.sidebar nav{gap:8px;display:grid}.sidebar button{color:#dce6e2;text-align:left;background:0 0;border:1px solid #0000;border-radius:13px;padding:12px 13px;font-weight:750;position:relative}.sidebar button.active{color:#fff;background:#ffffff24;border-color:#ffffff1f;box-shadow:0 10px 24px #00000021}.sidebar button.active:before{content:"";background:#33d3bd;border-radius:99px;width:4px;height:22px;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.sidebar button:hover{color:#fff;background:#ffffff1a}.sync-panel{background:#ffffff14;border:1px solid #ffffff29;border-radius:18px;margin-top:auto;padding:15px;line-height:1.45;box-shadow:inset 0 1px #ffffff0f}.workspace{padding:26px;overflow:hidden}.hero{box-shadow:var(--shadow);background:linear-gradient(135deg,#fffffff0,#f8fcffdb);border:1px solid #0f172a14;border-radius:24px;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;padding:22px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--accent);margin:0 0 8px;font-size:12px;font-weight:850}.hero h1{letter-spacing:-.035em;color:#071526;margin:0 0 10px;font-size:38px;line-height:1.04}.hero p{max-width:980px;color:var(--muted);margin:0;line-height:1.55}.primary,.controls button{background:linear-gradient(135deg, var(--accent-strong), #0f766e);color:#fff;white-space:nowrap;border:0;border-radius:12px;align-items:center;gap:8px;padding:11px 15px;font-weight:800;display:inline-flex;box-shadow:0 12px 24px #0f766e33}.primary:hover,.controls button:hover{box-shadow:0 16px 30px #0f766e40}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:11px;align-items:center;gap:8px;padding:9px 12px;font-weight:750;display:inline-flex}.secondary:hover{border-color:#b7c3ce;box-shadow:0 10px 20px #0f172a12}.card{box-shadow:var(--shadow);background:#fffffff5;border:1px solid #0f172a17;border-radius:18px}.controls{box-shadow:var(--shadow);background:#fffffff0;border-radius:20px;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 16px;padding:14px;display:flex}.controls:before{content:"Universal filters";text-transform:uppercase;letter-spacing:.12em;color:var(--accent-strong);margin:0 2px;font-size:11px;font-weight:900}.controls input,.controls select,.inline-tools input,.inline-tools select,.assumption input,.metric-controls input,.metric-controls select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:11px;outline:none;min-height:42px;padding:10px 11px}.controls input:focus,.controls select:focus,.inline-tools input:focus,.assumption input:focus{border-color:#0f766e8c;box-shadow:0 0 0 3px #0f766e1a}.controls span{color:var(--muted);font-size:13px}.notice{color:#7a4a05;background:#fff8ed;border:1px solid #f0b35b;border-radius:13px;margin-bottom:16px;padding:12px 14px}.source-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px;display:grid}.source-card{padding:16px;position:relative;overflow:hidden}.source-card:after{content:"";background:#0f766e0f;border-radius:999px;width:96px;height:96px;position:absolute;inset:auto -20px -34px auto}.source-card h3{letter-spacing:-.02em;margin:10px 0 6px}.source-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.4}.pill{border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:850;display:inline-flex}.pill.ok{color:#0f766e;background:#e7f6f2}.pill.warn{color:#92500a;background:#fff0d6}.kpi-grid{grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi-grid.compact{grid-template-columns:repeat(4,minmax(150px,1fr))}.stat{align-items:flex-start;gap:12px;min-height:132px;padding:16px;display:flex;position:relative;overflow:hidden}.stat:after{content:"";opacity:.75;background:linear-gradient(90deg,#0f766eb3,#2563eb59);height:4px;position:absolute;bottom:0;left:0;right:0}.stat-icon{background:var(--soft);width:42px;height:42px;color:var(--accent-strong);border-radius:13px;flex:none;place-items:center;display:grid}.stat p{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:12px;font-weight:750}.stat strong{letter-spacing:-.04em;color:#071526;overflow-wrap:anywhere;font-size:26px;line-height:1.05;display:block}.stat span{color:#71808b;margin-top:8px;font-size:12px;line-height:1.35;display:block}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)}.panel{padding:18px;overflow:hidden}.panel+.panel{margin-top:16px}.panel-head{border-bottom:1px solid #0f172a12;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding-bottom:10px;display:flex}.panel-head h2{letter-spacing:-.015em;color:#071526;margin:0 0 6px;font-size:18px}.panel-head p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:14px;max-height:680px;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:620px}td,th{text-align:left;white-space:nowrap;border-bottom:1px solid #e8edf2;padding:11px 12px;font-size:13px}th{color:#46525f;z-index:1;text-transform:uppercase;letter-spacing:.035em;background:linear-gradient(#f8fafc,#eef3f7);font-size:12px;position:sticky;top:0}tbody tr:hover{background:#f8fbfc}td:last-child{font-weight:650}.diagnostic-list{gap:10px;display:grid}.diagnostic{border:1px solid var(--line);border-radius:14px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.diagnostic b,.diagnostic span,.diagnostic small{display:block}.diagnostic span,.diagnostic small{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4}.diagnostic.excellent{background:#f3fbf8;border-color:#bce3d7}.diagnostic.good{background:#f5f8ff;border-color:#c8d9ff}.diagnostic.watch{background:#fffaf0;border-color:#f2d49a}.diagnostic.critical{background:#fff7f7;border-color:#fac5c5}.status,.metric-badge{text-transform:capitalize;white-space:nowrap;border-radius:999px;align-items:center;padding:5px 8px;font-size:11px;font-weight:850;display:inline-flex}.status.excellent,.metric-badge.live{color:#0f766e;background:#e7f6f2}.status.good,.metric-badge.derived{color:#1d4ed8;background:#eaf1ff}.status.watch,.metric-badge.zero{color:#a45a00;background:#fff5df}.status.critical,.metric-badge.missing{color:var(--red);background:#ffe9e9}.status.empty,.metric-badge.protected{color:#64707d;background:#edf1f5}.inline-tools input{min-width:220px}.assumptions{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:16px;padding:14px;display:grid}.assumption{gap:6px;display:grid}.assumption span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}.metric-hero{background:radial-gradient(circle at 0 0,#12abc829,#0000 34%),linear-gradient(135deg,#fff,#f8fbff);border-radius:26px;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px;margin-bottom:16px;padding:24px;display:grid}.metric-hero span,.metric-tile header span{letter-spacing:.13em;text-transform:uppercase;color:#0f6b8d;font-size:11px;font-weight:850}.metric-hero h2{letter-spacing:-.03em;color:#071526;margin:6px 0;font-size:32px}.metric-hero p{color:var(--muted);margin:0;line-height:1.55}.metric-hero-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.metric-hero-grid article{background:#ffffffc7;border:1px solid #0f172a14;border-radius:18px;padding:14px}.metric-hero-grid strong{color:#071526;margin-top:7px;font-size:25px;display:block}.metric-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.metric-controls .inline-tools{flex:320px}.metric-controls .inline-tools input{width:100%}.metric-wall{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-height:760px;margin:16px 0;padding:2px 4px 12px 0;display:grid;overflow:auto}.metric-tile{background:#fff;border:1px solid #0f172a1a;border-radius:20px;flex-direction:column;gap:8px;min-height:180px;padding:14px;display:flex;box-shadow:0 12px 34px #0f172a0f}.metric-tile.live{background:#fbfffd;border-color:#0f766e2e}.metric-tile.derived{background:#f8fbff;border-color:#2563eb2e}.metric-tile.protected{background:#f7f9fb;border-color:#64707d2e}.metric-tile.zero{background:#fffaf2;border-color:#d977062e}.metric-tile.missing{background:#fff8f8;border-color:#b4231829}.metric-tile header{justify-content:space-between;align-items:center;gap:8px;display:flex}.metric-tile h3{color:#071526;margin:0;font-size:15px;line-height:1.2}.metric-tile strong{color:#061527;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:22px;display:block}.metric-tile p{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.metric-tile small{color:#7b8793;overflow-wrap:anywhere;font-size:11px}.metric-tile footer{border-top:1px solid #edf1f5;margin-top:auto;padding-top:8px}.metric-tile footer span{color:#64707d;font-size:11px;line-height:1.35}.empty-state{border:1px dashed var(--line);color:var(--muted);background:#fff;border-radius:16px;gap:6px;padding:24px;display:grid}.empty-state b{color:var(--ink)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1480px){.kpi-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media (max-width:1320px){.metric-wall{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1180px){main{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.sidebar nav{grid-template-columns:repeat(3,1fr)}.kpi-grid,.kpi-grid.compact,.grid.two,.assumptions,.metric-hero{grid-template-columns:1fr 1fr}.metric-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{flex-direction:column}}@media (max-width:760px){.workspace{padding:16px}.hero{padding:18px}.hero h1{font-size:30px}.kpi-grid,.kpi-grid.compact,.grid.two,.source-grid,.assumptions,.metric-hero,.metric-hero-grid,.metric-wall,.sidebar nav{grid-template-columns:1fr}.controls,.metric-controls{flex-direction:column;align-items:stretch}.controls input,.controls select,.controls button,.inline-tools input,.inline-tools select,.metric-controls select{width:100%}.panel-head{flex-direction:column;align-items:stretch}}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.section-head h2{margin:0 0 6px}.section-head p{color:var(--muted);margin:0;font-size:13px}.inline-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-tools input,.inline-tools select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px}.notice.soft{color:#52606d;background:#f8fafc;border-color:#d6dde4}.rows-table{max-height:720px}.table-card-inner{padding:0}.powerbi-card iframe{background:#fff;border:0;border-radius:8px;width:100%;height:78vh}.powerbi-card{padding:18px}.powerbi-card h2{letter-spacing:0;margin:0 0 16px;font-size:18px}@media (max-width:760px){.section-head{flex-direction:column;align-items:stretch}.inline-tools input,.inline-tools select{width:100%}.powerbi-card iframe{height:72vh}}
