/* ═══════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* SQUARE OVERRIDE - no rounded corners anywhere */
*, *::before, *::after {
  border-radius: 0 !important;
}
/* Except HAL eye */
.eye, .eye-ring, .eye::after, #menu-eye-inner, #menu-eye-inner-m,
.ot-dot, #dbd, .td, .cc-eye, .cc-eye-inner, .cc-eye-spec {
  border-radius: 50% !important;
}

:root{
  --void:#060606;--void2:#0d0d0d;--s1:#141414;--s2:#1a1a1a;--s3:#222;
  --b0:rgba(255,255,255,.04);--b1:rgba(255,255,255,.08);--b2:rgba(255,255,255,.14);--b3:rgba(255,255,255,.22);
  --tx:#ede9e0;--tx2:rgba(237,233,224,.62);--tx3:rgba(237,233,224,.35);--tx4:rgba(237,233,224,.18);
  --eye:#7a1500;--eye2:#ff5242;--eyeG:rgba(255,45,26,.25);
  --gold:#c8a96e;--gold2:#e5c98a;--gB:rgba(200,169,110,.1);--gBr:rgba(200,169,110,.2);
  --coin:#f0c040;--coinB:rgba(240,192,64,.12);--coinBr:rgba(240,192,64,.22);
  --grn:#3ecf8e;--grnB:rgba(62,207,142,.1);--grnBr:rgba(62,207,142,.18);
  --blu:#4fa8f5;--bluB:rgba(79,168,245,.1);
  --red:#ff4444;--redB:rgba(255,68,68,.1);--redBr:rgba(255,68,68,.2);
  --warn:#f59e0b;--warnB:rgba(245,158,11,.1);
  --f1:'Cormorant Garamond',Georgia,serif;
  --f2:'IBM Plex Mono','Courier New',monospace;
  --f3:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --e:cubic-bezier(.4,0,.2,1);--r:0px;
}
html,body{height:100%;background:var(--void);color:var(--tx);font-family:var(--f3);font-size:18px;overflow-x:hidden}
button{font-family:var(--f2);cursor:pointer}
input,textarea,select{font-family:var(--f2)}
::-webkit-scrollbar{width:2px}::-webkit-scrollbar-thumb{background:var(--b2)}

/* ═══════════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════════ */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideR{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideL{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@keyframes eyeP{0%,100%{box-shadow:0 0 14px 4px var(--eyeG)}50%{box-shadow:0 0 42px 14px var(--eyeG),0 0 80px 28px rgba(255,45,26,.08)}}
@keyframes eyeB{0%,86%,100%{transform:scaleY(1)}92%{transform:scaleY(.05)}}
@keyframes breathe{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes scan{from{transform:translateY(-100px)}to{transform:translateY(110vh)}}
@keyframes msgIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ptsBurst{0%{opacity:0;transform:translateY(0) scale(.5)}35%{opacity:1;transform:translateY(-18px) scale(1.2)}100%{opacity:0;transform:translateY(-44px) scale(.9)}}
@keyframes flash{0%{color:var(--coin);transform:scale(1.3)}100%{color:var(--gold);transform:scale(1)}}
@keyframes starPop{0%{transform:scale(0) rotate(-20deg)}60%{transform:scale(1.3) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
@keyframes shimmer{from{background-position:200% center}to{background-position:-200% center}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes notif{from{opacity:0;transform:translateX(110%)}to{opacity:1;transform:translateX(0)}}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
@keyframes countUp{0%{transform:scale(1.4);color:var(--coin)}100%{transform:scale(1);color:var(--gold)}}

@media(max-width:680px){
  #hal-dash.staff-mode .hd-nav { padding:calc(.5rem + max(var(--sat, env(safe-area-inset-top)),44px)) .75rem .5rem !important; }
  #hal-dash.staff-mode .online-toggle { padding:.25rem .6rem !important; }
  #hal-dash.staff-mode .ot-lbl { font-size:.44rem !important; }
  #hal-dash.staff-mode .rating-health { display:none !important; }
  #hal-dash.staff-mode .pts-pill .pts-val { font-size:.7rem !important; }
  #hal-dash.staff-mode .pts-pill .pts-lbl { display:none; }
  #hal-dash.staff-mode .pts-pill { padding:.28rem .6rem !important; }
  #hal-dash.staff-mode .acc-val { font-size:.7rem !important; }
  #hal-dash.staff-mode .acc-lbl { font-size:.42rem !important; }
  #hal-dash.staff-mode .acc-pill { padding:.28rem .6rem !important; }
  #hal-dash.staff-mode .hd-logo { font-size:.7rem !important; }
  /* Staff drawer full width on mobile */
  #staff-drawer { width:100% !important; }
}

@keyframes eyeMenuBreath{0%,100%{box-shadow:0 0 8px 2px rgba(255,45,26,.25)}50%{box-shadow:0 0 22px 6px rgba(255,45,26,.55)}}
@keyframes requestPing{0%,100%{box-shadow:0 0 0 0 rgba(62,207,142,.4)}70%{box-shadow:0 0 0 8px rgba(62,207,142,0)}}

/* ═══════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════ */
#app{position:relative;min-height:100vh}
.screen{position:absolute;inset:0;overflow-y:auto;animation:fadeIn .3s var(--e) both}
.screen.off{display:none!important}
.modal-wrap{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s var(--e)}
.modal-wrap.off{display:none}
.modal{background:var(--void2);border:1px solid var(--b2);border-radius:0;max-height:90vh;overflow-y:auto;width:100%;animation:fadeUp .3s var(--e) both;position:relative}

/* ═══════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-size:.68rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--b2);background:transparent;color:var(--tx2);padding:.75rem 1.65rem;transition:all .16s var(--e);white-space:nowrap;border-radius:0}
.btn:hover{border-color:var(--b3);color:var(--tx);background:var(--b0)}
.btn:disabled{opacity:.25;pointer-events:none}
.btn-fill{background:var(--tx);color:var(--void);border-color:var(--tx)}
.btn-fill:hover{background:var(--eye);border-color:var(--eye);color:#fff}
.btn-eye{background:var(--eye);border-color:var(--eye);color:#fff}
.btn-eye:hover{background:var(--eye2);border-color:var(--eye2)}
.btn-gold{border-color:var(--gBr);color:var(--gold)}
.btn-gold:hover{background:var(--gB)}
.btn-coin{background:var(--coinB);border-color:var(--coinBr);color:var(--coin)}
.btn-coin:hover{background:rgba(240,192,64,.2)}
.btn-grn{border-color:var(--grnBr);color:var(--grn)}
.btn-grn:hover{background:var(--grnB)}
.btn-red{border-color:var(--redBr);color:var(--red)}
.btn-red:hover{background:var(--redB)}
.btn-sm{padding:.38rem .85rem;font-size:.57rem}
.btn-xs{padding:.25rem .6rem;font-size:.53rem}
.hps-day-btn{padding:.35rem .1rem;font-size:.52rem;font-family:var(--f2);letter-spacing:.06em;background:var(--gB);border:1px solid var(--gBr);color:var(--tx3);cursor:pointer;text-align:center;transition:all .15s}
.hps-day-btn.active{background:var(--eye);border-color:var(--eye);color:#fff}
.hps-dur-btn{padding:.35rem .75rem;font-size:.6rem;font-family:var(--f2);letter-spacing:.06em;background:var(--gB);border:1px solid var(--gBr);color:var(--tx3);cursor:pointer;transition:all .15s}
.hps-dur-btn.active{background:var(--gold);border-color:var(--gold);color:#000}
.choose-card{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;margin-top:1rem;background:var(--gB);border:1px solid var(--gBr);cursor:pointer;transition:all .15s}
.choose-card:hover{border-color:var(--eye);background:rgba(255,255,255,.02)}
.choose-emoji{font-size:1.6rem;flex-shrink:0;width:2.2rem;text-align:center}
.choose-body{flex:1;min-width:0}
.choose-title{font-family:var(--f2);font-size:.82rem;letter-spacing:.02em;color:var(--tx1);margin-bottom:.3rem}
.choose-desc{font-size:.68rem;color:var(--tx2);line-height:1.6}
.choose-arrow{color:var(--tx3);font-size:1.1rem;flex-shrink:0}

/* ═══════════════════════════════════════════
   FORMS
═══════════════════════════════════════════ */
.field{margin-bottom:1.5rem}
.lbl{display:block;font-size:.57rem;letter-spacing:.15em;text-transform:uppercase;color:var(--tx3);margin-bottom:.45rem}
.inp{width:100%;background:transparent;border:none;border-bottom:1px solid var(--b1);color:var(--tx);font-size:18px;padding:.75rem 0;outline:none;transition:border-color .2s}
.inp:focus{border-color:var(--b3)}
.inp::placeholder{color:var(--tx4)}
.inp-box{width:100%;background:#080808;border:none;border-left:1px solid #222;color:var(--tx);font-size:16px;padding:.9rem 1rem;outline:none;resize:none;line-height:1.5}
.inp-box:focus{border-color:var(--b2)}
.inp-box::placeholder{color:var(--tx4)}

/* ═══════════════════════════════════════════
   TAGS, BADGES, UTILS
═══════════════════════════════════════════ */
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.tag{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--b1);padding:.55rem 1rem;cursor:pointer;transition:all .14s;color:var(--tx3);border-radius:0}
.tag:hover{border-color:var(--b2);color:var(--tx2)}
.tag.on{border-color:var(--gBr);color:var(--gold);background:var(--gB)}
.badge{display:inline-flex;align-items:center;gap:.22rem;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .52rem;border-radius:0}
.b-gold{background:var(--gB);color:var(--gold);border:1px solid var(--gBr)}
.b-coin{background:var(--coinB);color:var(--coin);border:1px solid var(--coinBr)}
.b-grn{background:var(--grnB);color:var(--grn);border:1px solid var(--grnBr)}
.b-red{background:var(--redB);color:var(--red);border:1px solid var(--redBr)}
.b-blu{background:var(--bluB);color:var(--blu);border:1px solid rgba(79,168,245,.2)}
.b-warn{background:var(--warnB);color:var(--warn);border:1px solid rgba(245,158,11,.2)}
.hr{height:1px;background:var(--b1);margin:1.2rem 0}
.serif{font-family:var(--f3)}
.muted{color:var(--tx3)}
.mono-xs{font-size:.57rem;letter-spacing:.1em;text-transform:uppercase}
.spin{animation:spin .7s linear infinite}

/* ═══════════════════════════════════════════
   HAL EYE
═══════════════════════════════════════════ */
.eye{border-radius:50%;background:radial-gradient(circle at 36% 32%,#ff9980 0%,var(--eye) 35%,#7a1a0f 70%,#100200 100%);animation:eyeP 3s ease-in-out infinite;flex-shrink:0;position:relative;cursor:pointer}
.eye::after{content:'';position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle at 28% 26%,rgba(255,255,255,.42) 0%,transparent 55%)}
.eye-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,45,26,.14);animation:breathe 3.5s ease-in-out infinite}

/* ═══════════════════════════════════════════
   NOTIFICATIONS
═══════════════════════════════════════════ */
#notif-stack{position:fixed;top:max(1rem, var(--sat, env(safe-area-inset-top)));right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.45rem;pointer-events:none;max-width:280px}
.notif{background:var(--s2);border:1px solid var(--b2);padding:.7rem .95rem;font-size:.66rem;line-height:1.5;animation:notif .3s var(--e) both;border-radius:var(--r);pointer-events:all}
.notif-coin{border-color:var(--coinBr);background:rgba(240,192,64,.08)}
.notif-grn{border-color:var(--grnBr);background:var(--grnB)}
.notif-warn{border-color:rgba(245,158,11,.25);background:var(--warnB)}

/* Pt burst */
.pt-burst{position:fixed;font-size:.75rem;font-weight:500;color:var(--coin);font-family:var(--f2);pointer-events:none;z-index:9999;animation:ptsBurst 1.1s var(--e) both}

/* Status bar */

.dbd{width:8px;height:8px;border-radius:50%;transition:background .25s ease,box-shadow .25s ease}
.dbd-demo{background:var(--gold)}
.dbd-live{background:var(--grn);animation:pulse 2s infinite}
#dbd.dbd-off{background:#2a2620 !important;box-shadow:none !important;animation:none !important}
#dbd.dbd-t1{background:#aef029 !important;box-shadow:0 0 6px rgba(174,240,41,.6) !important;animation:pulse 2.4s infinite !important}
#dbd.dbd-t2{background:#3a8dff !important;box-shadow:0 0 6px rgba(58,141,255,.65) !important;animation:pulse 2.2s infinite !important}
#dbd.dbd-t3{background:#b86bff !important;box-shadow:0 0 7px rgba(184,107,255,.7) !important;animation:pulse 2s infinite !important}
#dbd.dbd-human{background:#ff2a1a !important;box-shadow:0 0 8px rgba(255,42,26,.75) !important;animation:pulse 1.4s infinite !important}

/* ═══════════════════════════════════════════
   SPLASH
═══════════════════════════════════════════ */
#splash{background:var(--void);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 2rem;gap:2rem;overflow:hidden;min-height:100vh}
.sp-grid{position:absolute;inset:0;pointer-events:none;opacity:.032;background-image:linear-gradient(var(--b2) 1px,transparent 1px),linear-gradient(90deg,var(--b2) 1px,transparent 1px);background-size:52px 52px}
.sp-scan{position:absolute;left:0;right:0;height:80px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(255,45,26,.02),transparent);animation:scan 9s linear infinite}
.sp-c{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:2rem}
.sp-title{font-family:var(--f3);font-size:clamp(6rem,18vw,13rem);font-weight:300;line-height:.82;animation:fadeUp .8s var(--e) .2s both}
.sp-sub{font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--tx3);animation:fadeUp .8s var(--e) .35s both}
.sp-desc{font-size:1.1rem;line-height:1.9;color:var(--tx2);max-width:420px;animation:fadeUp .8s var(--e) .5s both}
.sp-acts{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s var(--e) .65s both}
.sp-pills{display:flex;gap:1.75rem;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s var(--e) .8s both}
.sp-pill{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tx3)}
.sp-pill::before{content:'· '}

/* ═══════════════════════════════════════════
   ONBOARDING
═══════════════════════════════════════════ */
#onboard{background:var(--void)}
.ob-wrap{max-width:500px;margin:0 auto;padding:3rem 2rem;min-height:100vh;display:flex;flex-direction:column}
.ob-top{display:flex;align-items:center;gap:1rem;margin-bottom:3rem}
.ob-track{flex:1;height:1px;background:var(--b1)}
.ob-fill{height:100%;background:var(--eye);transition:width .5s var(--e)}
.ob-dots{display:flex;gap:.38rem}
.ob-dot{width:5px;height:5px;border-radius:50%;background:var(--b2);transition:all .3s}
.ob-dot.done{background:var(--eye);transform:scale(.8)}
.ob-dot.now{background:var(--tx)}
.ob-body{flex:1;animation:fadeUp .35s var(--e) both}
.ob-q{font-family:var(--f3);font-size:3.2rem;font-weight:300;line-height:1.15;margin-bottom:1rem}
.ob-sub{font-size:1.05rem;color:var(--tx2);line-height:1.7;margin-bottom:2.5rem}
.ob-nav{display:flex;justify-content:space-between;align-items:center;padding-top:1.65rem;margin-top:auto}

/* ═══════════════════════════════════════════
   COIN PURCHASE (USER)
═══════════════════════════════════════════ */
#buy-coins{background:var(--void)}
.bc-wrap{max-width:480px;margin:0 auto;padding:3rem 2rem}
.bc-wrap h2{font-family:var(--f3);font-size:2.6rem;font-weight:300;line-height:1.05;margin-bottom:.4rem}
.bc-wrap>p{font-size:.75rem;color:var(--tx2);line-height:1.85;margin-bottom:2rem}
.coin-balance{display:flex;align-items:center;gap:.75rem;background:var(--coinB);border:1px solid var(--coinBr);padding:1rem 1.25rem;margin-bottom:2rem;border-radius:var(--r)}
.coin-icon{font-size:1.4rem}
.coin-bal-num{font-family:var(--f3);font-size:2rem;font-weight:300;color:var(--coin);line-height:1}
.coin-bal-lbl{font-size:.57rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,192,64,.55)}
.coin-packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:2rem}
.coin-pack{background:var(--s1);border:1.5px solid var(--b1);padding:1rem .5rem;text-align:center;cursor:pointer;transition:all .16s;position:relative;border-radius:var(--r);min-width:0;overflow:hidden}
.coin-pack:hover{border-color:var(--coinBr);background:var(--coinB)}
.coin-pack.sel{border-color:var(--coin);background:var(--coinB)}
.coin-pack.popular::after{content:'Popular';position:absolute;top:.3rem;left:50%;transform:translateX(-50%);background:var(--coin);color:var(--void);font-size:.45rem;letter-spacing:.08em;text-transform:uppercase;padding:.1rem .45rem;border-radius:999px;font-family:var(--f2);white-space:nowrap}
.pack-coins{font-family:var(--f3);font-size:1.6rem;font-weight:300;color:var(--coin);display:block;line-height:1}
.pack-price{font-size:.68rem;color:var(--tx2);margin-top:.2rem}
.pack-bonus{font-size:.5rem;color:var(--grn);margin-top:.15rem;white-space:nowrap}
.split-info{background:var(--gB);border:1px solid var(--gBr);padding:.85rem 1rem;margin-bottom:1.5rem;font-size:.68rem;color:var(--tx2);line-height:1.7;border-radius:var(--r)}
.split-info span{color:var(--gold)}

