/* ============================================================
   ELYSIAN — Client Portal · Styles
   Monochrome, deck-matched. Full-viewport app; installs to the
   home screen and fills the phone. On desktop it centers in a
   phone-width column so it still reads as an app.
   ============================================================ */
:root{
  --black:#000; --ink:#111; --graphite:#4A4A4A; --gray:#767676;
  --rule:#C9C9C7; --hair:#E8E8E6; --mist:#F5F5F3; --stone:#DEDEDC; --paper:#FFFFFF;
  --pos:#1c7a4a; --neg:#a23a2f; --crit:#a23a2f; --high:#8a6d1f; --std:#4A4A4A;
  --sans:"Helvetica Neue","Helvetica","Arial",sans-serif;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:var(--sans); color:var(--ink); background:#DCDCDA;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  font-variant-numeric:tabular-nums;
  display:flex; justify-content:center; align-items:stretch;
}

/* App shell — fills the viewport on phones, centers on desktop */
.app{
  position:relative;
  width:100%; max-width:480px;
  min-height:100vh; min-height:100dvh;
  background:var(--paper);
  display:flex; flex-direction:column; overflow:hidden;
}
@media (min-width:520px){
  body{background-image:radial-gradient(circle at 50% 0,#EAEAE8 0,#D5D5D3 75%);align-items:center;}
  .app{min-height:0;height:92vh;max-height:900px;border-radius:22px;
       box-shadow:0 2px 4px rgba(0,0,0,.18),0 30px 70px rgba(0,0,0,.28);}
}

/* top bar (with safe-area padding so it clears the notch) */
.topbar{
  flex:0 0 auto; display:flex; align-items:center; justify-content:space-between;
  padding:calc(14px + var(--safe-top)) 20px 12px; border-bottom:.5px solid var(--hair);
  background:var(--paper); z-index:20;
}
.wordmark{font-size:12.5px;letter-spacing:.42em;font-weight:700;color:var(--ink);}
.topbar .client{display:flex;align-items:center;gap:9px;}
.topbar .client .avatar{width:26px;height:26px;border-radius:50%;background:var(--black);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;}
.topbar .client .cname{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);line-height:1.3;text-align:right;}
.topbar .client .cname b{display:block;font-size:10px;letter-spacing:.08em;color:var(--ink);font-weight:600;}
.topbar .client .so{display:block;margin:4px 0 0 auto;background:none;border:0;padding:0;font-family:inherit;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);cursor:pointer;}
.topbar .client .so:hover{color:var(--ink);}

/* scroll area */
.view{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--paper);position:relative;}
.view::-webkit-scrollbar{width:0;}
.pane{display:none;padding:20px 20px 34px;animation:fade .28s ease;}
.pane.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.eyebrow{font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--gray);font-weight:600;}
.h-view{font-size:25px;font-weight:300;letter-spacing:-.03em;line-height:1.05;margin-top:8px;}
.sub-view{font-size:11px;line-height:1.5;color:var(--graphite);margin-top:9px;font-weight:300;}

/* freshness note */
.freshness{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-top:12px;font-weight:600;}
.freshness .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--pos);margin-right:6px;vertical-align:middle;}
.freshness.stale .dot{background:var(--high);}

