/* Optional glossy mobile-app appearance for VibeLingo Control.
   The existing light website remains the default. */
.control-theme-switch{
  display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #ddd8f7;border-radius:14px;background:#f3f0ff
}
.control-theme-switch button{
  min-height:36px;border:0;border-radius:10px;padding:7px 11px;background:transparent;color:#5d48bd;font-weight:900;cursor:pointer
}
.control-theme-switch button.active{background:#6948ef;color:#fff;box-shadow:0 5px 14px #573bdd35}
.control-app-only{display:none!important}

html[data-vibe-theme="app"]{
  --purple:#7950ff;--ink:#f8fbff;--muted:#bfd1ff;--line:#397ed1;--green:#21b983;--red:#ff677b;--bg:#061332;
  color-scheme:dark
}
html[data-vibe-theme="app"] body{
  min-height:100vh;color:#f8fbff;
  background:radial-gradient(circle at 50% -12%,#2760db 0,transparent 35%),radial-gradient(circle at 4% 55%,#713fd255 0,transparent 34%),linear-gradient(180deg,#071845,#07122f 55%,#030a1f)
}
html[data-vibe-theme="app"] body:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:radial-gradient(circle,#54d9ff 1px,transparent 1.8px),radial-gradient(circle,#ffd75c 1px,transparent 1.8px);background-size:71px 71px,109px 109px;background-position:0 0,37px 23px
}
html[data-vibe-theme="app"] .control-app-only{display:flex!important}
html[data-vibe-theme="app"] .shell{max-width:1220px;padding:16px}
html[data-vibe-theme="app"] .top{
  position:sticky;top:10px;z-index:30;border:1px solid #54d9ff;border-radius:24px;color:#fff;
  background:linear-gradient(145deg,#153e92ee,#15165fe8 65%,#371871e8);box-shadow:inset 0 1px 0 #fff4,0 18px 38px #0007,0 0 24px #27cfff2b;backdrop-filter:blur(14px)
}
html[data-vibe-theme="app"] .logo{border:2px solid #ffe16e;background:linear-gradient(145deg,#1ccfff,#7044f2);box-shadow:0 0 19px #ffd85c55}
html[data-vibe-theme="app"] .top h1{font-size:22px;text-shadow:0 3px 10px #0008}
html[data-vibe-theme="app"] .top .muted{color:#c9d9ff}
html[data-vibe-theme="app"] .control-theme-switch{border-color:#67dfff;background:#06194ca8;box-shadow:inset 0 0 13px #3ed8ff20}
html[data-vibe-theme="app"] .control-theme-switch button{color:#c7d8ff}
html[data-vibe-theme="app"] .control-theme-switch button.active{color:#102257;background:linear-gradient(180deg,#ffe66e,#ffbd2d);box-shadow:0 5px 0 #aa6413,0 8px 16px #0006}

html[data-vibe-theme="app"] .card,
html[data-vibe-theme="app"] .students-panel,
html[data-vibe-theme="app"] .activity-panel{
  color:#f8fbff;border:1px solid #397ed1;border-radius:25px;background:linear-gradient(145deg,#123878,#0b255a 58%,#171347);box-shadow:inset 0 1px 0 #ffffff26,0 17px 34px #0005,0 0 18px #35d2ff17
}
html[data-vibe-theme="app"] .auth{position:relative;margin-top:78px;padding-top:88px;border-width:2px;border-color:#54dcff;overflow:visible}
html[data-vibe-theme="app"] .auth:before{content:"V";position:absolute;top:-42px;left:50%;transform:translateX(-50%);display:grid;width:74px;height:74px;place-items:center;border:4px solid #ffd65a;border-radius:24px;background:linear-gradient(145deg,#25d5ff,#6843ee);color:#fff;font-size:42px;font-weight:1000;box-shadow:0 9px 0 #163a86,0 17px 30px #0007}
html[data-vibe-theme="app"] .auth h2{margin-top:0}
html[data-vibe-theme="app"] .input{
  min-height:44px;color:#fff;border-color:#4189df;background:#071d4d;box-shadow:inset 0 2px 8px #0005
}
html[data-vibe-theme="app"] .input::placeholder{color:#94abd8}
html[data-vibe-theme="app"] select.input{color-scheme:dark}
html[data-vibe-theme="app"] .btn{min-height:43px;border:1px solid transparent;transition:transform .15s,filter .15s}
html[data-vibe-theme="app"] .btn:active{transform:translateY(2px)}
html[data-vibe-theme="app"] .btn.primary{border-color:#8cecff;background:linear-gradient(180deg,#8d59ff,#5332dc);box-shadow:0 5px 0 #291689,0 9px 18px #0005}
html[data-vibe-theme="app"] .btn.green{border-color:#82f2cb;background:linear-gradient(180deg,#27cb8e,#12805d);box-shadow:0 5px 0 #07523d,0 9px 18px #0005}
html[data-vibe-theme="app"] .btn.ghost{border-color:#56d9ff;background:#102968;color:#dff7ff}
html[data-vibe-theme="app"] .btn.danger{border-color:#ff8c9c;background:#6f2448;color:#fff}

html[data-vibe-theme="app"] .dashboard-hero{
  position:relative;overflow:hidden;margin-top:16px;border:2px solid #48d7ff;border-radius:30px;
  background:radial-gradient(circle at 10% 5%,#7a50ff 0,transparent 38%),linear-gradient(135deg,#1747a1,#4328b5 65%,#cf43a6);box-shadow:inset 0 0 0 3px #ffffff13,0 20px 45px #0007
}
html[data-vibe-theme="app"] .dashboard-hero h2{color:#fff;font-size:clamp(24px,4vw,38px);text-shadow:0 3px 0 #11246d}
html[data-vibe-theme="app"] .dashboard-hero p{color:#dce8ff}
html[data-vibe-theme="app"] .control-app-mascot{align-items:flex-end;gap:10px;position:absolute;left:18px;bottom:-7px;max-width:310px}
html[data-vibe-theme="app"] .control-app-mascot img{width:108px;height:120px;object-fit:contain;filter:drop-shadow(0 12px 12px #0008)}
html[data-vibe-theme="app"] .control-app-bubble{position:relative;margin-bottom:25px;padding:11px 14px;border:3px solid #dff5ff;border-radius:19px;background:#fff;color:#10275d;font-weight:900;box-shadow:0 7px 0 #1163b9,0 12px 20px #0005}
html[data-vibe-theme="app"] .control-app-bubble:after{content:"";position:absolute;left:-10px;bottom:8px;width:17px;height:17px;background:#fff;border-left:3px solid #dff5ff;border-bottom:3px solid #dff5ff;transform:rotate(45deg)}
html[data-vibe-theme="app"] .overview-metric{border:1px solid #65ddff;background:#071d52b8;box-shadow:inset 0 0 14px #51dfff22}
html[data-vibe-theme="app"] .overview-metric span{color:#ffe06a}
html[data-vibe-theme="app"] .academy-access{border-color:#477fcd;background:#0d275d;color:#eef5ff}
html[data-vibe-theme="app"] .academy-access p{color:#c2d4ff}
html[data-vibe-theme="app"] .eyebrow{color:#62e4ff}
html[data-vibe-theme="app"] .panel-icon,
html[data-vibe-theme="app"] .student-avatar,
html[data-vibe-theme="app"] .report-avatar{border:2px solid #ffe176;background:linear-gradient(145deg,#2cd7ff,#7048f1);box-shadow:0 0 16px #ffd85a45}
html[data-vibe-theme="app"] .student{border-color:#326cb8;background:#091f4f}
html[data-vibe-theme="app"] .student.selected{border-color:#ffd65d;background:linear-gradient(145deg,#183d88,#321e7d);box-shadow:0 0 18px #ffd85b2e}
html[data-vibe-theme="app"] .student-health span,
html[data-vibe-theme="app"] .report-kpi,
html[data-vibe-theme="app"] .stat,
html[data-vibe-theme="app"] .level-control,
html[data-vibe-theme="app"] .exam-control,
html[data-vibe-theme="app"] .bulk-box,
html[data-vibe-theme="app"] .section-card{border-color:#3978c6;background:#0a2155;color:#f8fbff}
html[data-vibe-theme="app"] .report-kpi b,.student-health b{color:#ffe06b}
html[data-vibe-theme="app"] .insight{border:1px solid #48cfee;background:linear-gradient(135deg,#17367a,#17205e)}
html[data-vibe-theme="app"] .insight-score:after{background:#0a2155}
html[data-vibe-theme="app"] .chart{border:1px solid #316cb9;background:#071b49}
html[data-vibe-theme="app"] .attempt{border-right-color:#ffd65c;background:#0a2052}
html[data-vibe-theme="app"] .feature-btn{border-color:#4eddb0;background:#0b4d45;color:#bfffe9}
html[data-vibe-theme="app"] .feature-btn.off{border-color:#d86482;background:#52203f;color:#ffd6e0}
html[data-vibe-theme="app"] .notice{border-color:#d6a536;background:#5b4515;color:#fff1b7}
html[data-vibe-theme="app"] .muted{color:#b9caf3}
html[data-vibe-theme="app"] .badge{border:1px solid #54ddbc;background:#0a493f;color:#baffea}
html[data-vibe-theme="app"] .badge.off{border-color:#d76582;background:#54203f;color:#ffd8e1}
html.vibe-high-contrast[data-vibe-theme="app"] body{background:#000;color:#fff}
html.vibe-high-contrast[data-vibe-theme="app"] .card,
html.vibe-high-contrast[data-vibe-theme="app"] .top,
html.vibe-high-contrast[data-vibe-theme="app"] .dashboard-hero,
html.vibe-high-contrast[data-vibe-theme="app"] .input{border:2px solid #fff;background:#000;color:#fff;box-shadow:none}
html.vibe-high-contrast[data-vibe-theme="app"] .btn{border:2px solid currentColor;box-shadow:none}
html.vibe-reduced-motion[data-vibe-theme="app"] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}

@media(max-width:900px){
  html[data-vibe-theme="app"] .control-app-mascot{display:none!important}
}
@media(max-width:620px){
  .control-theme-switch{order:4;width:100%;justify-content:center}.control-theme-switch button{flex:1}
  html[data-vibe-theme="app"] .shell{padding:9px}
  html[data-vibe-theme="app"] .top{top:5px;padding:11px;border-radius:19px}
  html[data-vibe-theme="app"] .top .logo{width:42px;height:42px}
  html[data-vibe-theme="app"] .top h1{font-size:18px}
  html[data-vibe-theme="app"] .dashboard-hero{padding:20px 15px;border-radius:24px}
  html[data-vibe-theme="app"] .dashboard-hero h2{font-size:25px}
  html[data-vibe-theme="app"] .overview-metrics{grid-template-columns:repeat(3,1fr);width:100%}
  html[data-vibe-theme="app"] .card{border-radius:21px;padding:14px}
  html[data-vibe-theme="app"] .auth{padding-top:88px}
  html[data-vibe-theme="app"] .grid{gap:11px}
  html[data-vibe-theme="app"] .feature-grid{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){html[data-vibe-theme="app"] *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