/* ═══════════════════════════════════════════
   USER CHAT
═══════════════════════════════════════════ */
#user-chat{background:#14110e;display:flex;flex-direction:column;height:100dvh;overflow:hidden;position:fixed;inset:0}
.uc-nav{display:flex;align-items:center;gap:.85rem;padding:calc(1rem + var(--sat, env(safe-area-inset-top))) 1.4rem 1rem;border-bottom:1px solid var(--b1);background:#060606;flex-shrink:0;transition:transform .3s}
.uc-info strong{font-family:var(--f3);font-size:1.1rem;font-weight:400;display:block;line-height:1}
.uc-info span{font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.coin-pill{display:flex;align-items:center;gap:.35rem;background:var(--coinB);border:1px solid var(--coinBr);padding:.3rem .7rem;border-radius:0;cursor:pointer;transition:all .15s}
.coin-pill:hover{background:rgba(240,192,64,.18)}
.coin-pill-val{font-size:.82rem;color:var(--coin);font-family:var(--f2)}
.coin-pill-lbl{font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(240,192,64,.5)}
.msgs{flex:1;overflow-y:auto;padding:calc(3.2rem + var(--sat, env(safe-area-inset-top))) 1.2rem 1.4rem;display:flex;flex-direction:column;gap:.8rem;box-sizing:border-box}
.day-sep{text-align:center;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);margin:.5rem 0}
.msg-wrap{display:flex;flex-direction:column;max-width:78%;gap:.18rem;animation:msgIn .26s var(--e) both}
.msg-wrap.hal{align-self:flex-start;max-width:720px}
.msg-wrap.usr{align-self:flex-end}
.bubble{padding:.9rem 1.1rem;font-size:.95rem;line-height:1.75;font-family:var(--f3);font-weight:300;overflow-wrap:anywhere;min-width:0}
.hal-p{margin:0 0 .5rem}
.hal-p:last-child{margin-bottom:0}
@keyframes halWordIn{from{opacity:0}to{opacity:1}}
.hal-typing .hal-w{opacity:0;animation:halWordIn .01s linear forwards}
.bubble ol,.bubble ul{padding-left:1.6rem;margin:.4rem 0}
.bubble ol{list-style-position:outside}
.bubble li{padding-left:.2rem;margin-bottom:.2rem;word-wrap:break-word}
.retry-tooltip{position:absolute;background:#0a0a0a;border:1px solid rgba(255,255,255,.2);padding:.5rem .7rem;font-family:var(--f2);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tx);cursor:pointer;z-index:1000;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.6)}
.retry-tooltip:hover{background:#151515;border-color:rgba(255,255,255,.35)}
.hal .bubble{background:transparent;border:none;color:var(--tx);padding-left:0;padding-right:0}
.usr .bubble{background:rgba(237,233,224,.9);color:var(--void)}
.msg-meta{font-size:.51rem;letter-spacing:.08em;color:var(--tx3);text-transform:uppercase}
.usr .msg-meta{text-align:right}
.typing{display:flex;gap:4px;padding:.75rem 1rem;background:var(--s2);border:1px solid var(--b1)}
.td{width:5px;height:5px;border-radius:50%;background:var(--tx3);animation:pulse 1.1s ease-in-out infinite}
.td:nth-child(2){animation-delay:.18s}.td:nth-child(3){animation-delay:.36s}
/* archived msg highlight */
.bubble.archived{border-color:var(--gBr);background:rgba(200,169,110,.07)}
.archive-btn{font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tx4);cursor:pointer;padding:.15rem .35rem;transition:color .15s;background:none;border:none;margin-top:.1rem;align-self:flex-end}
.archive-btn:hover{color:var(--gold)}
.archive-btn.saved{color:var(--gold)}
.archive-btn.ico-btn{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;line-height:0}
.archive-btn.ico-btn svg{display:block}
.archive-btn[title="Good answer"].rated{color:#3aa55c !important}
.archive-btn[title="Bad answer"].rated{color:#c0392b !important}
.archive-btn.saved svg{color:var(--gold)}

/* S53 polish13: fila de botones solo en el ultimo mensaje del AI. */
.msg-wrap.hal > div:nth-child(2),
.msg-wrap.usr > div:last-child {
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease;
}
.msg-wrap.hal.latest > div:nth-child(2),
.msg-wrap.hal.revealed > div:nth-child(2),
.msg-wrap.usr.revealed > div:last-child {
  opacity: 1;
  pointer-events: auto;
}
@media (hover: hover) {
  .msg-wrap.hal:hover > div:nth-child(2),
  .msg-wrap.usr:hover > div:last-child {
    opacity: 1;
    pointer-events: auto;
  }
}
@keyframes icoLoadingPulse {
  0%, 100% { opacity: 0.3; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1); }
}
.ico-loading circle {
  animation: icoLoadingPulse 1.1s ease-in-out infinite;
  transform-origin: center;
}
.ico-loading circle:nth-child(2) { animation-delay: 0.15s; }
.ico-loading circle:nth-child(3) { animation-delay: 0.3s; }
.archive-btn[title="Good answer"].rated{color:#3aa55c !important}
.archive-btn[title="Bad answer"].rated{color:#c0392b !important}
.uc-bar{flex-shrink:0;padding:.7rem .75rem;background:#1a1814;border-top:1px solid #2a2620;padding-bottom:max(.7rem,env(safe-area-inset-bottom))}
.uc-row{display:flex;gap:.5rem;align-items:center;min-height:48px}
.send-btn{width:56px;height:56px;border:none;background:linear-gradient(180deg,#3a3630 0%,#28251f 60%,#201e18 100%);color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .08s;font-size:1rem;cursor:pointer;border-radius:12px;box-shadow:0 6px 12px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.15) inset,0 -3px 0 rgba(0,0,0,.6) inset,0 0 0 1px rgba(0,0,0,.4)}
.send-btn:hover{background:linear-gradient(180deg,#44403a 0%,#302d27 60%,#26231d 100%);box-shadow:0 6px 12px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.18) inset,0 -3px 0 rgba(0,0,0,.6) inset,0 0 0 1px rgba(0,0,0,.4)}
.send-btn:active{background:linear-gradient(180deg,#201e18 0%,#28251f 100%);box-shadow:0 2px 4px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.05) inset,0 -1px 0 rgba(0,0,0,.3) inset,0 0 0 1px rgba(0,0,0,.5);transform:translateY(2px)}
.send-btn:last-child{color:#7a1500;font-size:1.2rem}
.send-btn:last-child:hover{color:#ff2200;filter:brightness(1.1)}
.uc-hint{font-size:.54rem;letter-spacing:.08em;color:var(--tx3);margin-top:.4rem;text-align:center;text-transform:uppercase}

/* AI suggest */
.ai-box{margin:0 1.2rem .7rem;padding:.7rem .95rem;background:linear-gradient(135deg,rgba(200,169,110,.07),rgba(79,168,245,.04));border:1px solid var(--gBr);font-size:.68rem;line-height:1.7;color:var(--tx2);animation:fadeUp .3s var(--e) both;border-radius:var(--r)}
.ai-head{font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.32rem;display:flex;align-items:center;gap:.4rem}
.ai-acts{display:flex;gap:.45rem;margin-top:.55rem}

/* ═══════════════════════════════════════════
   RATING OVERLAY
═══════════════════════════════════════════ */
#rate-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:600;display:none;align-items:center;justify-content:center;padding:2rem}
#rate-overlay.show{display:flex}
.rate-box{background:var(--void2);border:1px solid var(--b2);padding:2rem;max-width:360px;width:100%;text-align:center;border-radius:var(--r);animation:fadeUp .3s var(--e) both}
.rate-box h3{font-family:var(--f3);font-size:1.6rem;font-weight:300;margin-bottom:.45rem}
.rate-box p{font-size:.7rem;color:var(--tx2);line-height:1.7;margin-bottom:1.4rem}
.stars{display:flex;justify-content:center;gap:.45rem;margin-bottom:1.4rem}
.star{font-size:2rem;cursor:pointer;transition:transform .14s;opacity:.25;filter:grayscale(1)}
.star.lit{opacity:1;filter:none;animation:starPop .2s var(--e)}
.star:hover{transform:scale(1.18)}
/* Two-way rating */
.rate-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--b1)}
.rate-section h4{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);margin-bottom:.75rem}

/* ═══════════════════════════════════════════
   ARCHIVE PANEL (user)
═══════════════════════════════════════════ */
#archive-panel .modal{max-width:540px}
.arc-head{padding:1.35rem 1.5rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--void2);z-index:2}
.arc-head h3{font-family:var(--f3);font-size:1.4rem;font-weight:300}
.arc-body{padding:1.5rem}
.arc-item{padding:.9rem 1rem;background:var(--s1);border:1px solid var(--b1);margin-bottom:.65rem;border-radius:var(--r);position:relative}
.arc-item p{font-size:.76rem;line-height:1.7;color:var(--tx2);font-family:var(--f3);font-weight:300}
.arc-item-meta{font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);margin-top:.4rem}
.arc-del{position:absolute;top:.6rem;right:.7rem;font-size:.55rem;color:var(--tx4);cursor:pointer;background:none;border:none;transition:color .14s}
.arc-del:hover{color:var(--red)}
.arc-empty{text-align:center;padding:2rem;color:var(--tx3);font-size:.7rem}

/* ═══════════════════════════════════════════
   HAL APPLY
═══════════════════════════════════════════ */
#hal-apply{background:var(--void)}
.ap-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.75rem;border-bottom:1px solid var(--b1)}
.ap-logo{font-family:var(--f3);font-size:1.4rem;font-weight:300}
.ap-wrap{max-width:520px;margin:0 auto;padding:3rem 2rem}
.ap-wrap h2{font-family:var(--f3);font-size:2.8rem;font-weight:300;line-height:1.05;margin-bottom:.45rem}
.ap-wrap>p{font-size:.75rem;color:var(--tx2);line-height:1.85;margin-bottom:2rem}
.pts-explainer{background:var(--gB);border:1px solid var(--gBr);padding:1.1rem 1.25rem;margin-bottom:2rem;border-radius:var(--r)}
.pts-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.55rem}
.pts-item{background:rgba(0,0,0,.25);padding:.65rem;text-align:center;border-radius:var(--r)}
.pts-n{font-family:var(--f3);font-size:1.45rem;color:var(--gold2);display:block;line-height:1}
.pts-l{font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-top:.15rem}
.ap-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:3.5rem 2rem}

/* ═══════════════════════════════════════════
   HAL DASHBOARD
═══════════════════════════════════════════ */
#hal-dash{background:#f4f2ee}
#hal-dash.staff-mode{background:var(--staff-bg)!important;display:flex;flex-direction:column;overflow:hidden}
.hd-nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.75rem;border-bottom:1px solid var(--b1);background:rgba(6,6,6,.92);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}
/* ===== S35: Header rediseniado del Hal dash (hd-nav2) ===== */
.hd-nav2{position:sticky;top:0;z-index:20;background:#f4f2ee;border-bottom:1px solid rgba(0,0,0,.06);padding:calc(max(var(--sat, env(safe-area-inset-top)),44px) + .6rem) 1rem .7rem}
.hd-row1{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
@media(max-width:680px){.hd-row1{flex-wrap:wrap}.hd-row1 .hd-id{flex:1 1 auto}.hd-row1 .hd-actions{width:100%;justify-content:flex-end;margin-top:.5rem}}
.hd-id{display:flex;align-items:center;gap:.7rem;cursor:pointer;min-width:0}
.hd-eye{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;box-shadow:none}
.hd-eye .eye{border-radius:50%;background:radial-gradient(circle at 38% 32%,#ff6a4d 0%,#e01e00 42%,#7a0e00 100%)!important;box-shadow:0 0 10px rgba(255,60,30,.8),inset 0 0 6px rgba(0,0,0,.4)}
.hd-id-name{font-family:var(--f3);font-size:1.15rem;font-weight:400;color:#0a0a0a;letter-spacing:-.01em;white-space:nowrap}
.hd-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.hd-pts-mini{display:flex;align-items:center;gap:.3rem;background:linear-gradient(180deg,#efe9dd,#e7e0d1);border:1px solid rgba(200,169,110,.25);padding:.55rem .85rem;border-radius:14px;cursor:pointer;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.hd-pts-mini-ico{color:var(--gold);font-size:.85rem;line-height:1.4}
.hd-pts-mini-val{font-family:var(--f3);font-size:.95rem;font-weight:700;color:#0a0a0a;line-height:1.4}
.hd-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;border:1px solid rgba(0,0,0,.08);background:#fff;flex-shrink:0;padding:.55rem .85rem;border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:all .2s}
.hd-toggle #hd-online-dot{width:12px;height:12px;border-radius:3px}
.hd-toggle #hd-online-lbl{font-family:var(--f2);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;font-weight:600}
.hd-toggle.on{background:#1f3d2b;border-color:#1f3d2b}
.hd-toggle.on #hd-online-lbl{color:#fff}
.hd-toggle.on #hd-online-dot{background:#4a8a4a!important}
.hd-toggle.spec{background:#c8a96e;border-color:#c8a96e}
.hd-toggle.spec #hd-online-lbl{color:#0a0a0a}
.hd-icon-btn{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;cursor:pointer;color:#1a1a1a;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:background .15s}
.hd-icon-btn:hover{background:#faf9f7}
.hd-metrics{display:flex;gap:.7rem;margin-top:.8rem;align-items:stretch}
.hd-card-v{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.12rem;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:.4rem .5rem .38rem;min-width:0;box-shadow:0 2px 10px rgba(0,0,0,.04);overflow:hidden}
.hd-card-v.pts-pill{cursor:pointer}
.hd-card-accent{background:radial-gradient(circle at 50% 35%,#27502f,#16301f);border-color:#16301f;box-shadow:0 6px 20px rgba(22,48,31,.45)}
.hd-card-v.pts-pill{background:linear-gradient(180deg,#efe9dd,#e7e0d1);border-color:rgba(200,169,110,.25)}
.hd-vico{width:30px;height:30px;border-radius:10px;background:#f3f1ec;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hd-card-v.pts-pill .hd-vico{background:rgba(200,169,110,.18)}
.hd-vico-ring{position:relative;z-index:1;width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(143,220,160,.6);display:flex;align-items:center;justify-content:center;color:#8fdca0}
.hd-vval{position:relative;z-index:1;font-family:var(--f3);font-size:1.25rem;font-weight:700;color:#0a0a0a;line-height:1}
.hd-card-accent .hd-vval{color:#fff}
.hd-vlbl{position:relative;z-index:1;font-family:var(--f2);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(0,0,0,.4)}
.hd-card-accent .hd-vlbl{color:#8fdca0}
.hd-dots{display:flex;gap:3px;justify-content:center;flex-wrap:wrap;max-width:80%}
.hd-dots span{width:4px;height:4px;border-radius:50%;background:rgba(0,0,0,.13)}
.hd-dots span.fill{background:var(--coin)}
.hd-accbar{position:relative;z-index:1;width:80%;height:6px;background:rgba(143,220,160,.15);border-radius:99px;overflow:hidden;margin-top:.1rem}
.hd-accbar-fill{height:100%;background:linear-gradient(90deg,rgba(140,220,160,.5),#8fdca0);border-radius:99px;box-shadow:0 0 10px rgba(143,220,160,.7);transition:width .8s var(--e)}
.hd-radar{position:absolute;top:50%;left:50%;width:92px;height:92px;transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:.7}
.hd-corner{position:absolute;width:12px;height:12px;border:1.5px solid rgba(143,220,160,.35);z-index:1}
.hd-corner.tl{top:8px;left:8px;border-right:none;border-bottom:none}
.hd-corner.tr{top:8px;right:8px;border-left:none;border-bottom:none}
.hd-corner.bl{bottom:8px;left:8px;border-right:none;border-top:none}
.hd-corner.br{bottom:8px;right:8px;border-left:none;border-top:none}
.hd-tabs{display:flex;gap:.4rem;padding:.7rem 1rem;position:relative;background:#f4f2ee;border-bottom:1px solid rgba(0,0,0,.06)}
.hd-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.6rem .4rem;font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(0,0,0,.06);cursor:pointer;background:#fff;color:#888;border-radius:12px;font-family:var(--f2);position:relative;transition:all .15s;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.hd-tab .hd-tab-ico{flex-shrink:0;opacity:.7}
.hd-tab.on{background:#1f3d2b;color:#8fdca0;border-color:#1f3d2b}
.hd-tab.on .hd-tab-ico{opacity:1}
.hd-tab{position:relative}
.hd-tab-badge{position:absolute;top:3px;right:6px;min-width:14px;height:14px;padding:0 3px;box-sizing:border-box;background:#7a1500;color:#fff;font-size:.46rem;line-height:14px;text-align:center;border-radius:7px;font-weight:700;font-family:var(--f2);display:none}
.hd-tab-badge.on{display:inline-block}

.hd-logo{font-family:var(--f3);font-size:1.4rem;font-weight:300}
.hd-logo sub{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);vertical-align:middle;margin-left:.3rem}
.hd-right{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;margin-left:auto}
.pts-pill{display:flex;align-items:center;gap:.3rem;background:var(--gB);border:1px solid var(--gBr);padding:.3rem .55rem;border-radius:999px;cursor:pointer;transition:all .16s}
.pts-pill:hover{background:rgba(200,169,110,.16)}
.pts-val{font-size:.76rem;color:var(--gold);font-family:var(--f2);transition:all .22s}
.pts-val.flash{animation:countUp .4s var(--e)}
.pts-lbl{font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(200,169,110,.5)}
/* Rating health bar */
.rating-health{display:flex;align-items:center;gap:.6rem;background:var(--s1);border:1px solid var(--b1);padding:.38rem .85rem;border-radius:999px}
.rh-stars{color:var(--coin);font-size:.75rem}
.rh-val{font-size:.7rem;font-family:var(--f2);color:var(--tx)}
.rh-bar-wrap{width:60px;height:5px;background:rgba(0,0,0,.2);border-radius:2px}
.rh-bar{height:100%;border-radius:2px;transition:width .6s var(--e);background:#2a6622}
/* Acceptance rate */
.acc-pill{display:flex;align-items:center;gap:.3rem;background:var(--grnB);border:1px solid var(--grnBr);padding:.3rem .55rem;border-radius:999px}
.acc-val{font-size:.7rem;color:var(--grn);font-family:var(--f2)}
.acc-lbl{font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(62,207,142,.5)}

.hd-body{display:grid;grid-template-columns:460px 1fr;flex:1;min-height:0;align-items:stretch;overflow:hidden}
@media(max-width:680px){.hd-body{display:flex;flex-direction:column}.hd-main:not(:has(.dp)){display:none!important}}
.hd-side{border-right:1px solid var(--b1);overflow-y:auto;min-height:0}
.hd-side-head{padding:1rem 1.45rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between}
.hd-side-head h3{font-family:var(--f3);font-size:1.05rem;font-weight:400}
/* Incoming request item */
.req-item{padding:.85rem 1.45rem;border-bottom:1px solid var(--b1);cursor:pointer;transition:background .14s;display:flex;align-items:center;gap:.75rem;position:relative}
.req-item:hover{background:var(--s1)}
.req-item.sel{background:var(--s2);border-left:2px solid var(--eye);padding-left:calc(1.45rem - 2px)}
.req-item.incoming{animation:requestPing 2s infinite}
.u-avi{width:44px;height:44px;border-radius:0;background:var(--s2);border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.u-inf{flex:1;min-width:0}
.u-inf b{font-size:.74rem;display:block;margin-bottom:.08rem}
.u-inf s{font-size:.58rem;color:var(--tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;text-decoration:none}
.u-unread{min-width:17px;height:17px;background:var(--eye);color:#fff;font-size:.52rem;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;flex-shrink:0}
.req-actions{display:flex;gap:.35rem;margin-top:.5rem}
.hd-main{overflow-y:auto;min-height:0}
.hd-main:empty::before{content:'Select a session to view details';display:flex;align-items:center;justify-content:center;height:100%;color:rgba(0,0,0,.3);font-family:var(--f3);font-size:.9rem}
.hd-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#888;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;display:none}

/* Detail panel */
.dp{padding:1.75rem}
.dp-head{display:flex;align-items:flex-start;gap:1.2rem;margin-bottom:1.75rem}
.dp-avi{width:54px;height:54px;border-radius:50%;background:var(--s2);border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.dp-info h3{font-family:var(--f3);font-size:1.5rem;font-weight:300;margin-bottom:.28rem}
.dp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}
.dp-stat{background:var(--s1);border:1px solid var(--b1);padding:.9rem;text-align:center;border-radius:var(--r)}
.dp-sn{font-family:var(--f3);font-size:1.8rem;font-weight:300;display:block;line-height:1}
.dp-sl{font-size:.53rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-top:.18rem}
.sec-h{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin-bottom:.6rem}
.last-q{background:var(--s1);border:1px solid var(--b1);padding:.9rem 1rem;font-size:.76rem;line-height:1.75;color:var(--tx2);font-style:italic;margin-bottom:1.5rem;border-radius:var(--r)}
.match-row{display:flex;align-items:center;gap:.7rem;padding:.8rem .95rem;background:var(--grnB);border:1px solid var(--grnBr);margin-bottom:1.5rem;border-radius:var(--r)}
.match-track{flex:1;height:4px;background:var(--b1);border-radius:2px}
.match-fill{height:100%;background:var(--grn);border-radius:2px;transition:width .8s var(--e)}
.dp-acts{display:flex;gap:.6rem;flex-wrap:wrap}
/* Rating threshold warning */
.rating-warn{background:var(--warnB);border:1px solid rgba(245,158,11,.22);padding:.75rem 1rem;margin-bottom:1.25rem;border-radius:var(--r);font-size:.68rem;color:var(--warn);line-height:1.6}
/* Rating trend */
.rating-trend{display:flex;gap:3px;align-items:flex-end;height:28px;margin-top:.4rem}
.rt-bar{width:8px;background:var(--b2);border-radius:1px;transition:height .5s var(--e)}

/* HAL ID card */
.hal-id-card{background:linear-gradient(135deg,var(--s2),var(--s1));border:1px solid var(--b2);padding:1.25rem 1.5rem;margin-bottom:1.75rem;position:relative;overflow:hidden;border-radius:var(--r)}
.hal-id-card::before{content:'HAL ID';position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-family:var(--f3);font-size:5rem;font-weight:300;color:rgba(255,255,255,.02);line-height:1;pointer-events:none}
.hal-id-num{font-family:var(--f2);font-size:.65rem;letter-spacing:.25em;color:var(--tx3);margin-bottom:.3rem}
.hal-id-name{font-family:var(--f3);font-size:1.4rem;font-weight:300;margin-bottom:.5rem}
.hal-id-badges{display:flex;gap:.4rem;flex-wrap:wrap}
/* Chain ready indicator */
.chain-ready{font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:.35rem;color:var(--tx3);margin-top:.6rem}
.chain-dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* ═══════════════════════════════════════════
   HAL CHAT (staff)
═══════════════════════════════════════════ */
#hal-chat{background:var(--void);display:flex;flex-direction:column;height:100vh;overflow:hidden;position:fixed;inset:0}
.hc-banner{flex-shrink:0;background:rgba(200,169,110,.06);border-bottom:1px solid var(--gBr);padding:.42rem 1.4rem;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(200,169,110,.6);text-align:center}
.hc-hint{margin:0 1.2rem .65rem;background:rgba(200,169,110,.05);border:1px solid var(--gBr);padding:.45rem .82rem;font-size:.6rem;color:rgba(200,169,110,.55);border-radius:var(--r)}
.sess-pts-pill{display:flex;align-items:center;gap:.35rem;background:var(--gB);border:1px solid var(--gBr);padding:.28rem .65rem;border-radius:999px}
.sess-pts-val{font-size:.68rem;color:var(--gold);font-family:var(--f2)}
/* Acceptance queue */
.accept-queue{flex-shrink:0;border-bottom:1px solid var(--b1);padding:.75rem 1.2rem;background:var(--grnB);display:flex;align-items:center;gap:1rem}
.accept-queue p{font-size:.68rem;color:#1a1a16;flex:1;font-weight:500}
.accept-acts{display:flex;gap:.45rem}

/* ═══════════════════════════════════════════
   POINTS / COINS MODAL
═══════════════════════════════════════════ */
#pts-modal .modal{max-width:460px}
.pm-head{padding:1.3rem 1.5rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--void2);z-index:2}
.pm-head h3{font-family:var(--f3);font-size:1.35rem;font-weight:300}
.pm-body{padding:1.5rem}
.pts-big{font-family:var(--f3);font-size:4.2rem;font-weight:300;line-height:1;background:linear-gradient(135deg,var(--gold),var(--gold2),var(--gold));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite}
.pts-big-lbl{font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);margin-top:.2rem}
.earn-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:1.2rem 0}
.earn-item{background:var(--s1);border:1px solid var(--b1);padding:.8rem;text-align:center;border-radius:var(--r)}
.earn-n{font-family:var(--f3);font-size:1.6rem;font-weight:300;color:var(--gold);display:block;line-height:1}
.earn-l{font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-top:.14rem}
.level-wrap{height:5px;background:var(--b1);border-radius:3px;margin:.55rem 0 .25rem}
.level-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:3px;transition:width .8s var(--e)}
.ledger-row{display:flex;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--b1)}
.ledger-row:last-child{border:none}
.led-ico{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0}
.led-earn{background:var(--gB)}
.led-spend{background:var(--redB)}
.led-inf{flex:1}
.led-inf b{font-size:.7rem;display:block}
.led-inf s{font-size:.56rem;color:var(--tx3);text-decoration:none}
.led-pts{font-size:.72rem;font-weight:500}
.led-plus{color:var(--gold)}
.led-minus{color:var(--red)}
/* Smart contract section */
.sc-section{background:var(--bluB);border:1px solid rgba(79,168,245,.2);padding:.85rem 1rem;margin-top:1.25rem;border-radius:var(--r)}
.sc-section h4{font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blu);margin-bottom:.5rem}
.sc-section p{font-size:.68rem;color:var(--tx2);line-height:1.7}
.sc-steps{margin-top:.65rem;display:flex;flex-direction:column;gap:.35rem}
.sc-step{display:flex;align-items:center;gap:.5rem;font-size:.62rem;color:var(--tx2)}
.sc-step-n{width:18px;height:18px;border-radius:50%;background:var(--bluB);border:1px solid rgba(79,168,245,.25);display:flex;align-items:center;justify-content:center;font-size:.55rem;color:var(--blu);flex-shrink:0}

/* ═══════════════════════════════════════════
   REFERRAL MODAL
═══════════════════════════════════════════ */
#referral-modal .modal{max-width:440px}
.ref-head{padding:1.3rem 1.5rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--void2);z-index:2}
.ref-head h3{font-family:var(--f3);font-size:1.15rem;font-weight:300}
.ref-body{padding:1.5rem}
.ref-code-box{background:var(--s1);border:1px solid var(--b2);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;border-radius:var(--r)}
.ref-code{font-family:var(--f2);font-size:1rem;letter-spacing:.1em;color:var(--coin);white-space:nowrap}
.ref-track{background:var(--s1);border:1px solid var(--b1);padding:.75rem 1rem;margin-bottom:.65rem;border-radius:var(--r)}
.ref-track h4{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);margin-bottom:.6rem}
.ref-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--b1);font-size:.7rem}
.ref-row:last-child{border:none}

/* ═══════════════════════════════════════════
   HAL ID MODAL
═══════════════════════════════════════════ */
#hal-id-modal .modal{max-width:440px}
.hid-head{padding:1.3rem 1.5rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--void2);z-index:2}
.hid-head h3{font-family:var(--f3);font-size:1.35rem;font-weight:300}
.hid-body{padding:1.5rem}
.hid-card{background:linear-gradient(135deg,#0e1520,#0d0d0d);border:1px solid rgba(79,168,245,.2);padding:1.75rem;text-align:center;margin-bottom:1.5rem;border-radius:var(--r);position:relative;overflow:hidden}
.hid-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(79,168,245,.06),transparent 70%);pointer-events:none}
.hid-eye-wrap{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.hid-id-num{font-family:var(--f2);font-size:.62rem;letter-spacing:.22em;color:rgba(79,168,245,.6);margin-bottom:.25rem}
.hid-name{font-family:var(--f3);font-size:1.8rem;font-weight:300;margin-bottom:.5rem}
.hid-since{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}
.hid-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;margin-bottom:1.25rem}
.hid-stat{background:var(--s1);border:1px solid var(--b1);padding:.75rem;text-align:center;border-radius:var(--r);min-height:5.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem}
.hid-sn{font-family:var(--f3);font-size:1.5rem;font-weight:300;display:block;line-height:1}
.hid-sl{font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-top:.14rem}
.chain-migration{background:var(--bluB);border:1px solid rgba(79,168,245,.2);padding:.85rem 1rem;border-radius:var(--r)}
.chain-migration h4{font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blu);margin-bottom:.45rem}
.chain-migration p{font-size:.68rem;color:var(--tx2);line-height:1.7}

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
/* ═══════════════════════════════════════════
   ONLINE / OFFLINE TOGGLE
═══════════════════════════════════════════ */
.online-toggle{display:flex;align-items:center;gap:.5rem;background:var(--s1);border:1px solid var(--b1);padding:.32rem .8rem;border-radius:999px;cursor:pointer;transition:all .2s;user-select:none}
.online-toggle.online{border-color:var(--grnBr);background:var(--grnB)}
.online-toggle.offline{border-color:var(--redBr);background:var(--redB)}
.ot-dot{width:7px;height:7px;border-radius:50%;transition:background .2s}
.online-toggle.online .ot-dot{background:var(--grn);box-shadow:0 0 5px var(--grn)}
.online-toggle.offline .ot-dot{background:var(--red)}
.ot-lbl{font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}
.online-toggle.online .ot-lbl{color:var(--grn)}
.online-toggle.offline .ot-lbl{color:var(--red)}

/* ═══════════════════════════════════════════
   5-MIN RESPONSE TIMER
═══════════════════════════════════════════ */
.response-timer{flex-shrink:0;display:flex;align-items:center;gap:.5rem;background:var(--warnB);border:1px solid rgba(245,158,11,.25);padding:.35rem .8rem;border-radius:999px;animation:requestPing 2s infinite}
.response-timer.urgent{background:var(--redB);border-color:var(--redBr);animation:shake .5s infinite}
.rt-time{font-family:var(--f2);font-size:.7rem;color:var(--warn)}
.response-timer.urgent .rt-time{color:var(--red)}
.rt-lbl{font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,158,11,.6)}
.auto-close-banner{flex-shrink:0;background:var(--redB);border-bottom:1px solid var(--redBr);padding:.55rem 1.4rem;font-size:.62rem;color:var(--red);text-align:center;letter-spacing:.06em;display:none}

/* ═══════════════════════════════════════════
   TRIAL MODE BANNER
═══════════════════════════════════════════ */
.trial-banner{background:#fff;border-bottom:none;padding:.9rem 1.1rem;margin:.7rem 1rem 0;border:1px solid rgba(0,0,0,.06);border-radius:16px;display:flex;flex-direction:column;flex-shrink:0;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.trial-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}
.trial-sub{font-size:.72rem;color:#555;font-family:var(--f3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trial-badge{background:rgba(200,169,110,.16);border:none;padding:.3rem .65rem;border-radius:7px;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#a07d1e;font-weight:700;flex-shrink:0}
.trial-bot{display:flex;align-items:center;gap:.8rem}
.trial-days{font-size:.68rem;color:#666;letter-spacing:.04em;font-family:var(--f2);white-space:nowrap;flex-shrink:0}
.trial-prog{flex:1;max-width:280px;height:6px;background:rgba(0,0,0,.08);border-radius:99px;overflow:hidden}
@media(min-width:681px){
  .trial-banner{flex-direction:row;align-items:center;gap:1.2rem}
  .trial-top{margin-bottom:0;flex:0 0 auto}
  .trial-bot{flex:1}
  .trial-prog{max-width:none}
}
#staff-drawer .trial-banner{flex-direction:column!important;gap:0!important}
#staff-drawer .trial-top{margin-bottom:.7rem!important;flex-wrap:wrap}
#staff-drawer .trial-sub{white-space:normal}
#staff-drawer .trial-bot{flex-direction:column;align-items:stretch;gap:.45rem}
#staff-drawer .trial-prog{max-width:none;width:100%}
.trial-prog-fill{height:100%;background:linear-gradient(90deg,#c8a96e,#a07d1e);border-radius:99px;transition:width .8s var(--e)}
/* S34: dot de status con pulso cuando esta activo (online). Off = apagado y sobrio. */
@keyframes hdPulse{0%{box-shadow:0 0 0 0 var(--hd-glow,rgba(42,102,34,.55))}70%{box-shadow:0 0 0 6px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
#hd-online-dot{width:9px;height:9px;border-radius:50%;transition:background .3s}
#hd-online-dot.on{animation:hdPulse 2s ease-out infinite}
#hd-online-dot.off{opacity:.85}

/* ═══════════════════════════════════════════
   THE MARKET / SPECIALIST SCREEN
═══════════════════════════════════════════ */
#market{background:var(--void)}
.mkt-nav{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.5rem;border-bottom:1px solid var(--b1);background:rgba(6,6,6,.92);backdrop-filter:blur(18px)}
.mkt-nav-logo{font-family:var(--f3);font-size:.85rem;font-weight:300;letter-spacing:.04em;text-transform:uppercase}
.mkt-nav-logo em{color:var(--gold);font-style:normal}
.mkt-search{background:var(--s1);border:1px solid var(--b1);padding:.55rem 1rem;font-size:.72rem;font-family:var(--f2);color:var(--tx);outline:none;border-radius:var(--r);min-width:200px;transition:border-color .2s}
.mkt-search:focus{border-color:var(--b2)}
.mkt-body{max-width:980px;margin:0 auto;padding:2.5rem 1.5rem}
.mkt-hero{text-align:center;margin-bottom:3rem}
.mkt-hero h1{font-family:var(--f3);font-size:clamp(1.5rem,7vw,3.8rem);font-weight:300;line-height:1.1;white-space:nowrap;margin-bottom:.6rem}
.mkt-hero p{font-size:.78rem;color:var(--tx2);line-height:1.85;max-width:480px;margin:0 auto 1.5rem}
.mkt-cats{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:.75rem}
.mkt-cat{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--b1);padding:.28rem .75rem;cursor:pointer;transition:all .14s;color:var(--tx3);border-radius:var(--r)}
.mkt-cat:hover{border-color:var(--gBr);color:var(--gold)}
.mkt-cat.active{border-color:var(--gBr);color:var(--gold);background:var(--gB)}
.mkt-section-h{font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tx3);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--b1)}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem;margin-bottom:3rem}
.spec-card{background:var(--s1);border:1.5px solid var(--b1);padding:1.4rem;cursor:pointer;transition:all .18s;position:relative;border-radius:var(--r)}
.spec-card:hover{border-color:var(--gBr);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.4)}
.spec-card.featured{border-color:var(--gBr);background:linear-gradient(135deg,rgba(200,169,110,.06),var(--s1))}
.spec-avi{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:.85rem;border:1px solid var(--b1);background:var(--s2)}
.spec-name{font-family:var(--f3);font-size:1.1rem;font-weight:300;margin-bottom:.18rem}
.spec-handle{font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-bottom:.65rem}
.spec-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.85rem;max-width:100%}
.spec-tags .tag{font-size:.46rem !important;padding:.12rem .35rem !important;letter-spacing:.05em !important;line-height:1.2 !important;min-height:auto !important;display:inline-block !important;border-radius:4px;white-space:nowrap}
.spec-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.65rem;padding-top:.75rem;border-top:1px solid var(--b1)}
.spec-price{font-family:var(--f2);font-size:.72rem;color:var(--coin)}
.spec-price em{font-style:normal;color:var(--tx3);font-size:.56rem}
.spec-rating{font-size:.62rem;color:var(--gold)}
.spec-sessions{font-size:.56rem;color:var(--tx3);letter-spacing:.08em}
.spec-avail{position:absolute;top:.85rem;right:.85rem;width:8px;height:8px;border-radius:50%}
.spec-avail.avail{background:var(--grn);box-shadow:0 0 5px var(--grn)}
.spec-avail.busy{background:var(--warn)}
.spec-avail.offline{background:var(--tx4)}
.spec-featured-badge{position:absolute;top:-.5rem;left:1rem;background:var(--gold);color:var(--void);font-size:.48rem;letter-spacing:.1em;text-transform:uppercase;padding:.1rem .55rem;border-radius:999px;font-family:var(--f2)}

/* ═══════════════════════════════════════════
   SPECIALIST BOOKING MODAL
═══════════════════════════════════════════ */
#booking-modal .modal{max-width:440px}
.bk-head{padding:1.3rem 1.5rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--void2);z-index:2}
.bk-head h3{font-family:var(--f3);font-size:1.35rem;font-weight:300}
.bk-body{padding:1.5rem}
.bk-spec-row{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--b1)}
.bk-spec-avi{width:80px;height:80px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:var(--s2);border:1px solid var(--b1);overflow:hidden;flex-shrink:0}
.bk-spec-name{font-family:var(--f3);font-size:1.2rem;font-weight:300}
.bk-spec-handle{font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin:.1rem 0 .4rem}
#bk-tags{display:flex;flex-wrap:wrap;gap:.25rem;max-width:100%}
#bk-tags .tag{font-size:.45rem !important;padding:.12rem .35rem !important;letter-spacing:.05em !important;line-height:1.2 !important;min-height:auto !important;display:inline-block !important;border-radius:4px;white-space:nowrap}
#sd-ptags .tag{font-size:.46rem !important;padding:.12rem .35rem !important;letter-spacing:.05em !important;line-height:1.2 !important;min-height:auto !important;display:inline-block !important;border-radius:4px}
.bk-dur-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-bottom:1.5rem}
.bk-dur{background:var(--s1);border:1.5px solid var(--b1);padding:.5rem .3rem;text-align:center;cursor:pointer;transition:all .15s;border-radius:var(--r)}
.bk-dur:hover{border-color:var(--gBr)}
.bk-dur.sel{border-color:var(--coin);background:var(--coinB)}
.bk-dur-min{font-family:var(--f3);font-size:1.1rem;font-weight:300;display:block;color:var(--coin);line-height:1}
.bk-dur-price{font-size:.56rem;color:var(--tx3);margin-top:.2rem}
.bk-note{font-size:.62rem;color:var(--tx3);line-height:1.7;margin-bottom:1.25rem;padding:.65rem;background:var(--s1);border:1px solid var(--b1);border-radius:var(--r)}
.bk-url-row{display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem;background:var(--s1);border:1px solid var(--b1);padding:.65rem .9rem;border-radius:var(--r)}
.bk-url{font-family:var(--f2);font-size:.62rem;color:var(--gold);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ═══════════════════════════════════════════
   SPECIALIST DASHBOARD
═══════════════════════════════════════════ */
#spec-dash{background:var(--void)}
.sd-nav{display:flex;align-items:center;justify-content:space-between;padding:calc(max(var(--sat, env(safe-area-inset-top)),44px) + .6rem) 1.5rem .9rem;border-bottom:1px solid var(--b1);background:rgba(6,6,6,.92);backdrop-filter:blur(18px);flex-wrap:nowrap;gap:.65rem}
.sd-logo{font-family:var(--f3);font-size:.85rem;font-weight:300;letter-spacing:.04em;text-transform:uppercase}
.sd-logo em{color:var(--gold);font-style:normal}
.sd-right{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.sd-body{max-width:840px;margin:0 auto;padding:2.5rem 1.5rem}
.sd-hero{margin-bottom:2rem}
.sd-profile-card{background:var(--s1);border:1px solid var(--gBr);padding:1rem;margin-bottom:1rem;border-radius:var(--r);position:relative;overflow:hidden}

.sd-prow{display:flex;align-items:flex-start;gap:1.4rem;margin-bottom:1rem}
.sd-pavi{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:var(--s2);border:1px solid var(--gBr);flex-shrink:0}
.sd-pname{font-family:var(--f3);font-size:1.1rem;font-weight:400;line-height:1.1;letter-spacing:.01em}
.sd-purl{font-size:.62rem;letter-spacing:.1em;color:var(--gold);opacity:.75;margin:.35rem 0 .7rem;font-family:var(--f2)}
.sd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:1.75rem}
.sd-stat{background:var(--s2);border:1px solid var(--b1);padding:.5rem .3rem;text-align:center;border-radius:var(--r)}
.sd-sn{font-family:var(--f3);font-size:1.1rem;font-weight:300;display:block;line-height:1}
.sd-sl{font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-top:.18rem}
.sd-pricing{background:var(--s1);border:1px solid var(--b1);padding:1.1rem 1.25rem;margin-bottom:1.5rem;border-radius:var(--r)}
.sd-pricing h4{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin-bottom:.85rem}
.sd-price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}
.sd-price-item{background:var(--s2);border:1px solid var(--b1);padding:.75rem;text-align:center;border-radius:var(--r)}
.sd-price-item.active{border-color:var(--coinBr);background:var(--coinB)}
.sd-pi-dur{font-family:var(--f3);font-size:1.2rem;font-weight:300;display:block;color:var(--coin);line-height:1}
.sd-pi-price{font-size:.56rem;color:var(--tx3);margin-top:.15rem}
.sd-url-box{background:var(--gB);border:1px solid var(--gBr);padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;border-radius:var(--r)}
.sd-url-val{font-family:var(--f2);font-size:.72rem;color:var(--gold);letter-spacing:.08em}
.sd-pending{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);overflow:hidden}
.sd-pending h4{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);padding:.85rem 1.1rem;border-bottom:1px solid var(--b1)}
.sd-booking-row{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--b1);transition:background .14s}
.sd-booking-row:last-child{border:none}
.sd-booking-row:hover{background:var(--s2)}
.sd-br-avi{width:36px;height:36px;border-radius:50%;background:var(--s2);border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.sd-br-info{flex:1}
.sd-br-name{font-size:.74rem;font-weight:500}
.sd-br-dur{font-size:.57rem;color:var(--tx3);letter-spacing:.08em}
.sd-br-acts{display:flex;gap:.35rem}
.email-notif{background:var(--grnB);border:1px solid var(--grnBr);padding:.65rem 1.1rem;margin-bottom:1.25rem;border-radius:var(--r);font-size:.66rem;color:var(--grn);line-height:1.6}

/* ═══════════ CALENDAR PICKER ═══════════ */
.bk-cal-section{margin-bottom:1.1rem}
.bk-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.bk-cal-header .sec-h{margin:0}
.bk-cal-asap{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);background:var(--s2);border:1px solid var(--b1);padding:.35rem .6rem;cursor:pointer;transition:all .14s;font-family:var(--f2)}
.bk-cal-asap:hover{border-color:var(--gold);color:var(--gold)}
.bk-cal-asap.active{background:var(--gB);border-color:var(--gBr);color:var(--gold)}
.bk-cal-wrap{background:var(--s1);border:1px solid var(--b1);padding:.85rem}
.bk-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.bk-cal-month{font-family:var(--f3);font-size:.95rem;font-weight:300;letter-spacing:.04em}
.bk-cal-arrow{background:transparent;border:1px solid var(--b1);width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tx2);font-size:.7rem;transition:all .14s}
.bk-cal-arrow:hover{border-color:var(--gold);color:var(--gold)}
.bk-cal-arrow:disabled{opacity:.3;cursor:not-allowed}
.bk-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.bk-cal-dow{font-size:.48rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);text-align:center;padding:.3rem 0;font-family:var(--f2)}
.bk-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-family:var(--f3);font-weight:300;cursor:pointer;background:var(--s2);border:1px solid transparent;color:var(--tx2);transition:all .12s}
.bk-cal-day:hover:not(.past):not(.empty){border-color:var(--gold);color:var(--gold)}
.bk-cal-day.past{color:var(--tx3);opacity:.3;cursor:not-allowed;background:transparent}
.bk-cal-day.empty{background:transparent;cursor:default}
.bk-cal-day.today{color:var(--gold)}
.bk-cal-day.selected{background:var(--gB);border-color:var(--gold);color:var(--gold)}
.bk-slots-wrap{margin-top:.85rem;border-top:1px solid var(--b1);padding-top:.85rem}
.bk-slots-label{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin-bottom:.5rem;font-family:var(--f2)}
.bk-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}
.bk-slot{background:var(--s2);border:1px solid var(--b1);padding:.45rem .3rem;font-size:.6rem;text-align:center;cursor:pointer;font-family:var(--f2);letter-spacing:.04em;color:var(--tx2);transition:all .12s}
.bk-slot:hover{border-color:var(--gold);color:var(--gold)}
.bk-slot.selected{background:var(--gB);border-color:var(--gold);color:var(--gold)}
.bk-cal-summary{margin-top:.7rem;padding:.55rem .75rem;background:var(--gB);border:1px solid var(--gBr);font-size:.62rem;color:var(--gold);font-family:var(--f2);letter-spacing:.04em;display:flex;align-items:center;justify-content:space-between}
.bk-cal-summary .clear-btn{background:transparent;border:none;color:var(--tx3);cursor:pointer;font-size:.85rem;padding:0 .25rem}
.bk-cal-summary .clear-btn:hover{color:var(--gold)}

/* ═══════════ Book a call button ═══════════ */
.spec-book-btn{background:var(--gB);border:1px solid var(--gBr);padding:.45rem .8rem;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-family:var(--f2);cursor:pointer;transition:all .14s;display:inline-flex;align-items:center;gap:.35rem;font-weight:600}
.spec-book-btn:hover{background:var(--gold);color:var(--void);border-color:var(--gold)}

/* ═══════════ My bookings (market) ═══════════ */
.mkt-booking-card{display:flex;align-items:center;gap:.85rem;background:var(--s1);border:1px solid var(--b1);padding:.85rem 1rem;margin-bottom:.55rem;transition:border-color .14s}
.mkt-booking-card:hover{border-color:var(--gBr)}
.mkt-bk-avi{width:42px;height:42px;background:var(--s2);border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;overflow:hidden}
.mkt-bk-avi img{width:100%;height:100%;object-fit:cover}
.mkt-bk-info{flex:1;min-width:0}
.mkt-bk-name{font-size:.78rem;font-weight:500;color:var(--tx1);margin-bottom:.15rem;font-family:var(--f3);font-weight:300;letter-spacing:.01em}
.mkt-bk-when{font-size:.6rem;color:var(--tx2);font-family:var(--f2);letter-spacing:.04em}
.mkt-bk-meta{display:flex;align-items:center;gap:.45rem;margin-top:.3rem;flex-wrap:wrap}
.mkt-bk-cost{font-size:.6rem;color:var(--coin);font-family:var(--f2);letter-spacing:.04em}
.mkt-bk-status{font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .45rem;font-family:var(--f2);font-weight:600}
.mkt-bk-status.pending{background:rgba(200,169,110,.1);border:1px solid rgba(200,169,110,.3);color:var(--gold)}
.mkt-bk-status.accepted{background:rgba(42,102,34,.15);border:1px solid rgba(42,102,34,.4);color:var(--grn)}
.mkt-bk-cancel{background:transparent;border:1px solid var(--b1);color:var(--tx3);padding:.35rem .6rem;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--f2);transition:all .14s;flex-shrink:0}
.mkt-bk-cancel:hover{border-color:var(--red);color:var(--red)}

/* ═══════════ Market badge en m-tile drawer ═══════════ */
.m-tile{position:relative}
.m-tile-badge{position:absolute;top:6px;right:6px;background:var(--red);color:#fff;font-family:var(--f2);font-size:.55rem;font-weight:700;line-height:1;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;letter-spacing:0;border:1px solid #000}

/* ═══════════════════════════════════════════
   SESSION HISTORY / FULL HISTORY PANEL
═══════════════════════════════════════════ */
#history-panel .modal{max-width:580px}
.hist-head{padding:1.3rem 1.5rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--void2);z-index:2}
.hist-head h3{font-family:var(--f3);font-size:1.35rem;font-weight:300}
/* Safe-area: empuja todos los headers sticky bajo el notch en iOS. En desktop env()=0. */
.arc-head{padding-top:calc(1.35rem + var(--sat, env(safe-area-inset-top)))}
.pm-head,.ref-head,.hid-head,.bk-head,.hist-head{padding-top:calc(1.3rem + var(--sat, env(safe-area-inset-top)))}
.hd-nav{padding-top:calc(2rem + var(--sat, env(safe-area-inset-top)))}
.hist-body{padding:1.5rem}
.hist-session{background:var(--s1);border:1px solid var(--b1);margin-bottom:.85rem;border-radius:var(--r);overflow:hidden}
.hist-sess-head{padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .14s}
.hist-sess-head:hover{background:var(--s2)}
.hist-sess-title{font-size:.72rem;font-weight:500}
.hist-sess-meta{font-size:.56rem;color:var(--tx3);letter-spacing:.08em}
.hist-msgs{padding:.75rem 1rem;border-top:1px solid var(--b1);display:flex;flex-direction:column;gap:.55rem}
.hist-msg{font-size:.7rem;line-height:1.72;color:var(--tx2);overflow-wrap:anywhere;min-width:0}
.hist-msg.hal-msg{color:var(--tx);padding:.55rem .75rem;background:var(--s2);border-radius:var(--r)}
.hist-msg.usr-msg{color:var(--tx2);font-style:italic}

/* ═══════════════════════════════════════════
   REPORT MODAL
═══════════════════════════════════════════ */
#report-modal .modal{max-width:400px}
.rp-head{padding:1.3rem 1.5rem;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between}
.rp-head h3{font-family:var(--f3);font-size:1.35rem;font-weight:300;color:var(--warn)}
.rp-body{padding:1.5rem}
.rp-types{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.25rem}
.rp-type{background:var(--s1);border:1.5px solid var(--b1);padding:.75rem 1rem;cursor:pointer;font-size:.7rem;transition:all .14s;border-radius:var(--r)}
.rp-type:hover{border-color:var(--warnB)}
.rp-type.sel{border-color:var(--warn);background:var(--warnB);color:var(--warn)}

/* ═══════════════════════════════════════════
   HAL APPLY — DOCUMENT UPLOAD STEPS
═══════════════════════════════════════════ */
.doc-upload-row{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;background:var(--s1);border:1px solid var(--b1);margin-bottom:.55rem;border-radius:var(--r);transition:border-color .2s}
.doc-upload-row.done{border-color:var(--grnBr)}
.doc-icon{width:36px;height:36px;border-radius:50%;background:var(--s2);border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;transition:all .2s}
.doc-upload-row.done .doc-icon{background:var(--grnB);border-color:var(--grnBr)}
.doc-info{flex:1}
.doc-name{font-size:.72rem;font-weight:500;margin-bottom:.1rem}
.doc-desc{font-size:.58rem;color:var(--tx3);line-height:1.5}
.doc-status{font-size:.56rem;letter-spacing:.1em;text-transform:uppercase}
.doc-status.pending{color:var(--tx3)}
.doc-status.done{color:var(--grn)}

/* ═══════════════════════════════════════════
   REFUND / 1-STAR BANNER
═══════════════════════════════════════════ */
.refund-notice{background:var(--redB);border:1px solid var(--redBr);padding:.75rem 1rem;margin-bottom:1.25rem;border-radius:var(--r);font-size:.68rem;color:var(--red);line-height:1.7}


/* ═══════════════════════════════════════════
   USER MENU PANEL
═══════════════════════════════════════════ */
#user-menu-panel{
  position:fixed;bottom:0;left:0;right:0;
  background:linear-gradient(180deg,#111 0%,#0d0d0d 100%);
  border-top:1px solid rgba(255,255,255,.07);
  border-radius:22px 22px 0 0;
  padding:1rem 1rem 2.5rem;
  z-index:900;
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.32,0,.15,1);
  max-width:600px;
  margin:0 auto;
  box-shadow:0 -20px 60px rgba(0,0,0,.8);
  max-height:55vh;
}
/* HAL Command Center (desktop) — mostrar/ocultar */
.um-desktop{display:none}
.um-mobile{display:block}
@media(min-width:681px){
  .um-mobile{display:none}
  .um-desktop{display:block}
  #user-menu-panel{max-width:920px !important;max-height:none !important;padding:0 !important;background:linear-gradient(180deg,#0d0d0d,#080808) !important;border:1px solid rgba(232,216,192,.18) !important;border-radius:0 !important;bottom:auto !important;top:50% !important;left:50% !important;right:auto !important;transform:translate(-50%,-50%) scale(.96) !important;opacity:0 !important;visibility:hidden !important;pointer-events:none !important;box-shadow:0 0 60px rgba(232,216,192,.08) !important;transition:opacity .25s,transform .25s,visibility .25s !important}
  #user-menu-panel.open{transform:translate(-50%,-50%) scale(1) !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important}
  #user-menu-panel .menu-handle{display:none}
}
.cc-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}
.cc-title{font-family:var(--f2);font-size:.9rem;letter-spacing:.3em}
.cc-title .r{color:#7a1500}
.cc-title .w{color:#cfcfcf}
.cc-head-r{display:flex;align-items:center;gap:1rem;font-family:var(--f2);font-size:.65rem;letter-spacing:.2em;color:#7a7a7a}
.esc-box{border:1px solid rgba(232,216,192,.45);color:#e8d8c0;padding:.25rem .55rem;border-radius:5px;letter-spacing:.15em}
.cc-close-lbl{cursor:pointer}
.cc-x{color:#b83a1a;cursor:pointer;font-size:.95rem}
.cc-body{display:grid;grid-template-columns:1fr 320px 1fr;gap:1.4rem;padding:1.8rem 1.5rem;align-items:start}
.cc-col{display:flex;flex-direction:column;gap:.9rem}
.cc-tile{position:relative;display:flex;align-items:center;gap:1rem;border-radius:13px;padding:.95rem 1.2rem;cursor:pointer;overflow:hidden;background:linear-gradient(180deg,#1c1c1c 0%,#141414 55%,#101010 100%);border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 14px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06),inset 0 -2px 4px rgba(0,0,0,.5);transition:all .18s}
.cc-tile::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 2px 2px 0;background:var(--c);box-shadow:0 0 10px var(--c),0 0 4px var(--c)}
/* columna izquierda: barra negra (luz hacia el centro) */
.um-desktop .cc-col:first-child .cc-tile::before{background:#000;box-shadow:none}
.um-desktop .cc-col:first-child .cc-ico{color:#0a0a0a}
.um-desktop .cc-col:first-child .cc-ico svg{filter:none;stroke:#0a0a0a}
.um-desktop .cc-col:first-child .cc-ico{border-color:rgba(255,255,255,.12)}
.um-desktop .cc-col:first-child .cc-tile:hover .cc-ico,
.um-desktop .cc-col:first-child .cc-tile.cc-tile-sel .cc-ico{color:var(--c);border-color:var(--c)}
.um-desktop .cc-col:first-child .cc-tile:hover .cc-ico svg,
.um-desktop .cc-col:first-child .cc-tile.cc-tile-sel .cc-ico svg{stroke:var(--c)}
.um-desktop .cc-col:first-child .cc-tile:hover::before,
.um-desktop .cc-col:first-child .cc-tile.cc-tile-sel::before{background:var(--c);box-shadow:0 0 10px var(--c)}
.cc-tile:hover{transform:translateX(2px);border-color:rgba(255,255,255,.12);box-shadow:0 6px 20px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08)}
.cc-tile-sel{background:#1c1c1c !important;box-shadow:inset 0 0 0 1px var(--c),0 0 14px rgba(255,45,26,.12)}
.cc-tile-sel .cc-arrow{color:var(--c)}
.cc-ico{width:54px;height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--c);background:linear-gradient(180deg,#2a2a2a 0%,#1a1a1a 55%,#141414 100%);box-shadow:0 3px 8px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -3px 6px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.5);border:1px solid var(--c)}
.cc-ico svg{width:24px;height:24px;filter:drop-shadow(0 0 6px var(--c))}
.cc-tile:active .cc-ico{box-shadow:inset 0 2px 6px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.05);transform:translateY(1px)}
.cc-lbl{flex:1;font-family:var(--f2);font-size:.85rem;letter-spacing:.2em;color:#e8e8e8}
.cc-arrow{color:#555;font-size:1rem}
.cc-tile:hover .cc-arrow{color:var(--c)}
.cc-tile-badge{background:#7a1500;color:#fff;font-family:var(--f2);font-size:.55rem;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 .3rem}
.cc-core{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:.3rem}
.cc-core-title{font-family:var(--f2);font-size:2.6rem;font-weight:700;letter-spacing:.16em;color:#7a1500;line-height:1;text-shadow:0 0 24px rgba(122,21,0,.5)}
.cc-core-sub{font-family:var(--f2);font-size:.72rem;letter-spacing:.32em;color:#9a9a9a;margin-top:.5rem}
.cc-core-dash{width:22px;height:1px;background:#444;margin:.9rem auto}
.cc-core-iface{font-family:var(--f2);font-size:.58rem;letter-spacing:.28em;color:#7a7a7a;margin-bottom:1.3rem}
.cc-eye{position:relative;width:140px;height:140px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(circle at 50% 50%,#222 0%,#0a0a0a 70%);box-shadow:0 0 0 3px #1a1a1a,0 0 0 5px #2a2a2a,inset 0 0 24px rgba(0,0,0,.9)}
.cc-eye-inner{position:relative;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#d4624a 0%,#a82810 26%,#7a1500 52%,#4a0c00 78%,#1a0400 100%);box-shadow:0 0 50px rgba(122,21,0,.75),0 0 90px rgba(122,21,0,.4),inset 0 0 22px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;animation:ccBreath 3.5s ease-in-out infinite}
@keyframes ccBreath{0%,100%{box-shadow:0 0 50px rgba(122,21,0,.75),0 0 90px rgba(122,21,0,.4),inset 0 0 22px rgba(0,0,0,.45)}50%{box-shadow:0 0 70px rgba(122,21,0,.9),0 0 120px rgba(122,21,0,.5),inset 0 0 22px rgba(0,0,0,.45)}}
.cc-eye-spec{position:absolute;top:20%;left:28%;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,210,170,.3) 60%,transparent);filter:blur(1px)}
.cc-core-status-lbl{font-family:var(--f2);font-size:.58rem;letter-spacing:.28em;color:#7a7a7a;margin-top:1.3rem}
#cc-shortcuts{margin:.2rem 0;min-height:140px;display:flex;align-items:center;justify-content:center}
.cc-sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:.05rem .7rem;width:100%}
.cc-sc-row{display:flex;align-items:center;gap:.4rem;padding:.1rem .1rem}
.cc-sc-key{font-family:var(--f2);font-size:.52rem;letter-spacing:.04em;color:#e8d8c0;background:rgba(232,216,192,.08);border:1px solid rgba(232,216,192,.18);border-radius:3px;padding:.1rem .3rem;min-width:30px;text-align:center;flex-shrink:0}
.cc-sc-act{font-family:var(--f3);font-size:.62rem;color:#bdbdbd;text-align:left;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-core-status{font-family:var(--f2);font-size:.8rem;letter-spacing:.28em;color:#3ad07a;margin-top:.4rem}
.cc-foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.06);font-family:var(--f2);font-size:.62rem;letter-spacing:.2em;color:#7a7a7a}
.cc-foot-feed{display:flex;align-items:center;gap:.6rem;cursor:pointer}
.cc-foot-dot{width:6px;height:6px;border-radius:50%;background:#7a1500;box-shadow:0 0 8px #7a1500}
.cc-foot-mid{text-align:center;cursor:pointer}
.cc-foot-mid .r{color:#7a1500}
.cc-foot-right{text-align:right}
.cc-foot-right .up{color:#3ad07a}
#user-menu-panel.open{transform:translateY(0)}
.menu-handle{width:32px;height:3px;background:rgba(255,255,255,.15);border-radius:2px;margin:0 auto 1rem}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}
.menu-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;
  background:linear-gradient(145deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,.03) 100%);
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  padding:.9rem .5rem .75rem;
  cursor:pointer;
  transition:all .18s cubic-bezier(.4,0,.2,1);
  position:relative;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 4px 12px rgba(0,0,0,.3);
}
.menu-item::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
}
.menu-item:hover{
  background:linear-gradient(145deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.05) 100%);
  border-color:rgba(255,255,255,.14);
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 8px 20px rgba(0,0,0,.4);
}
.menu-item:active{transform:scale(.96);transition:transform .08s}
.menu-item-icon{
  font-size:1.5rem;line-height:1;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));
}
.menu-item-label{
  font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(237,233,224,.45);text-align:center;font-family:var(--f2);
}
.menu-item.gold{
  background:linear-gradient(145deg,rgba(200,169,110,.12) 0%,rgba(200,169,110,.04) 100%);
  border-color:rgba(200,169,110,.15);
  box-shadow:inset 0 1px 0 rgba(200,169,110,.1), 0 4px 12px rgba(0,0,0,.3);
}
.menu-item.gold .menu-item-label{color:rgba(200,169,110,.6)}
.menu-item.red{
  background:linear-gradient(145deg,rgba(255,68,68,.1) 0%,rgba(255,68,68,.04) 100%);
  border-color:rgba(255,68,68,.12);
  box-shadow:inset 0 1px 0 rgba(255,68,68,.08), 0 4px 12px rgba(0,0,0,.3);
}
.menu-item.red .menu-item-label{color:rgba(255,100,100,.55)}
.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:899;display:none;backdrop-filter:blur(4px)}
.menu-overlay.open{display:block}
@media(min-width:600px){
  #user-menu-panel{left:50%;right:auto;transform:translateX(-50%) translateY(100%);width:100%;max-width:480px;border-radius:22px 22px 0 0}
  #user-menu-panel.open{transform:translateX(-50%) translateY(0)}
}



/* ═══════════════════════════════════════════
   USER PROFILE MODAL
═══════════════════════════════════════════ */
#profile-modal .modal{max-width:420px;position:relative}
#profile-modal .modal{position:relative}

.prof-body{padding:1.5rem}
.prof-id-row{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem;background:transparent;border:1px solid #2a2a2a;border-radius:12px;padding:.75rem 1rem;position:relative}
.prof-id-row::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#7a1500 30%,#7a1500 70%,transparent)}
.prof-id-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(122,21,0,.6))}
.prof-id-num{font-family:var(--f2);font-size:.95rem;letter-spacing:.2em;color:#fff;font-weight:500;line-height:1.1}
.prof-id-label{font-size:.46rem;letter-spacing:.18em;text-transform:uppercase;color:#888;margin-bottom:.25rem;font-family:var(--f2)}
.prof-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem;margin-bottom:.9rem}
.prof-stat{background:transparent;border:1px solid #2a2a2a;padding:.55rem .35rem;text-align:center;border-radius:9px;min-height:50px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.prof-sn{font-family:var(--f3);font-size:1.05rem;font-weight:300;display:block;line-height:1;color:#fff}
.prof-sn .star{color:#f5b800;font-size:.78em;margin-right:.22em;display:inline-block;vertical-align:.04em;filter:drop-shadow(0 0 3px rgba(245,184,0,.5))}
.prof-sl{font-size:.42rem;letter-spacing:.08em;text-transform:uppercase;color:#888;margin-top:.25rem;line-height:1.2}
.honeycomb-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:1.25rem 0}
.honeycomb-row{display:flex;gap:.35rem;justify-content:center;margin-top:-22px}
.honeycomb-row:first-child{margin-top:0}
.hex-cell{width:78px;height:88px;background:rgba(255,255,255,.08);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .25s}
.hid-zone-hal .hid-stat{border-color:rgba(200,169,110,.3)}
.hid-zone-user .hid-stat{border-color:rgba(91,143,212,.22)}
#hid-honeycomb .hex-cell{cursor:default}
.hex-cell::before{content:'';position:absolute;inset:1.5px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:#0a0a0a;pointer-events:none;transition:background .25s}
.hex-cell:hover{background:rgba(204,34,0,.55);filter:drop-shadow(0 0 12px rgba(204,34,0,.5))}
.hex-cell:hover::before{background:#1a0a08}
.hex-cell:hover .hex-label{color:rgba(255,150,140,.95)}
.hex-cell:active{transform:scale(.96)}
.hex-cell.active{background:rgba(255,255,255,.22)}
.hex-cell.active:hover{background:rgba(204,34,0,.65)}
.hex-cell.center{background:rgba(204,34,0,.85);filter:drop-shadow(0 0 10px rgba(204,34,0,.45))}
.hex-cell.center::before{background:#0a0a0a}
.hex-cell.center:hover{background:rgba(255,80,60,1);filter:drop-shadow(0 0 18px rgba(255,80,60,.7))}
.hex-cell.center:hover::before{background:#1a0a08}
.hex-label{font-family:var(--f2);font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);text-align:center;padding:0 .4rem;line-height:1.25;word-break:keep-all;position:relative;z-index:2;transition:color .25s}
.hex-cell.active .hex-label{color:rgba(255,255,255,.7)}
.hex-cell.center .hex-label{color:#ff3a26;font-size:.55rem;font-weight:500;z-index:3}
.prof-hal-btn{background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--b2);padding:.85rem 1rem;border-radius:12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .18s;margin-top:1rem}
.prof-hal-btn:hover{border-color:var(--gBr);background:var(--gB)}
.prof-hal-btn-left{display:flex;align-items:center;gap:.75rem}
.prof-hal-badge{background:var(--gB);border:1px solid var(--gBr);padding:.18rem .55rem;border-radius:999px;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}

.adm-menu-item{display:block;width:100%;text-align:left;background:transparent;color:#aaa;border:none;border-bottom:1px solid #1a1a1a;padding:.7rem 1rem;font-family:var(--f2);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .12s}
.adm-menu-item:last-child{border-bottom:none}
.adm-menu-item:hover{background:#1a0a08;color:#ff6450}

/* SETTINGS */
.settings-row{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border-bottom:1px solid var(--b1);cursor:pointer;transition:background .14s;font-size:.76rem;color:var(--tx2);border-radius:0}
.settings-row:hover{background:var(--s2)}
.settings-row>span:first-child{font-size:1rem;width:20px;text-align:center;flex-shrink:0}
.settings-row>span:nth-child(2){flex:1}
.settings-arr{color:var(--tx3);font-size:.9rem}
.settings-val{font-size:.65rem;color:var(--tx3);letter-spacing:.06em}


.menu-item.teal{
  background:linear-gradient(145deg,rgba(32,178,170,.15),rgba(32,178,170,.05));
  border-color:rgba(32,178,170,.2);
  box-shadow:inset 0 1px 0 rgba(32,178,170,.1), 0 4px 12px rgba(0,0,0,.3);
}
.menu-item.teal .menu-item-label{color:rgba(32,178,170,.7)}
.menu-item.yellow{
  background:linear-gradient(145deg,rgba(240,192,64,.15),rgba(240,192,64,.05));
  border-color:rgba(240,192,64,.2);
  box-shadow:inset 0 1px 0 rgba(240,192,64,.1), 0 4px 12px rgba(0,0,0,.3);
}
.menu-item.yellow .menu-item-label{color:rgba(240,192,64,.7)}
.menu-item.brown{
  background:linear-gradient(145deg,rgba(160,100,60,.15),rgba(160,100,60,.05));
  border-color:rgba(160,100,60,.2);
  box-shadow:inset 0 1px 0 rgba(160,100,60,.1), 0 4px 12px rgba(0,0,0,.3);
}
.menu-item.brown .menu-item-label{color:rgba(180,120,70,.7)}
.menu-item.hal-dash-btn{
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  border-color:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 4px 12px rgba(0,0,0,.3);
}
.menu-item.hal-dash-btn .menu-item-label{color:rgba(255,255,255,.7)}


/* ═══════════════════════════════════════════
   STAFF THEME — Apple II / Macintosh 80s
═══════════════════════════════════════════ */
.staff-mode {
  --staff-bg: #ccc7bf;
  --staff-bg2: #b8b3ab;
  --staff-s1: #bfbab3;
  --staff-s2: #b5b0a9;
  --staff-b1: rgba(0,0,0,.12);
  --staff-b2: rgba(0,0,0,.18);
  --staff-tx: #0a0a08;
  --staff-tx2: #2a2a26;
  --staff-tx3: #6a6a64;
  --staff-accent: #2a2a28;
  --staff-red: #7a1500;
  --staff-grn: #2a6622;
  --staff-gold: #8a6a00;
}

#hal-dash.staff-mode,
#hal-chat.staff-mode {
  background: var(--staff-bg) !important;
  color: var(--staff-tx) !important;
}

#hal-dash.staff-mode .hd-nav,
#hal-chat.staff-mode .uc-nav {
  background: var(--staff-bg2) !important;
  border-bottom: 1px solid var(--staff-b1) !important;
  backdrop-filter: none !important;
  flex-wrap: wrap !important;
  gap: .4rem !important;
  padding: .65rem .9rem !important;
}

#hal-dash.staff-mode .hd-logo,
#hal-chat.staff-mode strong {
  color: var(--staff-tx) !important;
  font-family: var(--f2) !important;
}

#hal-dash.staff-mode .trial-banner {
  background: #fff !important;
  border-color: rgba(0,0,0,.06) !important;
  color: #555 !important;
}

#hal-dash.staff-mode .trial-badge {
  background: var(--staff-b1) !important;
  color: var(--staff-tx) !important;
  border-color: var(--staff-b2) !important;
}

#hal-dash.staff-mode .hd-side {
  background: var(--staff-bg2) !important;
  border-color: var(--staff-b1) !important;
}

#hal-dash.staff-mode .hd-side-head {
  border-color: var(--staff-b1) !important;
  color: var(--staff-tx) !important;
}

#hal-dash.staff-mode .req-item {
  border-color: var(--staff-b1) !important;
  color: var(--staff-tx2) !important;
  padding: 1rem 1.45rem !important;
  min-height: 64px !important;
}

#hal-dash.staff-mode .req-item:hover {
  background: var(--staff-s1) !important;
}

#hal-dash.staff-mode .req-item.sel {
  background: var(--staff-s2) !important;
  border-left-color: var(--staff-red) !important;
}

#hal-dash.staff-mode .req-item.incoming {
  animation: none !important;
  border-left: 2px solid var(--staff-red) !important;
}

#hal-dash.staff-mode .u-inf b { color: #0a0a08 !important; }
#hal-dash.staff-mode .u-inf s { color: #1a1a16 !important; }
#hal-chat.staff-mode .u-inf b { color: #0a0a08 !important; }
#hal-chat.staff-mode .u-inf s { color: #1a1a16 !important; }

#hal-dash.staff-mode .hd-main {
  background: var(--staff-bg) !important;
}
#hal-dash.staff-mode .hd-body {
  background: var(--staff-bg) !important;
}

#hal-dash.staff-mode .dp {
  color: var(--staff-tx) !important;
}

#hal-dash.staff-mode .dp-stat,
#hal-dash.staff-mode .hal-id-card {
  background: var(--staff-s1) !important;
  border-color: var(--staff-b1) !important;
  color: var(--staff-tx) !important;
}

#hal-dash.staff-mode .sec-h { color: var(--staff-tx3) !important; }
#hal-dash.staff-mode .last-q { 
  background: var(--staff-s1) !important;
  border-color: var(--staff-b1) !important;
  color: var(--staff-tx2) !important;
}

#hal-dash.staff-mode .btn {
  border-color: var(--staff-b2) !important;
  color: var(--staff-tx2) !important;
  background: transparent !important;
}
#hal-dash.staff-mode .btn:hover {
  background: var(--staff-s2) !important;
}
#hal-dash.staff-mode .btn-eye {
  background: var(--staff-red) !important;
  border-color: var(--staff-red) !important;
  color: #fff !important;
}
#hal-dash.staff-mode .btn-grn {
  border-color: var(--staff-grn) !important;
  color: var(--staff-grn) !important;
}

/* Staff nav pills */
#hal-dash.staff-mode .online-toggle.online {
  background: rgba(42,102,34,.15) !important;
  border-color: rgba(42,102,34,.3) !important;
}
#hal-dash.staff-mode .online-toggle.online .ot-dot {
  background: var(--staff-grn) !important;
  box-shadow: 0 0 5px var(--staff-grn) !important;
}
#hal-dash.staff-mode .online-toggle.online .ot-lbl { color: var(--staff-grn) !important; }

#hal-dash.staff-mode .rating-health {
  background: var(--staff-s1) !important;
  border-color: var(--staff-b1) !important;
}
#hal-dash.staff-mode .rh-val { color: var(--staff-tx) !important; }
#hal-dash.staff-mode .rating-health { background: #b8b3ab !important; border-color: #a0998f !important; }
#hal-dash.staff-mode .rh-stars { color: #7a5c00 !important; }
#hal-dash.staff-mode .rh-val { color: #1a1a18 !important; font-weight: 600; }
#hal-dash.staff-mode .acc-pill { background: rgba(30,90,50,.15) !important; border-color: rgba(30,90,50,.3) !important; }
#hal-dash.staff-mode .acc-val { color: #1a5c30 !important; font-weight: 600; }
#hal-dash.staff-mode .acc-lbl { color: rgba(30,90,50,.6) !important; }
#hal-dash.staff-mode .pts-pill { background: rgba(120,90,30,.15) !important; border-color: rgba(120,90,30,.3) !important; }
#hal-dash.staff-mode .pts-val { color: #7a5c00 !important; font-weight: 600; }
#hal-dash.staff-mode .pts-lbl { color: rgba(120,90,30,.6) !important; }
#hal-dash.staff-mode .trial-badge { background: rgba(120,90,30,.15) !important; border-color: rgba(120,90,30,.3) !important; color: #7a5c00 !important; }
#hal-dash.staff-mode .trial-days { color: #4a4a40 !important; font-weight: 500; }
#hal-dash.staff-mode .pts-pill {
  background: rgba(138,106,0,.1) !important;
  border-color: rgba(138,106,0,.2) !important;
}
#hal-dash.staff-mode .pts-val { color: var(--staff-gold) !important; }
#hal-dash.staff-mode .pts-lbl { color: rgba(138,106,0,.5) !important; }
#hal-dash.staff-mode .acc-pill {
  background: rgba(42,102,34,.1) !important;
  border-color: rgba(42,102,34,.2) !important;
}
#hal-dash.staff-mode .acc-val { color: var(--staff-grn) !important; }

/* Staff chat */
#hal-chat.staff-mode .msgs { background: var(--staff-bg) !important; }
#hal-chat.staff-mode .hal .bubble {
  background: var(--staff-s1) !important;
  border-color: var(--staff-b1) !important;
  color: var(--staff-tx) !important;
}
#hal-chat.staff-mode .usr .bubble {
  background: var(--staff-accent) !important;
  color: #e8e4dc !important;
}
#hal-chat.staff-mode .uc-bar {
  background: var(--staff-bg2) !important;
  border-color: var(--staff-b1) !important;
}
#hal-chat.staff-mode .inp-box {
  background: var(--staff-s1) !important;
  border-color: var(--staff-b1) !important;
  color: var(--staff-tx) !important;
}
#hal-chat.staff-mode .send-btn {
  background: var(--staff-accent) !important;
  color: #e8e4dc !important;
}
#hal-chat.staff-mode .hc-banner {
  background: rgba(0,0,0,.06) !important;
  border-color: var(--staff-b1) !important;
  color: var(--staff-tx3) !important;
}
#hal-chat.staff-mode .accept-queue {
  background: rgba(42,102,34,.1) !important;
  border-color: rgba(42,102,34,.2) !important;
}
#hal-chat.staff-mode .accept-queue p { color: var(--staff-grn) !important; }