/* period toggle */
.seg{display:flex;margin-top:16px;border:.5px solid var(--rule);border-radius:9px;overflow:hidden;}
.seg button{flex:1;background:var(--paper);border:0;font-family:inherit;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:9px 0;color:var(--gray);cursor:pointer;font-weight:600;border-right:.5px solid var(--hair);}
.seg button:last-child{border-right:0;}
.seg button.on{background:var(--black);color:#fff;}

/* hero metric */
.hero-metric{margin-top:20px;padding-bottom:18px;border-bottom:.5px solid var(--hair);}
.hero-metric .lbl{font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:var(--gray);font-weight:600;}
.hero-metric .val{font-size:44px;font-weight:200;letter-spacing:-.045em;line-height:1;margin-top:12px;}
.delta{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;margin-top:12px;}
.delta.up{color:var(--pos);} .delta.down{color:var(--neg);}
.delta .arw{font-size:9px;}
.hero-metric .ctx{font-size:10px;color:var(--gray);margin-left:8px;font-weight:400;}
.trend{margin-top:14px;width:100%;height:56px;display:block;}

/* KPI grid */
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:6px;border-top:.5px solid var(--hair);}
.kpi{padding:15px 4px 15px 0;border-bottom:.5px solid var(--hair);}
.kpi:nth-child(odd){padding-right:14px;}
.kpi:nth-child(even){padding-left:16px;border-left:.5px solid var(--hair);}
.kpi .k{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);font-weight:600;}
.kpi .v{font-size:22px;font-weight:300;letter-spacing:-.03em;margin-top:9px;line-height:1;}
.kpi .d{font-size:9.5px;font-weight:600;margin-top:8px;display:flex;align-items:center;gap:4px;}
.kpi .spark{margin-top:9px;display:block;width:100%;height:20px;}

/* section header */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-top:26px;padding-bottom:9px;border-bottom:1px solid var(--black);}
.sec-head .t{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;}
.sec-head .a{font-size:9.5px;color:var(--gray);letter-spacing:.04em;}

/* source chips */
.sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.chip{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);border:.5px solid var(--rule);border-radius:20px;padding:6px 11px;font-weight:600;}
.chip .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--pos);margin-right:6px;vertical-align:middle;}

/* channel bars */
.chan-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:.5px solid var(--hair);}
.chan-row .name{font-size:10.5px;width:88px;flex:0 0 88px;color:var(--ink);}
.chan-row .bar{flex:1 1 auto;height:6px;background:var(--mist);border-radius:4px;overflow:hidden;}
.chan-row .bar i{display:block;height:100%;background:var(--black);border-radius:4px;}
.chan-row .amt{font-size:10.5px;font-weight:500;width:64px;text-align:right;flex:0 0 64px;}

