/* iBNiChat shell refresh v0.5.3: refined lobby classroom cards + account/admin shell */
:root{
  --shell-accent:#7c3fb1;
  --shell-accent-strong:#673091;
  --shell-accent-soft:#f5eefb;
  --shell-text:#172033;
  --shell-muted:#68758a;
  --shell-border:#e7e9ef;
  --shell-surface:#ffffff;
  --shell-surface-soft:#f7f8fb;
  --shell-danger:#b42318;
  --shell-shadow:0 18px 50px rgba(31,41,55,.10);
  --shell-radius:18px;
}

html,body{background:#f6f7fa;}
body:not(.in-room){align-items:stretch;}

/* ---------- Top navigation ---------- */
.topnav{
  width:100%;
  max-width:none;
  min-height:68px;
  padding:10px clamp(14px,3vw,30px);
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--shell-border);
  box-shadow:0 1px 0 rgba(15,23,42,.02);
  backdrop-filter:blur(14px);
}
.topnav .brand{gap:10px;padding:0;}
.topnav .brand::before{display:none!important;}
.topnav .brand-logo{width:38px;height:38px;}
.topnav .brand span{font-size:1rem;letter-spacing:.01em;color:var(--shell-text);}
.hamburger,.userBtn{
  width:42px;height:42px;border-radius:12px;
  border:1px solid var(--shell-border);
  background:#fff;color:#465168;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.hamburger:hover,.userBtn:hover{background:var(--shell-accent-soft);border-color:#ddcbea;color:var(--shell-accent);}
.userDrawer{
  position:fixed;top:64px;right:18px;width:min(310px,calc(100vw - 28px));
  padding:10px;border:1px solid var(--shell-border);border-radius:16px;
  box-shadow:var(--shell-shadow);background:#fff;z-index:1450;
}
.ud-head{padding:8px 8px 12px;border-bottom:1px solid var(--shell-border);}
.ud-avatar{width:44px;height:44px;background:var(--shell-accent-soft);color:var(--shell-accent);}
.ud-meta strong{color:var(--shell-text);font-size:.95rem;}
.ud-meta small{margin-top:2px;color:var(--shell-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;}
.ud-row{margin-top:6px;padding:10px;border-radius:10px;color:#344054;font-weight:650;}
.ud-row:hover{background:#f7f8fa;}

/* ---------- Sidebar ---------- */
.leftDrawer{
  width:min(304px,calc(100vw - 20px));
  height:100dvh;padding:18px 14px;
  border-right:1px solid var(--shell-border);background:#fff;
  box-shadow:16px 0 50px rgba(15,23,42,.12);
  z-index:1500;
}
.ld-scrim{z-index:1490;background:rgba(15,23,42,.34);backdrop-filter:blur(2px);}
.ld-head{
  display:flex;align-items:center;min-height:54px;padding:8px 10px 16px;
  margin:0 0 8px;border-bottom:1px solid var(--shell-border);
  font-size:1.06rem;color:var(--shell-text);
}
.ld-head::before{
  content:'';width:34px;height:34px;margin-right:10px;flex:0 0 34px;
  background:url('/ibni_logo.png') center/contain no-repeat;
}
.ld-nav{gap:6px;padding-top:4px;}
.ld-item{
  min-height:46px;padding:10px 12px;border:1px solid transparent;border-radius:12px;
  background:transparent;color:#475467;font-weight:650;font-size:.93rem;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.ld-item i{width:22px;font-size:18px;color:#667085;}
.ld-item:hover{background:#f7f8fa;border-color:#edf0f4;}
.ld-item.active{outline:0;background:var(--shell-accent-soft);border-color:#e8d9f2;color:var(--shell-accent-strong);}
.ld-item.active i{color:var(--shell-accent);}

/* ---------- Landing / auth ---------- */
.auth-screen{
  min-height:100dvh!important;padding:clamp(18px,4vw,52px)!important;
  background:
    radial-gradient(circle at 8% 8%, rgba(124,63,177,.09), transparent 30%),
    linear-gradient(180deg,#fbfbfd 0%,#f5f6f9 100%)!important;
}
.landing-shell{max-width:1200px;min-height:calc(100dvh - 104px);gap:clamp(30px,5vw,68px);}
.landing-copy{gap:16px;}
.landing-brand{gap:12px;}
.landing-logo{width:58px;height:58px;}
.landing-brand-text h1{font-size:clamp(1.65rem,3vw,2.2rem);}
.landing-eyebrow{
  padding:.48rem .75rem;background:#fff;border:1px solid #e7dced;color:var(--shell-accent-strong);
  font-size:.78rem;letter-spacing:.01em;
}
.landing-title{max-width:13ch;font-size:clamp(2.2rem,4.6vw,4rem);line-height:1.02;color:#1b2230;}
.landing-text{max-width:58ch;color:#596579;font-size:1rem;line-height:1.7;}
.landing-actions{gap:10px;margin-top:4px;}
.landing-btn{min-height:50px;border-radius:12px!important;box-shadow:none!important;}
.landing-art{width:min(100%,520px);filter:drop-shadow(0 24px 30px rgba(31,41,55,.10));}

#login,#signup{min-height:100dvh!important;align-items:center!important;}
.auth-card,.auth-card-wide{
  border:1px solid var(--shell-border)!important;border-radius:22px!important;
  box-shadow:var(--shell-shadow)!important;background:#fff!important;
}
.auth-card{width:min(100%,470px)!important;padding:30px!important;}
.auth-card-wide{width:min(100%,680px)!important;}
.auth-back{margin-bottom:20px;padding:6px 0;color:#667085;}
.auth-brand-row{padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid #eef0f4;}
.auth-logo{width:48px;height:48px;}
.auth-brand-name{color:var(--shell-text);font-size:1.1rem;}
.auth-brand-row small{color:var(--shell-muted);font-size:.78rem;}
.auth-card h2{font-size:1.62rem;color:var(--shell-text);}
.auth-sub{margin-bottom:22px;color:var(--shell-muted);line-height:1.6;}
.field{margin-bottom:12px;}
.field input{
  height:52px!important;border-radius:12px!important;border-color:#dde2ea!important;
  background:#fbfcfd!important;color:var(--shell-text)!important;font-size:.95rem!important;
}
.field input:focus{border-color:#b894d2!important;box-shadow:0 0 0 4px rgba(124,63,177,.10)!important;background:#fff!important;}
.primary{background:var(--shell-accent)!important;border-color:var(--shell-accent)!important;box-shadow:none!important;}
.primary:hover{background:var(--shell-accent-strong)!important;}
.auth-card > button.primary{height:50px;border-radius:12px!important;}
.toggle{margin-top:16px;color:var(--shell-muted);}
.toggle a{color:var(--shell-accent-strong);}
.auth-forgot-row{display:flex;justify-content:flex-end;margin:-2px 0 14px;}
.auth-forgot-link{border:0;background:transparent;padding:4px 0;color:var(--shell-accent-strong);font-size:.88rem;font-weight:700;cursor:pointer;}
.auth-forgot-link:hover{text-decoration:underline;}
.auth-feedback{margin:10px 0 0;font-size:.87rem;line-height:1.5;color:var(--shell-muted);}
.auth-feedback.error{color:#b42318;}
.auth-feedback.success{color:#067647;}

/* ---------- Lobby ---------- */
#lobby{
  width:min(1040px,calc(100% - 40px));max-width:none;
  margin:clamp(14px,2.5vw,30px) auto 82px!important;
  padding:0!important;text-align:center!important;align-items:stretch!important;gap:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
#lobby > br{display:none;}
.shell-lobby-intro{
  width:min(720px,100%);margin:0 auto 16px;display:grid;justify-items:center;text-align:center;
}
.shell-lobby-intro-compact{margin-bottom:14px;}
.shell-lobby-intro-compact .shell-lobby-kicker{margin-bottom:0;}
.shell-lobby-kicker{
  display:inline-flex;align-items:center;min-height:28px;margin-bottom:14px;padding:5px 10px;
  border:1px solid #e3d7ec;border-radius:999px;background:#faf7fc;color:var(--shell-accent-strong);
  font-size:.75rem;font-weight:750;letter-spacing:.02em;
}
.shell-lobby-intro h3{
  margin:0!important;max-width:17ch;color:var(--shell-text)!important;
  font-size:clamp(2rem,4vw,3.15rem)!important;font-weight:650!important;line-height:1.06;letter-spacing:-.035em;
}
.shell-lobby-intro .sub{
  max-width:610px;margin:14px auto 0!important;color:var(--shell-muted)!important;
  font-size:clamp(.95rem,1.5vw,1.05rem)!important;line-height:1.65;
}
#lobby .heroRow{
  width:min(860px,100%);margin:0 auto!important;padding:0!important;
  display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:14px!important;
  align-items:center;justify-content:center!important;background:transparent!important;border:0!important;border-radius:0!important;
}
#lobby .heroBtn{
  min-height:50px;border-radius:10px;padding:.78rem 1.05rem;font-size:.93rem;font-weight:700;
  justify-content:center;white-space:nowrap;box-shadow:none;transition:background .16s ease,border-color .16s ease,color .16s ease;
}
#lobby #create{
  padding-inline:18px;background:var(--shell-accent)!important;color:#fff!important;border:1px solid var(--shell-accent)!important;
}
#lobby #create:hover{background:var(--shell-accent-strong)!important;border-color:var(--shell-accent-strong)!important;}
.shell-lobby-divider{display:none;color:#98a2b3;font-size:.8rem;font-weight:650;}
.shell-lobby-join-group{
  min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;
}
#lobby .inputWrap{display:flex;width:100%;min-width:0;position:relative;}
#lobby .inputWrap i{left:14px;margin:0;color:#7a8495;}
#lobby .heroRow .inputWrap input{
  width:100%;min-width:0;height:50px;padding:.8rem 1rem .8rem 2.7rem;
  border:1px solid #cfd5df;border-radius:10px;background:#fff;color:var(--shell-text);font-size:.95rem;
  box-shadow:0 1px 2px rgba(15,23,42,.02);transition:border-color .16s ease,box-shadow .16s ease;
}
#lobby .heroRow .inputWrap input:hover{border-color:#b9c0cb;}
#lobby .heroRow .inputWrap input:focus{border-color:#9a6fba;box-shadow:0 0 0 3px rgba(124,63,177,.09);}
#lobby #join{
  min-width:72px;padding-inline:12px;background:transparent!important;color:var(--shell-accent-strong)!important;border:1px solid transparent!important;
}
#lobby #join:not(:disabled):hover{background:#f5eefb!important;}
#lobby #join:disabled{color:#a0a8b5!important;background:transparent!important;opacity:1;cursor:not-allowed;}
#lobby .lobby-sep{width:min(900px,100%);margin:48px auto 22px!important;border:0;border-top:1px solid #e8ebf0;}
#schedWrap{width:min(900px,100%);margin:0 auto!important;text-align:left;}
#schedWrap > div:first-child{margin-bottom:14px!important;}
#schedWrap h3{font-size:1.02rem!important;font-weight:700!important;color:var(--shell-text);letter-spacing:-.01em;}
.sched-list{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))!important;
  gap:16px!important;align-items:stretch;
}
.schedCard,.recur-card{
  border:1px solid #e1e5ec!important;border-radius:16px!important;background:#fff!important;
  box-shadow:0 2px 8px rgba(15,23,42,.035)!important;
}
.shell-sched-card{
  padding:0!important;gap:0!important;overflow:hidden;min-width:0;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
@media (hover:hover) and (pointer:fine){
  .shell-sched-card:hover{border-color:#d4d9e3!important;box-shadow:0 8px 24px rgba(15,23,42,.065)!important;transform:translateY(-1px);}
}
.shell-sched-layout{
  display:block!important;padding:18px 18px 14px!important;background:#fff;
}
.shell-sched-info{min-width:0;}
.shell-sched-title-row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px;
}
.shell-sched-name{
  min-width:0;color:var(--shell-text)!important;font-size:1.05rem!important;font-weight:760!important;
  line-height:1.35;letter-spacing:-.012em;overflow-wrap:anywhere;
}
.shell-sched-status{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:26px!important;padding:4px 9px!important;margin:0!important;border-radius:999px!important;
  border:1px solid #dfe3ea!important;background:#f8fafc!important;color:#526071!important;
  font-size:.69rem!important;font-weight:800!important;line-height:1!important;letter-spacing:.045em!important;text-transform:uppercase!important;
}
.shell-sched-status.live{border-color:#abefc6!important;background:#ecfdf3!important;color:#067647!important;}
.shell-sched-status.scheduled{border-color:#d9cced!important;background:#f7f1fb!important;color:#6941c6!important;}
.shell-sched-status.ended{border-color:#e4e7ec!important;background:#f7f8fa!important;color:#667085!important;}
.shell-sched-status.canceled,.shell-sched-status.cancelled{border-color:#fecdca!important;background:#fef3f2!important;color:#b42318!important;}
.shell-sched-meta-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;
}
.shell-sched-meta-item{
  min-width:0;padding:10px 11px;border:1px solid #edf0f4;border-radius:11px;background:#fafbfc;
}
.shell-sched-meta-item:nth-child(3){grid-column:1/-1;}
.shell-sched-meta-label{
  display:flex;align-items:center;gap:6px;margin-bottom:4px;color:#8a94a6;font-size:.68rem;font-weight:780;
  line-height:1.2;letter-spacing:.035em;text-transform:uppercase;
}
.shell-sched-meta-label i{font-size:14px;color:#88709d;}
.shell-sched-meta-value{
  min-width:0;color:#344054;font-size:.85rem;font-weight:680;line-height:1.4;overflow-wrap:anywhere;
  font-variant-numeric:tabular-nums;
}
.shell-sched-meta-item:nth-child(3) .shell-sched-meta-value{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;letter-spacing:.025em;
}
.shell-sched-recur{
  display:flex!important;align-items:flex-start;gap:7px;margin:11px 1px 0!important;color:#667085!important;
  font-size:.8rem!important;line-height:1.45!important;
}
.shell-sched-recur i{flex:0 0 auto;margin-top:2px;color:#8f6aa9;font-size:14px;}
.shell-sched-description{
  margin:0!important;padding:0 18px 15px!important;color:#596579!important;font-size:.84rem!important;line-height:1.55!important;
}
.shell-sched-actions{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;flex-wrap:wrap!important;
  padding:12px 14px!important;border-top:1px solid #edf0f4!important;background:#fafbfc!important;
}
.shell-sched-actions .miniBtn{
  min-height:36px!important;margin:0!important;padding:7px 10px!important;border:1px solid #dfe3ea!important;
  border-radius:9px!important;background:#fff!important;color:#475467!important;font-size:.78rem!important;font-weight:700!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;white-space:nowrap!important;
}
.shell-sched-actions .miniBtn:hover{background:#f5f6f8!important;border-color:#d2d7df!important;}
.shell-sched-actions .miniBtn.primary{
  order:-10;background:var(--shell-accent)!important;border-color:var(--shell-accent)!important;color:#fff!important;
}
.shell-sched-actions .miniBtn.primary:hover{background:var(--shell-accent-strong)!important;border-color:var(--shell-accent-strong)!important;}
.shell-sched-actions .miniBtn.danger{color:#b42318!important;border-color:#f3cac7!important;background:#fff!important;}
.schedCard.skeleton{padding:16px!important;min-height:170px;}
#pending{width:min(900px,100%);margin:18px auto 0;padding:14px;border-radius:12px;background:#fff9eb;border:1px solid #f6dda3;text-align:left;}

/* ---------- Waiting room ---------- */
#waiting{width:100%;padding:24px 14px;}
#waiting .waiting-card{
  max-width:520px!important;margin:clamp(40px,10vh,110px) auto!important;padding:24px!important;
  border:1px solid var(--shell-border)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--shell-shadow);
}

/* ---------- Generic modal polish ---------- */
.modal .scrim{background:rgba(15,23,42,.40)!important;backdrop-filter:blur(3px);}
.modal .card{border:1px solid var(--shell-border)!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(15,23,42,.18)!important;background:#fff!important;}
.modal .hd{min-height:60px;padding:14px 16px!important;border-bottom:1px solid #edf0f4!important;color:var(--shell-text);font-weight:750;}
.modal .bd{padding:16px!important;}
.modal .ft{padding:12px 16px!important;border-top:1px solid #edf0f4!important;}
.modal .btn{min-height:40px;border-radius:10px!important;}

/* ---------- Accounts ---------- */
#accountsModal .card{
  width:min(1180px,calc(100vw - 28px))!important;
  height:min(90dvh,860px)!important;max-height:90dvh!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
}
#accountsModal .hd{flex:0 0 auto;flex-wrap:wrap;}
#accountsModal .hd > div:last-child{flex:1 1 560px;min-width:0;justify-content:flex-end;flex-wrap:wrap;}
#acctSearch{height:42px;min-width:min(280px,100%)!important;flex:1 1 240px;border:1px solid #dde2ea!important;border-radius:10px!important;background:#fbfcfd;}
#accountsModal .bd{
  flex:1 1 auto;min-height:0!important;overflow:auto!important;overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#accountsModal .ft{flex:0 0 auto;}
#acctAddForm{border-color:var(--shell-border)!important;border-radius:14px!important;background:#f8f9fb!important;}
#acctAddForm input,#acctAddForm select,#editUserModal input{
  min-height:44px;padding:9px 11px;border:1px solid #dfe3ea;border-radius:10px;background:#fff;color:var(--shell-text);
}
#accountsModal table{width:100%;border-collapse:separate!important;border-spacing:0;min-width:920px!important;}
#accountsModal thead th{position:sticky;top:0;z-index:2;background:#f8f9fb;color:#667085;font-size:.78rem;text-transform:uppercase;letter-spacing:.035em;padding:11px 12px;text-align:left;border-bottom:1px solid var(--shell-border);}
#accountsModal tbody td{padding:12px;border-bottom:1px solid #eef0f4;color:#344054;vertical-align:middle;}
#accountsModal tbody tr:last-child td{border-bottom:0;}
#accountsModal tbody tr:hover{background:#fbfbfd;}
#accountsModal td:last-child{min-width:330px;}
#accountsModal .miniBtn{display:inline-flex;align-items:center;gap:5px;min-height:34px;margin:2px;padding:6px 9px;border-radius:9px;border:1px solid #dfe3ea;background:#fff;color:#475467;font-weight:650;}
#accountsModal .miniBtn:hover{background:#f7f8fa;}
#accountsModal .miniBtn.primary{color:#fff;border-color:var(--shell-accent);}
#accountsModal .miniBtn.danger{color:var(--shell-danger);border-color:#f1c5c2;background:#fff;}
#accountsModal .shell-reset-btn{color:var(--shell-accent-strong);border-color:#dbc8e9;background:#fbf8fd;}
#accountsModal .shell-reset-btn[disabled]{opacity:.45;cursor:not-allowed;}

/* ---------- Reset modal/page ---------- */
.shell-modal{position:fixed;inset:0;z-index:7200;display:none;place-items:center;padding:16px;background:rgba(15,23,42,.42);backdrop-filter:blur(3px);}
.shell-modal.show{display:grid;}
.shell-modal-card{width:min(430px,100%);padding:22px;border:1px solid var(--shell-border);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.20);}
.shell-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px;}
.shell-modal-head h3{margin:0;color:var(--shell-text);font-size:1.2rem;}
.shell-modal-head p{margin:5px 0 0;color:var(--shell-muted);font-size:.88rem;line-height:1.5;}
.shell-icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--shell-border);border-radius:10px;background:#fff;color:#667085;cursor:pointer;}
.shell-form-label{display:block;margin-bottom:7px;color:#344054;font-size:.86rem;font-weight:700;}
.shell-input{width:100%;height:48px;padding:10px 12px;border:1px solid #dfe3ea;border-radius:11px;background:#fbfcfd;color:var(--shell-text);font-size:16px;outline:none;}
.shell-input:focus{border-color:#b894d2;box-shadow:0 0 0 4px rgba(124,63,177,.10);background:#fff;}
.shell-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;}
.shell-btn{min-height:42px;padding:9px 14px;border:1px solid #dfe3ea;border-radius:10px;background:#fff;color:#344054;font-weight:700;cursor:pointer;}
.shell-btn.primary{color:#fff;border-color:var(--shell-accent);background:var(--shell-accent)!important;}
.shell-btn:disabled{opacity:.55;cursor:wait;}

.password-reset-route body{min-height:100dvh;display:block;background:#f6f7fa;}
.password-reset-route #landing,.password-reset-route #login,.password-reset-route #signup,.password-reset-route #topnav,.password-reset-route #lobby,.password-reset-route #waiting,.password-reset-route #room,.password-reset-route #controlsWrap{display:none!important;}
.reset-page{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 10% 5%,rgba(124,63,177,.09),transparent 30%),#f6f7fa;}
.reset-card{width:min(470px,100%);padding:28px;border:1px solid var(--shell-border);border-radius:22px;background:#fff;box-shadow:var(--shell-shadow);}
.reset-brand{display:flex;align-items:center;gap:11px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #eef0f4;}
.reset-brand img{width:44px;height:44px;object-fit:contain;}
.reset-brand strong{color:var(--shell-text);font-size:1.05rem;}
.reset-card h1{margin:0 0 7px;font-size:1.55rem;color:var(--shell-text);}
.reset-card > p{margin:0 0 20px;color:var(--shell-muted);line-height:1.6;font-size:.93rem;}
.reset-field{margin-bottom:12px;}
.reset-card .shell-btn.primary{width:100%;height:48px;margin-top:4px;}

/* ---------- Mobile ---------- */
@media (max-width:760px){
  .topnav{min-height:62px;padding:8px 12px;}
  .topnav .brand-logo{width:34px;height:34px;}
  .topnav .brand span{font-size:.94rem;}
  .hamburger,.userBtn{width:40px;height:40px;}
  .userDrawer{top:58px;right:10px;width:calc(100vw - 20px);}
  .leftDrawer{width:min(288px,calc(100vw - 12px));padding:14px 10px;}

  .auth-screen{padding:12px!important;}
  .landing-shell{min-height:auto;gap:24px;padding:8px 0 16px;}
  .landing-copy{gap:14px;}
  .landing-brand{gap:10px;}
  .landing-logo{width:48px;height:48px;}
  .landing-brand-text h1{font-size:1.48rem;}
  .landing-eyebrow{font-size:.74rem;line-height:1.35;width:auto;align-self:flex-start;}
  .landing-title{font-size:clamp(2rem,11vw,2.8rem);line-height:1.04;}
  .landing-text{font-size:.93rem;line-height:1.62;}
  .landing-visual{margin:2px 0 0;}
  .landing-art{width:min(90%,320px);}

  #login,#signup{align-items:flex-start!important;padding-top:14px!important;}
  .auth-card,.auth-card-wide{padding:20px 16px!important;border-radius:18px!important;box-shadow:0 12px 38px rgba(31,41,55,.08)!important;}
  .auth-brand-row{margin-bottom:18px;padding-bottom:14px;}
  .auth-logo{width:42px;height:42px;}
  .auth-card h2{font-size:1.4rem;}
  .auth-sub{font-size:.9rem;margin-bottom:18px;}
  .auth-grid{grid-template-columns:1fr!important;gap:0!important;}

  #lobby{width:calc(100% - 24px);margin:12px auto 72px!important;padding:0!important;}
  .shell-lobby-intro{margin-bottom:12px;}
  .shell-lobby-kicker{margin-bottom:11px;font-size:.71rem;}
  .shell-lobby-intro h3{font-size:clamp(1.85rem,9.5vw,2.35rem)!important;max-width:14ch;}
  .shell-lobby-intro .sub{font-size:.91rem!important;line-height:1.58;margin-top:11px!important;}
  #lobby .heroRow{grid-template-columns:1fr!important;gap:10px!important;width:min(520px,100%);}
  #lobby .heroBtn,#lobby .inputWrap,#lobby .heroRow .inputWrap input{width:100%!important;}
  #lobby #create{min-height:50px;}
  .shell-lobby-divider{display:flex;align-items:center;gap:10px;width:100%;margin:1px 0;color:#98a2b3;}
  .shell-lobby-divider::before,.shell-lobby-divider::after{content:'';height:1px;flex:1;background:#e5e8ed;}
  .shell-lobby-join-group{grid-template-columns:minmax(0,1fr) auto;gap:6px;}
  #lobby #join{min-width:58px;padding-inline:8px;}
  #lobby .lobby-sep{margin:34px auto 18px!important;}
  .sched-list{grid-template-columns:1fr!important;gap:12px!important;}
  .shell-sched-layout{padding:15px 14px 12px!important;}
  .shell-sched-title-row{gap:9px;margin-bottom:12px;}
  .shell-sched-name{font-size:.98rem!important;}
  .shell-sched-status{min-height:24px!important;padding:4px 8px!important;font-size:.64rem!important;}
  .shell-sched-meta-grid{gap:8px;}
  .shell-sched-meta-item{padding:9px 10px;}
  .shell-sched-meta-value{font-size:.8rem;}
  .shell-sched-description{padding:0 14px 12px!important;font-size:.81rem!important;}
  .shell-sched-actions{padding:10px!important;gap:6px!important;}
  .shell-sched-actions .miniBtn{flex:1 1 calc(50% - 6px);min-width:0!important;white-space:normal!important;}
  .shell-sched-actions .miniBtn.primary{flex-basis:100%;}

  #accountsModal .card{width:calc(100vw - 14px)!important;height:94dvh!important;max-height:94dvh!important;border-radius:15px!important;}
  #accountsModal .hd{padding:10px 12px!important;}
  #accountsModal .hd > div:last-child{flex-basis:100%;justify-content:stretch;}
  #acctSearch{flex:1 1 100%!important;min-width:0!important;}
  #acctAddToggle{flex:1 1 auto;}
  #accountsModal .bd{padding:10px!important;}
  #accountsModal .bd > div:has(#acctTable){overflow:visible!important;border:0!important;}
  #accountsModal table,#accountsModal tbody{display:block!important;width:100%!important;min-width:0!important;}
  #accountsModal thead{display:none!important;}
  #accountsModal tbody tr{display:grid!important;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:10px;padding:12px;border:1px solid var(--shell-border);border-radius:14px;background:#fff;}
  #accountsModal tbody td{display:block!important;padding:0!important;border:0!important;min-width:0!important;word-break:break-word;}
  #accountsModal tbody td::before{content:attr(data-shell-label);display:block;margin-bottom:3px;color:#98a2b3;font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em;}
  #accountsModal tbody td:last-child{grid-column:1/-1;display:flex!important;flex-wrap:wrap!important;gap:5px;min-width:0!important;padding-top:5px!important;border-top:1px solid #eef0f4!important;}
  #accountsModal tbody td:last-child::before{width:100%;}
  #accountsModal .miniBtn{flex:1 1 auto;justify-content:center;margin:0;min-height:38px;}
  #acctAddForm > div:first-child{grid-template-columns:1fr!important;}

  .shell-modal{padding:10px;align-items:end;}
  .shell-modal-card{width:100%;padding:18px 14px;border-radius:18px 18px 12px 12px;}
  .reset-page{padding:12px;align-items:start;padding-top:24px;}
  .reset-card{padding:22px 16px;border-radius:18px;}
}

@media (max-width:380px){
  .shell-sched-meta-grid{grid-template-columns:1fr;}
  .shell-sched-meta-item:nth-child(3){grid-column:auto;}
  .shell-sched-actions .miniBtn{flex-basis:100%;}
  .landing-title{font-size:1.92rem;}
  .landing-art{width:min(86%,280px);}
  #accountsModal tbody tr{grid-template-columns:1fr;}
  #accountsModal tbody td:last-child{grid-column:1;}
}
