:root, [data-theme="dark"]{
  --theme-mode:'dark';
  --bg-primary:#0a0e17;
  --bg-secondary:#111827;
  --bg-card:rgba(17,24,39,.85);
  --bg-card-hover:rgba(26,36,56,.95);
  --bg-elevated:rgba(30,41,59,.95);
  --glass-border:rgba(56,189,248,.12);
  --glass-border-hover:rgba(56,189,248,.3);
  --text-primary:#f8fafc;
  --text-secondary:#94a3b8;
  --text-muted:#64748b;
  --teal:#14b8a6;
  --teal-glow:rgba(20,184,166,.2);
  --teal-dark:#0d9488;
  --cyan:#22d3ee;
  --cyan-glow:rgba(34,211,238,.12);
  --amber:#f59e0b;
  --amber-bg:rgba(245,158,11,.15);
  --green:#34d399;
  --green-bg:rgba(52,211,153,.15);
  --red:#f87171;
  --red-bg:rgba(248,113,113,.15);
  --line:rgba(148,163,184,.14);
  --line-soft:rgba(148,163,184,.07);
  --radius:12px;
  --radius-sm:8px;
  --shadow-card:0 4px 20px rgba(0,0,0,.35);
  --shadow-glow:0 0 30px rgba(20,184,166,.08);
  --gradient-teal:linear-gradient(135deg, #14b8a6, #06b6d4);
  --gradient-bg:linear-gradient(180deg, #0a0e17 0%, #0f172a 50%, #0a0e17 100%);
  --header-bg:rgba(10,14,23,.88);
  --footer-bg:rgba(10,14,23,.92);
  --gate-bg:rgba(10,14,23,.95);
  --radio-uncheck-border:rgba(148,163,184,.45);
  --radio-uncheck-bg:rgba(17,24,39,.6);
}

[data-theme="light"]{
  --theme-mode:'light';
  --bg-primary:#f8fafc;
  --bg-secondary:#ffffff;
  --bg-card:rgba(255,255,255,.94);
  --bg-card-hover:#ffffff;
  --bg-elevated:#ffffff;
  --glass-border:rgba(203,213,225,.85);
  --glass-border-hover:rgba(13,148,136,.45);
  --text-primary:#0f172a;
  --text-secondary:#475569;
  --text-muted:#64748b;
  --teal:#0d9488;
  --teal-glow:rgba(13,148,136,.18);
  --teal-dark:#0f766e;
  --cyan:#0284c7;
  --cyan-glow:rgba(2,132,199,.12);
  --amber:#b45309;
  --amber-bg:rgba(245,158,11,.14);
  --green:#15803d;
  --green-bg:rgba(34,197,94,.14);
  --red:#b91c1c;
  --red-bg:rgba(239,68,68,.12);
  --line:rgba(203,213,225,.9);
  --line-soft:rgba(226,232,240,.8);
  --radius:12px;
  --radius-sm:8px;
  --shadow-card:0 4px 20px -2px rgba(0,0,0,.06), 0 2px 6px -1px rgba(0,0,0,.04);
  --shadow-glow:0 0 25px rgba(13,148,136,.08);
  --gradient-teal:linear-gradient(135deg, #0d9488, #0284c7);
  --gradient-bg:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 50%, #f8fafc 100%);
  --header-bg:rgba(255,255,255,.9);
  --footer-bg:rgba(255,255,255,.92);
  --gate-bg:rgba(248,250,252,.95);
  --radio-uncheck-border:#cbd5e1;
  --radio-uncheck-bg:#ffffff;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  background:var(--gradient-bg);
  background-attachment:fixed;
  color:var(--text-primary);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-bottom:calc(90px + env(safe-area-inset-bottom));
  min-height:100vh;
  min-height:100dvh;
  overflow-x:hidden;
  transition:background .25s ease, color .25s ease;
}

body::before{
  content:'';
  position:fixed;
  inset:0;
  background:
    radial-gradient(ellipse 600px 400px at 20% 20%, rgba(20,184,166,.05), transparent),
    radial-gradient(ellipse 500px 500px at 80% 80%, rgba(34,211,238,.04), transparent);
  pointer-events:none;
  z-index:0;
}

.icon-svg{
  display:inline-block;
  vertical-align:middle;
  flex-shrink:0;
}

/* ---- Keyframe animations ---- */
@keyframes fadeInUp{
  from{opacity:0; transform:translateY(12px);}
  to{opacity:1; transform:translateY(0);}
}
@keyframes shimmer{
  0%{background-position:-200% 0;}
  100%{background-position:200% 0;}
}
@keyframes gateAppear{
  from{opacity:0; transform:scale(.96) translateY(10px);}
  to{opacity:1; transform:scale(1) translateY(0);}
}

/* ---- Access gate ---- */
.gate-overlay{
  position:fixed; inset:0; z-index:200;
  background:var(--gate-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  display:none; align-items:center; justify-content:center; padding:16px;
}
.gate-card{
  background:var(--bg-card);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:20px;
  padding:clamp(22px, 5vw, 32px) clamp(18px, 4vw, 28px);
  width:min(420px, 94vw);
  box-shadow:var(--shadow-card), var(--shadow-glow);
  animation:gateAppear .4s ease;
}
.gate-icon-badge{
  width:42px; height:42px; border-radius:12px;
  background:var(--teal-glow);
  border:1px solid var(--glass-border);
  color:var(--teal);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:12px;
}
.gate-card h2{
  font-size:clamp(18px, 4vw, 20px); font-weight:700;
  background:var(--gradient-teal);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:6px;
}
.gate-card .gate-sub{
  font-size:clamp(12px, 2.5vw, 13px); color:var(--text-secondary);
  margin-bottom:18px; line-height:1.6;
}
.gate-card label{
  display:block; font-size:11.5px; font-weight:600;
  color:var(--text-muted); margin:12px 0 5px;
  text-transform:uppercase; letter-spacing:.5px;
}
.gate-card input{
  width:100%; font-size:16px; padding:11px 13px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif;
  background:var(--bg-secondary);
  color:var(--text-primary);
  caret-color:var(--teal);
  cursor:text;
  transition:border-color .2s, box-shadow .2s;
  outline:none;
}
.gate-card input:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 3px var(--teal-glow);
  caret-color:var(--teal);
  cursor:text;
}
.gate-card input::placeholder{color:var(--text-muted);}
.gate-error{color:var(--red); font-size:12px; min-height:16px; margin-top:8px;}
.gate-submit{
  width:100%; margin-top:16px;
  background:var(--gradient-teal);
  color:#fff; border:none;
  padding:13px; border-radius:var(--radius-sm);
  font-size:14.5px; font-weight:600;
  font-family:'Inter',sans-serif;
  cursor:pointer;
  transition:transform .15s, box-shadow .2s;
  box-shadow:0 4px 15px rgba(20,184,166,.25);
  min-height:44px;
}
.gate-submit:hover{transform:translateY(-1px); box-shadow:0 6px 20px rgba(20,184,166,.35);}
.gate-submit:active{transform:translateY(0);}
.gate-auth-link{
  margin-top:14px; text-align:center; font-size:12.5px; color:var(--text-muted);
}
.gate-auth-link a{color:var(--teal); text-decoration:none; font-weight:500;}
.gate-auth-link a:hover{text-decoration:underline;}

/* ---- Top Hero Overview ---- */
.top-hero{
  padding:calc(10px + env(safe-area-inset-top)) clamp(12px, 3vw, 20px) 4px;
  position:relative;
  z-index:10;
}
.hero-inner{
  width:100%;
  max-width:740px;
  margin:0 auto;
}
.title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.title-block{
  flex:1;
  min-width:0;
}
.title-block h1{
  font-size:clamp(16px, 3.8vw, 19px);
  font-weight:700;
  letter-spacing:-.2px;
  line-height:1.28;
  word-break:break-word;
}
.title-block .bi-sub{
  font-size:clamp(11.5px, 2.5vw, 13px);
  font-weight:500;
  color:var(--text-secondary);
  font-family:'Inter',sans-serif;
  display:block;
  margin-top:1px;
  word-break:break-word;
}
.hero-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.user-badge-chip{
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 9px; border-radius:999px;
  background:var(--teal-glow);
  border:1px solid var(--teal);
  color:var(--teal);
  font-size:11.5px; font-weight:600;
  text-decoration:none;
}
.theme-btn, .menu-btn, .login-header-btn{
  border:1px solid var(--glass-border);
  background:var(--bg-card);
  backdrop-filter:blur(10px);
  color:var(--text-secondary);
  font-size:12px; font-weight:500;
  padding:7px 10px;
  border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif;
  cursor:pointer;
  transition:all .2s;
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  min-height:36px;
  text-decoration:none;
}
.theme-btn{
  width:36px; height:36px; padding:0; flex-shrink:0;
}
.theme-btn:hover, .menu-btn:hover, .login-header-btn:hover{
  border-color:var(--glass-border-hover);
  color:var(--text-primary);
  background:var(--bg-card-hover);
}

/* ---- Responsive Stats Strip ---- */
.stats-card{
  transition:max-height .3s cubic-bezier(0.4, 0, 0.2, 1), opacity .25s ease, margin .25s ease;
  max-height:140px;
  opacity:1;
  overflow:hidden;
}
.stats-card.collapsed{
  max-height:0;
  opacity:0;
  margin:0;
  pointer-events:none;
}
.stats-strip{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:1px;
  border-radius:var(--radius-sm);
  overflow:hidden;
  margin-bottom:6px;
  background:var(--line);
}
.stats-strip .stat{
  text-align:center;
  padding:6px 2px;
  background:var(--bg-card);
  transition:background .2s;
  min-width:0;
}
.stats-strip .stat:hover{background:var(--bg-card-hover);}
.stats-strip .stat b{
  display:block;
  font-size:clamp(13px, 3.2vw, 16px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.stats-strip .stat span{
  display:block;
  font-size:clamp(8px, 1.9vw, 9.5px);
  font-weight:500;
  color:var(--text-muted);
  margin-top:2px;
  line-height:1.18;
  text-transform:uppercase;
  letter-spacing:.2px;
  word-break:break-word;
}
.stats-strip .stat.yes b{color:var(--green);}
.stats-strip .stat.no b{color:var(--red);}
.stats-strip .stat.pending b{color:var(--amber);}

@media (max-width:400px){
  .stats-strip{grid-template-columns:repeat(6, 1fr);}
  .stats-strip .stat:nth-child(1){ grid-column:span 2; }
  .stats-strip .stat:nth-child(2){ grid-column:span 2; }
  .stats-strip .stat:nth-child(5){ grid-column:span 2; }
  .stats-strip .stat:nth-child(3){ grid-column:span 3; }
  .stats-strip .stat:nth-child(4){ grid-column:span 3; }
}

.progress-bar{
  height:4px;
  border-radius:2px;
  overflow:hidden;
  display:flex;
  background:var(--line-soft);
  margin-bottom:6px;
  position:relative;
}
.progress-bar::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent);
  background-size:200% 100%;
  animation:shimmer 3s infinite linear;
}
.progress-bar span{height:100%; display:block; transition:width .4s ease;}
.progress-bar .seg-yes{background:var(--gradient-teal);}
.progress-bar .seg-no{background:var(--red);}

/* ---- Ultra-Compact Sticky Navigation Toolbar ---- */
header.sticky-nav{
  position:sticky;
  top:0;
  z-index:25;
  background:var(--header-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  padding:7px clamp(12px, 3vw, 20px);
  transition:background .25s ease, border-color .25s ease, box-shadow .2s;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.nav-inner{
  width:100%;
  max-width:740px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.search-row{
  position:relative;
  flex:1;
  min-width:0;
}
.search-icon-svg{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  color:var(--text-muted); pointer-events:none; z-index:1;
}
.search-row input{
  width:100%; font-size:14px; padding:8px 12px 8px 35px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--bg-card);
  color:var(--text-primary);
  font-family:'Inter',sans-serif;
  transition:border-color .2s, box-shadow .2s;
  outline:none;
  min-height:38px;
}
.search-row input:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 3px var(--teal-glow);
}
.search-row input::placeholder{color:var(--text-muted); font-size:12.5px;}

.chips-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}
.chips{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding-bottom:1px;
  -webkit-overflow-scrolling:touch;
  flex:1;
  min-width:0;
}
.chips::-webkit-scrollbar{display:none;}
.chip{
  flex:none; font-size:12px; font-weight:500;
  padding:5px 12px; border-radius:999px;
  border:1px solid var(--line);
  background:var(--bg-card);
  color:var(--text-secondary);
  font-family:'Inter',sans-serif;
  white-space:nowrap; cursor:pointer;
  transition:all .2s;
  min-height:30px;
}
.chip:hover{border-color:var(--glass-border-hover); color:var(--text-primary);}
.chip.active{
  background:var(--gradient-teal);
  color:#fff;
  border-color:transparent;
  box-shadow:0 2px 8px rgba(20,184,166,.25);
}

.stats-toggle-btn{
  flex:none;
  border:1px solid var(--glass-border);
  background:var(--bg-card);
  color:var(--text-secondary);
  font-size:11.5px; font-weight:500;
  padding:5px 9px;
  border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif;
  cursor:pointer;
  transition:all .2s;
  display:inline-flex; align-items:center; gap:5px;
  white-space:nowrap;
  min-height:30px;
}
.stats-toggle-btn:hover{
  border-color:var(--glass-border-hover);
  color:var(--text-primary);
}
.stats-toggle-btn.active{
  background:var(--teal-glow);
  border-color:var(--teal);
  color:var(--teal);
}

@media (min-width:640px){
  .nav-inner{
    flex-direction:row;
    align-items:center;
    gap:10px;
  }
  .chips-wrap{flex:none;}
  .hero-inner, .nav-inner, main{
    max-width:740px;
    margin:0 auto;
  }
}
@media (min-width:1024px){
  .hero-inner, .nav-inner, main{max-width:880px;}
}
@media (min-width:1440px){
  .hero-inner, .nav-inner, main{max-width:960px;}
}

/* ---- Main College List ---- */
main{
  padding:10px clamp(12px, 3vw, 20px) calc(120px + env(safe-area-inset-bottom));
  position:relative; z-index:1;
  width:100%;
}
.empty-msg{
  padding:60px 20px; text-align:center;
  color:var(--text-muted); font-size:15px;
  font-weight:500;
}

.college-row{
  background:var(--bg-card);
  backdrop-filter:blur(10px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  margin-bottom:8px;
  padding:clamp(11px, 2.5vw, 15px) clamp(12px, 2.8vw, 18px);
  display:flex; align-items:center; gap:10px;
  cursor:pointer;
  transition:all .25s ease;
  animation:fadeInUp .35s ease both;
  box-shadow:var(--shadow-card);
}
@media (hover: hover){
  .college-row:hover{
    border-color:var(--glass-border-hover);
    background:var(--bg-card-hover);
    transform:translateY(-2px);
    box-shadow:var(--shadow-card), var(--shadow-glow);
  }
  .college-row:hover .chev{
    transform:translateX(3px);
    color:var(--teal);
  }
}
.college-row:active{transform:translateY(0); transition:transform .1s;}
.sum-text{flex:1; min-width:0;}
.sum-text .cname{
  font-size:clamp(13.5px, 2.6vw, 15px); font-weight:500;
  line-height:1.38; display:block;
  color:var(--text-primary);
  word-break:break-word;
}
.sum-text .ccode{
  font-size:11.5px; color:var(--teal);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-weight:500; margin-top:2px;
  display:inline-block;
}
.badge{
  flex-shrink:0; font-size:11.5px; font-weight:600;
  padding:4px 10px; border-radius:999px;
  border:1px solid var(--line);
  color:var(--text-secondary);
  background:var(--bg-secondary);
  white-space:nowrap;
  letter-spacing:.3px;
  transition:all .2s;
}
.badge.done{
  background:var(--green-bg);
  color:var(--green);
  border-color:rgba(52,211,153,.2);
}
.badge.some{
  background:var(--amber-bg);
  color:var(--amber);
  border-color:rgba(245,158,11,.2);
}
.chev{
  flex-shrink:0; color:var(--text-muted);
  display:flex; align-items:center; justify-content:center;
  transition:transform .2s, color .2s;
}

/* ---- Bottom actions ---- */
footer.bottom-actions{
  position:fixed; left:0; right:0; bottom:0; z-index:20;
  background:var(--footer-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-top:1px solid var(--line);
  padding:9px 12px calc(9px + env(safe-area-inset-bottom));
  display:flex; gap:10px;
}
footer.bottom-actions button{
  flex:1; font-family:'Inter',sans-serif;
  font-size:12.5px; font-weight:500;
  padding:10px 6px; border-radius:var(--radius-sm);
  border:1px solid var(--glass-border);
  background:var(--bg-card);
  color:var(--text-secondary);
  line-height:1.32; cursor:pointer;
  transition:all .2s;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:46px;
}
footer.bottom-actions button:hover{
  border-color:var(--glass-border-hover);
  color:var(--text-primary);
}
footer.bottom-actions button.primary{
  background:var(--gradient-teal);
  color:#fff; border-color:transparent;
  box-shadow:0 2px 12px rgba(20,184,166,.25);
  font-weight:600;
}
footer.bottom-actions button.primary:hover{
  box-shadow:0 4px 20px rgba(20,184,166,.35);
  transform:translateY(-1px);
}

/* ---- Bottom sheet ---- */
.sheet-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.5);
  backdrop-filter:blur(4px);
  z-index:30; display:none;
  transition:opacity .2s;
}
.sheet-overlay.open{display:block;}
.sheet{
  position:fixed; left:0; right:0; bottom:0; z-index:31;
  background:var(--bg-secondary);
  border:1px solid var(--glass-border);
  border-bottom:none;
  border-radius:20px 20px 0 0;
  padding:18px 16px calc(18px + env(safe-area-inset-bottom));
  transform:translateY(100%); transition:transform .3s cubic-bezier(.22,1,.36,1);
  box-shadow:0 -8px 30px rgba(0,0,0,.2);
}
.sheet.open{transform:translateY(0);}
.sheet-header{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:12px; padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.sheet h3{
  font-size:15.5px; font-weight:700;
  background:var(--gradient-teal);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.sheet-close-btn{
  background:none; border:none; color:var(--text-muted);
  cursor:pointer; padding:6px; border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  min-height:36px; min-width:36px;
}
.sheet-close-btn:hover{color:var(--text-primary);}
.sheet button.sheet-item, .sheet a.sheet-item{
  display:flex; align-items:center; gap:12px;
  width:100%; text-align:left;
  font-family:'Inter',sans-serif;
  font-size:13.5px; font-weight:500;
  padding:12px 8px;
  border:none; border-top:1px solid var(--line-soft);
  background:none; color:var(--text-secondary);
  line-height:1.4; cursor:pointer;
  transition:color .2s, padding-left .2s;
  border-radius:var(--radius-sm);
  min-height:44px;
  text-decoration:none;
}
.sheet button.sheet-item:first-of-type, .sheet a.sheet-item:first-of-type{border-top:none;}
.sheet button.sheet-item:hover, .sheet a.sheet-item:hover{color:var(--text-primary); padding-left:12px;}
.sheet button.sheet-item.danger{color:var(--red);}
.sheet button.sheet-item.danger:hover{color:#fca5a5;}

/* ---- Verify page (Modal) ---- */
.verify-view{
  position:fixed; inset:0; z-index:50;
  background:var(--bg-primary);
  display:none; flex-direction:column;
}
.verify-view.open{display:flex; animation:fadeInUp .25s ease;}
.verify-head{
  flex:none;
  border-bottom:1px solid var(--line);
  background:var(--header-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  padding:calc(8px + env(safe-area-inset-top)) clamp(12px, 3vw, 20px) 8px;
}
.verify-head-row{display:flex; align-items:center; gap:10px; margin-bottom:6px;}
.verify-back{
  flex-shrink:0;
  border:1px solid var(--glass-border);
  background:var(--bg-card);
  color:var(--text-secondary);
  font-size:12.5px; font-weight:500;
  padding:7px 10px;
  border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif;
  cursor:pointer;
  transition:all .2s;
  display:inline-flex; align-items:center; gap:5px;
  min-height:36px;
}
.verify-back:hover{
  border-color:var(--glass-border-hover);
  color:var(--text-primary);
}
.verify-head-text{flex:1; min-width:0;}
.verify-head-text .vcode{
  font-size:11.5px; color:var(--teal);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-weight:500; display:block;
}
.verify-head-text .vname{
  font-size:clamp(13.5px, 3vw, 15.5px); font-weight:600;
  line-height:1.32;
  border-left:3px solid var(--teal);
  padding-left:8px; margin-top:2px;
  display:block;
  word-break:break-word;
}
.verify-progress-wrap{margin-bottom:2px;}
.verify-page-label{font-size:11px; color:var(--text-muted); margin-bottom:4px; font-weight:500;}

.verify-body{
  flex:1;
  overflow-y:auto;
  padding:12px clamp(12px, 3vw, 20px) calc(170px + env(safe-area-inset-bottom));
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
}
.verify-question{
  background:var(--bg-card);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  padding:12px 14px; margin-bottom:12px;
  font-size:clamp(12.5px, 2.5vw, 13.5px); line-height:1.6;
  box-shadow:var(--shadow-card);
}
.verify-question .ta{display:block; margin-bottom:3px; font-weight:500;}
.verify-question .en{display:block; color:var(--text-secondary); font-size:12px;}

.verify-cols{
  display:flex; align-items:center; gap:8px;
  padding:4px 4px 6px;
  font-size:11px; font-weight:600;
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:.5px;
}
.verify-cols .vinfo-sp{flex:1;}
.verify-cols .vcol{flex-shrink:0; width:52px; text-align:center;}

.vrow{
  display:flex; align-items:center; gap:8px;
  padding:10px 8px;
  border-bottom:1px solid var(--line-soft);
  border-radius:var(--radius-sm);
  margin-bottom:3px;
  transition:background .25s ease, transform .15s;
  background:var(--bg-card);
  border:1px solid var(--line-soft);
}
.vrow:hover{transform:translateX(2px);}
.vinfo{flex:1; min-width:0;}
.vnum{color:var(--text-muted); font-size:11.5px; font-weight:600; font-family:'JetBrains Mono',monospace;}
.vname{font-size:clamp(13px, 2.6vw, 14px); font-weight:500; word-break:break-word;}
.vdesig{
  display:block; font-size:clamp(11px, 2.2vw, 12px); color:var(--text-muted);
  word-break:break-word; margin-top:2px; font-weight:400;
}

.vradios{flex-shrink:0; display:flex; gap:2px;}
.vradio{
  flex-shrink:0; width:52px; height:42px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.vradio input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  width:22px;
  height:22px;
  border:2px solid var(--radio-uncheck-border);
  border-radius:50%;
  background:var(--radio-uncheck-bg);
  outline:none;
  cursor:pointer;
  position:relative;
  transition:all .2s cubic-bezier(.4,0,.2,1);
  margin:0;
}
.vradio input[type="radio"]:hover{
  border-color:var(--teal);
  transform:scale(1.1);
}
.vradio:first-child input[type="radio"]:checked{
  background:var(--green);
  border-color:var(--green);
  box-shadow:0 0 12px rgba(52,211,153,.45);
}
.vradio:last-child input[type="radio"]:checked{
  background:var(--red);
  border-color:var(--red);
  box-shadow:0 0 12px rgba(248,113,113,.45);
}
.vradio input[type="radio"]:checked::after{
  content:'';
  position:absolute;
  inset:0;
  margin:auto;
  width:7px;
  height:7px;
  background:#ffffff;
  border-radius:50%;
}

.vrow[data-status="yes"]{
  background:var(--green-bg);
  border-left:3px solid var(--green);
}
.vrow[data-status="no"]{
  background:var(--red-bg);
  border-left:3px solid var(--red);
}

@media (max-width:460px){
  .verify-cols .vcol{width:44px;}
  .vradios{gap:0;}
  .vradio{width:44px; height:40px;}
  .vradio input[type="radio"]{width:21px; height:21px;}
}

/* ---- Verify Footer ---- */
.verify-foot{
  position:fixed; left:0; right:0; bottom:0; z-index:51;
  background:var(--footer-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-top:1px solid var(--line);
  padding:9px 12px calc(9px + env(safe-area-inset-bottom));
}
.verify-foot-row{display:flex; gap:8px; margin-bottom:5px;}
.verify-foot button{
  flex:1; font-family:'Inter',sans-serif;
  font-size:12.5px; font-weight:500;
  padding:10px 4px; border-radius:var(--radius-sm);
  border:1px solid var(--glass-border);
  background:var(--bg-card);
  color:var(--text-secondary);
  cursor:pointer;
  transition:all .2s;
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  min-height:44px;
}
.verify-foot button:hover{
  border-color:var(--glass-border-hover);
  color:var(--text-primary);
}
.verify-foot button.primary{
  background:var(--gradient-teal);
  color:#fff; border-color:transparent;
  box-shadow:0 2px 12px rgba(20,184,166,.25);
  font-weight:600;
}
.verify-foot button.primary:hover{
  box-shadow:0 4px 20px rgba(20,184,166,.35);
}
.verify-foot button:disabled{opacity:.35; cursor:not-allowed;}
.verify-clear-link{
  display:flex; align-items:center; justify-content:center; gap:6px;
  font-size:11.5px; color:var(--text-muted);
  background:none; border:none; width:100%;
  font-family:'Inter',sans-serif; padding:4px;
  cursor:pointer; transition:color .2s;
  font-weight:500;
  min-height:30px;
}
.verify-clear-link:hover{color:var(--red);}

/* ---- Central Responsive Layout Boundaries ---- */
@media (min-width:640px){
  footer.bottom-actions{max-width:740px; left:50%; transform:translateX(-50%); border-radius:16px 16px 0 0;}
  .verify-head{padding-left:calc((100% - 740px)/2 + 18px); padding-right:calc((100% - 740px)/2 + 18px);}
  .verify-body{max-width:740px; margin:0 auto; padding-bottom:calc(180px + env(safe-area-inset-bottom));}
  .verify-foot{max-width:740px; left:50%; transform:translateX(-50%); border-radius:16px 16px 0 0;}
  .sheet{max-width:500px; left:50%; transform:translateX(-50%) translateY(100%); border-radius:20px;}
  .sheet.open{transform:translateX(-50%) translateY(0);}
}
@media (min-width:1024px){
  footer.bottom-actions{max-width:880px;}
  .verify-head{padding-left:calc((100% - 880px)/2 + 22px); padding-right:calc((100% - 880px)/2 + 22px);}
  .verify-body{max-width:880px;}
  .verify-foot{max-width:880px;}
  .college-row{padding:14px 18px;}
}
@media (min-width:1440px){
  footer.bottom-actions{max-width:960px;}
  .verify-head{padding-left:calc((100% - 960px)/2 + 24px); padding-right:calc((100% - 960px)/2 + 24px);}
  .verify-body{max-width:960px;}
  .verify-foot{max-width:960px;}
}