/* Unread badge */
#hal-dash.staff-mode .u-unread { background: var(--staff-red) !important; }
#hal-dash.staff-mode .u-avi { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #aaa !important; }
#hal-dash.staff-mode .hd-side-head h3 { font-size:.9rem !important; font-weight:700 !important; color:#111 !important; }
#hal-dash.staff-mode .badge.b-gold { 
  background: rgba(138,106,0,.1) !important;
  color: var(--staff-gold) !important;
  border-color: rgba(138,106,0,.2) !important;
}

/* Monospace feel for staff */
#hal-dash.staff-mode .serif { font-family: var(--f2) !important; font-size:.9rem !important; }
#hal-dash.staff-mode .btn { font-size:.65rem !important; padding:.7rem 1rem !important; font-weight:600 !important; }
#hal-dash.staff-mode .pts-pill .pts-val { font-size:.85rem !important; }
/* Coins pill del header hal-dash: identico al hd-toggle (Off). Va al final para ganar toda la cascada (incl. staff-mode). */
#hal-dash .hd-pts-mini.pts-pill, #hal-dash.staff-mode .hd-pts-mini.pts-pill{gap:.5rem !important;background:#fff !important;border:1px solid rgba(0,0,0,.08) !important;padding:.55rem .85rem !important;border-radius:0 !important;box-shadow:0 1px 3px rgba(0,0,0,.06) !important;min-width:0 !important;justify-content:center !important;box-sizing:border-box !important}
#hal-dash .hd-pts-mini.pts-pill .hd-pts-mini-ico, #hal-dash.staff-mode .hd-pts-mini.pts-pill .hd-pts-mini-ico{color:var(--gold) !important;font-size:.75rem !important;line-height:1 !important}
#hal-dash .hd-pts-mini.pts-pill .hd-pts-mini-val, #hal-dash.staff-mode .hd-pts-mini.pts-pill .hd-pts-mini-val{font-family:var(--f2) !important;font-size:.62rem !important;letter-spacing:.08em !important;text-transform:uppercase !important;color:#0a0a0a !important;font-weight:600 !important;line-height:1.2 !important}
/* S41: header sticky en Market y Coins para navegacion persistente */
#market .mkt-nav, #buy-coins .mkt-nav{position:sticky;top:0;z-index:50;background:inherit;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hd-top-stat{display:flex;align-items:center;gap:.5rem;cursor:default;border:1px solid rgba(0,0,0,.08);background:#fff;flex-shrink:0;padding:.55rem .85rem;border-radius:0;box-shadow:0 1px 3px rgba(0,0,0,.06);box-sizing:border-box;justify-content:center}
.hd-top-stat-ico{font-size:.75rem;line-height:1}
.hd-top-stat-val{font-family:var(--f2);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;font-weight:600;line-height:1.2}
#hal-dash.staff-mode .acc-val { font-size:.85rem !important; }
#hal-dash.staff-mode .rh-val { font-size:.85rem !important; }

