:root{--navy: #070b14;--deep: #0c1220;--panel: #141d2e;--card: #1a2538;--card-hover: #1f2d44;--border: #2a3f5f;--border-bright: #3d5578;--blue: #1e5aff;--cyan: #00c2ff;--gold: #f0a500;--gold-soft: #e8b84b;--green: #00d97e;--purple: #8b5cf6;--amber: #ff8c00;--red: #ef4444;--teal: #14b8a6;--text: #f5f7fa;--text2: #d1d5db;--muted: #8b92a0;--dim: #9ca3af}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--navy);color:var(--text);font-family:Instrument Sans,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}.app{min-height:100vh;background:radial-gradient(ellipse 1000px 700px at 15% 5%,rgba(30,90,255,.07) 0%,transparent 65%),radial-gradient(ellipse 700px 500px at 85% 90%,rgba(0,194,255,.05) 0%,transparent 60%),radial-gradient(ellipse 500px 400px at 60% 40%,rgba(139,92,246,.03) 0%,transparent 60%),var(--navy)}.topbar{position:sticky;top:0;z-index:100;background:#070b14eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:64px}.topbar-logo{display:flex;align-items:baseline;gap:12px}.topbar-logo .logo{font-family:Cormorant Garamond,serif;font-size:26px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(120deg,#fff 0%,var(--cyan) 55%,var(--blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.topbar-logo .tagline{font-family:DM Mono,monospace;font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase}.topbar-badge{background:linear-gradient(135deg,var(--gold) 0%,#e86500 100%);color:#000;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:700;padding:6px 16px;border-radius:6px;display:flex;flex-direction:column;align-items:center;line-height:1.2}.topbar-badge-sub{font-family:DM Mono,monospace;font-size:7px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#0009}.tab-nav{background:#0a0f19b3;border-bottom:1px solid var(--border);padding:0 40px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{display:flex;align-items:center;gap:8px;padding:14px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:DM Mono,monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s;position:relative;top:1px}.tab-btn:hover{color:var(--text2)}.tab-btn.active{color:var(--text);border-bottom-color:var(--cyan)}.tab-btn .tab-icon{font-size:13px;opacity:.7}.tab-btn.active .tab-icon{opacity:1}.page-content{padding:40px 40px 60px;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:36px}.page-header h1{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:600;color:var(--text);margin-bottom:6px}.page-header p{font-family:DM Mono,monospace;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}.section-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}.section-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border) 0%,transparent 100%)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:22px 24px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 4px 16px #0006}.kpi-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 60%);pointer-events:none}.kpi-card:hover{transform:translateY(-3px);border-color:var(--border-bright);box-shadow:0 12px 40px #00000080}.kpi-card.accent-blue{border-top:2px solid var(--blue)}.kpi-card.accent-cyan{border-top:2px solid var(--cyan)}.kpi-card.accent-gold{border-top:2px solid var(--gold)}.kpi-card.accent-green{border-top:2px solid var(--green)}.kpi-card.accent-purple{border-top:2px solid var(--purple)}.kpi-card.accent-amber{border-top:2px solid var(--amber)}.kpi-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.kpi-value{font-family:Cormorant Garamond,serif;font-size:34px;font-weight:700;line-height:1;margin-bottom:6px}.kpi-card.accent-blue .kpi-value,.kpi-card.accent-cyan .kpi-value{color:var(--cyan)}.kpi-card.accent-gold .kpi-value{color:var(--gold)}.kpi-card.accent-green .kpi-value{color:var(--green)}.kpi-card.accent-purple .kpi-value{color:var(--purple)}.kpi-card.accent-amber .kpi-value{color:var(--amber)}.kpi-sub{font-size:11px;color:var(--dim)}.stream-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:36px}.stream-summary-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px 20px;display:flex;align-items:center;gap:16px;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 2px 12px #0000004d}.stream-summary-card:hover{transform:translate(3px);border-color:var(--border-bright);box-shadow:0 4px 20px #0006}.stream-dot{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:11px;font-weight:700;flex-shrink:0}.sd-1{background:#00c2ff26;color:var(--cyan);border:1px solid rgba(0,194,255,.25)}.sd-2{background:#00d97e26;color:var(--green);border:1px solid rgba(0,217,126,.25)}.sd-3{background:#f0a50026;color:var(--gold);border:1px solid rgba(240,165,0,.25)}.sd-4{background:#8b5cf626;color:var(--purple);border:1px solid rgba(139,92,246,.25)}.sd-5{background:#14b8a626;color:var(--teal);border:1px solid rgba(20,184,166,.25)}.sd-6{background:#ff8c0026;color:var(--amber);border:1px solid rgba(255,140,0,.25)}.stream-summary-info{flex:1}.stream-summary-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:3px}.stream-summary-src{font-size:11px;color:var(--muted)}.stream-summary-amount{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:700;color:var(--text)}.header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--border)}.logo-area{display:flex;flex-direction:column;gap:6px}.logo{font-family:Cormorant Garamond,serif;font-size:42px;font-weight:700;letter-spacing:-1px;background:linear-gradient(135deg,#fff 0%,var(--cyan) 50%,var(--blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-family:DM Mono,monospace;font-size:11px;color:var(--muted);letter-spacing:3px;text-transform:uppercase}.header-meta{text-align:right;display:flex;flex-direction:column;gap:8px}.total-badge{background:linear-gradient(135deg,var(--gold) 0%,#ff6b00 100%);color:#000;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:700;padding:10px 20px;border-radius:6px;text-align:center}.total-label{font-family:DM Mono,monospace;font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;text-align:right}.header-info{font-size:11px;color:var(--muted);margin-top:6px;font-family:DM Mono,monospace}.section-title{font-family:DM Mono,monospace;font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:10px}.section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border) 0%,transparent 100%)}.streams-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:0}.stream-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:26px;position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .2s;cursor:default;box-shadow:0 4px 20px #0006}.stream-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.stream-card:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 50%);pointer-events:none;border-radius:14px}.stream-card:hover{transform:translateY(-4px);border-color:var(--border-bright);box-shadow:0 16px 48px #00000080}.s1:before{background:linear-gradient(90deg,var(--blue),var(--cyan))}.s2:before{background:linear-gradient(90deg,var(--green),#00a86b)}.s3:before{background:linear-gradient(90deg,var(--gold),#d97706)}.s4:before{background:linear-gradient(90deg,#7c3aed,#4f46e5)}.s5:before{background:linear-gradient(90deg,var(--teal),#0891b2)}.s6:before{background:linear-gradient(90deg,var(--amber),var(--red))}.stream-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.stream-num-badge{font-family:DM Mono,monospace;font-size:9px;letter-spacing:1.5px;padding:3px 8px;border-radius:4px;background:#ffffff0d;color:var(--muted)}.stream-number{font-family:DM Mono,monospace;font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:6px}.stream-name{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600;margin-bottom:5px;line-height:1.2}.stream-source{font-size:11px;color:var(--muted);margin-bottom:16px;line-height:1.4}.stream-amount-row{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.stream-amount{font-family:Cormorant Garamond,serif;font-size:34px;font-weight:700;line-height:1}.s1 .stream-amount{color:var(--cyan)}.s2 .stream-amount{color:var(--green)}.s3 .stream-amount{color:var(--gold)}.s4 .stream-amount{color:#a78bfa}.s5 .stream-amount{color:var(--teal)}.s6 .stream-amount{color:var(--amber)}.stream-timing{font-family:DM Mono,monospace;font-size:9px;color:var(--muted);letter-spacing:.5px}.stream-items{list-style:none;display:flex;flex-direction:column;gap:5px}.stream-items li{font-size:11.5px;color:var(--dim);display:flex;justify-content:space-between;align-items:center;padding:7px 10px;background:#ffffff06;border-radius:6px;border-left:2px solid rgba(255,255,255,.06);transition:background .15s}.stream-items li:hover{background:#ffffff0a}.stream-items li .item-val{font-family:DM Mono,monospace;font-size:11px;color:var(--text);font-weight:500}.phases-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:0}.phase-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .2s;box-shadow:0 4px 20px #0006}.phase-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.05) 0%,transparent 55%);pointer-events:none}.phase-card:hover{transform:translateY(-4px);border-color:var(--border-bright);box-shadow:0 16px 48px #00000080}.phase-tag{display:inline-flex;align-items:center;font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;border-radius:4px;margin-bottom:14px}.tag-pilot{background:#00c2ff1f;color:var(--cyan);border:1px solid rgba(0,194,255,.25)}.tag-domestic{background:#f0a5001f;color:var(--gold);border:1px solid rgba(240,165,0,.25)}.tag-eu{background:#7c3aed1f;color:#a78bfa;border:1px solid rgba(124,58,237,.25)}.tag-scale{background:#00d97e1f;color:var(--green);border:1px solid rgba(0,217,126,.25)}.phase-title{font-family:Cormorant Garamond,serif;font-size:19px;font-weight:600;margin-bottom:4px;line-height:1.2}.phase-duration{font-family:DM Mono,monospace;font-size:9.5px;color:var(--muted);margin-bottom:16px;letter-spacing:.5px}.phase-price{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:700;color:var(--gold);margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.phase-bullets{list-style:none;display:flex;flex-direction:column;gap:6px}.phase-bullets li{font-size:11.5px;color:var(--dim);padding-left:14px;position:relative;line-height:1.4}.phase-bullets li:before{content:"›";position:absolute;left:0;color:var(--cyan);font-size:14px;line-height:1.1}.muni-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.muni-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px 18px;text-align:center;transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 4px 20px #0006}.muni-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.05) 0%,transparent 55%);pointer-events:none}.muni-card:hover{transform:translateY(-4px);border-color:var(--border-bright);box-shadow:0 16px 48px #00000080}.t1{border-top:2px solid var(--gold)}.t2{border-top:2px solid #6ee7b7}.t3{border-top:2px solid var(--cyan)}.t4{border-top:2px solid var(--muted)}.muni-tier{font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:3px;color:var(--muted);margin-bottom:10px;text-transform:uppercase}.muni-name{font-size:12px;font-weight:500;color:var(--text2);margin-bottom:16px;min-height:34px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4}.muni-price{font-family:Cormorant Garamond,serif;font-size:32px;font-weight:700;margin-bottom:4px;line-height:1}.t1 .muni-price{color:var(--gold)}.t2 .muni-price{color:#6ee7b7}.t3 .muni-price{color:var(--cyan)}.t4 .muni-price{color:var(--dim)}.muni-per{font-size:11px;color:var(--muted);margin-bottom:14px}.muni-count{font-family:DM Mono,monospace;font-size:10.5px;padding:4px 12px;border-radius:5px;display:inline-block;margin-bottom:8px}.t1 .muni-count{background:#f0a5001a;color:var(--gold)}.t2 .muni-count{background:#6ee7b71a;color:#6ee7b7}.t3 .muni-count{background:#00c2ff1a;color:var(--cyan)}.t4 .muni-count{background:#6b7a991a;color:var(--muted)}.muni-revenue{font-size:11.5px;color:var(--dim);font-family:DM Mono,monospace}.waterfall{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px;overflow-x:auto}.waterfall-grid{display:grid;grid-template-columns:150px repeat(6,1fr);gap:3px;font-family:DM Mono,monospace;font-size:11px;min-width:620px}.wf-header{color:var(--muted);font-size:9.5px;letter-spacing:1.5px;padding:8px 6px;text-align:center;text-transform:uppercase}.wf-label{color:var(--dim);padding:8px 0;font-size:11px;display:flex;align-items:center}.wf-cell{text-align:center;padding:7px 4px;border-radius:5px;font-size:11px;transition:opacity .15s}.wf-zero{color:#ffffff1f;text-align:center;padding:7px 4px}.wf-s1{background:#00c2ff1a;color:var(--cyan)}.wf-s2{background:#00d97e1a;color:var(--green)}.wf-s3{background:#f0a5001a;color:var(--gold)}.wf-s4{background:#7c3aed1a;color:#a78bfa}.wf-s5{background:#14b8a61a;color:var(--teal)}.wf-total-label{color:var(--text);font-weight:600;padding:10px 0;font-size:11px;display:flex;align-items:center}.wf-total{background:#f0a50026;color:var(--gold);font-weight:600;padding:10px 4px;border-radius:5px;text-align:center;font-size:12px;border:1px solid rgba(240,165,0,.15)}.wf-cum-label{color:var(--text);font-weight:600;font-size:11px;padding:10px 0;display:flex;align-items:center}.wf-cum{background:#ffffff0a;color:var(--text2);padding:10px 4px;border-radius:5px;text-align:center;font-size:12px;font-weight:500;border:1px solid rgba(255,255,255,.04)}.wf-cum-final{background:#f0a50014;color:var(--gold);padding:10px 4px;border-radius:5px;text-align:center;font-size:14px;font-weight:700;border:1px solid rgba(240,165,0,.2)}.wf-divider{grid-column:1 / -1;height:1px;background:var(--border);margin:8px 0}.roi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.roi-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:10px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 4px 20px #0006}.roi-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.05) 0%,transparent 55%);pointer-events:none}.roi-card:hover{transform:translateY(-4px);border-color:var(--border-bright);box-shadow:0 16px 48px #00000080}.roi-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:2.5px;color:var(--muted);text-transform:uppercase}.roi-value{font-family:Cormorant Garamond,serif;font-size:40px;font-weight:700;background:linear-gradient(135deg,var(--gold) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.roi-desc{font-size:12px;color:var(--dim);line-height:1.6}.timeline{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px;overflow-x:auto}.timeline-inner{min-width:720px}.timeline-months{display:grid;grid-template-columns:130px repeat(12,1fr);gap:3px;font-family:DM Mono,monospace;font-size:9.5px;color:var(--muted);margin-bottom:12px;text-align:center;letter-spacing:.5px}.tl-row{display:grid;grid-template-columns:130px repeat(12,1fr);gap:3px;margin-bottom:5px;align-items:center}.tl-label{font-size:10.5px;color:var(--dim);font-family:DM Mono,monospace;padding-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-bar{height:24px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:8.5px;letter-spacing:.3px;transition:opacity .15s}.tl-bar:hover{opacity:.85}.tl-empty{background:transparent}.tl-s1{background:#00c2ff2e;color:var(--cyan);border:1px solid rgba(0,194,255,.35)}.tl-s2{background:#00d97e26;color:var(--green);border:1px solid rgba(0,217,126,.28)}.tl-s3{background:#f0a50026;color:var(--gold);border:1px solid rgba(240,165,0,.28)}.tl-s4{background:#7c3aed26;color:#a78bfa;border:1px solid rgba(124,58,237,.28)}.tl-s5{background:#14b8a626;color:var(--teal);border:1px solid rgba(20,184,166,.28)}.tl-s6{background:#ff8c0026;color:var(--amber);border:1px solid rgba(255,140,0,.28)}.tl-dim{background:#ffffff08;color:var(--muted)}.milestones{display:grid;grid-template-columns:130px repeat(12,1fr);gap:3px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.ms-dot{text-align:center;font-size:8.5px;color:var(--gold);font-family:DM Mono,monospace;line-height:1.4}.procurement-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.proc-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:26px 28px;position:relative;overflow:hidden}.proc-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.02) 0%,transparent 55%);pointer-events:none}.proc-title{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:600;margin-bottom:18px;color:var(--text);padding-bottom:14px;border-bottom:1px solid var(--border)}.fc-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.035);font-size:12px;gap:20px}.fc-row:last-child{border-bottom:none}.fc-key{color:var(--dim);flex:1}.fc-val{font-family:DM Mono,monospace;color:var(--text2);font-size:11px;text-align:right}.fc-val.highlight{color:var(--gold);font-weight:600}.fc-val.highlight-cyan{color:var(--cyan);font-weight:600}.fc-row-accent{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:8px;background:#00c2ff0d;border:1px solid rgba(0,194,255,.12);font-size:12px;margin-top:12px;gap:20px}.fc-key-accent{color:var(--cyan);flex:1;font-weight:500}.stamp{font-family:DM Mono,monospace;font-size:9px;color:var(--muted);text-align:center;margin-top:40px;letter-spacing:3px;opacity:.4}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.spacer-lg{margin-bottom:36px}.spacer-md{margin-bottom:24px}@media (max-width: 1200px){.streams-grid,.phases-row,.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.topbar,.tab-nav{padding:0 20px}.page-content{padding:28px 20px 48px}}@media (max-width: 768px){.streams-grid,.phases-row{grid-template-columns:1fr}.muni-grid{grid-template-columns:repeat(2,1fr)}.roi-row,.procurement-grid,.two-col{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.topbar-logo .tagline{display:none}.stream-summary-grid{grid-template-columns:1fr}}@media print{.topbar,.tab-nav{display:none}.page-content{padding:20px}}