/* roadmap */
.phase{margin-top:22px;}
.phase-lbl{display:flex;align-items:center;gap:10px;}
.phase-lbl .tag{font-size:8px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:#fff;background:var(--black);padding:5px 10px;border-radius:4px;}
.phase-lbl .tag.next{background:var(--paper);color:var(--ink);border:1px solid var(--black);}
.phase-lbl .tag.later{background:var(--paper);color:var(--gray);border:1px solid var(--rule);}
.phase-lbl .cnt{font-size:9px;color:var(--gray);letter-spacing:.06em;}
.init{padding:14px 0 14px 16px;border-bottom:.5px solid var(--hair);position:relative;}
.init::before{content:"";position:absolute;left:0;top:19px;width:6px;height:6px;border-radius:50%;background:var(--black);}
.init.hollow::before{background:var(--paper);border:1px solid var(--gray);}
.init .it{font-size:12px;font-weight:500;letter-spacing:-.01em;}
.init .id{font-size:9.5px;color:var(--graphite);margin-top:5px;line-height:1.5;}
.init .meta{font-size:8.5px;color:var(--gray);letter-spacing:.06em;margin-top:7px;text-transform:uppercase;}

/* requests / SLA */
.sla-band{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:18px;border:.5px solid var(--rule);border-radius:10px;overflow:hidden;}
.sla-band > div{padding:13px 11px;border-right:.5px solid var(--hair);}
.sla-band > div:last-child{border-right:0;}
.sla-band .tier{font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;}
.sla-band .tier.c{color:var(--crit);} .sla-band .tier.h{color:var(--high);} .sla-band .tier.s{color:var(--std);}
.sla-band .win{font-size:11px;font-weight:500;margin-top:8px;line-height:1.2;}
.sla-band .win span{display:block;font-size:8.5px;color:var(--gray);font-weight:400;margin-top:3px;}
.new-req{margin-top:16px;width:100%;background:var(--black);color:#fff;border:0;font-family:inherit;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:15px 0;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.new-req:active{transform:scale(.99);}
.req{padding:15px 0;border-bottom:.5px solid var(--hair);}
.req-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.req .pill{font-size:7.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:4px 9px;border-radius:20px;white-space:nowrap;}
.pill.critical{background:#f7e9e7;color:var(--crit);}
.pill.high{background:#f6f0dd;color:var(--high);}
.pill.standard{background:var(--mist);color:var(--std);}
.req .stat{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);font-weight:600;}
.req .title{font-size:12px;font-weight:500;letter-spacing:-.01em;margin-top:11px;}
.req .foot{display:flex;align-items:center;justify-content:space-between;margin-top:9px;}
.req .foot .who{font-size:9px;color:var(--gray);letter-spacing:.04em;}
.req .foot .sla{font-size:9.5px;font-weight:600;}
.req .foot .sla.hot{color:var(--crit);}
.req .foot .sla.ok{color:var(--graphite);}
.progress{margin-top:10px;height:4px;background:var(--mist);border-radius:3px;overflow:hidden;}
.progress i{display:block;height:100%;background:var(--black);}

/* reports / docs */
.doc{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:.5px solid var(--hair);cursor:pointer;}
.doc .ic{width:38px;height:46px;flex:0 0 38px;border:.5px solid var(--rule);border-radius:4px;position:relative;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;}
.doc .ic span{font-size:6.5px;letter-spacing:.08em;font-weight:700;color:var(--gray);}
.doc .ic::before{content:"";position:absolute;top:6px;left:7px;right:7px;height:.5px;background:var(--hair);box-shadow:0 4px 0 var(--hair),0 8px 0 var(--hair);}
.doc .meta{flex:1 1 auto;}
.doc .meta .t{font-size:12px;font-weight:500;letter-spacing:-.01em;}
.doc .meta .s{font-size:9px;color:var(--gray);margin-top:5px;letter-spacing:.04em;}
.doc .go{font-size:16px;color:var(--gray);font-weight:300;}
.inv-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:.5px solid var(--hair);}
.inv-row.clickable{cursor:pointer;}
.inv-row .l .t{font-size:11.5px;font-weight:500;}
.inv-row .l .s{font-size:9px;color:var(--gray);margin-top:4px;letter-spacing:.04em;}
.inv-row .r{text-align:right;}
.inv-row .r .amt{font-size:13px;font-weight:500;}
.inv-row .r .st{font-size:8px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-top:5px;}
.inv-status{display:block;margin:8px 0 0 auto;background:transparent;border:.5px solid var(--rule);color:var(--ink);font-family:inherit;font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:6px 10px;border-radius:6px;cursor:pointer;}
.st.paid{color:var(--pos);} .st.due{color:var(--high);}

/* login splash */
#splash{position:absolute;inset:0;background:var(--black);color:#fff;z-index:60;display:flex;flex-direction:column;overflow:hidden;transition:opacity .45s ease, transform .45s ease;}
#splash .sp-top{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(24px + var(--safe-top)) 40px 0;}
#splash .sp-glyph{width:52px;height:52px;border:1px solid #fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:26px;}
#splash .sp-mark{font-size:16px;letter-spacing:.5em;font-weight:700;}
#splash .sp-tag{font-size:8.5px;letter-spacing:.34em;text-transform:uppercase;color:#8C8C8C;margin-top:16px;}
#splash .sp-line{font-size:12px;line-height:1.6;color:#B4B4B4;font-weight:300;margin-top:30px;max-width:24ch;}
#splash .sp-bot{flex:0 0 auto;padding:0 30px calc(40px + var(--safe-bottom));}
#splash .sp-field{border:.5px solid #333;border-radius:10px;padding:14px 16px;text-align:left;margin-bottom:10px;}
#splash .sp-field .fl{font-size:7.5px;letter-spacing:.22em;text-transform:uppercase;color:#7a7a7a;}
#splash .sp-field .fv{font-size:12px;color:#eee;margin-top:6px;}
#splash .sp-input{width:100%;background:transparent;border:0;outline:0;color:#fff;font-family:inherit;font-size:14px;margin-top:6px;letter-spacing:.02em;}
#splash .sp-input::placeholder{color:#5a5a5a;}
#enterBtn,#signInBtn,#registerBtn,#forgotBtn,#setPasswordBtn{width:100%;background:#fff;color:#000;border:0;font-family:inherit;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:15px 0;border-radius:10px;cursor:pointer;margin-top:6px;}
#enterBtn:active,#signInBtn:active,#registerBtn:active,#forgotBtn:active,#setPasswordBtn:active{transform:scale(.99);}
.sp-ghost{width:100%;background:transparent;color:#8C8C8C;border:.5px solid #333;font-family:inherit;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:12px 0;border-radius:10px;cursor:pointer;margin-top:10px;}
.sp-err{font-size:10px;color:#e0a59b;margin-top:12px;text-align:center;min-height:12px;letter-spacing:.02em;}
#splash .sp-face{font-size:8.5px;color:#6a6a6a;text-align:center;margin-top:16px;letter-spacing:.1em;}
#authBoot{text-align:center;padding:8px 0 12px;}
.sp-boot-msg{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8C8C8C;margin-top:18px;}
.sp-spinner{width:22px;height:22px;border:.5px solid #333;border-top-color:#fff;border-radius:50%;margin:0 auto;animation:spinsplash .7s linear infinite;}
@keyframes spinsplash{to{transform:rotate(360deg);}}
.view-loading{padding:28px 4px 8px;}
.view-loading .vl-k{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);font-weight:600;}
.view-loading .vl-h{font-size:22px;font-weight:400;letter-spacing:-.03em;margin-top:8px;}
.view-loading .vl-s{font-size:12px;color:var(--graphite);margin-top:10px;line-height:1.5;}

/* new request sheet */
.sheet{position:absolute;inset:0;background:rgba(0,0,0,.42);z-index:58;display:none;align-items:flex-end;}
.sheet.show{display:flex;}
.sheet-card{width:100%;background:var(--paper);border-radius:18px 18px 0 0;padding:22px 20px calc(24px + var(--safe-bottom));animation:sheetUp .28s ease;}
@keyframes sheetUp{from{transform:translateY(24px);opacity:.6;}to{transform:none;opacity:1;}}
.sheet-head{font-size:16px;font-weight:400;letter-spacing:-.02em;margin-bottom:16px;}
.sheet-lbl{display:block;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);font-weight:600;margin:14px 0 6px;}
.sheet-input{width:100%;border:.5px solid var(--rule);border-radius:9px;padding:11px 12px;font-family:inherit;font-size:12.5px;color:var(--ink);background:var(--paper);}
textarea.sheet-input{resize:vertical;}
.sheet-actions{display:flex;gap:10px;margin-top:20px;}
.sheet-ghost{flex:0 0 auto;background:var(--paper);border:.5px solid var(--rule);border-radius:10px;font-family:inherit;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--graphite);padding:14px 18px;cursor:pointer;}
.sheet-primary{flex:1 1 auto;background:var(--black);border:0;color:#fff;border-radius:10px;font-family:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:14px 0;cursor:pointer;}

/* bottom tab bar (safe-area aware) */
.tabbar{flex:0 0 auto;display:flex;border-top:.5px solid var(--hair);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:9px 6px calc(12px + var(--safe-bottom));}
.tab{flex:1;background:none;border:0;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;color:var(--gray);padding:4px 0;}
.tab svg{display:block;}
.tab .tl{font-size:8px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;}
.tab.active{color:var(--ink);}
.tab.active svg *{stroke:var(--ink);}
.tab .badge{position:absolute;top:-1px;right:calc(50% - 20px);width:7px;height:7px;border-radius:50%;background:var(--black);}
.tab{position:relative;}

/* toast */
#toast{position:absolute;left:20px;right:20px;bottom:calc(96px + var(--safe-bottom));background:var(--black);color:#fff;border-radius:10px;padding:14px 16px;font-size:10.5px;line-height:1.45;z-index:55;opacity:0;transform:translateY(10px);transition:.3s ease;pointer-events:none;}
#toast.show{opacity:1;transform:none;}
#toast b{font-weight:600;}

/* onboarding overlays + setup */
.overlay{position:absolute;inset:0;background:var(--paper);z-index:45;display:none;flex-direction:column;}
.overlay.show{display:flex;}
.ovhead{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:calc(16px + var(--safe-top)) 18px 12px;border-bottom:.5px solid var(--hair);}
.ovhead .back{width:30px;height:30px;border:.5px solid var(--rule);border-radius:8px;background:none;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--ink);cursor:pointer;}
.ovhead .ht{font-size:11px;letter-spacing:.02em;font-weight:600;}
.ovhead .hs{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);margin-top:2px;}
.ovbody{flex:1 1 auto;overflow-y:auto;padding:20px 20px 24px;}
.ovbody::-webkit-scrollbar{width:0;}
.ovfoot{flex:0 0 auto;display:flex;gap:10px;padding:12px 18px calc(16px + var(--safe-bottom));border-top:.5px solid var(--hair);background:var(--paper);}
.btn{flex:1;border:0;font-family:inherit;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:15px 0;border-radius:10px;cursor:pointer;}
.btn.primary{background:var(--black);color:#fff;}
.btn.ghost{background:var(--paper);color:var(--ink);border:.5px solid var(--rule);flex:0 0 42%;}
.prog{height:6px;background:var(--mist);border-radius:4px;overflow:hidden;margin-top:16px;}
.prog i{display:block;height:100%;background:var(--black);border-radius:4px;}
.progmeta{display:flex;justify-content:space-between;align-items:baseline;margin-top:9px;}
.progmeta .l{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);font-weight:600;}
.progmeta .r{font-size:9px;color:var(--gray);}
.task{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:.5px solid var(--hair);cursor:pointer;}
.task .tnum{width:26px;height:26px;flex:0 0 26px;border-radius:50%;border:1px solid var(--gray);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--gray);}
.task.done .tnum{background:var(--black);border-color:var(--black);color:#fff;}
.task .tmeta{flex:1 1 auto;}
.task .tmeta .tt{font-size:12.5px;font-weight:600;letter-spacing:-.01em;}
.task .tmeta .ts{font-size:9.5px;color:var(--graphite);margin-top:4px;line-height:1.4;}
.task .tstat{font-size:8px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:4px 8px;border-radius:20px;white-space:nowrap;}
.tstat.todo{background:var(--mist);color:var(--gray);}
.tstat.part{background:#f6f0dd;color:var(--high);}
.tstat.ok{background:#e7f1ea;color:var(--pos);}
.task .go{font-size:16px;color:var(--gray);font-weight:300;}
.note{background:var(--mist);border-radius:10px;padding:13px 15px;margin-top:20px;}
.note .t{font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;}
.note p{font-size:9.5px;line-height:1.55;color:var(--graphite);margin-top:5px;}
.field{margin-top:16px;}
.field label{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);font-weight:600;}
.field input,.field textarea{width:100%;font-family:inherit;font-size:12px;color:var(--ink);border:.5px solid var(--rule);border-radius:9px;padding:12px 13px;margin-top:7px;background:var(--paper);}
.field textarea{min-height:70px;resize:none;}
.uprow{display:flex;align-items:center;gap:12px;border:.5px dashed var(--rule);border-radius:10px;padding:14px;margin-top:7px;cursor:pointer;}
.uprow .ic{width:34px;height:34px;flex:0 0 34px;border-radius:8px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--gray);}
.uprow .ut{font-size:11px;font-weight:500;}
.uprow .us{font-size:9px;color:var(--gray);margin-top:3px;}
.chipset{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;}
.chipset span{border:.5px solid var(--rule);border-radius:20px;padding:8px 12px;font-size:10px;color:var(--graphite);cursor:pointer;}
.chipset span.on{background:var(--black);color:#fff;border-color:var(--black);}
.autosave{display:flex;align-items:center;gap:6px;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--pos);font-weight:600;margin-top:14px;}
.autosave .d{width:5px;height:5px;border-radius:50%;background:var(--pos);}
.success{text-align:center;padding:40px 24px;}
.success .glyph{width:56px;height:56px;border-radius:50%;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 22px;}
.success h3{font-size:21px;font-weight:300;letter-spacing:-.02em;}
.success p{font-size:11.5px;line-height:1.6;color:var(--graphite);margin-top:12px;}
.accrow{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-bottom:.5px solid var(--hair);}
.accrow .box{width:22px;height:22px;flex:0 0 22px;border:1.5px solid var(--gray);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;margin-top:1px;}
.accrow.done .box,.accrow.confirmed .box{background:var(--graphite);border-color:var(--graphite);}
.accrow.confirmed .box{background:var(--pos);border-color:var(--pos);}
.accrow .an{font-size:12px;font-weight:600;}
.accrow .aw{font-size:9.5px;color:var(--graphite);margin-top:4px;line-height:1.45;}
.accrow .as{font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-top:7px;display:inline-block;}
.as.todo{color:var(--gray);} .as.marked{color:var(--high);} .as.confirmed{color:var(--pos);}
.accrow .opt{font-size:6.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);border:.5px solid var(--rule);border-radius:3px;padding:1px 5px;margin-left:6px;font-weight:600;}
.stagemeter{display:flex;gap:5px;margin-top:16px;}
.stagemeter i{flex:1;height:7px;border-radius:3px;background:var(--mist);}
.stagemeter i.on{background:var(--black);}
.stagemeter i.cur{background:var(--graphite);}
.stagelbl{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);font-weight:600;margin-top:10px;}
.stagelbl b{color:var(--ink);}
.gate{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:.5px solid var(--hair);}
.gate .gi{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;}
.gate .gi.ok{background:var(--pos);color:#fff;}
.gate .gi.now{background:var(--black);color:#fff;}
.gate .gi.soon{background:var(--paper);border:1px solid var(--rule);color:var(--gray);}
.gate .gm{flex:1 1 auto;}
.gate .gt{font-size:11.5px;font-weight:500;}
.gate .gs{font-size:9px;color:var(--gray);margin-top:3px;}
.gate .act{font-size:8px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink);border:1px solid var(--black);border-radius:20px;padding:6px 10px;cursor:pointer;white-space:nowrap;background:none;}
.ph-lock{text-align:center;padding:26px 20px 10px;}
.ph-lock .glyph{width:46px;height:46px;border-radius:12px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--gray);margin:0 auto 16px;}
.ph-lock .t{font-size:15px;font-weight:400;}
.ph-lock .s{font-size:10.5px;line-height:1.55;color:var(--graphite);margin-top:9px;}
.ph-lock .tgt{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);font-weight:600;margin-top:14px;}
.skel-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:16px;border-top:.5px solid var(--hair);opacity:.55;}
.skel{padding:16px 4px 16px 0;border-bottom:.5px solid var(--hair);}
.skel:nth-child(even){padding-left:16px;border-left:.5px solid var(--hair);}
.skel .b1{height:7px;width:52%;background:var(--stone);border-radius:3px;}
.skel .b2{height:20px;width:74%;background:var(--mist);border-radius:4px;margin-top:12px;}