/* Stronger typography */
#hal-dash.staff-mode .u-inf b { 
  font-size:.9rem !important; 
  font-weight:700 !important;
  color: #0a0a0a !important;
  letter-spacing:.01em !important;
}
#hal-dash.staff-mode .u-inf s { 
  font-size:.7rem !important;
  color: #555 !important;
}
/* Trial banner */
#hal-dash.staff-mode .trial-banner { color: #2a2a2a !important; }
#hal-dash.staff-mode .trial-info { color: #2a2a2a !important; }
#hal-dash.staff-mode .trial-days { color: #444 !important; }
/* Logo */
#hal-dash.staff-mode .hd-logo { color: #0a0a0a !important; }
/* Acceptance pill */
#hal-dash.staff-mode .acc-pill { 
  background: #2a3a2a !important;
  border-color: #3a5a3a !important;
}
#hal-dash.staff-mode .acc-val { color: #6faa6f !important; }
#hal-dash.staff-mode .acc-lbl { color: #5a8a5a !important; }
#hal-dash.staff-mode .dp-info h3 { color: #0a0a0a !important; font-weight:600 !important; }
#hal-dash.staff-mode .dp-sn { color: #0a0a0a !important; }
#hal-dash.staff-mode .dp-sl { color: #666 !important; }
#hal-dash.staff-mode .sec-h { color: #555 !important; font-weight:600 !important; }
#hal-dash.staff-mode .last-q { color: #333 !important; }
#hal-dash.staff-mode .hd-empty { color: #888 !important; }
#hal-dash.staff-mode .match-row { background: rgba(42,102,34,.08) !important; border-color: rgba(42,102,34,.15) !important; }
#hal-dash.staff-mode .hd-side-head h3 {
  font-family: var(--f2) !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color: #111 !important;
}
#hal-dash.staff-mode .badge {
  font-weight:600 !important;
}
#hal-dash.staff-mode .b-red {
  background: rgba(204,34,0,.12) !important;
  color: #7a1500 !important;
  border-color: rgba(204,34,0,.25) !important;
}

