:root{
  --bg:#0d0e11;--s1:#13151a;--s2:#1a1d24;--s3:#22252f;
  --border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);
  --text:#e8e6dc;--text-soft:#a4a29b;--text-muted:#61615b;
  --blue:#4ca2ff;--blue-bg:rgba(76,162,255,0.12);--blue-border:rgba(76,162,255,0.32);
  --teal:#2dd4bf;--teal-bg:rgba(45,212,191,0.12);--teal-border:rgba(45,212,191,0.32);
  --red:#ef4444;--red-bg:rgba(239,68,68,0.11);
  --amber:#f59e0b;--amber-bg:rgba(245,158,11,0.12);--amber-border:rgba(245,158,11,0.32);
  --green:#22c55e;--green-bg:rgba(34,197,94,0.12);
  --mono:"DM Mono","Courier New",monospace;
  --sans:"DM Sans",system-ui,sans-serif;
  --radius:10px;--nav-h:68px;--shadow:0 24px 80px rgba(0,0,0,0.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.7;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle at 18% 20%,rgba(76,162,255,0.08) 0%,transparent 36%),radial-gradient(circle at 84% 24%,rgba(45,212,191,0.06) 0%,transparent 32%),radial-gradient(circle at 50% 82%,rgba(239,68,68,0.04) 0%,transparent 26%),url("data:image/svg+xml,%3Csvg width='60' height='52' viewBox='0 0 60 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 17.3v17.4L30 52 0 34.7V17.3z' fill='none' stroke='rgba(255,255,255,0.018)' stroke-width='1'/%3E%3C/svg%3E");background-size:auto,auto,auto,60px 52px;pointer-events:none;z-index:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
main,.site-footer,.nav-shell{position:relative}
main,.site-footer{z-index:1}
.container{width:min(1160px,calc(100% - 80px));margin:0 auto}

.auth-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(10,11,14,0.92);backdrop-filter:blur(6px)}
.auth-overlay.hidden{display:none}
.auth-box{background:var(--s1);border:1px solid var(--border-strong);border-radius:16px;padding:40px 44px;width:min(420px,calc(100% - 40px));box-shadow:var(--shadow)}
.auth-box::before{content:"";display:block;width:100%;height:2px;background:linear-gradient(90deg,var(--blue),var(--teal));margin-bottom:32px;border-radius:2px}
.auth-logo{width:260px;height:auto;margin:0 auto 28px;border-radius:8px;padding:10px 16px;background:rgba(255,255,255,0.06);box-shadow:0 8px 24px rgba(0,0,0,0.3)}
.auth-title{font-size:20px;font-weight:700;text-align:center;margin-bottom:6px;color:var(--text)}
.auth-sub{font-size:13px;color:var(--text-muted);text-align:center;font-family:var(--mono);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:28px}
.auth-field{margin-bottom:16px}
.auth-field label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-soft);margin-bottom:7px}
.auth-field input{width:100%;background:var(--s2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;color:var(--text);font-family:var(--sans);font-size:14px;transition:border-color 0.15s,box-shadow 0.15s}
.auth-field input:focus{outline:none;border-color:var(--blue-border);box-shadow:0 0 0 4px rgba(76,162,255,0.12)}
.auth-btn{width:100%;background:var(--blue);color:#fff;border:none;border-radius:6px;padding:12px;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;margin-top:8px;transition:background 0.15s,transform 0.15s}
.auth-btn:hover{background:#338ef2;transform:translateY(-1px)}
.auth-err{font-size:12px;color:var(--red);text-align:center;margin-top:10px;min-height:18px;font-family:var(--mono)}
.auth-conf-note{font-size:11px;color:var(--text-muted);text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);line-height:1.6}


/* NAV */
.nav-shell{position:fixed;top:0;left:0;right:0;height:var(--nav-h);backdrop-filter:blur(14px);background:rgba(13,14,17,0.92);border-bottom:1px solid var(--border);z-index:1000}
.nav{width:min(1240px,calc(100% - 48px));height:100%;margin:0 auto;display:flex;align-items:center;gap:28px}
.nav-home{flex-shrink:0}
.nav-wave{width:180px;height:auto;border-radius:6px;padding:5px 10px;background:rgba(255,255,255,0.06)}
.nav-links{display:flex;justify-content:center;gap:2px;flex:1}
.nav-link{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);padding:7px 10px;border-radius:4px;transition:color 0.15s,background 0.15s;white-space:nowrap}
.nav-link:hover,.nav-link.active{background:var(--s2);color:var(--text-soft)}
.nav-link.active{color:var(--blue)}
.nav-actions{display:flex;gap:8px;flex-shrink:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;border-radius:4px;border:1px solid transparent;font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;transition:transform 0.15s,border-color 0.15s,background 0.15s,color 0.15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 30px rgba(76,162,255,0.24)}
.btn-primary:hover{background:#338ef2}
.btn-outline{border-color:var(--blue-border);color:var(--blue);background:transparent}
.btn-outline:hover{background:var(--blue-bg)}
.btn-ghost{border-color:var(--border-strong);color:var(--text-soft);background:var(--s2)}
.btn-ghost:hover{background:var(--s3);color:var(--text)}
.btn-teal{background:rgba(45,212,191,0.15);color:var(--teal);border-color:var(--teal-border)}
.btn-teal:hover{background:rgba(45,212,191,0.22)}
main{padding-top:var(--nav-h)}
section{padding:88px 0}
section[id]{scroll-margin-top:calc(var(--nav-h) + 58px)}
.section-label{font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:8px;margin-bottom:14px}
.section-label::before{content:"";width:24px;height:1px;background:var(--text-muted)}
.section-label.centered{justify-content:center}
.section-label.centered::before,.section-label.centered::after{content:"";width:24px;height:1px;background:var(--text-muted)}
.section-heading{font-size:clamp(28px,3.8vw,44px);line-height:1.18;letter-spacing:-0.02em;font-weight:700;margin-bottom:16px}
.section-subhead{color:var(--text-soft);font-size:16px;max-width:680px}
hr.divider{border:none;border-top:1px solid var(--border);margin:0}

/* PAGE HEADER HERO (inner pages) */
.page-hero{padding:56px 0 48px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(19,21,26,0.6) 0%,transparent 100%)}
.page-hero-label{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
.page-hero-title{font-size:clamp(36px,5vw,60px);font-weight:700;letter-spacing:-0.03em;line-height:1;margin-bottom:12px}
.page-hero-title span{color:var(--blue)}
.page-hero-title em{color:var(--teal);font-style:normal}
.page-hero-sub{font-size:16px;color:var(--text-soft);max-width:680px}

/* CARDS */
.card{background:var(--s1);border:1px solid var(--border);border-radius:var(--radius);transition:border-color 0.18s,transform 0.18s}
.card:hover{border-color:var(--border-strong);transform:translateY(-2px)}
.card-accent-blue{border-left:3px solid var(--blue)}
.card-accent-teal{border-left:3px solid var(--teal)}
.card-accent-amber{border-left:3px solid var(--amber)}
.card-accent-green{border-left:3px solid var(--green)}
.card p:before{top:2px}

/* CHIPS */
.chip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:9px;letter-spacing:0.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--border)}
.chip-blue{color:var(--blue);border-color:var(--blue-border);background:var(--blue-bg)}
.chip-teal{color:var(--teal);border-color:var(--teal-border);background:var(--teal-bg)}
.chip-amber{color:var(--amber);border-color:var(--amber-border);background:var(--amber-bg)}
.chip-green{color:var(--green);border-color:rgba(34,197,94,0.3);background:var(--green-bg)}
.chip-muted{color:var(--text-muted);border-color:var(--border);background:var(--s2)}

