@font-face{font-family:Manrope;src:url("/manrope.woff2") format("woff2");font-weight:700;font-display:swap}
:root{color-scheme:dark;--bg:#0d0d12;--surface:#15151d;--line:#292832;--text:#f6f3f7;--muted:#a6a1b0;--pink:#ff64aa;--green:#63dfb0;--cyan:#6dd9e8;--violet:#b8a0ff;--amber:#f0c47e;--red:#ff9aa3;--radius:16px}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:400 14px/1.55 system-ui,-apple-system,sans-serif}
a{color:var(--pink);text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.48;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #ffc0dd;outline-offset:3px}
h1,h2,h3,p{margin:0}
h1,h2,h3,.brand strong{font-family:Manrope,system-ui,sans-serif;font-weight:700}
h2{font-size:20px;letter-spacing:-.5px}
h3{font-size:20px;letter-spacing:-.55px}
strong{font-weight:650}
svg{width:19px;height:19px;flex:none;vertical-align:middle}
.muted{color:var(--muted)}
.small{font-size:12px}
.eyebrow{color:#ff9dca;font-size:10px;letter-spacing:.18em;font-weight:750}
.eyebrow i,.badge i{width:6px;height:6px;background:currentColor;border-radius:50%;display:inline-block;flex:none}
.eyebrow i{margin-right:5px;box-shadow:0 0 12px currentColor}
.shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:25px 14px 18px;background:#121218;border-right:1px solid #22212a}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);margin:0 4px 43px}
.brand img{width:42px;height:42px}
.brand div{display:grid;gap:1px}
.brand strong{font-size:17px;line-height:1.15;letter-spacing:-.3px}
.brand span{color:#ff98c7;font-size:9px;letter-spacing:.2em;font-weight:750}
.side-label{color:#8d8598;font-size:9px;font-weight:750;letter-spacing:.18em;padding:0 11px;margin-bottom:11px}
nav{display:grid;gap:5px}
nav a{display:flex;align-items:center;gap:10px;color:#aba5b5;font-weight:600;padding:11px 10px;border:1px solid transparent;border-radius:10px}
nav a:hover{background:#1c1a23;color:var(--text)}
nav a[aria-current]{background:#2b1b28;border-color:#42253a;color:#ff9ccb}
nav a svg{width:18px;height:18px}
.side-bottom{margin-top:auto;display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:15px 1px 0}
.owner-mark{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;background:#302336;color:#ff9ecb;font-weight:750;flex:none}
.side-bottom strong,.side-bottom small{display:block;white-space:nowrap}
.side-bottom small{font-size:10px;color:var(--muted)}
.side-bottom .icon-btn{margin-left:auto}
.topbar{height:64px;border-bottom:1px solid #25242e;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3vw,43px);color:#dad3de;font-weight:650;background:#111117}
.top-meta{display:flex;align-items:center;gap:14px}
.top-private{font-size:9px;letter-spacing:.15em;color:#a9a1b1}
main,footer{max-width:1560px;margin:auto;padding:27px clamp(20px,3vw,43px)}
main:focus{outline:none}
footer{padding-top:10px;padding-bottom:24px;color:#948b9f;font-size:10px;display:flex;justify-content:space-between;gap:12px}
footer b{color:#ff9dc9;margin-left:5px}
.hero{min-height:246px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 80% 45%,#3a1b33 0%,#211521 43%,#18151e 77%);border:1px solid #4a2942;border-radius:21px;display:flex;align-items:center;padding:29px 32px;margin-bottom:18px}
.hero-copy{position:relative;z-index:1}
.hero h1{font-size:clamp(42px,5vw,69px);letter-spacing:-.075em;line-height:.92;margin:14px 0 13px}
h1 span{color:var(--pink)}
.hero-copy>p:last-child{max-width:410px;color:#c5b7c7}
.hero-art{position:absolute;inset:-38% -3% -38% 49%;display:grid;place-items:center;pointer-events:none;isolation:isolate}
.hero-art img{width:min(61%,360px);height:auto;opacity:.96;filter:drop-shadow(0 0 17px #ff55a06d);transform:translateY(-2px)}
.orbit,.orbit-cross{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
.orbit{border:1px solid #c760a344;border-radius:50%;aspect-ratio:1}
.orbit-a{width:270px;box-shadow:0 0 65px #f3489b14 inset}
.orbit-b{width:335px;border-style:dashed}
.orbit-c{width:410px;opacity:.65}
.orbit-cross{width:100%;height:100%;z-index:-1;background:linear-gradient(90deg,transparent 49.8%,#c25b962c 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#c25b962c 50%,transparent 50.2%)}
.controls,.stat,.worker,.panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius)}
.controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;margin-bottom:16px}
.control-name{display:flex;align-items:center;gap:9px}
.controls p{color:var(--muted);font-size:12px;margin-top:4px}
.control-buttons{display:flex;gap:7px;flex-wrap:wrap}
.primary,.secondary,.danger,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:9px;min-height:39px;padding:7px 11px;font-size:12px;font-weight:750;white-space:nowrap}
.primary{background:#ff65ab;color:#26101b;border-color:#ff7db9}
.primary:not(:disabled):hover{background:#ff96c5}
.secondary{background:#20202a;color:#f0e9f3;border-color:#353340}
.secondary:not(:disabled):hover{background:#30303c}
.danger{background:#311b24;color:#ffb5bb;border-color:#59313e}
.danger:not(:disabled):hover{background:#492533}
.compact{min-height:31px;padding:4px 9px;font-size:11px}
.primary svg,.secondary svg,.danger svg,.link-button svg{width:15px;height:15px}
.icon-btn{display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);width:32px;height:32px;font-size:22px}
.icon-btn:hover{color:var(--text);background:#282530;border-color:#363141}
.icon-btn svg{width:16px;height:16px}
.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #383544;border-radius:99px;color:#c1b8cd;background:#211e2a;white-space:nowrap;padding:3px 8px;font-size:10px;font-weight:650;line-height:1.3}
.badge i{width:5px;height:5px}
.badge.green{color:var(--green);background:#172c28;border-color:#285044}
.badge.pink{color:#ffa7d0;background:#321d2b;border-color:#57354b}
.badge.amber{color:var(--amber);background:#2a231d;border-color:#4f3d26}
.badge.red{color:var(--red);background:#311e28;border-color:#58303f}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:23px}
.stat{padding:13px 14px}
.stat>div{display:flex;justify-content:space-between;align-items:center;gap:4px;color:#c0b9c9;font-size:12px;font-weight:650}
.stat svg{width:16px;height:16px;color:#ada3bd}
.stat.green svg{color:var(--green)}
.stat.pink svg{color:var(--pink)}
.stat.red svg{color:var(--red)}
.stat b{display:block;font-size:27px;font-family:Manrope,system-ui,sans-serif;line-height:1.15;margin:4px 0}
.stat small{font-size:11px;color:var(--muted)}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:22px}
.section-title h1{font-size:clamp(34px,4.3vw,54px);line-height:1.05;letter-spacing:-.065em;margin:8px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:11px;margin-bottom:12px}
.section-head p{font-size:12px;color:var(--muted)}
.section-head a{color:#ffa3cc;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;font-weight:650}
.section-head a svg{width:14px;height:14px}
.worker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.worker{padding:12px 13px;min-width:0}
.worker-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.worker-icon,.mini-icon{display:grid;place-items:center;border-radius:9px;width:37px;height:37px;color:var(--pink);background:#392237;flex:none}
.worker-icon.green,.mini-icon.green{color:var(--green);background:#1d332f}
.worker-icon.cyan,.mini-icon.cyan{color:var(--cyan);background:#1d313b}
.worker-icon.violet,.mini-icon.violet{color:var(--violet);background:#2e2445}
.worker-icon.amber,.mini-icon.amber{color:var(--amber);background:#382d22}
.worker-open{border-color:#302d3a}
.worker p{color:var(--muted);font-size:12px}
.worker-status{margin-top:8px}
.overview-section{margin-bottom:18px}
.bottom-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px}
.panel{padding:16px 17px;margin-bottom:13px;min-width:0}
.note{margin-top:16px;display:flex;align-items:center;gap:12px}
.note h2{font-size:15px}
.empty{display:grid;justify-items:center;text-align:center;gap:5px;padding:23px 12px;color:var(--muted);font-size:12px;border:1px dashed #3b3444;border-radius:11px;min-height:110px}
.empty svg{color:#e598c4}
.empty strong{color:#f2eaf3}
.health-row,.job-row,.provider-row,.log-row{display:grid;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line);min-width:0}
.health-row{grid-template-columns:minmax(0,1fr) auto}
.health-row strong,.job-row strong,.provider-row strong,.log-row strong{display:block;color:var(--text);font-size:13px}
.health-row small,.job-row small,.provider-row small,.log-row small{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.job-row{grid-template-columns:auto minmax(0,1fr) auto auto;width:100%;color:var(--muted);background:transparent;border-inline:0;border-bottom:0;text-align:left}
.job-row:hover{background:#201c27;color:var(--pink)}
.job-row>svg{width:14px;height:14px}
.mini-icon{width:31px;height:31px}
.mini-icon svg{width:16px;height:16px}
.provider-row,.log-row{grid-template-columns:auto minmax(0,1fr) auto}
.provider-row p{font-size:12px;color:var(--muted);margin-top:2px}
.log-row time{font-size:11px;color:var(--muted)}
.cohort{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:9px}
.cohort div{border:1px solid var(--line);padding:9px;border-radius:10px}
.cohort strong,.cohort small{display:block}
.cohort strong{font-size:22px}
.cohort small{font-size:11px;color:var(--muted)}
dialog,.auth-card{background:#18151f;color:var(--text);border:1px solid #51364c;border-radius:18px;padding:22px 24px;box-shadow:0 25px 75px #0008}
dialog{width:min(540px,calc(100% - 28px));max-height:90vh;max-height:90dvh}
dialog::backdrop{background:#08060cb0;backdrop-filter:blur(3px)}
.dialog-top,.dialog-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dialog-meta{justify-content:flex-start;font-size:11px;color:var(--muted);margin:7px 0}
dialog h2{font-size:28px;margin:1px 0 8px}
#dialog-body>p{margin-bottom:10px}
.dialog-role{color:#ffabd1;font-weight:650}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:11px;flex-wrap:wrap}
.output,.notice{padding:10px 12px;background:#211c29;border:1px solid #3a3146;border-radius:9px;margin:0 0 10px}
.output{white-space:pre-wrap;overflow-wrap:anywhere;max-height:45vh;overflow:auto}
.notice{color:#ebc5d9}
label{display:block;font-size:12px;font-weight:650;margin:9px 0 4px}
input,textarea{width:100%;color:var(--text);background:#100e16;border:1px solid #41364a;border-radius:8px;padding:9px 10px}
textarea{resize:vertical}
.form-error{font-size:12px;color:#ffabb5}
.form-error:empty{display:none}
.auth,.boot{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:22px}
.auth{background:radial-gradient(ellipse at center,#381a31 0,#15101a 48%,#0d0d12 80%)}
.auth-card{width:min(100%,390px);padding:25px 30px}
.auth-logo{width:146px;height:auto;display:block;margin:0 0 8px -7px}
.auth h1{font-size:47px;letter-spacing:-.07em;line-height:.94;margin:10px 0}
.auth form{margin-top:17px}
.full{width:100%;margin:13px 0 7px}
.toast{position:fixed;right:20px;bottom:20px;z-index:5;max-width:calc(100vw - 40px);padding:10px 13px;background:#271f2c;border:1px solid #5c3b55;border-radius:9px;box-shadow:0 10px 30px #0007}
.toast.error{color:var(--red)}
@media(max-width:1000px){
  .shell{grid-template-columns:172px minmax(0,1fr)}
  .hero{padding:23px 24px}
  .worker{padding:10px}
  .control-buttons{justify-content:flex-end}
}
@media(max-width:790px){
  .shell{display:block}
  .sidebar{position:static;height:auto;padding:10px 15px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;border-right:0;border-bottom:1px solid var(--line)}
  .brand{margin:0}
  .brand img{width:35px;height:35px}
  .side-label{display:none}
  nav{grid-row:2;grid-column:1/-1;display:flex;overflow:auto;gap:3px}
  nav a{flex:1;justify-content:center;white-space:nowrap;padding:6px 8px;font-size:11px;gap:4px}
  nav a svg{width:13px;height:13px}
  .side-bottom{grid-column:2;grid-row:1;border:0;padding:0;margin:0}
  .side-bottom>div:nth-child(2),.owner-mark{display:none}
  .topbar{height:44px}
  main{padding-top:16px}
  .hero{min-height:210px}
  .hero-art{left:47%}
}
@media(max-width:545px){
  .sidebar{padding-inline:10px}
  nav a{padding:6px 7px}
  nav a svg{display:none}
  .topbar,main,footer{padding-inline:13px}
  .top-private{display:none}
  .hero{min-height:220px;padding:18px}
  .hero-art{left:54%;opacity:.55}
  .hero-copy>p:last-child{max-width:235px}
  .controls{align-items:flex-start;flex-direction:column;padding:12px}
  .control-buttons{justify-content:flex-start}
  .stat-grid,.worker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .bottom-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .panel{padding:13px}
  .section-title{align-items:flex-start}
  .section-title .link-button{margin-top:13px}
  .log-row time{grid-column:2}
  .provider-row,.health-row{gap:6px}
}

.cycle-buttons{margin-top:12px;justify-content:flex-start}
.check-label{display:flex;align-items:center;gap:8px}
.check-label input{width:auto}

.cohort.business-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.sage-optional{margin-top:12px}
.sage-optional summary{cursor:pointer;color:#ffabd1}
@media(max-width:545px){.cohort.business-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.studio-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:13px}
.studio-card .section-head{align-items:flex-start}
.studio-card .control-buttons{flex-wrap:wrap}
.studio-poster{display:block;width:min(100%,290px);height:auto;margin:0 auto 15px;border:1px solid var(--line);border-radius:10px}
.studio-preview{display:block;width:min(100%,290px);max-height:56vh;max-height:56dvh;aspect-ratio:9/16;margin:0 auto;background:#08060c;border-radius:10px}