/* Staff chat theme - FORCE */
#hal-chat.staff-mode { background: #d4cfc8 !important; }
#hal-chat.staff-mode #hc-msgs { background: #d4cfc8 !important; }
#hal-chat.staff-mode .msgs { background: #d4cfc8 !important; }
#hal-chat { background: #d4cfc8 !important; color: #111 !important; }
#hal-chat.staff-mode .uc-nav {
  background: #c4bfb8 !important;
  border-bottom: 1px solid rgba(0,0,0,.12) !important;
}
#hal-chat.staff-mode .uc-nav strong {
  color: #111 !important;
  font-family: var(--f2) !important;
}
#hal-chat.staff-mode .uc-nav .btn {
  border-color: rgba(0,0,0,.15) !important;
  color: #333 !important;
}
#hal-chat.staff-mode .hc-banner {
  background: rgba(0,0,0,.07) !important;
  border-color: rgba(0,0,0,.1) !important;
  color: #555 !important;
  font-size:.56rem !important;
  letter-spacing:.12em !important;
}
#hal-chat.staff-mode .msgs,
#hal-chat.staff-mode #hc-msgs {
  background: #d4cfc8 !important;
}
#hal-chat.staff-mode .hal .bubble {
  background: #bfbab3 !important;
  border-color: rgba(0,0,0,.1) !important;
  color: #1a1a18 !important;
}
#hal-chat.staff-mode .usr .bubble {
  background: #2a2a26 !important;
  color: #e8e4dc !important;
}
#hal-chat.staff-mode .msg-meta { color: #888 !important; }
#hal-chat.staff-mode .day-sep { color: #888 !important; }
#hal-chat.staff-mode .uc-bar {
  background: #c4bfb8 !important;
  border-top: 1px solid rgba(0,0,0,.1) !important;
}
#hal-chat.staff-mode .inp-box {
  background: #d8d3cc !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  color: #1a1a18 !important;
}
#hal-chat.staff-mode .inp-box::placeholder { color: #999 !important; }
#hal-chat.staff-mode .send-btn {
  background: #2a2a26 !important;
  color: #e8e4dc !important;
  border: none !important;
}
#hal-chat.staff-mode .hc-hint {
  background: rgba(0,0,0,.05) !important;
  border-color: rgba(0,0,0,.08) !important;
  color: #777 !important;
}
#hal-chat.staff-mode .accept-queue {
  background: rgba(42,102,34,.12) !important;
  border-color: rgba(42,102,34,.2) !important;
}
#hal-chat.staff-mode .accept-queue p { color: #2a6622 !important; font-weight:500 !important; }
#hal-chat.staff-mode .btn-grn { background: #2a6622 !important; color: #fff !important; border-color: #2a6622 !important; }
#hal-chat.staff-mode .sess-pts-pill {
  background: rgba(138,106,0,.12) !important;
  border-color: rgba(138,106,0,.2) !important;
}
#hal-chat.staff-mode .sess-pts-val { color: #8a6a00 !important; }
#hal-chat.staff-mode .uc-hint { color: #999 !important; }
#hal-chat.staff-mode .ai-box {
  background: #1a1a18 !important;
  border-color: rgba(200,169,110,.2) !important;
  color: #aaa !important;
}
#hal-chat.staff-mode .ai-head { color: var(--gold) !important; }
#hal-chat.staff-mode .response-timer { 
  background: rgba(180,120,0,.12) !important;
  border-color: rgba(180,120,0,.2) !important;
}
#hal-chat.staff-mode .rt-time { color: #8a6a00 !important; }