/* TIMELINE */
.timeline-item{display:grid;grid-template-columns:100px 1fr;gap:0}
.timeline-time{padding:24px 20px 24px 0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.timeline-time-val{font-family:var(--mono);font-size:10px;letter-spacing:0.06em;color:var(--text-muted)}
.timeline-dur{font-family:var(--mono);font-size:9px;color:var(--text-muted);opacity:0.6;text-transform:uppercase}
.timeline-connector{width:1px;background:var(--border);position:relative;display:flex;justify-content:center}
.timeline-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--blue);background:var(--bg);position:absolute;left:50%;transform:translateX(-50%);top:30px}
.timeline-dot.teal{border-color:var(--teal)}
.timeline-dot.amber{border-color:var(--amber)}
.timeline-dot.red{border-color:var(--red)}
.timeline-dot.muted{border-color:var(--text-muted)}
.timeline-content{padding:24px 0 24px 24px;border-bottom:1px solid var(--border)}
.timeline-item:last-child .timeline-content{border-bottom:none}
.session-title{font-size:17px;font-weight:600;line-height:1.3;margin:8px 0 8px}
.session-desc{color:var(--text-soft);font-size:14px;line-height:1.6;max-width:700px}

/* FOOTER */
.site-footer{padding:24px 0 34px;border-top:1px solid var(--border)}
.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
.footer-logo{width:220px;height:auto;margin-bottom:14px;border-radius:6px;padding:6px 12px;background:rgba(255,255,255,0.05)}
.footer-small{color:var(--text-muted);font-size:12px;line-height:1.7}
.footer-conf{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--amber);opacity:0.7;margin-top:8px}
.footer-links{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.footer-links a{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);padding:6px 10px;border-radius:4px;transition:color 0.15s,background 0.15s}
.footer-links a:hover{background:var(--s2);color:var(--text-soft)}
.footer-seal{width:80px}

/* TABLE */
.budget-table{width:100%;border-collapse:collapse}
.budget-table th,.budget-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}
.budget-table th{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);background:var(--s2)}
.budget-table td:last-child{text-align:right;font-family:var(--mono);font-size:12px;color:var(--text-soft)}
.budget-table tr:hover td{background:rgba(255,255,255,0.02)}
.budget-total td{border-top:2px solid var(--teal-border);color:var(--teal)!important;font-weight:700;background:rgba(45,212,191,0.04)!important}
.budget-total td:first-child{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase}

/* RESPONSIVE */
@media(max-width:1100px){.container,.nav{width:calc(100% - 40px)}}
@media(max-width:780px){
  .container,.nav{width:calc(100% - 32px)}
  section{padding:64px 0}
  .nav-links,.nav-actions .btn-ghost{display:none}
  .nav-wave{width:140px}
  .timeline-item{grid-template-columns:80px 1fr}
  .timeline-content{padding:20px 0 20px 16px}
}

/* AUTH JS */
.site-content{transition:opacity 0.2s}
