:root{
  --bg:#07101c;--bg2:#091522;--panel:#0d1827;--panel2:#101f31;--panel3:#13263b;
  --ink:#edf3f8;--muted:#91a0b2;--line:#24364a;--line2:#31465d;
  --green:#67c796;--green2:#9ae1b7;--amber:#d8b465;--red:#d87983;--blue:#78b8ea;--violet:#b29adf;
  --shadow:0 24px 80px rgba(0,0,0,.34);--r:16px;--r2:22px;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 70% -20%,#142945 0,#07101c 42%,#050b12 100%);color:var(--ink);font-family:var(--sans)}
body{min-height:100vh}.mono{font-family:var(--mono)}button,input,select,textarea{font:inherit}button{cursor:pointer}
.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:16px;padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(5,11,18,.88);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:11px;min-width:230px}.mark{width:34px;height:34px;border:1px solid rgba(103,199,150,.7);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 30px rgba(103,199,150,.13) inset,0 0 20px rgba(103,199,150,.1)}
.mark::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 16px rgba(103,199,150,.7)}
.brand h1{font-size:13px;letter-spacing:.15em;margin:0;text-transform:uppercase}.brand small{display:block;color:var(--muted);font:10px var(--mono);letter-spacing:.08em;margin-top:3px}
.context{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.context .chip,.role-switch button,.ghost,.icon-btn{background:rgba(13,24,39,.7);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 10px;font:10px var(--mono);letter-spacing:.04em}
.context .chip strong{color:var(--ink)}.role-switch{display:flex;gap:6px}.role-switch button.active{border-color:rgba(103,199,150,.55);color:var(--green2);background:rgba(103,199,150,.08)}
.command-btn{min-width:150px;text-align:left}.system-dot{color:var(--green2)}
.navbar{display:flex;gap:6px;max-width:1600px;margin:0 auto;padding:13px 18px 0;overflow:auto;scrollbar-width:none}.navbar::-webkit-scrollbar{display:none}.navbtn{white-space:nowrap;border:1px solid transparent;background:transparent;color:#7f8fa3;padding:9px 11px;border-radius:10px;font:10px var(--mono);letter-spacing:.07em;text-transform:uppercase}.navbtn:hover{color:var(--ink);border-color:var(--line)}.navbtn.active{color:var(--green2);background:rgba(103,199,150,.07);border-color:rgba(103,199,150,.22);box-shadow:0 10px 35px rgba(0,0,0,.15)}
.main{max-width:1600px;margin:auto;padding:18px}.surface-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 18px}.eyebrow{font:10px var(--mono);letter-spacing:.14em;color:var(--green2);text-transform:uppercase}.surface-head h2{font-size:28px;line-height:1.05;margin:7px 0 4px;font-weight:650}.surface-head p{color:var(--muted);margin:0;max-width:760px;font-size:13px;line-height:1.5}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line2);background:linear-gradient(180deg,#14263a,#0d1928);color:var(--ink);border-radius:10px;padding:9px 12px;font-size:12px}.btn:hover{border-color:#47627e}.btn.primary{border-color:rgba(103,199,150,.55);background:linear-gradient(180deg,rgba(103,199,150,.18),rgba(103,199,150,.08));color:var(--green2)}.btn.danger{border-color:rgba(216,121,131,.5);color:#efadb4;background:rgba(216,121,131,.07)}
.grid{display:grid;gap:14px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-rail{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.layout-split{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.panel{position:relative;background:linear-gradient(180deg,rgba(16,31,49,.88),rgba(10,20,32,.92));border:1px solid rgba(86,112,141,.26);border-radius:var(--r);box-shadow:0 18px 50px rgba(0,0,0,.13);overflow:hidden}.panel:hover{border-color:rgba(102,136,169,.34)}.panel-pad{padding:15px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.055);font:10px var(--mono);letter-spacing:.11em;color:#a9b7c7;text-transform:uppercase}.panel-title .mini{font-size:9px;color:#71849a}.subtle{color:var(--muted)}
.metric{padding:16px;min-height:120px}.metric .k{font:10px var(--mono);letter-spacing:.1em;color:#8798aa;text-transform:uppercase}.metric .v{font-size:31px;line-height:1;margin:15px 0 8px}.metric .d{font:11px var(--mono);color:var(--green2)}.metric .d.warn{color:var(--amber)}.metric .d.bad{color:#efadb4}
.action-list{display:flex;flex-direction:column}.action-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.05)}.action-row:last-child{border-bottom:0}.sig{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(103,199,150,.45)}.sig.warn{background:var(--amber);box-shadow:0 0 12px rgba(216,180,101,.35)}.sig.bad{background:var(--red);box-shadow:0 0 12px rgba(216,121,131,.4)}.sig.info{background:var(--blue);box-shadow:0 0 12px rgba(120,184,234,.35)}.action-row strong{font-size:12px}.action-row small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.row-action{font:9px var(--mono);letter-spacing:.08em;color:var(--green2);text-transform:uppercase}
.state-rail{position:sticky;top:126px;height:max-content}.state-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.045);font:10px var(--mono);letter-spacing:.05em}.state-row:last-child{border:0}.state{display:inline-flex;align-items:center;gap:7px}.state i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(103,199,150,.45)}.state.warn i{background:var(--amber)}.state.bad i{background:var(--red)}.state.info i{background:var(--blue)}
.timeline{padding:5px 15px 15px}.event{display:grid;grid-template-columns:52px 14px minmax(0,1fr);gap:9px;min-height:46px}.event .time{font:9px var(--mono);color:#6f8297;padding-top:8px}.event .line{position:relative}.event .line::before{content:"";position:absolute;left:6px;top:0;bottom:0;width:1px;background:#24374c}.event .line::after{content:"";position:absolute;left:3px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--green)}.event.warn .line::after{background:var(--amber)}.event.bad .line::after{background:var(--red)}.event .copy{padding:6px 0 10px;font-size:12px}.event .copy small{display:block;color:var(--muted);margin-top:3px}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{text-align:left;color:#7890a6;font:9px var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--line)}.table td{padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.045);white-space:nowrap}.table tr:hover td{background:rgba(255,255,255,.018)}.tag{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:4px 7px;font:9px var(--mono);letter-spacing:.04em}.tag.good{color:var(--green2);border-color:rgba(103,199,150,.3);background:rgba(103,199,150,.06)}.tag.warn{color:#ecd195;border-color:rgba(216,180,101,.3);background:rgba(216,180,101,.05)}.tag.bad{color:#efadb4;border-color:rgba(216,121,131,.3);background:rgba(216,121,131,.05)}.tag.info{color:#a8d8fa;border-color:rgba(120,184,234,.3);background:rgba(120,184,234,.05)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;font:9px var(--mono);letter-spacing:.08em;color:#7e90a4;text-transform:uppercase;margin-bottom:6px}.input,.select,.textarea{width:100%;background:#09131f;border:1px solid #25394f;color:var(--ink);border-radius:9px;padding:10px 11px;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#4b6988}.textarea{min-height:90px;resize:vertical}.control-list{display:flex;flex-direction:column}.control-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05)}.control-line:last-child{border:0}.control-line strong{font-size:12px}.control-line small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.value{font:10px var(--mono);letter-spacing:.04em;color:#b8c6d5}.toggle{width:40px;height:22px;border-radius:999px;border:1px solid #33475d;background:#0a1420;position:relative;display:inline-block;vertical-align:middle}.toggle::after{content:"";position:absolute;width:14px;height:14px;left:4px;top:3px;border-radius:50%;background:#708297;transition:.16s}.toggle.on{border-color:rgba(103,199,150,.55);background:rgba(103,199,150,.08)}.toggle.on::after{left:20px;background:var(--green);box-shadow:0 0 12px rgba(103,199,150,.45)}
.segment{display:flex;gap:3px;background:#08121d;border:1px solid var(--line);border-radius:10px;padding:3px}.segment button{border:0;background:transparent;color:#788da2;border-radius:7px;padding:7px 10px;font:9px var(--mono);letter-spacing:.06em}.segment button.active{background:#16283b;color:var(--ink)}
.calendar{min-width:920px}.cal-head,.cal-row{display:grid;grid-template-columns:120px repeat(6,minmax(125px,1fr));border-bottom:1px solid rgba(255,255,255,.045)}.cal-head>div{padding:9px;font:9px var(--mono);color:#788da2}.cal-row{min-height:95px}.cal-label{padding:11px;font-size:11px;border-right:1px solid rgba(255,255,255,.045)}.cal-cell{position:relative;border-right:1px solid rgba(255,255,255,.045);padding:6px}.booking{border:1px solid rgba(120,184,234,.28);background:linear-gradient(180deg,rgba(120,184,234,.11),rgba(120,184,234,.04));border-radius:9px;padding:8px;font-size:10px;min-height:62px}.booking.green{border-color:rgba(103,199,150,.28);background:rgba(103,199,150,.07)}.booking.amber{border-color:rgba(216,180,101,.28);background:rgba(216,180,101,.07)}.booking b{display:block;font-size:11px;margin-bottom:5px}.booking span{color:var(--muted)}
.relation{position:relative;min-height:360px;background:radial-gradient(circle at 50% 48%,rgba(103,199,150,.06),transparent 34%)}.node{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center;border-radius:50%;border:1px solid #2a435b;background:rgba(8,18,29,.92);box-shadow:0 18px 45px rgba(0,0,0,.25)}.node.main{width:108px;height:108px;left:50%;top:48%;border-color:rgba(103,199,150,.48);box-shadow:0 0 50px rgba(103,199,150,.09)}.node.sm{width:82px;height:82px}.node .n1{font-size:11px}.node .n2{font:9px var(--mono);color:var(--muted);margin-top:3px}.link{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#35526d,transparent);transform-origin:left center}
.flow{display:flex;align-items:center;gap:8px;overflow:auto;padding:16px}.flow-node{min-width:150px;border:1px solid var(--line);background:#0b1724;border-radius:12px;padding:12px}.flow-node strong{font-size:11px}.flow-node small{display:block;color:var(--muted);margin-top:5px}.arrow{color:#50677e;font:18px var(--mono)}
.phone-stage{display:grid;grid-template-columns:repeat(2,minmax(330px,410px));gap:28px;justify-content:center;align-items:start;padding:12px 0 40px}.phone{background:#050b12;border:1px solid #25384c;border-radius:34px;padding:9px;box-shadow:0 35px 90px rgba(0,0,0,.4);min-height:780px;position:relative}.phone::before{content:"";display:block;width:88px;height:22px;border-radius:0 0 14px 14px;background:#03070c;position:absolute;top:9px;left:50%;transform:translateX(-50%);z-index:5}.phone-screen{min-height:760px;border-radius:27px;overflow:hidden;background:linear-gradient(180deg,#0a1624,#07101c);border:1px solid rgba(255,255,255,.035);display:flex;flex-direction:column}.m-top{padding:37px 17px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05)}.m-top strong{font:11px var(--mono);letter-spacing:.09em}.m-content{padding:14px 14px 80px;flex:1;overflow:hidden}.m-nav{position:absolute;left:10px;right:10px;bottom:9px;height:62px;background:rgba(8,18,29,.96);border-top:1px solid #203248;border-radius:0 0 27px 27px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px}.m-nav button{border:0;background:transparent;color:#71859a;font:9px var(--mono)}.m-nav button.active{color:var(--green2)}.m-card{background:linear-gradient(180deg,rgba(16,31,49,.86),rgba(10,20,32,.92));border:1px solid rgba(86,112,141,.24);border-radius:15px;padding:13px;margin-bottom:10px}.m-card h3{font-size:14px;margin:0 0 5px}.m-card p{font-size:11px;color:var(--muted);margin:0}.m-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.m-kpi{padding:12px;border:1px solid rgba(86,112,141,.22);border-radius:14px;background:#0c1928}.m-kpi b{font-size:22px}.m-kpi span{display:block;font:8px var(--mono);color:#8193a6;margin-top:5px}.m-action{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}.m-action:last-child{border:0}.m-action strong{font-size:11px}.m-action span{font:9px var(--mono);color:var(--green2)}
.client-hero{text-align:center;padding:18px 0}.orb{width:84px;height:84px;border-radius:50%;margin:0 auto 11px;border:1px solid rgba(103,199,150,.45);display:grid;place-items:center;background:radial-gradient(circle,rgba(103,199,150,.14),rgba(103,199,150,.02));box-shadow:0 0 40px rgba(103,199,150,.08)}.orb b{font-size:25px}.client-hero h3{margin:0;font-size:17px}.client-hero p{font:9px var(--mono);color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(2,6,10,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.modal{width:min(720px,100%);max-height:86vh;overflow:auto;background:#0b1724;border:1px solid #30485f;border-radius:20px;box-shadow:var(--shadow)}.modal .mh{padding:16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal .mb{padding:16px}.cmd{width:min(760px,100%);align-self:start;margin-top:10vh}.search{width:100%;padding:16px 17px;border:0;border-bottom:1px solid var(--line);background:#09131f;color:var(--ink);font-size:16px;outline:none}.cmd-result{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.cmd-result:hover{background:rgba(103,199,150,.05)}.toast{position:fixed;right:18px;bottom:18px;z-index:120;background:#102031;border:1px solid rgba(103,199,150,.4);border-radius:12px;padding:12px 14px;color:var(--green2);font:10px var(--mono);box-shadow:var(--shadow)}
footer.audit{max-width:1600px;margin:0 auto;padding:0 18px 30px;color:#5f7286;font:9px var(--mono);letter-spacing:.05em}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.layout-rail,.layout-split{grid-template-columns:1fr}.state-rail{position:static}.phone-stage{grid-template-columns:minmax(320px,410px)}}
@media(max-width:720px){.topbar{flex-wrap:wrap}.brand{min-width:0}.context{order:3;width:100%}.context .chip:nth-child(n+2){display:none}.command-btn{min-width:auto}.main{padding:12px}.surface-head{align-items:flex-start;flex-direction:column}.surface-head h2{font-size:24px}.g4,.g3,.g2,.form-grid{grid-template-columns:1fr}.phone-stage{grid-template-columns:1fr}.phone{max-width:410px;width:100%;margin:auto}.role-switch button{padding:7px 8px}}

/* Authentication + billing aesthetic-pass surfaces */
.auth-modal{width:min(1040px,100%)}
.auth-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.auth-grid.lower{margin-top:14px;grid-template-columns:1fr 1fr}
.auth-panel{background:linear-gradient(180deg,rgba(16,31,49,.86),rgba(8,18,29,.94));border:1px solid rgba(86,112,141,.26);border-radius:16px;padding:18px}.primary-auth{border-color:rgba(103,199,150,.28);box-shadow:0 0 40px rgba(103,199,150,.05) inset}
.auth-panel h2,.auth-panel h3{margin:7px 0 15px}.auth-panel label{display:block;font:9px var(--mono);letter-spacing:.08em;color:#7e90a4;text-transform:uppercase;margin:11px 0 6px}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px}.checkline{display:flex!important;align-items:center;gap:7px!important;margin:0!important;text-transform:none!important;letter-spacing:0!important}.linkish{font:9px var(--mono);color:var(--green2)}
.divider{display:flex;align-items:center;gap:10px;margin:15px 0}.divider::before,.divider::after{content:"";height:1px;background:var(--line);flex:1}.divider span{font:8px var(--mono);color:#63778d}
.provider{width:100%;text-align:left;margin:6px 0;border:1px solid var(--line);background:#0a1420;color:var(--ink);border-radius:10px;padding:10px 12px;font:10px var(--mono);letter-spacing:.05em}.provider:hover{border-color:#49647f;background:#0d1b2a}
.boundary{margin-top:13px;padding:10px 11px;border:1px dashed rgba(120,184,234,.28);border-radius:10px;background:rgba(120,184,234,.035);color:#8297ab;font:9px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.role-cards{display:grid;grid-template-columns:1fr;gap:7px;margin:12px 0}.role-card{border:1px solid var(--line);background:#09131f;color:var(--ink);border-radius:11px;padding:11px;text-align:left;font:10px var(--mono);letter-spacing:.06em}.role-card small{display:block;color:var(--muted);font:10px var(--sans);letter-spacing:0;margin-top:5px}.role-card.active{border-color:rgba(103,199,150,.38);background:rgba(103,199,150,.05);color:var(--green2)}
.otp{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:12px 0}.otp input{min-width:0;text-align:center;background:#09131f;border:1px solid #2a4056;color:var(--ink);border-radius:9px;padding:11px 4px;font:700 17px var(--mono)}
.notice-strip{margin-top:12px;padding:11px 12px;border-left:2px solid var(--blue);background:rgba(120,184,234,.045);color:#9cb0c4;font-size:11px;line-height:1.5;border-radius:0 10px 10px 0}
.checkout-grid{display:grid;grid-template-columns:1fr .9fr;gap:18px}.checkout-item{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.05)}.checkout-item strong{font-size:13px}.checkout-item small{display:block;color:var(--muted);margin-top:4px}.total-line{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font:10px var(--mono);letter-spacing:.08em}.total-line strong{font-size:24px;color:var(--green2);letter-spacing:0}
.payment-card{border:1px solid rgba(103,199,150,.22);background:rgba(103,199,150,.035);border-radius:15px;padding:15px}.fake-card{min-height:155px;border:1px solid #35516d;border-radius:16px;padding:18px;margin:12px 0 14px;background:radial-gradient(circle at 80% 20%,rgba(120,184,234,.15),transparent 30%),linear-gradient(145deg,#172b41,#0b1724);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 20px 40px rgba(0,0,0,.22)}.fake-card small{font:10px var(--mono);letter-spacing:.15em;color:#abc2d7}.fake-card b{font:17px var(--mono);letter-spacing:.08em}.fake-card span{font:9px var(--mono);color:#8da0b4}
.payment-method{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0a1521;margin-bottom:9px}.payment-method>div{display:flex;align-items:center;gap:11px}.payment-method strong{font-size:12px}.payment-method small{display:block;color:var(--muted);margin-top:3px}.active-method{border-color:rgba(103,199,150,.3)}.card-icon{width:46px;height:30px;border:1px solid #35516d;border-radius:7px;display:grid;place-items:center;font:8px var(--mono);color:#b8cee0;background:#112236}
@media(max-width:820px){.auth-grid,.auth-grid.lower,.checkout-grid{grid-template-columns:1fr}.auth-modal{align-self:start;margin-top:2vh}}

/* Backend transfer spine */
.spine-map{overflow:auto}.spine-flow{min-width:1080px;padding:24px;display:grid;grid-template-columns:1fr 50px 1fr 50px 1.25fr 50px 1fr;gap:8px;align-items:center;background:radial-gradient(circle at 50% 50%,rgba(103,199,150,.045),transparent 42%)}.spine-col{display:grid;gap:9px}.spine-arrow{font:26px var(--mono);color:#405b74;text-align:center}.spine-node{border:1px solid #2e465e;background:linear-gradient(180deg,#102235,#0a1623);border-radius:13px;padding:13px;min-height:68px;display:flex;flex-direction:column;justify-content:center}.spine-node.primary{border-color:rgba(103,199,150,.45);box-shadow:0 0 38px rgba(103,199,150,.06)}.spine-node.provider{border-color:rgba(120,184,234,.34)}.spine-node strong{font:10px var(--mono);letter-spacing:.08em;color:#dce8f2}.spine-node small{display:block;margin-top:6px;color:#8094a8;font-size:10px}.spine-mini{text-align:center;color:#667d94;font:8px/1.6 var(--mono);letter-spacing:.05em}.routes .spine-node{min-height:54px}.invariant-list{display:grid;gap:9px}.invariant{display:grid;grid-template-columns:14px 1fr;gap:8px;align-items:start;font-size:11px;color:#a8b7c7;line-height:1.45}.invariant i{width:7px;height:7px;border-radius:50%;background:var(--green);margin-top:4px;box-shadow:0 0 10px rgba(103,199,150,.4)}.contract-kpi{border:1px solid rgba(86,112,141,.24);border-radius:13px;padding:14px;background:#0a1623}.contract-kpi b{font:700 25px var(--mono);color:var(--green2)}.contract-kpi span{display:block;margin-top:5px;font:8px var(--mono);letter-spacing:.08em;color:#73889d}


/* Netlify field-audit mobile hardening */
html{-webkit-text-size-adjust:100%}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
button,.btn,.navbtn,.role-switch button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.topbar{padding-top:calc(13px + env(safe-area-inset-top))}
footer.audit{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
@media(max-width:720px){
  .topbar{gap:9px;padding-left:12px;padding-right:12px}
  .brand{width:100%;flex:1 0 100%}
  .role-switch{order:2;width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .role-switch button{width:100%;text-align:center}
  .command-btn{flex:1 1 auto}
  .navbar{padding-left:12px;padding-right:12px;padding-top:9px}
  .surface-head{margin-top:4px}
}

/* v0.4 · stateful schedule + Theater/Ledger deliberate-action inheritance */
.schedule-nav{display:flex;align-items:center;gap:7px;margin:-5px 0 14px;flex-wrap:wrap}.date-btn{border:1px solid var(--line);background:#0b1724;color:var(--muted);border-radius:9px;padding:7px 10px;font:9px var(--mono);letter-spacing:.06em}.date-btn:hover{color:var(--ink);border-color:#47627e}.date-btn.today{color:var(--green2);border-color:rgba(103,199,150,.3)}.schedule-range{margin-left:7px;font:11px var(--mono);letter-spacing:.07em;color:var(--ink)}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));gap:0;min-width:980px}.week-day{min-height:360px;text-align:left;border:0;border-right:1px solid rgba(255,255,255,.05);background:transparent;color:var(--ink);padding:10px;display:flex;flex-direction:column;gap:8px}.week-day:hover,.week-day.selected{background:rgba(103,199,150,.045)}.week-date{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);color:var(--muted)}.week-date span{font-size:18px;color:var(--ink)}.week-event{border:1px solid rgba(120,184,234,.24);background:rgba(120,184,234,.05);border-radius:9px;padding:8px;display:grid;gap:3px}.week-event strong{font:9px var(--mono);color:var(--green2)}.week-event span{font-size:10px}.week-event small{color:var(--muted);font-size:9px}.week-empty{font:9px var(--mono);color:#566a7e;padding:12px 0}
.month-head,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-head>div{padding:9px;border-bottom:1px solid rgba(255,255,255,.05);font:9px var(--mono);color:var(--muted)}.month-day{min-height:125px;text-align:left;border:0;border-right:1px solid rgba(255,255,255,.045);border-bottom:1px solid rgba(255,255,255,.045);background:transparent;color:var(--ink);padding:9px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.month-day:hover,.month-day.selected{background:rgba(103,199,150,.045)}.month-day>b{font:13px var(--mono)}.month-day>span{font:8px var(--mono);color:var(--green2)}.month-day>i{font-style:normal;font-size:9px;color:var(--muted);line-height:1.3}.month-day.empty{opacity:.3}
.staff-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px;padding:12px}.staff-card{border:1px solid var(--line);background:rgba(10,20,32,.65);border-radius:13px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:9px;align-items:start}.staff-card>div:first-child small{display:block;color:var(--muted);font:8px var(--mono);margin-top:4px}.staff-events{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.staff-events button{border:1px solid rgba(120,184,234,.22);background:rgba(120,184,234,.05);color:var(--ink);border-radius:9px;padding:7px 9px;text-align:left}.staff-events button b{display:block;font:8px var(--mono);color:var(--green2)}.staff-events button span{font-size:9px}.resource-meter{grid-column:1/-1;height:5px;background:#08121d;border-radius:99px;overflow:hidden}.resource-meter i{display:block;height:100%;background:linear-gradient(90deg,rgba(103,199,150,.35),rgba(103,199,150,.8));border-radius:99px}
.schedule-segment{max-width:100%;overflow:auto}.m-schedule-controls{display:grid;gap:8px;margin-bottom:12px}.m-schedule-controls .segment{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.m-schedule-controls .schedule-nav{margin:0}.m-schedule-controls .schedule-range{width:100%;margin:3px 0 0;font-size:9px}.m-week{display:grid;gap:7px}.m-week-day{border:1px solid var(--line);background:#0b1724;color:var(--ink);border-radius:12px;padding:10px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.m-week-day.active{border-color:rgba(103,199,150,.4);background:rgba(103,199,150,.06)}.m-week-day b{font:10px var(--mono)}.m-week-day span{justify-self:end;font:8px var(--mono);color:var(--green2)}.m-week-day small{grid-column:1/-1;color:var(--muted);font-size:9px}.m-month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.m-month>b{font:8px var(--mono);color:var(--muted);text-align:center;padding:4px}.m-month>button,.m-month>span{min-height:38px;border:1px solid rgba(255,255,255,.05);border-radius:8px;background:#0a1623;color:var(--ink);font:9px var(--mono);position:relative}.m-month>button.active{border-color:rgba(103,199,150,.45);background:rgba(103,199,150,.08)}.m-month>button i{position:absolute;right:4px;bottom:3px;font-style:normal;color:var(--green2);font-size:7px}
.btn.armed{border-color:rgba(216,180,101,.72)!important;background:rgba(216,180,101,.12)!important;color:#f0d391!important;box-shadow:0 0 0 1px rgba(216,180,101,.12) inset}.critical-modal{width:min(650px,100%)}.gate-step{display:flex;gap:11px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:9px;background:rgba(8,18,29,.62)}.gate-step>b{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#101e2e;font:9px var(--mono);color:var(--muted);flex:none}.gate-step strong{display:block;font:10px var(--mono);letter-spacing:.06em}.gate-step small{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.45}.gate-step.done{border-color:rgba(103,199,150,.26)}.gate-step.done>b{color:var(--green2)}.gate-step.active{border-color:rgba(216,180,101,.35)}.critical-subject{font:13px var(--mono);letter-spacing:.05em;color:#f1d19a;padding:9px 2px}.critical-input{margin-bottom:10px}.critical-final[disabled]{opacity:.35;cursor:not-allowed}.critical-final.ready{box-shadow:0 0 0 1px rgba(216,121,131,.18) inset}.interactive{cursor:pointer}.row-action.interactive:hover,.m-action span.interactive:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media(max-width:920px){.staff-resource-grid{grid-template-columns:1fr}.week-grid{min-width:820px}.month-day{min-height:100px}}
@media(max-width:720px){.schedule-nav{align-items:flex-start}.schedule-range{width:100%;margin-left:0}.month-grid{min-width:700px}.month-head{min-width:700px}.week-grid{min-width:760px}}


/* v0.6 · production-intent reconciliation */
.row-link,.row-button{border:0;background:transparent;color:var(--green2);padding:0;font:inherit;text-align:left}.row-link:hover,.row-button:hover{text-decoration:underline;text-underline-offset:3px}.table-sub{display:block;color:var(--muted);font-size:9px;margin-top:3px}.price-in{color:#efadb4;font-family:var(--mono);font-weight:700}.price-out{color:#f4f7fa;font-family:var(--mono);font-weight:700}.markup-step{display:inline-flex;align-items:center;gap:5px}.markup-step button{width:22px;height:22px;border:1px solid rgba(216,121,131,.35);background:#0b1724;color:#efadb4;border-radius:6px}.markup-step b{min-width:50px;text-align:center;color:#efadb4;font:10px var(--mono)}
.community-feed{display:grid;gap:10px;padding:12px}.community-post{border:1px solid var(--line);background:#0a1521;border-radius:13px;padding:13px}.community-post strong{font-size:12px}.community-post small{display:block;color:var(--muted);margin-top:3px}.community-post p{line-height:1.5;color:#dce5ed;font-size:12px}.automation-flow,.automation-status,.flow-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:15px}.automation-flow>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:#0a1521}.automation-flow b,.automation-status b,.flow-line b{font:9px var(--mono);letter-spacing:.05em}.automation-flow small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.automation-flow i,.automation-status span,.flow-line i{font-style:normal;color:#58708a}.wide-modal{width:min(980px,100%)}
@media(max-width:820px){.automation-flow,.automation-status,.flow-line{align-items:stretch;flex-direction:column}.automation-flow i,.automation-status span,.flow-line i{transform:rotate(90deg)}}

/* v0.6 · client federation + fast employee check-in */
.mobile-sub{font-size:10px;color:var(--muted);margin:-6px 0 12px;line-height:1.5}
.checkin-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.checkin-kpis>div{border:1px solid rgba(86,112,141,.24);border-radius:12px;background:#0b1724;padding:9px;text-align:center}.checkin-kpis>div.attention{border-color:rgba(216,121,131,.35);background:rgba(216,121,131,.05)}.checkin-kpis b{font-size:18px;display:block}.checkin-kpis span{font:7px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.checkin-legend{display:flex;gap:14px;align-items:center;margin:8px 2px 9px;font:8px var(--mono);color:var(--muted);text-transform:uppercase}.money-dot,.cash-state,.inline-cash{display:inline-grid;place-items:center;font-style:normal;font-family:var(--mono);font-weight:800;border-radius:50%;border:1px solid currentColor}.money-dot{width:19px;height:19px;margin-right:4px}.cash-state{width:31px;height:31px;font-size:14px;background:transparent;flex:none}.inline-cash{width:22px;height:22px;font-size:11px;vertical-align:middle;background:transparent}.paid{color:var(--green2)!important}.unpaid{color:#ef7f8b!important}.cash-state.unpaid,.inline-cash.unpaid{cursor:pointer;background:rgba(216,121,131,.07)}
.checkin-list{display:grid;gap:7px;margin-bottom:10px}.checkin-row{display:grid;grid-template-columns:38px 1fr 36px;align-items:center;gap:8px;border:1px solid rgba(86,112,141,.22);border-radius:13px;background:#0b1724;padding:8px}.checkin-row.checked{border-color:rgba(103,199,150,.28);background:rgba(103,199,150,.045)}.checkin-row.waitlist{opacity:.7}.attendance-toggle{width:34px;height:34px;border-radius:50%;border:1px solid #38516a;background:#091521;color:#8ba0b5;font-size:17px;cursor:pointer}.attendance-toggle.checked{background:rgba(103,199,150,.12);border-color:rgba(103,199,150,.55);color:var(--green2)}.attendance-toggle.wait{display:grid;place-items:center;color:#a8d8fa;font:10px var(--mono)}.checkin-person strong{display:block;font-size:11px}.checkin-person small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.undo-btn{width:100%;margin-bottom:7px;border-color:rgba(216,180,101,.35);color:#ecd195}.microcopy{font:8px var(--mono);line-height:1.55;color:#71859a;margin:10px 2px}
.book-controls{display:grid;gap:8px;margin-bottom:10px}.client-week-tabs{display:grid;grid-template-columns:1fr 1fr}.book-day{margin:10px 0 12px}.book-day>b{font:9px var(--mono);color:#8da1b5;letter-spacing:.08em}.book-slot{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:6px;border:1px solid rgba(86,112,141,.22);border-radius:13px;background:#0b1724;padding:10px}.book-slot strong{display:block;font-size:11px}.book-slot small{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:4px}.mini-btn{padding:7px 9px!important;font-size:8px!important}
.studio-card{display:flex;align-items:center;justify-content:space-between;gap:10px}.federation-note{border:1px solid rgba(120,184,234,.25);background:rgba(120,184,234,.04);border-radius:13px;padding:11px;margin-top:10px}.federation-note strong{font:9px var(--mono);color:#a8d8fa}.federation-note p{font-size:9px;color:var(--muted);line-height:1.5;margin:6px 0 0}.studio-discovery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.notification-list{margin-top:10px}.notification-list .control-line{padding:8px 0}.notification-list .toggle{transform:scale(.86);transform-origin:right center}
@media(max-width:720px){.studio-discovery{grid-template-columns:1fr}.m-nav button{font-size:8px}.checkin-kpis{gap:5px}}


/* website phone showcase mode · activated only by ?phone=1 */
body.phone-embed-mode{min-height:100vh;background:#07101c;overflow:hidden}.phone-embed-mode #app{height:100vh}.embed-phone-app{height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#0a1725,#07101c)}.embed-phone-top{height:48px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:15px 13px 8px;border-bottom:1px solid rgba(255,255,255,.055);background:rgba(5,12,20,.96)}.embed-phone-top>div{display:flex;align-items:center;gap:7px}.embed-phone-top strong{font:9px var(--mono);letter-spacing:.14em}.embed-phone-top small{font:7px var(--mono);letter-spacing:.1em;color:var(--green2)}.embed-lotus{color:var(--green2);font-size:15px;line-height:1}.embed-phone-main{flex:1;min-height:0;overflow:auto;padding:10px 10px 76px;scrollbar-width:thin;scrollbar-color:#2a435a transparent}.embed-phone-main .main{padding:0}.embed-phone-main .surface-head{margin:4px 0 10px;gap:8px}.embed-phone-main .surface-head h2{font-size:19px}.embed-phone-main .surface-head p{font-size:9px;line-height:1.45}.embed-phone-main .head-actions{gap:5px}.embed-phone-main .btn{padding:7px 8px;font-size:9px}.embed-phone-main .metric{min-height:88px;padding:10px}.embed-phone-main .metric .v{font-size:22px;margin:10px 0 5px}.embed-phone-main .metric .k,.embed-phone-main .metric .d{font-size:8px}.embed-phone-main .g4,.embed-phone-main .g3,.embed-phone-main .g2,.embed-phone-main .form-grid,.embed-phone-main .layout-rail,.embed-phone-main .layout-split{grid-template-columns:1fr}.embed-phone-main .panel-title{font-size:8px;padding:10px}.embed-phone-main .panel-pad{padding:10px}.embed-phone-main .table{font-size:9px}.embed-phone-main .table th{font-size:7px}.embed-phone-main .table td,.embed-phone-main .table th{padding:8px}.embed-phone-main .phone-stage,.embed-phone-main .phone{display:contents}.embed-phone-main .phone-screen{display:contents}.embed-phone-main .m-top,.embed-phone-main .m-nav{display:none}.embed-phone-main .m-content{padding:0;overflow:visible}.embed-phone-main .m-card{padding:10px}.embed-phone-main .m-card h3{font-size:12px}.embed-phone-main .m-card p{font-size:9px}.embed-phone-main .checkin-row{grid-template-columns:32px 1fr 31px;padding:7px}.embed-phone-main .attendance-toggle{width:29px;height:29px}.embed-phone-main .cash-state{width:27px;height:27px;font-size:12px}.embed-phone-main .calendar,.embed-phone-main .week-grid,.embed-phone-main .month-grid,.embed-phone-main .month-head{min-width:760px}.embed-phone-nav{position:absolute;z-index:30;left:0;right:0;bottom:0;height:64px;display:flex;align-items:center;gap:2px;overflow-x:auto;padding:7px 7px 9px;background:rgba(5,13,22,.97);border-top:1px solid #203248;scrollbar-width:none}.embed-phone-nav::-webkit-scrollbar{display:none}.embed-phone-nav button{flex:0 0 auto;min-width:62px;border:0;background:transparent;color:#71859a;border-radius:8px;padding:8px 7px;font:7px var(--mono);letter-spacing:.02em}.embed-phone-nav button.active{color:var(--green2);background:rgba(103,199,150,.08)}.phone-embed-mode .modal-backdrop{position:fixed;inset:0}.phone-embed-mode .modal{max-height:92vh;overflow:auto}.phone-embed-mode footer.audit,.phone-embed-mode .topbar,.phone-embed-mode>.navbar{display:none!important}

/* v0.7 · platform elevation */
.role-switch .platform-role{border-color:rgba(216,180,101,.48);color:#f1d19a;background:rgba(216,180,101,.08)}
.pipeline{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;overflow-x:auto;padding-bottom:5px}.pipeline-col{min-width:190px}.lead-card{margin:9px;border:1px solid rgba(86,112,141,.24);border-radius:12px;background:#0a1521;padding:11px}.lead-card strong{display:block;font-size:11px}.lead-card small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.lead-card p{font-size:9px;color:#cfd9e3;line-height:1.45;min-height:38px;margin:9px 0}.experience-bar{display:grid;grid-template-columns:105px 1fr 32px;align-items:center;gap:9px;margin:11px 0;font:8px var(--mono);color:var(--muted)}.experience-bar>i{display:block;position:relative;height:8px;border-radius:999px;background:#0a1521;border:1px solid rgba(86,112,141,.2);overflow:hidden}.experience-bar>i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,rgba(103,199,150,.35),rgba(103,199,150,.85));border-radius:999px}.experience-bar>b{color:var(--ink);font-size:9px}.time-clock-hero{border:1px solid rgba(103,199,150,.28);background:linear-gradient(145deg,rgba(103,199,150,.07),rgba(7,16,28,.92));border-radius:16px;padding:14px;margin-bottom:10px}.time-clock-hero h3{font-size:22px;margin:7px 0}.time-clock-hero p{color:var(--muted);font-size:9px;line-height:1.55}.time-clock-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.platform-boundary{border-color:rgba(216,180,101,.3)!important;background:rgba(216,180,101,.035)!important}
@media(max-width:900px){.pipeline{grid-template-columns:repeat(5,minmax(175px,1fr))}}
.time-clock-hero>b{display:block;font-size:34px;line-height:1;color:var(--green2);letter-spacing:-.02em}.time-clock-hero>span{display:block;margin-top:7px;font:7px var(--mono);letter-spacing:.12em;color:var(--muted)}

/* v0.8.2 · federated discovery + topic-specific multi-channel notifications */
.topic-matrix{display:grid;gap:5px;margin-top:10px;overflow:auto}.topic-head,.topic-row{display:grid;grid-template-columns:minmax(150px,1fr) repeat(4,52px);align-items:center;gap:5px}.topic-head{font:7px var(--mono);color:var(--muted);letter-spacing:.06em;text-align:center}.topic-head b:first-child{text-align:left}.topic-row{border-top:1px solid rgba(255,255,255,.045);padding-top:6px}.topic-row strong{font-size:9px;line-height:1.25}.topic-channel{width:42px;height:27px;justify-self:center;border:1px solid var(--line);border-radius:8px;background:#08131f;color:#667b8f;font:9px var(--mono)}.topic-channel.on{border-color:rgba(103,199,150,.45);background:rgba(103,199,150,.09);color:var(--green2)}
.waitlist-offer-card{border-color:rgba(103,199,150,.42)!important;background:linear-gradient(180deg,rgba(103,199,150,.1),rgba(11,23,36,.96))!important;box-shadow:0 0 0 1px rgba(103,199,150,.06) inset}.waitlist-actions,.discovery-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.alert-card{border-color:rgba(120,184,234,.28)!important}.external-opening{border-style:dashed}.watch-button{border:1px solid var(--line);background:#091521;color:var(--muted);border-radius:999px;padding:7px 9px;font:8px var(--mono);white-space:nowrap}.watch-button.on{color:var(--green2);border-color:rgba(103,199,150,.4);background:rgba(103,199,150,.08)}.studio-card>div:first-child>div:first-child{margin-bottom:5px}.book-day>b{display:block;margin-bottom:4px}.discovery-actions .btn{flex:1;min-width:105px}.source-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
@media(max-width:420px){.topic-head,.topic-row{grid-template-columns:minmax(115px,1fr) repeat(4,37px);gap:3px}.topic-channel{width:33px;height:27px;font-size:8px}.topic-head{font-size:6px}.waitlist-actions .btn{flex:1}}
.directory-search{display:grid;grid-template-columns:1fr 1.25fr .75fr auto;gap:10px;align-items:end;margin-bottom:10px;padding:12px;border:1px solid rgba(86,112,141,.24);border-radius:14px;background:#081522}.directory-search .field{margin:0}.directory-search .btn{min-height:38px}.directory-search-state{margin:0 2px 12px;color:var(--muted);font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:720px){.directory-search{grid-template-columns:1fr}.directory-search .btn{width:100%}}

/* v0.8.2.3 · first-class client directory search */
.client-directory-search{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px;padding:11px;border:1px solid rgba(86,112,141,.24);border-radius:14px;background:#081522}.client-directory-search label{display:grid;gap:5px;color:#8da1b5;font:7px var(--mono);letter-spacing:.08em}.client-directory-search label:first-child{grid-column:1/-1}.client-directory-search .btn{grid-column:1/-1;width:100%;min-height:38px}.directory-filter-pills{display:flex;gap:5px;overflow-x:auto;margin:0 -2px 9px;padding:2px 2px 5px;scrollbar-width:none}.directory-filter-pills::-webkit-scrollbar{display:none}.directory-filter-pills button{flex:none;border:1px solid var(--line);border-radius:999px;background:#091521;color:#71859a;padding:7px 9px;font:7px var(--mono);letter-spacing:.04em}.directory-filter-pills button b{color:inherit}.directory-filter-pills button.active{border-color:rgba(103,199,150,.45);background:rgba(103,199,150,.09);color:var(--green2)}.client-directory-results{display:grid;gap:8px}.client-directory-results .m-card{margin-bottom:0}.discovery-mobile-card>div:nth-child(2){margin:5px 0}.discovery-mobile-card h3{margin-top:7px}.discovery-mobile-card .discovery-actions .btn{min-width:112px}.phone-screen>.m-content{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2a435a transparent}.m-nav{overflow-x:auto;grid-template-columns:none!important;display:flex;gap:1px;scrollbar-width:none}.m-nav::-webkit-scrollbar{display:none}.m-nav button{flex:1 0 47px;min-width:47px;padding:0 3px}.m-nav button:nth-child(-n+3){color:#91a5b8}.m-nav button.active{color:var(--green2)}
@media(max-width:380px){.client-directory-search{grid-template-columns:1fr}.client-directory-search label:first-child,.client-directory-search .btn{grid-column:auto}.m-nav button{flex-basis:45px;min-width:45px;font-size:7px}}
