:root{--bg:#07111d;--surface:#0e1b2b;--surface2:#132337;--line:#20364b;--text:#f2f7fb;--muted:#8fa5b9;--mint:#67e0cc;--mint2:#32bba7;--purple:#9b8cff;--amber:#ffc968;--red:#ff7a83;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}
button,input,select{font:inherit}
.hidden{display:none!important}
.app-shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:28px 18px;border-right:1px solid var(--line);background:#091421;display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;padding:0 9px 30px}
.brand strong,.brand small{display:block}
.brand small{color:var(--muted);font-size:11px;margin-top:3px}
.brand-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--mint),#1a887e);color:#05131a;font-size:30px;box-shadow:0 12px 35px #43d3be35}
.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:21px}
.sidebar nav{display:grid;gap:6px}
.nav{border:0;background:transparent;color:var(--muted);border-radius:11px;padding:12px 14px;text-align:left;font-weight:600;cursor:pointer}
.nav span{margin-left:10px}
.nav:hover,.nav.active{background:#14263a;color:#fff}
.nav.active{box-shadow:inset 3px 0 var(--mint)}
.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:20px 10px 0;display:flex;gap:10px;align-items:center}
.sidebar-footer strong,.sidebar-footer small{display:block;font-size:12px}
.sidebar-footer small{color:var(--muted);margin-top:3px}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px var(--mint)}
main{grid-column:2;padding:0 38px 60px;max-width:1600px;width:100%;margin:0 auto}
.topbar{height:112px;display:flex;align-items:center;justify-content:space-between}
.topbar h1{margin:4px 0 0;font-size:25px}
.eyebrow{letter-spacing:.16em;font-size:10px;font-weight:800;color:var(--mint);margin:0}
.top-actions{display:flex;gap:10px;align-items:center}
.top-actions select,.icon-button{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 13px}
.icon-button{cursor:pointer;font-size:19px}
.avatar{width:40px;height:40px;border-radius:50%;border:1px solid #3b576e;background:linear-gradient(135deg,#29455f,#14283b);color:white;font-weight:800;cursor:pointer}
.view{display:none}
.view.active{display:block}
.hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;border:1px solid #284159;border-radius:22px;padding:34px;background:radial-gradient(circle at 85% 0,#224459 0,transparent 42%),linear-gradient(135deg,#0f2232,#0b1725);overflow:hidden}
.hero h2{font-size:38px;line-height:1.08;margin:14px 0}
.hero h2 em{font-style:normal;color:var(--mint)}
.hero p{color:var(--muted);margin:0}
.live-pill{display:inline-flex;gap:8px;align-items:center;padding:7px 10px;border-radius:999px;background:#63d9c717;color:var(--mint);font-size:11px;font-weight:800}
.live-pill i{width:7px;height:7px;background:var(--mint);border-radius:50%}
.hero-score{width:260px;background:#08131fb5;padding:20px;border:1px solid #2c4b61;border-radius:17px}
.hero-score small{color:var(--muted)}
.hero-score strong{font-size:38px;display:block;margin:7px 0}
.hero-score strong span{font-size:16px;color:var(--muted)}
.hero-score p{font-size:12px;margin-top:11px}
.progress{height:6px;background:#1d3445;border-radius:999px;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--mint2),var(--mint));border-radius:inherit}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.kpi{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:20px}
.kpi small,.kpi span{display:block;color:var(--muted)}
.kpi strong{display:block;font-size:30px;margin:9px 0}
.kpi span{font-size:11px}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 330px;gap:16px;margin-top:16px}
.dashboard-grid.lower{grid-template-columns:1fr 1fr 330px}
.span-2{grid-column:span 2}
.panel{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:21px}
.panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.panel h3{margin:4px 0 0;font-size:17px}
.data-badge{color:var(--muted);font-size:10px;border:1px solid var(--line);border-radius:999px;padding:6px 9px}
.chart-empty{height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.chart-empty:before{content:"";position:absolute;inset:10px 0;background:repeating-linear-gradient(0deg,transparent 0 41px,#1b3044 42px),repeating-linear-gradient(90deg,transparent 0 80px,#152a3c 81px);opacity:.75}
.chart-empty>*{position:relative}
.chart-empty strong{margin-top:70px}
.chart-empty p{color:var(--muted);font-size:12px}
.audience-real{min-height:210px}
.chart-summary{display:flex;gap:34px;margin-bottom:8px}
.chart-summary small,.chart-summary strong{display:block}
.chart-summary small{font-size:9px;letter-spacing:.1em;color:var(--muted)}
.chart-summary strong{font-size:18px;margin-top:5px}
.audience-real svg{width:100%;height:145px;overflow:visible}
.audience-real svg line{stroke:#294056;stroke-width:1}
.audience-real svg polyline{fill:none;stroke:var(--mint);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 9px #67e0cc55)}
.chart-dates{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}
.chart-line{position:absolute;top:74px;width:80%;height:60px;transform:skewY(-7deg);border-top:3px solid var(--mint);filter:drop-shadow(0 0 10px #67e0cc55)}
.chart-line i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--mint);top:-5px}
.chart-line i:nth-child(1){left:0}
.chart-line i:nth-child(2){left:16%;top:7px}
.chart-line i:nth-child(3){left:33%;top:-2px}
.chart-line i:nth-child(4){left:50%;top:10px}
.chart-line i:nth-child(5){left:66%;top:-8px}
.chart-line i:nth-child(6){left:83%;top:3px}
.chart-line i:nth-child(7){right:0;top:-10px}
.intelligence-card{background:linear-gradient(160deg,#121f33,#161c34)}
.spark{font-size:25px;color:var(--purple)}
#ai-summary{min-height:165px}
#ai-summary p{color:#b8c7d5;line-height:1.6;font-size:13px}
#ai-summary strong{display:block;margin-bottom:8px}
.primary,.secondary{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}
.primary{background:var(--mint);color:#06131a}
.secondary{width:100%;background:#8d7fff1d;color:#c0b8ff;border:1px solid #6d62c966}
.text-button{border:0;background:transparent;color:var(--mint);cursor:pointer}
.video-list{display:grid}
.video-row{display:grid;grid-template-columns:44px 1fr auto auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #1e3346}
.video-row:first-child{border-top:0}
.video-thumb{width:44px;height:52px;border-radius:8px;background:linear-gradient(145deg,#dffcf7,#2e847b);display:grid;place-items:center;color:#07111d;font-weight:900}
.video-row strong,.video-row small{display:block}
.video-row small{color:var(--muted);margin-top:4px}
.status{font-size:10px;font-weight:800;border-radius:999px;padding:6px 8px;text-transform:uppercase}
.status.public{background:#5ce2be1c;color:var(--mint)}
.status.scheduled{background:#9b8cff1f;color:#bcb4ff}
.status.private{background:#ffffff10;color:#aebcca}
.integration{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #1e3346;padding:13px 0}
.integration:first-child{border:0}
.integration strong,.integration small{display:block}
.integration small{color:var(--muted);font-size:10px;margin-top:3px}
.integration b{font-size:10px;color:var(--amber)}
.integration b.ok{color:var(--mint)}
.evidence-note{font-size:11px;color:var(--muted);margin:18px 0 0;line-height:1.5}
.section-intro{display:flex;justify-content:space-between;align-items:flex-end;margin:10px 0 22px}
.section-intro h2{font-size:30px;margin:0 0 6px}
.section-intro p{color:var(--muted);margin:0}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;text-align:left}
th{font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding:12px}
td{padding:15px 12px;border-top:1px solid var(--line);font-size:13px}
td strong,td small{display:block}
td small{color:var(--muted);margin-top:4px}
.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.calendar-item{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:18px;position:relative}
.calendar-item .date{font-size:11px;color:var(--mint);font-weight:800}
.calendar-item h3{font-size:15px;line-height:1.4}
.calendar-item:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--mint);border-radius:16px 0 0 16px}
.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.recommendation{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:20px}
.recommendation .score{font-size:11px;color:var(--mint);font-weight:800}
.recommendation h3{line-height:1.4}
.recommendation p{color:var(--muted);font-size:13px;line-height:1.6}
.methodology{margin-top:16px}
.methodology p{color:var(--muted);line-height:1.7}
.empty-state{text-align:center;padding:70px 20px}
.empty-state>span{font-size:38px;color:var(--mint)}
.empty-state p{max-width:590px;margin:10px auto;color:var(--muted);line-height:1.6}
.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#193c50,transparent 38%),var(--bg);padding:20px}
.login-card{width:min(430px,100%);background:#0c1a29e8;border:1px solid #2b4b61;border-radius:24px;padding:38px;box-shadow:0 30px 100px #0008}
.login-card .brand-mark{margin-bottom:24px}
.login-card h1{font-size:30px;margin:7px 0}
.login-card>p:not(.eyebrow){color:var(--muted)}
.login-card form{display:grid;gap:16px;margin-top:27px}
.login-card label{font-size:12px;color:#bac8d6}
.login-card input{display:block;width:100%;margin-top:7px;padding:13px;border-radius:10px;border:1px solid #2b4357;background:#08131f;color:white}
.error{color:var(--red)!important;min-height:18px;font-size:12px}
.finance{grid-template-columns:repeat(3,1fr)}
.secondary.compact{width:auto}
.button-group{display:flex;gap:10px;align-items:center}
.status.review,.status.candidate{background:#ffc9681a;color:var(--amber)}
.backlog{margin-top:16px}
.event-list{display:grid}
.event-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.event-row:first-child{border-top:0}
.event-row strong,.event-row small{display:block}
.event-row small{color:var(--muted);font-size:11px;margin-top:5px}
.money{font-size:15px}
.money.cost{color:var(--red)}
.money.revenue{color:var(--mint)}
.inline-empty{color:var(--muted);padding:22px 0;text-align:center;font-size:13px}
.missing-data{display:block;color:var(--amber);font-size:10px;line-height:1.5;margin-top:12px}
.toast{position:fixed;right:24px;bottom:24px;z-index:30;max-width:420px;padding:14px 18px;border-radius:12px;background:#10302e;border:1px solid #4bb7a7;color:#dffff9;box-shadow:0 18px 60px #0008;font-size:13px}
.toast.error{background:#351b25;border-color:#9a4b61;color:#ffdbe4}
.legal-links{margin:18px 0 0!important;text-align:center;font-size:12px}
.legal-links a,.legal-shell a{color:var(--mint)}
.legal-page{background:radial-gradient(circle at 50% 0,#193c50,transparent 35%),var(--bg)}
.legal-shell{display:block;max-width:820px;margin:0 auto;padding:64px 26px 90px}
.legal-shell>.eyebrow{margin-top:54px}
.legal-shell h1{font-size:42px;margin:10px 0}
.legal-shell h2{font-size:19px;margin:0 0 10px}
.legal-shell section{padding:22px 0;border-top:1px solid var(--line)}
.legal-shell p{color:#b7c6d4;line-height:1.75}
.legal-shell .legal-updated{color:var(--muted);margin-bottom:38px}
dialog{width:min(560px,calc(100% - 32px));border:1px solid #315169;border-radius:20px;background:#0c1a29;color:var(--text);padding:0;box-shadow:0 30px 100px #000b}
dialog::backdrop{background:#020811cc;backdrop-filter:blur(4px)}
#entry-form{padding:26px}
#entry-form>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
#entry-form h2{margin:5px 0 0}
.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dialog-fields label{font-size:12px;color:#bac8d6}
.dialog-fields label:first-child,.dialog-fields label:last-child{grid-column:span 2}
.dialog-fields input,.dialog-fields select,.dialog-fields textarea{display:block;width:100%;margin-top:7px;padding:12px;border-radius:10px;border:1px solid #2b4357;background:#08131f;color:white}
.dialog-fields textarea{min-height:92px;resize:vertical}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
@media(max-width:1000px){.app-shell{grid-template-columns:78px 1fr}
.sidebar{width:78px;padding:24px 10px}
.brand>div,.nav span,.sidebar-footer div{display:none}
.brand{padding:0 10px 25px}
.nav{text-align:center}
.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}
.span-2{grid-column:auto}
.kpi-grid{grid-template-columns:repeat(2,1fr)}
main{padding:0 20px 50px}
.recommendation-grid{grid-template-columns:1fr}
}
@media(max-width:650px){.hero{display:block}
.hero-score{width:100%;margin-top:24px}
.hero h2{font-size:30px}
.kpi-grid,.finance{grid-template-columns:1fr}
.top-actions select{display:none}
.video-row{grid-template-columns:40px 1fr auto}
.video-row>a{display:none}
.section-intro{align-items:flex-start;gap:16px;flex-direction:column}
.dialog-fields{grid-template-columns:1fr}
.dialog-fields label:first-child,.dialog-fields label:last-child{grid-column:span 1}
}