/* Stronger typography */
#hal-dash.staff-mode .u-inf b { 
  font-size:.9rem !important; 
  font-weight:700 !important;
  color: #0a0a0a !important;
  letter-spacing:.01em !important;
}
#hal-dash.staff-mode .u-inf s { 
  font-size:.7rem !important;
  color: #555 !important;
}
/* Trial banner */
#hal-dash.staff-mode .trial-banner { color: #2a2a2a !important; }
#hal-dash.staff-mode .trial-info { color: #2a2a2a !important; }
#hal-dash.staff-mode .trial-days { color: #444 !important; }
/* Logo */
#hal-dash.staff-mode .hd-logo { color: #0a0a0a !important; }
/* Acceptance pill */
#hal-dash.staff-mode .acc-pill { 
  background: #2a3a2a !important;
  border-color: #3a5a3a !important;
}
#hal-dash.staff-mode .acc-val { color: #6faa6f !important; }
#hal-dash.staff-mode .acc-lbl { color: #5a8a5a !important; }
#hal-dash.staff-mode .dp-info h3 { color: #0a0a0a !important; font-weight:600 !important; }
#hal-dash.staff-mode .dp-sn { color: #0a0a0a !important; }
#hal-dash.staff-mode .dp-sl { color: #666 !important; }
#hal-dash.staff-mode .sec-h { color: #555 !important; font-weight:600 !important; }
#hal-dash.staff-mode .last-q { color: #333 !important; }
#hal-dash.staff-mode .hd-empty { color: #888 !important; }
#hal-dash.staff-mode .match-row { background: rgba(42,102,34,.08) !important; border-color: rgba(42,102,34,.15) !important; }
#hal-dash.staff-mode .hd-side-head h3 {
  font-family: var(--f2) !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color: #111 !important;
}
#hal-dash.staff-mode .badge {
  font-weight:600 !important;
}
#hal-dash.staff-mode .b-red {
  background: rgba(204,34,0,.12) !important;
  color: #7a1500 !important;
  border-color: rgba(204,34,0,.25) !important;
}

/* Staff chat theme - FORCE */
#hal-chat.staff-mode { background: #d4cfc8 !important; }
#hal-chat.staff-mode #hc-msgs { background: #d4cfc8 !important; }
#hal-chat.staff-mode .msgs { background: #d4cfc8 !important; }
#hal-chat { background: #d4cfc8 !important; color: #111 !important; }
#hal-chat.staff-mode .uc-nav {
  background: #c4bfb8 !important;
  border-bottom: 1px solid rgba(0,0,0,.12) !important;
}
#hal-chat.staff-mode .uc-nav strong {
  color: #111 !important;
  font-family: var(--f2) !important;
}
#hal-chat.staff-mode .uc-nav .btn {
  border-color: rgba(0,0,0,.15) !important;
  color: #333 !important;
}
#hal-chat.staff-mode .hc-banner {
  background: rgba(0,0,0,.07) !important;
  border-color: rgba(0,0,0,.1) !important;
  color: #555 !important;
  font-size:.56rem !important;
  letter-spacing:.12em !important;
}
#hal-chat.staff-mode .msgs,
#hal-chat.staff-mode #hc-msgs {
  background: #d4cfc8 !important;
}
#hal-chat.staff-mode .hal .bubble {
  background: #bfbab3 !important;
  border-color: rgba(0,0,0,.1) !important;
  color: #1a1a18 !important;
}
#hal-chat.staff-mode .usr .bubble {
  background: #2a2a26 !important;
  color: #e8e4dc !important;
}
#hal-chat.staff-mode .msg-meta { color: #888 !important; }
#hal-chat.staff-mode .day-sep { color: #888 !important; }
#hal-chat.staff-mode .uc-bar {
  background: #c4bfb8 !important;
  border-top: 1px solid rgba(0,0,0,.1) !important;
}
#hal-chat.staff-mode .inp-box {
  background: #d8d3cc !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  color: #1a1a18 !important;
}
#hal-chat.staff-mode .inp-box::placeholder { color: #999 !important; }
#hal-chat.staff-mode .send-btn {
  background: #2a2a26 !important;
  color: #e8e4dc !important;
  border: none !important;
}
#hal-chat.staff-mode .hc-hint {
  background: rgba(0,0,0,.05) !important;
  border-color: rgba(0,0,0,.08) !important;
  color: #777 !important;
}
#hal-chat.staff-mode .accept-queue {
  background: rgba(42,102,34,.12) !important;
  border-color: rgba(42,102,34,.2) !important;
}
#hal-chat.staff-mode .accept-queue p { color: #2a6622 !important; font-weight:500 !important; }
#hal-chat.staff-mode .btn-grn { background: #2a6622 !important; color: #fff !important; border-color: #2a6622 !important; }
#hal-chat.staff-mode .sess-pts-pill {
  background: rgba(138,106,0,.12) !important;
  border-color: rgba(138,106,0,.2) !important;
}
#hal-chat.staff-mode .sess-pts-val { color: #8a6a00 !important; }
#hal-chat.staff-mode .uc-hint { color: #999 !important; }
#hal-chat.staff-mode .ai-box {
  background: #1a1a18 !important;
  border-color: rgba(200,169,110,.2) !important;
  color: #aaa !important;
}
#hal-chat.staff-mode .ai-head { color: var(--gold) !important; }
#hal-chat.staff-mode .response-timer { 
  background: rgba(180,120,0,.12) !important;
  border-color: rgba(180,120,0,.2) !important;
}
#hal-chat.staff-mode .rt-time { color: #8a6a00 !important; }


/* ═══════════════════════════════════════════
   MENU TILES
═══════════════════════════════════════════ */
.m-tile{
  position:relative;overflow:hidden;cursor:pointer;
  border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg,#252320 0%,#1a1816 50%,#141210 100%);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:.5rem .55rem .45rem;
  transition:filter .12s;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.1),inset 0 -2px 0 rgba(0,0,0,.5);
}
.m-tile::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
}
.m-tile:active{filter:brightness(.75);box-shadow:0 3px 8px rgba(0,0,0,.9),inset 0 2px 4px rgba(0,0,0,.6);transform:translateY(1px)}
.m-tile:hover{filter:brightness(1.15)}
.m-tile.dark{background:linear-gradient(180deg,#1a1816 0%,#111008 100%);cursor:default;border-color:rgba(255,255,255,.03)}
.m-tile.pink{background:linear-gradient(180deg,#7a2870 0%,#5a1850 100%);box-shadow:0 8px 20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.15),inset 0 -2px 0 rgba(0,0,0,.5),0 0 0 1px rgba(180,60,160,.3);border-bottom:3px solid #c040a0}
.m-tile.red{background:linear-gradient(180deg,#8a2020 0%,#5a1010 100%);box-shadow:0 8px 20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.15),inset 0 -2px 0 rgba(0,0,0,.5),0 0 0 1px rgba(180,40,40,.3);border-bottom:3px solid #e03030}
.m-tile.blue{background:linear-gradient(180deg,#1a4a8a 0%,#0a2a5a 100%);box-shadow:0 8px 20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.15),inset 0 -2px 0 rgba(0,0,0,.5)}
.m-tile.gold{background:linear-gradient(180deg,#8a6a00 0%,#5a4400 100%);box-shadow:0 8px 20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.15),inset 0 -2px 0 rgba(0,0,0,.5),0 0 0 1px rgba(180,140,0,.3);border-bottom:3px solid #c8a000}
.m-tile.teal{background:linear-gradient(180deg,#0a5a5a 0%,#043838 100%);box-shadow:0 8px 20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.15),inset 0 -2px 0 rgba(0,0,0,.5),0 0 0 1px rgba(0,140,140,.3);border-bottom:3px solid #00a0a0}
.m-tile-ch{
  position:absolute;top:.35rem;left:.45rem;
  font-family:var(--f2);font-size:.38rem;
  letter-spacing:.15em;color:rgba(255,255,255,.25);
}
.m-tile-label{
  font-family:var(--f2);font-size:.52rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.75);line-height:1;
  text-align:center;width:100%;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;padding:0 .15rem;box-sizing:border-box;
}
.m-hal-unit{
  display:flex;flex-direction:column;align-items:center;
  justify-content:space-between;
  background:linear-gradient(180deg,#111,#0a0a0a);
  border:1px solid #2a2a2a;
  padding:.5rem .4rem;gap:.4rem;
}
.m-hal-screen{
  background:#000;border:1px solid #1a3a5a;
  padding:.2rem .4rem;width:100%;text-align:center;
  font-family:var(--f2);font-size:.4rem;letter-spacing:.1em;
  color:#4af;display:flex;align-items:center;justify-content:center;gap:.3rem;
}
.m-hal-grille{
  width:100%;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:.15rem 0;
}
.m-hal-grille-dot{background:#1a1a1a;height:3px;border-radius:0}


/* ═══════════════════════════════════════════
   STAFF DRAWER MENU
═══════════════════════════════════════════ */
#staff-drawer{
  position:fixed;top:0;right:0;bottom:0;width:300px;
  background:#c8c3bc;
  border-left:1px solid rgba(0,0,0,.15);
  z-index:950;
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.32,0,.15,1);
  display:flex;flex-direction:column;
  box-shadow:-8px 0 32px rgba(0,0,0,.15);
}
#staff-drawer.open{transform:translateX(0)}
#staff-drawer-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.3);
  z-index:949;display:none;backdrop-filter:blur(2px);
}
#staff-drawer-overlay.open{display:block}
.sd-drawer-head{
  padding:calc(max(var(--sat, env(safe-area-inset-top)),44px) + .6rem) 1.25rem 1rem;
  border-bottom:1px solid rgba(0,0,0,.1);
  background:#bfbab3;
}
.sd-drawer-eye img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.sd-drawer-profile{
  display:flex;align-items:center;gap:.85rem;
}
.sd-drawer-eye{
  width:42px;height:42px;border-radius:50%;
  background:radial-gradient(circle at 36% 32%,#ff9980 0%,#7a1500 35%,#7a1a0f 70%,#100200 100%);
  box-shadow:0 0 12px rgba(255,45,26,.4);
  flex-shrink:0;
}
.sd-drawer-name{font-family:var(--f2);font-size:.8rem;font-weight:700;color:#0a0a0a;letter-spacing:.04em}
.sd-drawer-sub{font-size:.58rem;color:#666;letter-spacing:.06em;text-transform:uppercase;margin-top:.12rem}
.sd-drawer-stats{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;
}
.sd-drawer-stat{
  background:#d4cfc8;border:1px solid rgba(0,0,0,.1);
  padding:.6rem .5rem;text-align:center;
}
.sd-drawer-stat-val{font-family:var(--f2);font-size:.9rem;font-weight:700;color:#0a0a0a;display:block}
.sd-drawer-stat-lbl{font-size:.44rem;letter-spacing:.1em;text-transform:uppercase;color:#666;margin-top:.1rem}
.sd-drawer-body{flex:1;overflow-y:auto;padding:.75rem 0}
.sd-drawer-section{
  padding:.35rem 1.25rem .2rem;
  font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;color:#888;
  font-family:var(--f2);
}
.sd-drawer-item{
  display:flex;align-items:center;gap:.85rem;
  padding:.85rem 1.25rem;
  cursor:pointer;transition:background .12s;
  border-bottom:1px solid rgba(0,0,0,.05);
  font-family:var(--f2);font-size:.72rem;color:#1a1a1a;
  font-weight:500;
}
.sd-drawer-item:hover{background:#bfbab3}
.sd-drawer-item:active{background:#b5b0a9}
.sd-drawer-item-icon{font-size:1rem;width:22px;text-align:center;flex-shrink:0}
.sd-drawer-item.danger{color:#7a1500}
.sd-drawer-item.green{color:#2a6622}
.sd-drawer-foot{
  padding:1rem 1.25rem;
  border-top:1px solid rgba(0,0,0,.1);
  background:#bfbab3;
  font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:#888;
  text-align:center;font-family:var(--f2);
}

/* SPLASH — add Market link */
.sp-mkt-link{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);cursor:pointer;margin-top:-.75rem;opacity:.7;transition:opacity .2s}
.sp-mkt-link:hover{opacity:1}



@media(max-width:480px){
  .uc-nav{
    padding:.65rem 1rem !important;
    gap:.55rem !important;
  }
  /* Auto-hide nav on mobile */
  .uc-nav.hidden{transform:translateY(-100%)}

  /* Bigger pills */
  .coin-pill{
    padding:.45rem .9rem !important;
    border-radius:999px !important;
    min-height:40px !important;
    gap:.4rem !important;
  }
  .coin-pill-val{font-size:.85rem !important}

  /* Profile button bigger */
  .uc-nav > div[onclick*="Profile"]{
    width:40px !important;
    height:40px !important;
    font-size:1.1rem !important;
  }



  /* Send button bigger */
  .uc-bar .send-btn:last-child{
    width:48px !important;
    height:48px !important;
    border-radius:0 !important;
    font-size:1.2rem !important;
  }

  /* Input field cleaner */
  .inp-box{
    font-size:16px !important;
    padding:.8rem 1rem !important;
    border-radius:0 !important;
    border:1px solid rgba(255,255,255,.1) !important;
    background:transparent !important;
    min-height:48px !important;
    line-height:1.4 !important;
  }
  .inp-box:focus{
    border-color:rgba(255,255,255,.2) !important;
    background:transparent !important;
  }

  /* Input row spacing */
  .uc-row{gap:.45rem !important;align-items:center !important}
}
@media(max-width:480px){
  /* Base font size */
  html{font-size:18px}

  /* Landing */
  .sp-title{font-size:5.5rem !important}
  .sp-desc{font-size:1rem !important;line-height:2 !important}
  .sp-sub{font-size:.75rem !important;letter-spacing:.2em !important}
  .sp-pills{flex-wrap:wrap;gap:.85rem !important;justify-content:center}
  .sp-pill{font-size:.65rem !important}
  .btn{font-size:.75rem !important;padding:.9rem 1.5rem !important;min-height:52px !important;letter-spacing:.1em}
  .sp-acts{flex-direction:column;width:100%;max-width:300px;gap:.55rem !important}
  .sp-acts .btn{width:100% !important;justify-content:center}
  .sp-mkt-link{font-size:.72rem !important;margin-top:-.5rem}

  /* Onboarding */
  .ob-q{font-size:1.75rem !important;line-height:1.25 !important}
  .ob-sub{font-size:.9rem !important;line-height:1.9 !important}
  .ob-wrap{padding:1.5rem 1.25rem 2rem !important}
  .ob-nav{padding-top:1.5rem !important;margin-top:1rem}
  .ob-nav .btn{min-height:48px !important;font-size:.72rem !important}
  .tag{font-size:.72rem !important;padding:.4rem .85rem !important;min-height:40px;display:flex;align-items:center}
  .ob-top{margin-bottom:2rem !important}
  .ob-top .btn{min-height:40px !important}
  .field{margin-bottom:1.25rem}
  .lbl{font-size:.65rem !important;margin-bottom:.55rem !important}

  /* Login modal */
  #login-modal .modal-wrap{align-items:flex-end !important;padding:0 !important}
  #login-modal .modal{border-radius:20px 20px 0 0 !important;width:100% !important;max-width:100% !important;padding-bottom:env(safe-area-inset-bottom)}

  /* Chat */
  .uc-nav{padding:calc(.75rem + var(--sat, env(safe-area-inset-top))) 1rem .75rem !important;gap:.6rem !important}
  .rating-health{display:none !important}
  .trial-banner{flex-direction:column;align-items:stretch !important;gap:0 !important}
  .trial-bar-wrap{width:100%;justify-content:space-between}
  .msgs{padding:calc(3.2rem + var(--sat, env(safe-area-inset-top))) .9rem 1rem !important;gap:1rem !important}
  .bubble{font-size:.92rem !important;line-height:1.75 !important;padding:.85rem 1rem !important}
  .msg-wrap.hal{max-width:96% !important}
  .msg-meta{font-size:.6rem !important}
  .archive-btn{font-size:1.2rem !important;padding:.25rem .4rem}
  .uc-bar{padding:.6rem .9rem !important;padding-bottom:max(.9rem,env(safe-area-inset-bottom)) !important}
  .uc-row{gap:.5rem !important}
  .send-btn{width:48px !important;height:48px !important;font-size:1.2rem !important;flex-shrink:0}
  .profile-btn{width:48px !important;height:48px !important}
  #uc-spec-pill{width:40px !important;height:40px !important;border-radius:50% !important}
  .inp-box{font-size:16px !important;padding:.65rem .9rem !important}
  #dbd{bottom:.5rem !important;left:.5rem !important}

  /* Menu */
  #user-menu-panel{padding:.55rem .45rem max(2rem,env(safe-area-inset-bottom)) !important}
  .menu-item{min-height:68px !important}
  .menu-item-label{font-size:.58rem !important;letter-spacing:.1em !important}
  .menu-item-code{font-size:.4rem !important}
  #menu-hal-eye{width:60px !important;height:60px !important}

  /* Coins */
  .bc-wrap{padding:1.5rem 1.1rem !important}
  .bc-wrap h2{font-size:2.2rem !important}
  .bc-wrap>p{font-size:.85rem !important}
  .coin-packs{grid-template-columns:repeat(4,1fr) !important;gap:.4rem !important}
  .coin-pack{padding:.85rem .35rem !important;min-width:0 !important}
  .pack-coins{font-size:1.8rem !important}
  .coin-bal-num{font-size:2.2rem !important}
  .btn-coin{min-height:48px !important}

  /* Settings */
  .settings-row{padding:1rem 1rem !important;font-size:.85rem !important;min-height:52px}
  .settings-row>span:first-child{font-size:1.2rem !important}
}



@media(max-width:480px){
  .uc-nav{
    padding:.65rem 1rem !important;
    gap:.55rem !important;
  }
  /* Auto-hide nav on mobile */
  .uc-nav.hidden{transform:translateY(-100%)}

  /* Bigger pills */
  .coin-pill{
    padding:.45rem .9rem !important;
    border-radius:999px !important;
    min-height:40px !important;
    gap:.4rem !important;
  }
  .coin-pill-val{font-size:.85rem !important}

  /* Profile button bigger */
  .uc-nav > div[onclick*="Profile"]{
    width:40px !important;
    height:40px !important;
    font-size:1.1rem !important;
  }



  /* Send button bigger */
  .uc-bar .send-btn:last-child{
    width:48px !important;
    height:48px !important;
    border-radius:0 !important;
    font-size:1.2rem !important;
  }

  /* Input field cleaner */
  .inp-box{
    font-size:16px !important;
    padding:.8rem 1rem !important;
    border-radius:0 !important;
    border:1px solid rgba(255,255,255,.1) !important;
    background:transparent !important;
    min-height:48px !important;
    line-height:1.4 !important;
  }
  .inp-box:focus{
    border-color:rgba(255,255,255,.2) !important;
    background:transparent !important;
  }

  /* Input row spacing */
  .uc-row{gap:.45rem !important;align-items:center !important}
}
@media(max-width:480px){
  /* Base font size */
  html{font-size:18px}

  /* Landing */
  .sp-title{font-size:5.5rem !important}
  .sp-desc{font-size:1rem !important;line-height:2 !important}
  .sp-sub{font-size:.75rem !important;letter-spacing:.2em !important}
  .sp-pills{flex-wrap:wrap;gap:.85rem !important;justify-content:center}
  .sp-pill{font-size:.65rem !important}
  .btn{font-size:.75rem !important;padding:.9rem 1.5rem !important;min-height:52px !important;letter-spacing:.1em}
  .sp-acts{flex-direction:column;width:100%;max-width:300px;gap:.55rem !important}
  .sp-acts .btn{width:100% !important;justify-content:center}
  .sp-mkt-link{font-size:.72rem !important;margin-top:-.5rem}

  /* Onboarding */
  .ob-q{font-size:1.75rem !important;line-height:1.25 !important}
  .ob-sub{font-size:.9rem !important;line-height:1.9 !important}
  .ob-wrap{padding:1.5rem 1.25rem 2rem !important}
  .ob-nav{padding-top:1.5rem !important;margin-top:1rem}
  .ob-nav .btn{min-height:48px !important;font-size:.72rem !important}
  .tag{font-size:.72rem !important;padding:.4rem .85rem !important;min-height:40px;display:flex;align-items:center}
  .ob-top{margin-bottom:2rem !important}
  .ob-top .btn{min-height:40px !important}
  .field{margin-bottom:1.25rem}
  .lbl{font-size:.65rem !important;margin-bottom:.55rem !important}

  /* Login modal */
  #login-modal .modal-wrap{align-items:flex-end !important;padding:0 !important}
  #login-modal .modal{border-radius:20px 20px 0 0 !important;width:100% !important;max-width:100% !important;padding-bottom:env(safe-area-inset-bottom)}

  /* Chat */
  .uc-nav{padding:calc(.75rem + var(--sat, env(safe-area-inset-top))) 1rem .75rem !important;gap:.6rem !important}
  .msgs{padding:calc(3.2rem + var(--sat, env(safe-area-inset-top))) .9rem 1rem !important;gap:1rem !important}
  .bubble{font-size:.92rem !important;line-height:1.75 !important;padding:.85rem 1rem !important}
  .msg-wrap.hal{max-width:96% !important}
  .msg-meta{font-size:.6rem !important}
  .archive-btn{font-size:1.2rem !important;padding:.25rem .4rem}
  .uc-bar{padding:.6rem .9rem !important;padding-bottom:max(.9rem,env(safe-area-inset-bottom)) !important}
  .uc-row{gap:.5rem !important}
  .send-btn{width:48px !important;height:48px !important;font-size:1.2rem !important;flex-shrink:0}
  .profile-btn{width:48px !important;height:48px !important}
  #uc-spec-pill{width:40px !important;height:40px !important;border-radius:50% !important}
  .inp-box{font-size:16px !important;padding:.65rem .9rem !important}
  #dbd{bottom:.5rem !important;left:.5rem !important}

  /* Menu */
  #user-menu-panel{padding:.55rem .45rem max(2rem,env(safe-area-inset-bottom)) !important}
  .menu-item{min-height:68px !important}
  .menu-item-label{font-size:.58rem !important;letter-spacing:.1em !important}
  .menu-item-code{font-size:.4rem !important}
  #menu-hal-eye{width:60px !important;height:60px !important}

  /* Coins */
  .bc-wrap{padding:1.5rem 1.1rem !important}
  .bc-wrap h2{font-size:2.2rem !important}
  .bc-wrap>p{font-size:.85rem !important}
  .coin-packs{grid-template-columns:repeat(4,1fr) !important;gap:.4rem !important}
  .coin-pack{padding:.85rem .35rem !important;min-width:0 !important}
  .pack-coins{font-size:1.8rem !important}
  .coin-bal-num{font-size:2.2rem !important}
  .btn-coin{min-height:48px !important}

  /* Settings */
  .settings-row{padding:1rem 1rem !important;font-size:.85rem !important;min-height:52px}
  .settings-row>span:first-child{font-size:1.2rem !important}
}

@media(max-width:680px){
  .hd-body{grid-template-columns:1fr}
  .hd-side{max-height:260px}
  .dp-stats{grid-template-columns:1fr 1fr}
  .sp-title{font-size:5rem}
  .ap-wrap,.ob-wrap,.bc-wrap{padding:2rem 1.25rem}
  .dp{padding:1.25rem}
  .coin-packs{grid-template-columns:repeat(4,1fr);gap:.4rem}
  .hd-right{gap:.4rem}
  .rating-health{display:none}
  .sd-stats{grid-template-columns:repeat(4,1fr)}
  .spec-grid{grid-template-columns:minmax(0,1fr)}
  .bk-dur-grid{grid-template-columns:repeat(4,1fr)}
  .sd-price-grid{grid-template-columns:repeat(4,1fr)}
}

/* ONBOARDING DESKTOP SIZING */
@media (min-width: 900px) {
  .onb-title, .onboarding h1, .onb h1 {
    font-size: 56px !important;
    line-height: 1.1 !important;
    margin-bottom: 24px !important;
  }
  .onb-sub, .onboarding p, .onb p {
    font-size: 18px !important;
    line-height: 1.5 !important;
    margin-bottom: 48px !important;
  }
  .onb-chip, .onboarding .chip, .onb button.chip {
    font-size: 14px !important;
    padding: 14px 22px !important;
    letter-spacing: 1.5px !important;
  }
  .onb-nav button, .onboarding .back, .onboarding .continue {
    font-size: 15px !important;
    padding: 20px 32px !important;
  }
  .onb-progress, .onboarding .progress {
    font-size: 14px !important;
  }
  .onb-wrap, .onboarding {
    max-width: 880px !important;
    margin: 0 auto !important;
    padding: 80px 40px !important;
  }
}


.hc-info-tags{color:var(--tx3)}
#hal-chat.staff-mode .hc-info-tags{color:#555 !important}

/* === Memory modal (Session 10) === */
#memory-modal .modal{max-width:480px;position:relative;max-height:80vh;overflow-y:auto;padding:1.5rem 1.25rem 1.25rem}
#memory-modal h2{font-family:var(--f3);font-size:.85rem;letter-spacing:.08em;color:var(--tx1);margin:0 0 .15rem}
#memory-modal .mem-sub{font-family:var(--f2);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin-bottom:1.25rem}
#memory-modal .mem-empty-banner{font-family:var(--f2);font-size:.7rem;line-height:1.5;color:var(--tx2);background:rgba(255,255,255,.03);border-left:2px solid var(--eye);padding:.7rem .85rem;margin-bottom:1.5rem}
#memory-modal .mem-section{margin-bottom:1.4rem}
#memory-modal .mem-section-header{font-family:var(--f3);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tx3);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}
#memory-modal .mem-section-header::before,#memory-modal .mem-section-header::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.08)}
#memory-modal .mem-section-header span{padding:0 .25rem}
#memory-modal .mem-summary{font-family:var(--f3);font-size:.78rem;line-height:1.55;color:var(--tx1);background:rgba(255,255,255,.03);padding:.7rem .85rem;border-left:2px solid var(--tx3)}
#memory-modal .mem-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.42rem .55rem;font-family:var(--f3);font-size:.72rem;color:var(--tx1);background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);margin-bottom:.3rem}
#memory-modal .mem-item-key{color:var(--tx3);font-size:.6rem;letter-spacing:.04em;margin-right:.5rem;text-transform:uppercase;flex-shrink:0}
#memory-modal .mem-item-value{flex:1;word-break:break-word}
#memory-modal .mem-del-btn{background:transparent;border:none;color:#666;cursor:pointer;font-size:.85rem;padding:.1rem .35rem;line-height:1;flex-shrink:0;font-family:var(--f2)}
#memory-modal .mem-del-btn:hover{color:var(--eye)}
#memory-modal .mem-empty{font-family:var(--f2);font-size:.6rem;letter-spacing:.04em;color:var(--tx3);font-style:italic;padding:.3rem .55rem}
#memory-modal .mem-loading{text-align:center;padding:2rem 1rem;color:var(--tx3);font-family:var(--f2);font-size:.65rem;letter-spacing:.1em}


/* === Hal Memory drawer (Session 10) === */
#hal-mem-drawer{position:fixed;top:0;right:0;height:100vh;width:340px;max-width:90vw;background:var(--void);border-left:1px solid rgba(255,255,255,.08);z-index:1100;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s var(--e);box-shadow:-4px 0 18px rgba(0,0,0,.5)}
#hal-mem-drawer.open{transform:translateX(0)}
@media (max-width: 600px) {
  #hal-mem-drawer{width:100vw;max-width:100vw;height:75vh;top:auto;bottom:0;right:0;border-left:none;border-top:1px solid rgba(255,255,255,.08);transform:translateY(100%);box-shadow:0 -4px 18px rgba(0,0,0,.5)}
  #hal-mem-drawer.open{transform:translateY(0)}
}
#hal-mem-drawer .hmd-head{padding:1rem 1.25rem .8rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
#hal-mem-drawer .hmd-head h2{font-family:var(--f3);font-size:.8rem;letter-spacing:.08em;color:var(--tx1);margin:0}
#hal-mem-drawer .hmd-head .hmd-sub{font-family:var(--f2);font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin-top:.15rem}
#hal-mem-drawer .hmd-close{background:transparent;border:none;color:#666;font-size:1.05rem;cursor:pointer;padding:.4rem .55rem;line-height:1;font-family:var(--f2)}
#hal-mem-drawer .hmd-close:hover{color:#fff}
#hal-mem-drawer .hmd-body{flex:1;overflow-y:auto;padding:1rem 1.1rem 1.25rem}
#hal-mem-drawer .hmd-section{margin-bottom:1.1rem}
#hal-mem-drawer .hmd-section-header{font-family:var(--f3);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tx3);margin-bottom:.45rem;display:flex;align-items:center;gap:.5rem}
#hal-mem-drawer .hmd-section-header::before,#hal-mem-drawer .hmd-section-header::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.08)}
#hal-mem-drawer .hmd-section-header span{padding:0 .25rem}
#hal-mem-drawer .hmd-summary{font-family:var(--f3);font-size:.72rem;line-height:1.5;color:var(--tx1);background:rgba(255,255,255,.03);padding:.55rem .7rem;border-left:2px solid var(--tx3)}
#hal-mem-drawer .hmd-item{font-family:var(--f3);font-size:.68rem;color:var(--tx1);background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);padding:.38rem .55rem;margin-bottom:.28rem;display:flex;align-items:center;gap:.5rem;word-break:break-word}
#hal-mem-drawer .hmd-item-key{color:var(--tx3);font-size:.55rem;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}
#hal-mem-drawer .hmd-item-value{flex:1}
#hal-mem-drawer .hmd-empty{font-family:var(--f2);font-size:.58rem;color:var(--tx3);font-style:italic;padding:.25rem .55rem .35rem}
#hal-mem-drawer .hmd-add-btn{background:transparent;border:1px dashed rgba(255,255,255,.15);color:var(--tx3);cursor:pointer;font-family:var(--f2);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .55rem;width:100%;margin-top:.3rem;transition:all .15s}
#hal-mem-drawer .hmd-add-btn:hover{border-color:var(--eye);color:var(--eye)}
#hal-mem-drawer .hmd-form{display:flex;gap:.3rem;margin-top:.3rem}
#hal-mem-drawer .hmd-form input,#hal-mem-drawer .hmd-form select{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--tx1);padding:.4rem .55rem;font-family:var(--f3);font-size:.68rem;outline:none;min-width:0}
#hal-mem-drawer .hmd-form input:focus,#hal-mem-drawer .hmd-form select:focus{border-color:var(--eye)}
#hal-mem-drawer .hmd-form button{background:var(--eye);color:#fff;border:none;cursor:pointer;font-family:var(--f2);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .65rem;flex-shrink:0}
#hal-mem-drawer .hmd-form .hmd-cancel{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--tx3)}
#hal-mem-drawer .hmd-loading{text-align:center;padding:2rem 1rem;color:var(--tx3);font-family:var(--f2);font-size:.6rem;letter-spacing:.1em}
#hal-mem-drawer .hmd-error{background:rgba(204,34,0,.08);border-left:2px solid var(--eye);color:#ffaa99;font-family:var(--f2);font-size:.6rem;padding:.5rem .7rem;margin:.5rem 0}
#hal-mem-toggle-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--tx2);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;transition:all .15s}
#hal-mem-toggle-btn:hover{border-color:var(--eye);color:var(--eye)}


/* HalMemory text-color override (Session 10) */
#hal-mem-drawer, #hal-mem-drawer *{color:#e8e4dc !important}
#hal-mem-drawer .hmd-summary{color:#fff !important}
#hal-mem-drawer .hmd-item-value{color:#fff !important}
#hal-mem-drawer .hmd-item-key{color:#888 !important}
#hal-mem-drawer .hmd-section-header{color:#888 !important}
#hal-mem-drawer .hmd-empty{color:#666 !important}
#hal-mem-drawer .hmd-add-btn{color:#888 !important}
#hal-mem-drawer .hmd-add-btn:hover{color:#7a1500 !important}
#hal-mem-drawer .hmd-form input,
#hal-mem-drawer .hmd-form select{color:#fff !important;background:rgba(255,255,255,.06) !important}
#hal-mem-drawer .hmd-form button{color:#fff !important}
#hal-mem-drawer .hmd-close{color:#888 !important}
#hal-mem-drawer .hmd-close:hover{color:#fff !important}
#hal-mem-drawer .hmd-loading{color:#666 !important}


    /* notif-module S12 — bell + dropdown + toast */
    .notif-bell {
      position: relative;
      background: transparent;
      border: none;
      cursor: pointer;
      padding: .3rem .55rem;
      font-size: 1.1rem;
      line-height: 1;
      flex-shrink: 0;
      color: #1a1a1a;
    }
    .notif-bell-badge {
      position: absolute;
      top: 1px;
      right: 1px;
      background: #7a1500;
      color: #fff;
      font-size: .42rem;
      font-weight: 700;
      line-height: 1;
      padding: .15rem .3rem;
      border-radius: 8px;
      display: none;
      pointer-events: none;
    }
    .notif-dropdown {
      position: absolute;
      top: calc(100% + 4px);
      right: 0;
      width: 320px;
      max-height: 420px;
      overflow-y: auto;
      background: #f4f0e8;
      border: 1px solid rgba(0,0,0,.18);
      box-shadow: 0 8px 24px rgba(0,0,0,.18);
      z-index: 9000;
      display: none;
      font-family: var(--f3);
    }
    .notif-dropdown.open { display: block; }
    .notif-dropdown-header {
      padding: .65rem .9rem;
      font-family: var(--f2);
      font-size: .55rem;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: #666;
      border-bottom: 1px solid rgba(0,0,0,.1);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .notif-mark-all {
      background: transparent;
      border: none;
      font-family: var(--f2);
      font-size: .5rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: #2a6622;
      cursor: pointer;
      padding: .2rem .4rem;
    }
    .notif-mark-all:hover { color: #1a4a14; }
    .notif-item {
      padding: .65rem .9rem;
      border-bottom: 1px solid rgba(0,0,0,.06);
      cursor: pointer;
      display: flex;
      gap: .55rem;
      align-items: flex-start;
      transition: background .15s;
    }
    .notif-item:hover { background: rgba(0,0,0,.04); }
    .notif-item.unread { background: rgba(204,34,0,.06); }
    .notif-item.unread:hover { background: rgba(204,34,0,.1); }
    .notif-item-icon {
      font-size: .9rem;
      line-height: 1.2;
      flex-shrink: 0;
      display: flex;
      align-items: center;
    }
    .notif-dot { width: 10px; height: 10px; border-radius: 3px; display: inline-block; flex-shrink: 0; }
    .notif-item-body { flex: 1; min-width: 0; }
    .notif-item-title {
      font-size: .68rem;
      color: #1a1a1a;
      line-height: 1.3;
      margin-bottom: .15rem;
    }
    .notif-item-time {
      font-family: var(--f2);
      font-size: .48rem;
      color: #888;
      letter-spacing: .05em;
    }
    .notif-empty {
      padding: 1.5rem .9rem;
      text-align: center;
      font-size: .65rem;
      color: #888;
    }
    /* Toasts */
    #notif-toast-container {
      position: fixed;
      top: calc(max(var(--sat, env(safe-area-inset-top)), 44px) + 8px);
      right: 14px;
      z-index: 10500;
      display: flex;
      flex-direction: column;
      gap: 8px;
      pointer-events: none;
    }
    .notif-toast {
      background: #1a1a1a;
      color: #f4f0e8;
      border-left: 3px solid #7a1500;
      padding: .75rem 1rem;
      min-width: 240px;
      max-width: 320px;
      box-shadow: 0 6px 18px rgba(0,0,0,.3);
      font-family: var(--f3);
      font-size: .7rem;
      line-height: 1.35;
      cursor: pointer;
      pointer-events: auto;
      animation: notif-toast-in .25s ease-out;
      display: flex;
      gap: .55rem;
      align-items: flex-start;
    }
    .notif-toast.dismissing { animation: notif-toast-out .2s ease-in forwards; }
    .notif-toast-icon { font-size: .9rem; flex-shrink: 0; }
    .notif-toast-body { flex: 1; }
    .notif-toast-close {
      background: transparent;
      border: none;
      color: #888;
      cursor: pointer;
      font-size: .9rem;
      padding: 0;
      line-height: 1;
      flex-shrink: 0;
    }
    @keyframes notif-toast-in {
      from { transform: translateX(100%); opacity: 0; }
      to   { transform: translateX(0); opacity: 1; }
    }
    @keyframes notif-toast-out {
      from { transform: translateX(0); opacity: 1; }
      to   { transform: translateX(100%); opacity: 0; }
    }
  #notes-edit-body ul, #notes-edit-body ol { padding-left: 1.5rem; margin: .3rem 0; }
  #notes-edit-body li { margin: .15rem 0; }
  #notes-edit-body h3 { font-size: 1.4rem; font-weight: 400; color: #f0ece6; margin: .6rem 0 .3rem; }
  #notes-edit-body:empty:before { content: attr(data-placeholder); color: #555; pointer-events: none; }
  


/* ===== guide-shell (extraído de index.html, bloque 2) ===== */
  .guide-shell {
    background: #050505;
    border: 1px solid #1a1a1a;
    width: 96vw;
    max-width: 940px;
    height: 92vh;
    display: flex;
    flex-direction: column;
    font-family: var(--f3);
    position: relative;
  }
  @media(max-width:680px) {
    .guide-shell { width: 100vw; height: 100dvh; border-radius: 0; border: none; padding-top: var(--sat, env(safe-area-inset-top)); }
  }
  .guide-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.3rem;
    padding-top: calc(1rem + var(--sat, env(safe-area-inset-top)));
    border-bottom: 1px solid #1a1a1a;
    background: #000;
    flex-shrink: 0;
  }
  .guide-title {
    font-family: var(--f2);
    font-size: 1rem;
    font-weight: 700;
    color: #22ff66;
    letter-spacing: 0.22em;
  }
  .guide-close {
    background: transparent;
    border: 1px solid #2a2a2a;
    color: #888;
    width: 32px;
    height: 32px;
    cursor: pointer;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .guide-close:hover { color: #fff; border-color: #444; }
  .guide-toc-toggle {
    display: none;
    align-items: center;
    gap: .55rem;
    background: #0a0a0a;
    border: none;
    border-bottom: 1px solid #1a1a1a;
    color: #22ff66;
    font-family: var(--f2);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .14em;
    padding: .7rem 1.3rem;
    cursor: pointer;
    text-align: left;
  }
  .guide-toc-toggle span:first-child { font-size: .9rem; }
  .guide-content {
    display: flex;
    flex: 1;
    overflow: hidden;
  }
  .guide-sidebar {
    width: 200px;
    border-right: 1px solid #1a1a1a;
    background: #020202;
    overflow-y: auto;
    flex-shrink: 0;
    padding: .8rem 0;
  }
  .guide-sidebar .guide-section-label {
    font-family: var(--f2);
    font-size: .65rem;
    font-weight: 700;
    color: rgba(34,255,102,.6);
    letter-spacing: .2em;
    text-transform: uppercase;
    padding: 1.3rem 1.2rem .55rem;
  }
  .guide-sidebar .guide-section-label:first-child { padding-top: .3rem; }
  .guide-sidebar button.guide-item {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    border-left: 3px solid transparent;
    color: #b8b8b8;
    font-family: var(--f3);
    font-size: .92rem;
    text-align: left;
    padding: .75rem 1.2rem .75rem 1.1rem;
    cursor: pointer;
    line-height: 1.4;
    transition: color .12s, border-color .12s, background .12s;
  }
  .guide-sidebar button.guide-item:hover {
    color: #fff;
    background: rgba(255,255,255,.02);
  }
  .guide-sidebar button.guide-item.active {
    color: #22ff66;
    border-left-color: #22ff66;
    background: rgba(34,255,102,.04);
  }
  .guide-body {
    flex: 1;
    overflow-y: auto;
    padding: 2.2rem 2.6rem 4rem;
    background: #050505;
    color: #d8d8d8;
    font-family: var(--f3);
    font-size: 1.12rem;
    line-height: 1.8;
  }
  @media(max-width:680px) {
    .guide-toc-toggle { display: flex !important; }
    .guide-body { font-size: 1.13rem; padding: 1.4rem 1.2rem 4rem; }
    .guide-sidebar button.guide-item { font-size: 1.0rem; }
    .guide-shell { height: 100dvh; width: 100vw; border-radius: 0; border: none; }
  }
  .guide-body h1, .guide-body h2, .guide-body h3 {
    font-weight: 600;
    color: #fff;
    margin: 1.6rem 0 .8rem;
    letter-spacing: -.005em;
  }
  .guide-body h1 { font-size: 1.9rem; color: #22ff66; margin-top: 0; }
  .guide-body h2 { font-size: 1.35rem; margin-top: 2.2rem; }
  .guide-body h3 { font-size: 1.08rem; color: #c8c8c8; margin-top: 1.6rem; }
  .guide-body p { margin: 0 0 1rem; }
  .guide-body code {
    background: #1a1a1a;
    padding: .12rem .35rem;
    font-family: var(--f2);
    font-size: .82em;
    color: #22ff66;
  }
  .guide-body ul, .guide-body ol { padding-left: 1.3rem; margin: 0 0 1rem; }
  .guide-body li { margin-bottom: .35rem; }
  @media (max-width: 720px) {
    .guide-shell { width: 100vw; height: 100vh; max-width: none; border: none; }
    .guide-toc-toggle { display: flex; }
    .guide-content { flex-direction: column; }
    .guide-sidebar {
      width: 100%;
      max-height: 0;
      overflow: hidden;
      border-right: none;
      border-bottom: 1px solid #1a1a1a;
      transition: max-height .25s ease;
      padding: 0;
    }
    .guide-sidebar.open {
      max-height: 50vh;
      overflow-y: auto;
      padding: .6rem 0;
    }
    .guide-body {
      padding: 1.6rem 1.3rem 3.5rem;
      font-size: 1rem;
      line-height: 1.75;
    }
    .guide-body h1 { font-size: 1.6rem; }
    .guide-body h2 { font-size: 1.2rem; }
    .guide-body h3 { font-size: 1.02rem; }
  }


/* ===== HAL OS / Control Room (extraído de index.html, bloque 3) ===== */
#hal-os{position:fixed;inset:0;z-index:9998;background:#050505;display:none;flex-direction:column;overflow:hidden;font-family:var(--f2)}
#hal-os.open{display:flex;animation:halOsIn .35s cubic-bezier(.16,.84,.44,1) both}
@keyframes halOsIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.os-grain{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.012) 1px,transparent 1px);background-size:3px 3px;pointer-events:none;opacity:.6}
.os-glow{position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:1200px;height:600px;background:radial-gradient(ellipse at center,rgba(200,169,110,.04) 0%,transparent 60%);pointer-events:none}
.os-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.06)}
.os-crumb{display:flex;align-items:center;gap:.7rem;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.os-crumb b{color:rgba(255,255,255,.85);font-weight:500;font-family:var(--f3);font-size:1.1rem;letter-spacing:.04em;text-transform:none}
.os-close{background:transparent;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.6);width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;line-height:1;transition:all .2s}
.os-close:hover{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.04)}
.os-hero{position:relative;z-index:2;padding:1.75rem 2rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;gap:3rem;flex-wrap:wrap}
.os-hero-stat{display:flex;flex-direction:column;gap:.25rem}
.os-hero-lbl{font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.os-hero-val{font-family:var(--f3);font-size:1.85rem;font-weight:300;color:rgba(255,255,255,.95);line-height:1;letter-spacing:.01em}
.os-hero-trend{font-size:.55rem;letter-spacing:.1em;color:#7bc96f;margin-top:.15rem}
.os-hero-trend.dn{color:#7a1500}
.os-body{position:relative;z-index:2;flex:1;overflow-y:auto;padding:2rem}
.os-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;max-width:1400px;margin:0 auto}
.os-card{position:relative;background:linear-gradient(180deg,rgba(20,20,20,.5) 0%,rgba(8,8,8,.6) 100%);border:1px solid rgba(255,255,255,.07);padding:1.5rem 1.4rem;cursor:pointer;transition:all .25s cubic-bezier(.16,.84,.44,1);overflow:hidden}
.os-card:hover{border-color:rgba(200,169,110,.35);background:linear-gradient(180deg,rgba(28,24,16,.6) 0%,rgba(12,10,6,.7) 100%);transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.5),0 0 0 1px rgba(200,169,110,.15)}
.os-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,169,110,.3),transparent);opacity:0;transition:opacity .3s}
.os-card:hover::before{opacity:1}
.os-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}
.os-card-glyph{font-size:1.4rem;color:rgba(200,169,110,.7);line-height:1;font-family:var(--f3);font-weight:300}
.os-card-status{width:7px;height:7px;border-radius:50%;background:#7bc96f;box-shadow:0 0 8px #7bc96f;flex-shrink:0;margin-top:.4rem}
.os-card-status.warn{background:#e6a700;box-shadow:0 0 8px #e6a700}
.os-card-status.crit{background:#7a1500;box-shadow:0 0 8px #7a1500}
.os-card-status.off{background:#3a3a3a;box-shadow:none;opacity:.4}
.os-card-status.pending{background:#5a5a5a;box-shadow:none;animation:pulse-pending 1.2s infinite}
@keyframes pulse-pending{0%,100%{opacity:.3}50%{opacity:.7}}
.os-card.disabled{opacity:.45;pointer-events:none;cursor:default}
.os-card.disabled .os-card-name,.os-card.disabled .os-card-glyph{color:rgba(255,255,255,.35)}
.os-card-name{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.5rem}
.os-card-kpi{font-family:var(--f3);font-size:2rem;font-weight:300;color:#fff;line-height:1;letter-spacing:.01em;margin-bottom:.5rem}
.os-card-sub{font-size:.6rem;color:rgba(255,255,255,.45);letter-spacing:.02em;line-height:1.5}
.os-card-spark{height:18px;margin-top:.85rem;display:flex;align-items:flex-end;gap:2px}
.os-card-spark .bar{flex:1;background:rgba(200,169,110,.3);transition:background .2s}
.os-card:hover .os-card-spark .bar{background:rgba(200,169,110,.55)}

/* Drawer lateral por sistema */
#os-drawer{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:#0a0a0a;border-left:1px solid rgba(255,255,255,.1);z-index:9999;transform:translateX(100%);transition:transform .35s cubic-bezier(.16,.84,.44,1);display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.7)}
#os-drawer.open{transform:translateX(0)}
.os-drawer-head{padding:1.5rem 1.75rem;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.os-drawer-title{display:flex;align-items:center;gap:.85rem}
.os-drawer-glyph{font-family:var(--f3);font-size:1.6rem;color:rgba(200,169,110,.85);line-height:1}
.os-drawer-name{font-family:var(--f3);font-size:1.3rem;font-weight:300;color:#fff;line-height:1.1}
.os-drawer-tag{font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.25rem}
.os-drawer-body{flex:1;overflow-y:auto;padding:1.5rem 1.75rem}
.os-drawer-section{margin-bottom:1.75rem}
.os-drawer-section-title{font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:.7rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.05)}
.os-drawer-empty{padding:1.5rem 0;font-size:.7rem;color:rgba(255,255,255,.4);font-style:italic;line-height:1.7}

@media (max-width:680px){
  .os-head{padding:calc(1rem + var(--sat, env(safe-area-inset-top))) 1.25rem 1rem}
  .os-hero{padding:1.25rem 1rem;gap:.5rem;flex-wrap:nowrap}
  .os-hero-stat{flex:1;min-width:0;position:relative;cursor:pointer;outline:none}
  .os-hero-lbl{font-size:.46rem;letter-spacing:.08em;min-height:1.5rem;line-height:1.25}
  .os-hero-val{font-size:1.15rem}
  .os-hero-trend{position:absolute;top:100%;left:0;z-index:30;margin-top:.4rem;width:max-content;max-width:220px;background:#161616;border:1px solid rgba(255,255,255,.14);padding:.5rem .65rem;line-height:1.5;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s}
  .os-hero-stat:focus .os-hero-trend,.os-hero-stat:active .os-hero-trend{opacity:1;visibility:visible}
  .os-body{padding:1.25rem}
  .os-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem}
  .os-card{padding:1.1rem 1rem}
  .os-card-kpi{font-size:1.5rem}
  #os-drawer{width:100%}
}
