@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root{
  --bg:#f5f4ff;
  --surface:#ffffff;
  --surface-2:#f0effa;
  --ink:#19152f;
  --muted:#716e87;
  --line:#dedcf0;
  --navy:#4930a8;
  --navy-2:#24145f;
  --teal:#00aebf;
  --teal-dark:#007f91;
  --teal-soft:#def9fb;
  --gold:#ffb000;
  --pink:#ff4f87;
  --violet:#6c4cff;
  --blue:#2979ff;
  --danger:#d94f64;
  --danger-soft:#ffe8ed;
  --success:#2a9d6f;
  --success-soft:#e2f7ee;
  --shadow:0 18px 46px rgba(53,34,118,.13);
  --radius:20px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh}
.sidebar{
  position:fixed;inset:0 auto 0 0;width:260px;background:var(--navy-2);color:white;
  padding:26px 18px;display:flex;flex-direction:column;z-index:20
}
.brand{display:flex;gap:12px;align-items:center;padding:0 8px 28px}
.brand-mark{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  font-family:"Manrope";font-weight:800;background:var(--teal);letter-spacing:-.5px
}
.brand strong{font:700 16px "Manrope";display:block}
.brand span,.mini-profile span{font-size:12px;color:#abc0cf}
.nav{display:flex;flex-direction:column;gap:7px}
.nav-item{
  width:100%;border:0;background:transparent;color:#c5d4df;padding:12px 13px;border-radius:12px;
  text-align:left;display:flex;gap:12px;align-items:center;font-weight:600;transition:.2s
}
.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:#fff}
.nav-item.active{box-shadow:inset 3px 0 var(--teal)}
.nav-icon{width:22px;text-align:center;font-size:19px}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 8px 0}
.mini-profile{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.avatar{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d9e9ec;
  color:var(--navy);font-weight:800;font-size:12px
}
.mini-profile strong{display:block;font-size:13px}
.sidebar-footer small{color:#7792a5}

.main{margin-left:260px;min-height:100vh}
.topbar{
  height:74px;position:sticky;top:0;z-index:15;background:rgba(244,247,251,.88);
  backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,230,238,.9);
  display:flex;align-items:center;justify-content:space-between;padding:0 42px
}
.searchbox{
  width:min(520px,55vw);display:flex;align-items:center;gap:10px;background:white;
  border:1px solid var(--line);border-radius:12px;padding:10px 13px;color:var(--muted)
}
.searchbox input{border:0;outline:0;width:100%;background:transparent;color:var(--ink)}
.top-actions{display:flex;gap:10px;align-items:center}
.icon-button,.mobile-menu{
  border:1px solid var(--line);background:white;color:var(--ink);border-radius:11px;padding:9px 11px
}
.mobile-menu{display:none}
.view{display:none;padding:38px 42px 54px;max-width:1500px;margin:0 auto}
.view.active{display:block}
.hero{
  border-radius:28px;padding:48px 50px;color:white;background:
  radial-gradient(circle at 85% 20%,rgba(28,143,138,.45),transparent 32%),
  linear-gradient(120deg,var(--navy-2),var(--navy));
  display:grid;grid-template-columns:1.5fr .7fr;gap:30px;align-items:center;box-shadow:var(--shadow)
}
.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:var(--teal);display:inline-block;margin-bottom:8px}
.hero .eyebrow{color:#7de0d8}
.hero h1,.page-title h1{font:800 clamp(34px,4vw,53px)/1.05 "Manrope";letter-spacing:-1.8px;margin:7px 0 16px}
.hero p{color:#c7d6e1;max-width:690px;line-height:1.65;margin:0 0 28px}
.hero-actions,.result-actions{display:flex;gap:11px;flex-wrap:wrap}
.btn{border:1px solid transparent;border-radius:11px;padding:11px 17px;font-weight:800;transition:.2s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--teal);color:white}
.btn.primary:hover{background:var(--teal-dark)}
.btn.ghost{background:white;border-color:var(--line);color:var(--ink)}
.hero .btn.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:white}
.btn.full{width:100%}
.btn.danger-soft{background:var(--danger-soft);color:var(--danger)}
.btn.success-soft{background:var(--success-soft);color:var(--success)}
.hero-progress{text-align:center}
.progress-ring{
  width:164px;height:164px;margin:auto;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#55d6ce 0deg,var(--line) 0deg);position:relative
}
.progress-ring:before{
  content:"";position:absolute;inset:12px;background:var(--navy);border-radius:50%
}
.progress-ring>div{position:relative;z-index:2}
.progress-ring strong{display:block;font:800 34px "Manrope"}
.progress-ring span{font-size:12px;color:#c7d6e1}
.hero-progress p{margin:16px 0 1px;color:#a8bdcb;font-size:12px}

.section-heading{display:flex;justify-content:space-between;align-items:end;margin:34px 0 17px}
.section-heading.compact{margin-top:28px}
.section-heading h2{margin:0;font:800 25px "Manrope";letter-spacing:-.7px}
.link-button{border:0;background:transparent;color:var(--teal-dark);font-weight:800;padding:6px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-card{background:white;border:1px solid var(--line);border-radius:16px;padding:19px;display:flex;align-items:center;gap:14px}
.stat-card strong{display:block;font:800 23px "Manrope"}
.stat-card span:last-child{font-size:12px;color:var(--muted)}
.stat-icon{width:42px;height:42px;border-radius:12px;background:var(--teal-soft);color:var(--teal-dark);display:grid;place-items:center;font-weight:800}
.dashboard-columns{display:grid;grid-template-columns:1.7fr .75fr;gap:16px;margin-top:16px}
.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 25px rgba(28,49,71,.035)}
.panel-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:17px}
.panel-header h3,.panel h3{font:800 20px "Manrope";margin:0 0 5px}
.subject-list{display:flex;flex-direction:column;gap:14px}
.subject-row{display:grid;grid-template-columns:160px 1fr 54px;gap:13px;align-items:center}
.subject-row strong{font-size:13px}
.subject-row small{color:var(--muted)}
.linear-progress{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.linear-progress span{display:block;height:100%;background:var(--teal);border-radius:999px;width:0}
.daily-card{background:linear-gradient(160deg,#fff,#f3fbfa);display:flex;flex-direction:column;justify-content:center;text-align:center}
.daily-badge{width:78px;height:78px;border-radius:23px;margin:12px auto;background:var(--teal-soft);color:var(--teal-dark);display:grid;place-items:center;font:800 30px "Manrope"}
.daily-card p{color:var(--muted);font-size:13px;line-height:1.6}

.page-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:26px}
.page-title h1{color:var(--ink);margin:2px 0 9px;font-size:42px}
.page-title p{margin:0;color:var(--muted)}
.pill{background:white;border:1px solid var(--line);padding:11px 14px;border-radius:999px;font-size:13px;color:var(--muted)}
.pill strong{color:var(--ink)}
.filter-panel{background:white;border:1px solid var(--line);border-radius:20px;padding:23px}
.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
label{font-size:12px;font-weight:800;color:#526074;display:flex;flex-direction:column;gap:7px}
select,input[type="number"],input[type="text"],input[type="search"],.task-form input{
  border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink);outline:0
}
select:focus,input:focus{border-color:var(--teal)}
.session-options{margin-top:19px;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:end;gap:18px}
.session-options>div:first-child{margin-right:auto}
.segmented{display:flex;background:var(--surface-2);padding:4px;border-radius:10px}
.segment{border:0;background:transparent;padding:8px 11px;border-radius:8px;color:var(--muted);font-weight:700;font-size:12px}
.segment.active{background:white;color:var(--teal-dark);box-shadow:0 2px 7px rgba(28,49,71,.08)}
.number-control input{width:96px}
.subject-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.subject-card{background:white;border:1px solid var(--line);border-radius:16px;padding:19px;transition:.2s}
.subject-card:hover{border-color:#aed7d3;transform:translateY(-2px)}
.subject-card .subject-symbol{width:40px;height:40px;border-radius:12px;background:var(--teal-soft);display:grid;place-items:center;color:var(--teal-dark);font-weight:800;margin-bottom:12px}
.subject-card h3{font:800 17px "Manrope";margin:0 0 5px}
.subject-card p{font-size:12px;color:var(--muted);margin:0}
.subject-card footer{margin-top:15px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}

.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.simulator-config{display:flex;flex-direction:column;gap:18px}
.simulator-config p,.exam-preview p{color:var(--muted);line-height:1.55}
.simulator-config label>span{font-size:12px;color:var(--muted)}
input[type="range"]{accent-color:var(--teal);width:100%}
.toggle-line{flex-direction:row;align-items:center}
.exam-preview{background:linear-gradient(160deg,var(--navy-2),var(--navy));color:white;display:flex;flex-direction:column;justify-content:center;min-height:430px}
.exam-preview .eyebrow{color:#6fd6ce}
.preview-clock{font:800 50px "Manrope";margin:12px 0}
.exam-preview p{color:#c5d3de}
.feature-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;color:#d8e4eb;font-size:13px}

.flashcard-wrap{max-width:800px;margin:40px auto;text-align:center}
.flashcard{height:360px;perspective:1200px;cursor:pointer}
.flashcard-inner{position:relative;width:100%;height:100%;transition:transform .55s;transform-style:preserve-3d}
.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}
.flash-front,.flash-back{
  position:absolute;inset:0;backface-visibility:hidden;background:white;border:1px solid var(--line);
  border-radius:26px;padding:55px;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:var(--shadow)
}
.flash-back{transform:rotateY(180deg);background:linear-gradient(145deg,#f8fffe,#eaf6f4)}
.flash-front h2{font:800 28px/1.35 "Manrope";max-width:620px}
.flash-back p{font-size:20px;line-height:1.6;max-width:640px}
.flip-hint{position:absolute;bottom:25px;color:var(--muted);font-size:12px}
.flash-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}
.flash-counter{margin-top:15px;color:var(--muted);font-size:12px}

.stats-grid.large{margin-bottom:16px}
.performance-bars{display:flex;flex-direction:column;gap:17px}
.performance-row{display:grid;grid-template-columns:180px 1fr 50px;gap:14px;align-items:center}
.performance-row strong{font-size:13px}
.performance-row span:last-child{font-weight:800;font-size:12px}

.planner-layout{display:grid;grid-template-columns:1.5fr .7fr;gap:17px}
.task-list{display:flex;flex-direction:column;gap:9px;margin:18px 0}
.task{display:flex;align-items:center;gap:10px;background:var(--surface-2);border-radius:11px;padding:11px 13px}
.task.done span{text-decoration:line-through;color:var(--muted)}
.task button{margin-left:auto;border:0;background:transparent;color:var(--muted)}
.task-form{display:flex;gap:10px}
.task-form input{flex:1}
.weekly-goal{text-align:center;display:flex;flex-direction:column;justify-content:center}
.weekly-goal h2{font:800 42px "Manrope";margin:10px}
.weekly-goal p{color:var(--muted);font-size:13px}

.favorites-list{display:grid;gap:12px}
.favorite-card{background:white;border:1px solid var(--line);border-radius:15px;padding:18px}
.favorite-card header{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}
.favorite-card h3{font:700 16px/1.5 "Manrope";margin:0}
.favorite-card p{color:var(--muted);font-size:12px;margin:7px 0 0}
.empty-state{padding:60px 20px;text-align:center;background:white;border:1px dashed #cad5df;border-radius:18px;color:var(--muted)}
.empty-state strong{display:block;color:var(--ink);font:800 20px "Manrope";margin-bottom:6px}

.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.quiz-meta{display:flex;gap:13px;align-items:center;color:var(--muted);font-size:12px}
.quiz-meta strong{font:800 18px "Manrope";color:var(--ink)}
.quiz-progress-line{height:5px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:22px}
.quiz-progress-line span{display:block;height:100%;width:0;background:var(--teal)}
.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px}
.question-card{background:white;border:1px solid var(--line);border-radius:22px;padding:31px;min-height:560px}
.question-meta{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:12px}
.subject-chip{padding:6px 9px;border-radius:999px;background:var(--teal-soft);color:var(--teal-dark);font-weight:800}
.favorite-button{margin-left:auto;border:0;background:transparent;font-size:24px;color:var(--muted)}
.favorite-button.active{color:#df8655}
.question-number{display:block;margin:24px 0 9px;color:var(--muted);font-size:12px}
.question-card h2{font:700 clamp(20px,2.1vw,27px)/1.45 "Manrope";margin:0 0 22px}
.answer-options{display:flex;flex-direction:column;gap:10px}
.answer{
  border:1px solid var(--line);background:#fff;border-radius:13px;padding:14px 16px;text-align:left;
  display:flex;gap:12px;align-items:flex-start;transition:.18s;color:var(--ink)
}
.answer:hover{border-color:#9cc9c6;background:#fbfefe}
.answer .letter{width:28px;height:28px;border-radius:8px;background:var(--surface-2);display:grid;place-items:center;font-weight:800;flex:0 0 auto}
.answer.selected{border-color:var(--teal);background:var(--teal-soft)}
.answer.correct{border-color:var(--success);background:var(--success-soft)}
.answer.incorrect{border-color:var(--danger);background:var(--danger-soft)}
.explanation-box{margin-top:17px;padding:16px;border-radius:13px;background:#f8fafc;border-left:4px solid var(--teal);line-height:1.55;font-size:13px}
.explanation-box strong{display:block;margin-bottom:5px}
.hidden{display:none}
.question-actions{display:flex;justify-content:space-between;margin-top:24px}
.question-nav{align-self:start}
.question-dots{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:15px}
.q-dot{aspect-ratio:1;border:1px solid var(--line);background:white;border-radius:8px;font-size:11px;font-weight:800;color:var(--muted)}
.q-dot.current{background:var(--navy);color:white;border-color:var(--navy)}
.q-dot.answered{border-color:var(--teal);color:var(--teal-dark);background:var(--teal-soft)}
.legend{margin-top:20px;border-top:1px solid var(--line);padding-top:15px;display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:7px}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.dot.current{background:var(--navy)} .dot.answered{background:var(--teal)}

.results-card{max-width:650px;margin:45px auto;background:white;border:1px solid var(--line);border-radius:28px;padding:45px;text-align:center;box-shadow:var(--shadow)}
.result-icon{width:65px;height:65px;border-radius:50%;display:grid;place-items:center;background:var(--success-soft);color:var(--success);font-size:28px;margin:0 auto 20px}
.results-card h1{font:800 35px "Manrope";margin:4px}
.results-card>p{color:var(--muted)}
.result-score{width:160px;height:160px;border-radius:50%;background:var(--teal-soft);display:grid;place-content:center;margin:25px auto}
.result-score strong{font:800 38px "Manrope";color:var(--teal-dark)}
.result-score span{font-size:12px;color:var(--muted)}
.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:24px 0;padding:18px 0}
.result-metrics strong{display:block;font:800 20px "Manrope"}
.result-metrics span{font-size:11px;color:var(--muted)}
.result-actions{justify-content:center}

.toast{position:fixed;right:25px;bottom:25px;background:var(--ink);color:white;padding:12px 16px;border-radius:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s;z-index:100;font-size:13px}
.toast.show{opacity:1;transform:none}

@media(max-width:1050px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .dashboard-columns,.planner-layout{grid-template-columns:1fr}
  .subject-cards{grid-template-columns:repeat(2,1fr)}
  .filter-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:780px){
  .sidebar{transform:translateX(-100%);transition:.25s}
  .sidebar.open{transform:none}
  .main{margin-left:0}
  .mobile-menu{display:block}
  .topbar{padding:0 18px}
  .view{padding:25px 18px 40px}
  .searchbox{width:58vw}
  .hero{grid-template-columns:1fr;padding:34px 27px}
  .hero-progress{display:none}
  .hero h1{font-size:39px}
  .page-title{align-items:start;flex-direction:column}
  .subject-cards,.sim-grid,.quiz-layout{grid-template-columns:1fr}
  .question-nav{display:none}
  .session-options{align-items:stretch;flex-direction:column}
  .session-options>div:first-child{margin-right:0}
}
@media(max-width:520px){
  .stats-grid,.filter-grid{grid-template-columns:1fr}
  .top-actions .icon-button{display:none}
  .searchbox{width:calc(100vw - 105px)}
  .subject-cards{grid-template-columns:1fr}
  .subject-row{grid-template-columns:120px 1fr 45px}
  .flash-front,.flash-back{padding:30px 22px}
  .flash-front h2{font-size:22px}
  .flash-actions{display:grid;grid-template-columns:1fr 1fr}
  .question-card{padding:21px}
}

.source-line{font-size:11px;color:var(--muted);margin:-2px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.source-line a{color:var(--teal-dark);font-weight:700;text-decoration:none}
.source-line .source-tag{display:inline-block;background:var(--surface-2);padding:4px 7px;border-radius:8px;margin-right:6px}
.corpus-warning{font-size:11px;color:var(--muted)}
@media(min-width:1100px){.filter-grid{grid-template-columns:repeat(3,1fr)}}

.bank-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.review-summary{margin-bottom:16px;padding:16px 18px;background:var(--teal-soft);border:1px solid #cbe8e5;border-radius:14px;color:var(--teal-dark);font-weight:700}
.review-list{display:flex;flex-direction:column;gap:16px}
.review-card{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 25px rgba(28,49,71,.035)}
.review-card h3{font:700 18px/1.45 "Manrope";margin:12px 0 16px}
.review-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.origin-chip,.review-chip{font-size:11px;border-radius:999px;padding:5px 9px;background:var(--surface-2);color:var(--muted);font-weight:800}
.origin-chip.generated{background:#f3eefc;color:#6d4aa2}
.origin-chip.historical{background:var(--teal-soft);color:var(--teal-dark)}
.review-answer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.review-answer>div{padding:12px;border-radius:12px;background:var(--surface-2);font-size:13px}
.review-answer .wrong{background:var(--danger-soft);color:#8a3f3f}
.review-answer .right{background:var(--success-soft);color:#2d6b4d}
.medical-explanation{margin-top:13px;padding:15px 16px;border-left:4px solid var(--teal);background:#f8fafc;border-radius:10px;font-size:13px;line-height:1.6}
.medical-explanation strong{display:block;margin-bottom:5px}
@media(max-width:650px){.review-answer{grid-template-columns:1fr}.bank-pills{justify-content:flex-start}}

body{background:
  radial-gradient(circle at 85% 5%,rgba(108,76,255,.10),transparent 28%),
  radial-gradient(circle at 25% 95%,rgba(0,174,191,.09),transparent 25%),
  var(--bg)}
.sidebar{background:linear-gradient(180deg,#1d104d 0%,#2d1672 52%,#171038 100%)}
.brand-mark{background:linear-gradient(135deg,var(--pink),var(--gold));box-shadow:0 8px 22px rgba(255,79,135,.28)}
.hero{background:
  radial-gradient(circle at 82% 18%,rgba(255,79,135,.58),transparent 26%),
  radial-gradient(circle at 62% 110%,rgba(0,190,214,.42),transparent 36%),
  linear-gradient(125deg,#26115f 0%,#4b2fc7 58%,#5a36d6 100%)}
.btn.primary{background:linear-gradient(135deg,#6950ff,#12b8ca);box-shadow:0 8px 18px rgba(82,69,210,.20)}
.btn.primary:hover{background:linear-gradient(135deg,#573df3,#00a3b5)}
.stat-card:nth-child(1) .stat-icon{background:#ece8ff;color:#6b4cff}
.stat-card:nth-child(2) .stat-icon{background:#dcfaf6;color:#008e82}
.stat-card:nth-child(3) .stat-icon{background:#fff1d8;color:#c77700}
.stat-card:nth-child(4) .stat-icon{background:#ffe7ef;color:#d74372}
.linear-progress span{background:linear-gradient(90deg,#6b4cff,#00b9c9)}
.subject-card:hover{border-color:#9d91ff;box-shadow:0 13px 25px rgba(67,44,157,.10)}
.eyebrow{color:#6949e8}
.hero .eyebrow{color:#7ff4ff}

.auth-locked{display:none!important}
.hidden{display:none!important}
.auth-gate{
  min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;
  background:linear-gradient(125deg,#1b0d48 0%,#3c22a3 48%,#6b3bea 100%);
}
.auth-visual{
  padding:72px clamp(38px,7vw,110px);color:white;display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:hidden
}
.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:50%;filter:blur(1px)}
.auth-visual:before{width:330px;height:330px;background:rgba(255,79,135,.26);right:-70px;top:30px}
.auth-visual:after{width:270px;height:270px;background:rgba(0,216,224,.20);left:-60px;bottom:20px}
.auth-brand-mark{
  width:70px;height:70px;border-radius:22px;display:grid;place-items:center;
  background:linear-gradient(135deg,#ff4f87,#ffb000);font:800 24px "Manrope";position:relative;z-index:1;
  box-shadow:0 15px 34px rgba(0,0,0,.20)
}
.auth-kicker{margin-top:30px;color:#9ef7ff;font-size:11px;letter-spacing:.16em;font-weight:800;position:relative;z-index:1}
.auth-visual h1{font:800 clamp(48px,7vw,88px)/1 "Manrope";letter-spacing:-3px;margin:10px 0 18px;position:relative;z-index:1}
.auth-visual p{font-size:18px;line-height:1.7;color:#ddd8fb;max-width:620px;position:relative;z-index:1}
.auth-feature-list{display:grid;gap:12px;margin-top:28px;color:#f3f0ff;position:relative;z-index:1}
.auth-feature-list span{display:flex;gap:9px;align-items:center}
.auth-panel{background:#f8f7ff;display:grid;place-items:center;padding:36px}
.auth-form-panel{width:min(440px,100%);background:white;border:1px solid #e6e1fa;border-radius:26px;padding:34px;box-shadow:0 25px 70px rgba(23,12,68,.19)}
.auth-form-panel h2{font:800 30px "Manrope";margin:3px 0 8px}
.auth-form-panel>p,.panel-copy{color:var(--muted);font-size:13px;line-height:1.6}
.auth-form{display:flex;flex-direction:column;gap:15px;margin-top:24px}
.auth-form input,.admin-password-form input{
  border:1px solid var(--line);border-radius:11px;padding:12px 13px;outline:0;background:#fff;color:var(--ink)
}
.auth-form input:focus,.admin-password-form input:focus{border-color:#7d67ff;box-shadow:0 0 0 3px rgba(108,76,255,.10)}
.no-signup{margin-top:20px;padding:12px;border-radius:11px;background:#f4f1ff;color:#6b5d94;font-size:12px;text-align:center}
.form-error{padding:10px 12px;border-radius:10px;background:var(--danger-soft);color:#9e3d50;font-size:12px}

.role-badge{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;background:#eee9ff;color:#6046c8}
.logout-button{font-size:12px;font-weight:800}
.admin-layout{display:grid;grid-template-columns:.75fr 1.35fr;gap:17px}
.admin-users-panel{overflow:hidden}
.users-table{display:flex;flex-direction:column;gap:9px}
.user-row{display:grid;grid-template-columns:1fr 125px 190px;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:13px}
.user-row strong{display:block;font-size:13px}
.user-row small{color:var(--muted)}
.user-status{font-size:11px;font-weight:800}
.user-status.active{color:var(--success)}
.user-status.inactive{color:var(--danger)}
.user-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.user-actions button{border:1px solid var(--line);background:white;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:800;color:var(--muted)}
.user-actions button.danger{color:var(--danger);border-color:#f0c7cf}
.admin-security{margin-top:17px}
.admin-password-form{display:flex;gap:10px;align-items:end;margin-top:16px}
.admin-password-form input{flex:1}
.clean-source-line{color:var(--muted)}
.review-card.correct-review{border-left:5px solid var(--success)}
.review-card.wrong-review{border-left:5px solid var(--danger)}
.review-card.omitted-review{border-left:5px solid var(--gold)}
.review-answer .neutral{background:#f2f0fa;color:var(--muted)}
.review-status{font-size:11px;font-weight:900;border-radius:999px;padding:5px 9px}
.review-status.correct{background:var(--success-soft);color:var(--success)}
.review-status.wrong{background:var(--danger-soft);color:var(--danger)}
.review-status.omitted{background:#fff2d7;color:#a46b00}

@media(max-width:900px){
  .auth-gate{grid-template-columns:1fr}
  .auth-visual{padding:42px 28px;min-height:340px}
  .auth-visual h1{font-size:54px}
  .auth-panel{padding:25px 18px 40px}
  .admin-layout{grid-template-columns:1fr}
  .user-row{grid-template-columns:1fr}
  .user-actions{justify-content:flex-start}
  .admin-password-form{flex-direction:column;align-items:stretch}
}

.flash-title-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.flash-filters{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:12px;align-items:end;margin-bottom:24px}
.flash-filters .btn{height:42px}
@media(max-width:850px){.flash-filters{grid-template-columns:1fr 1fr}.flash-filters .btn{width:100%}}
@media(max-width:520px){.flash-filters{grid-template-columns:1fr}.flash-title-actions{align-items:flex-start}}

.coverage-panel{background:linear-gradient(135deg,#fff,#f1edff);border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin-bottom:16px;display:flex;justify-content:space-between;gap:18px;align-items:center}
.coverage-panel h3{font:800 18px "Manrope";margin:2px 0 5px}.coverage-panel p{margin:0;color:var(--muted);font-size:12px}
.coverage-cards{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.coverage-year{background:white;border:1px solid var(--line);border-radius:12px;padding:9px 11px;min-width:92px;text-align:center}
.coverage-year strong{display:block;font:800 14px "Manrope"}.coverage-year span{font-size:11px;color:var(--muted)}
.coverage-year.complete{border-color:#8bd6ba;background:var(--success-soft)}.coverage-year.complete strong{color:var(--success)}
@media(max-width:760px){.coverage-panel{align-items:flex-start;flex-direction:column}.coverage-cards{justify-content:flex-start}}

.historical-import-panel,.source-inventory-panel{margin-top:17px}
.import-grid{display:grid;grid-template-columns:130px 130px 1fr auto;gap:10px;align-items:end;margin-top:15px}
.import-result{margin-top:12px;font-size:12px;color:var(--muted)}
.import-result.success{color:var(--success)}.import-result.error{color:var(--danger)}
.import-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.source-inventory-table{display:flex;flex-direction:column;gap:8px}
.source-year-row{display:grid;grid-template-columns:80px 180px 120px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px}
.source-year-row strong{font:800 13px "Manrope"}
.source-year-row small{color:var(--muted);line-height:1.5}
.source-links{display:flex;gap:6px;flex-wrap:wrap}
.source-links a{font-size:11px;text-decoration:none;color:var(--teal-dark);background:var(--teal-soft);padding:5px 7px;border-radius:8px}
.coverage-badge{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);display:inline-block}
.coverage-badge.complete{background:var(--success-soft);color:var(--success)}
@media(max-width:900px){.import-grid{grid-template-columns:1fr 1fr}.source-year-row{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.import-grid,.source-year-row{grid-template-columns:1fr}}

.sidebar{overflow-y:auto}
.nav{padding-bottom:12px}
.nav-item{flex:0 0 auto}
.question-quick-actions{margin-left:auto;display:flex;gap:4px;align-items:center}
.question-quick-actions .favorite-button{margin-left:0}
.mini-action{width:34px;height:34px;border:1px solid var(--line);background:white;border-radius:9px;color:var(--muted);font-weight:800}
.mini-action.active{background:#fff0d8;color:#b56c00;border-color:#efcf97}
.exam-history-list,.notes-list,.notifications-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.exam-history-card,.note-card,.notification-card{background:white;border:1px solid var(--line);border-radius:16px;padding:18px}
.exam-history-card header,.note-card header,.notification-card header{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.exam-metrics{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:12px}
.exam-metrics strong{color:var(--ink)}
.library-toolbar{display:grid;grid-template-columns:1fr 1.6fr auto;gap:12px;align-items:end;margin-bottom:18px}
.library-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.library-card{background:white;border:1px solid var(--line);border-radius:17px;padding:20px}
.library-card h3{font:800 18px "Manrope";margin:4px 0}
.library-card .key-points{font-size:13px;line-height:1.65;color:#505068}
.library-actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.tool-card p{color:var(--muted);font-size:12px}
.tool-inputs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.tool-inputs input{min-width:100px;flex:1}
.tool-result{display:block;font:800 24px "Manrope";margin-top:13px;color:var(--violet)}
.score-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.score-checks label{flex-direction:row;align-items:center}
.education-note{font-size:11px;color:var(--muted);margin-top:16px}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.resource-card .resource-icon{width:42px;height:42px;border-radius:12px;background:#ede9ff;color:var(--violet);display:grid;place-items:center;font-weight:900}
.resource-card p{color:var(--muted);line-height:1.55;font-size:13px}
.insight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.predictor-card h2{font:800 34px "Manrope";margin:8px 0}.predictor-card p,.recommendation-card p{color:var(--muted);font-size:12px;line-height:1.55}
.high-yield-row{display:grid;grid-template-columns:1fr 90px 1fr;gap:12px;align-items:center;margin:10px 0}
.notification-card.unread{border-left:5px solid var(--violet)}
.notification-card p{color:var(--muted);line-height:1.6}
.academic-admin-panel{margin-top:17px}
.academic-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.academic-form textarea{min-height:86px;border:1px solid var(--line);border-radius:11px;padding:11px;font:inherit;grid-column:1/-1}
.academic-form input,.academic-form select,.notification-form input,.notification-form textarea{border:1px solid var(--line);border-radius:11px;padding:11px;font:inherit}
.academic-form button{grid-column:1/-1}
.compact-admin-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:360px;overflow:auto}
.compact-admin-row{padding:11px 12px;border:1px solid var(--line);border-radius:11px;display:flex;gap:9px;align-items:center;justify-content:space-between}
.compact-admin-row small{color:var(--muted)}
.notification-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.notification-form textarea{grid-column:1/-1;min-height:80px}.notification-form button{grid-column:2}
.flash-due-toggle{min-width:190px}
.study-topic-link{border:0;background:transparent;color:var(--violet);font-weight:800;padding:0}
.review-community{font-size:11px;color:var(--muted);margin-top:9px}
.note-actions{display:flex;gap:7px}
.frequency-bar{height:7px;background:var(--surface-2);border-radius:999px;overflow:hidden}.frequency-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--teal))}
@media(max-width:1100px){.insight-grid{grid-template-columns:repeat(2,1fr)}.library-grid{grid-template-columns:1fr}.tools-grid{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}}
@media(max-width:700px){.library-toolbar{grid-template-columns:1fr}.insight-grid{grid-template-columns:1fr}.academic-form{grid-template-columns:1fr}.academic-form textarea,.academic-form button{grid-column:1}.notification-form{grid-template-columns:1fr}.notification-form textarea,.notification-form button{grid-column:1}.question-quick-actions{flex-wrap:wrap}.high-yield-row{grid-template-columns:1fr}}

/* ===== Enurmed 1.0 institutional/public ===== */
.launch-screen{position:fixed;inset:0;z-index:9999;background:#171036;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:.35s opacity}.launch-screen.done{opacity:0;pointer-events:none}.launch-logo,.public-brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,#ff4f87,#ffb000);color:white;font:900 22px Manrope;border-radius:14px}.launch-logo{width:56px;height:56px}.launch-screen span{font-size:11px;color:#beb7e9;letter-spacing:.08em}
.public-landing{min-height:100vh;background:#fff;color:#17152d}.public-nav{height:78px;position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,90px);background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid #eeeaf8}.public-brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#17152d}.public-brand-mark{width:39px;height:39px;font-size:17px}.public-brand span:last-child{display:flex;flex-direction:column}.public-brand strong{font:900 17px Manrope}.public-brand small{font-size:9px;color:#7d7892}.public-links{display:flex;gap:26px}.public-links a,.public-footer a,.public-footer button{color:#625d78;text-decoration:none;font-size:12px;font-weight:700;border:0;background:none;padding:0;text-align:left}.public-links a:hover{color:#5c43db}.public-actions{display:flex;gap:8px}.public-main{overflow:hidden}.landing-hero{min-height:670px;padding:95px clamp(28px,7vw,110px);display:grid;grid-template-columns:1.12fr .88fr;gap:65px;align-items:center;background:radial-gradient(circle at 85% 20%,rgba(108,76,255,.12),transparent 30%),linear-gradient(180deg,#fbfaff,#fff)}.landing-kicker{font-size:10px;letter-spacing:.17em;font-weight:900;color:#6244e5}.landing-hero h1{font:900 clamp(48px,6vw,82px)/.98 Manrope;letter-spacing:-4px;margin:13px 0 24px;max-width:850px}.landing-hero h1 em{font-style:normal;color:#6548e8}.landing-hero-copy>p{font-size:17px;line-height:1.75;color:#666178;max-width:720px}.landing-hero-actions{display:flex;gap:10px;margin:30px 0 25px}.landing-secondary{border:1px solid #dad5ee;background:white;color:#31265f}.trust-row{display:flex;gap:19px;flex-wrap:wrap;font-size:11px;color:#625d78}.landing-visual{height:460px;position:relative;display:grid;place-items:center}.medical-core{width:250px;height:250px;border-radius:50%;background:linear-gradient(145deg,#281169,#6645e8);color:white;box-shadow:0 35px 80px rgba(64,38,157,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:3}.medical-core span{font-size:38px;color:#71f2ec}.medical-core strong{font:900 26px Manrope;margin-top:8px}.medical-core small{color:#d8d2f7;margin-top:5px}.med-orbit{position:absolute;border:1px solid rgba(101,72,232,.25);border-radius:50%}.orbit-one{width:360px;height:360px}.orbit-two{width:440px;height:440px;border-style:dashed}.visual-chip{position:absolute;z-index:4;background:white;border:1px solid #e3def5;padding:10px 14px;border-radius:13px;box-shadow:0 14px 32px rgba(43,30,98,.10);font-size:11px;font-weight:800}.chip-a{left:3%;top:18%}.chip-b{right:0;top:26%}.chip-c{left:8%;bottom:18%}.chip-d{right:6%;bottom:12%}.landing-strip{padding:25px 7vw;background:#211053;color:#eee9ff;text-align:center}.landing-strip p{margin:0;font-size:14px}.landing-section{padding:100px clamp(28px,7vw,110px)}.landing-section-head{max-width:850px;margin:0 auto 48px;text-align:center}.landing-section-head.compact{margin-bottom:32px}.landing-section-head h2,.diff-copy h2,.support-copy h2{font:900 clamp(34px,4vw,56px)/1.08 Manrope;letter-spacing:-2px;margin:10px 0 17px}.landing-section-head p,.diff-copy p,.support-copy p{color:#6b667c;line-height:1.75;font-size:15px}.purpose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;max-width:1200px;margin:auto}.purpose-card{border:1px solid #e7e2f4;border-radius:22px;padding:30px;background:#fff;min-height:280px}.purpose-card>span{font:900 12px Manrope;color:#7257ee}.purpose-card h3{font:900 23px Manrope;margin:45px 0 12px}.purpose-card p{color:#68637a;line-height:1.7}.purpose-card.mission{background:#f7f4ff}.purpose-card.vision{background:#ecfcfb}.purpose-card.promise{background:#fff8ec}.values-section{background:#f8f7fc}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;max-width:1180px;margin:auto}.values-grid article{background:white;border:1px solid #e7e4f0;border-radius:17px;padding:23px}.values-grid i{font-style:normal;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eeeaff;color:#6548e8;font-weight:900}.values-grid h3{font:800 17px Manrope;margin:14px 0 7px}.values-grid p{font-size:12px;line-height:1.6;color:#716c81}.methodology{background:#201051;color:white}.methodology .landing-kicker{color:#77efec}.methodology .landing-section-head p{color:#d3caed}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);max-width:1180px;margin:auto}.method-steps article{background:#28165f;padding:28px;min-height:220px}.method-steps span{font-size:10px;color:#7ceee9}.method-steps h3{font:800 20px Manrope;margin:30px 0 9px}.method-steps p{font-size:12px;line-height:1.65;color:#cfc7ea}.solutions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1200px;margin:auto}.solution-feature{border:1px solid #e5e0f1;border-radius:19px;padding:24px;min-height:210px;background:white}.solution-feature.featured{grid-column:span 2;background:linear-gradient(135deg,#302079,#6246d9);color:white;display:flex;justify-content:space-between;gap:15px}.solution-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#eeeaff;color:#6248d8;font-weight:900}.featured .solution-icon{background:rgba(255,255,255,.16);color:#7bf0ec}.solution-feature h3{font:800 17px Manrope;margin:15px 0 8px}.solution-feature p{font-size:12px;line-height:1.65;color:#716c80}.featured p{color:#d9d3ef}.text-cta{border:0;background:none;color:#5e45d4;font-weight:900;padding:0;cursor:pointer}.featured .text-cta{color:#7bf0ec}.five-areas{background:#fbfaff}.areas-showcase{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;max-width:1200px;margin:auto}.areas-showcase article{border-radius:18px;padding:24px;background:white;border:1px solid #e7e2f2}.areas-showcase article>span{width:43px;height:43px;border-radius:13px;background:#efeaff;display:grid;place-items:center;color:#6047d5;font:900 12px Manrope}.areas-showcase h3{font:800 15px Manrope;margin:18px 0 8px}.areas-showcase p{font-size:11px;line-height:1.5;color:#777184}.differentiation{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;max-width:1250px;margin:auto}.diff-list{display:flex;flex-direction:column}.diff-list>div{display:grid;grid-template-columns:50px 1fr;gap:15px;padding:21px 0;border-bottom:1px solid #e8e4f1}.diff-list strong{color:#6548e8}.diff-list span{display:flex;flex-direction:column}.diff-list b{font:800 16px Manrope}.diff-list small{margin-top:5px;color:#777184}.faq-section{background:#f8f7fc}.faq-grid{max-width:900px;margin:auto;display:grid;gap:9px}.faq-grid details{background:white;border:1px solid #e4e0ed;border-radius:14px;padding:18px 20px}.faq-grid summary{cursor:pointer;font:800 14px Manrope}.faq-grid p{font-size:12px;line-height:1.65;color:#6e687c}.landing-cta{margin:0 clamp(28px,7vw,110px) 100px;padding:60px;border-radius:28px;background:radial-gradient(circle at 80% 0,rgba(255,79,135,.32),transparent 28%),linear-gradient(125deg,#201052,#5e3fd5);color:white;text-align:center}.landing-cta span{font-size:10px;letter-spacing:.15em;color:#7bf0ec;font-weight:900}.landing-cta h2{font:900 clamp(30px,4vw,48px)/1.1 Manrope;max-width:850px;margin:15px auto 25px}.landing-cta>div{display:flex;justify-content:center;gap:9px}.landing-cta .landing-secondary{background:transparent;color:white;border-color:rgba(255,255,255,.3)}.support-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start;background:#fbfaff}.support-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.support-form textarea{grid-column:1/-1;min-height:130px}.support-form button,.support-form small{grid-column:1/-1}.support-form input,.support-form textarea{border:1px solid #dfdaec;border-radius:12px;padding:13px;font:inherit}.public-footer{background:#17102f;color:#dfd8f1;padding:55px clamp(28px,7vw,110px) 25px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:35px}.footer-brand{display:flex;gap:12px}.footer-brand .public-brand-mark{width:44px;height:44px}.public-footer h4{font:800 12px Manrope;color:white;margin:0 0 14px}.public-footer>div:not(.footer-brand){display:flex;flex-direction:column;gap:9px}.public-footer p{font-size:11px;color:#958dad}.footer-bottom{grid-column:1/-1!important;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;color:#8e85a8;font-size:10px}.auth-gate{position:fixed;inset:0;z-index:1000;overflow:auto}.auth-close{position:absolute;right:24px;top:20px;border:0;background:white;width:38px;height:38px;border-radius:50%;font-size:24px;color:#5b5570;z-index:10}.auth-panel{position:relative}.legal-modal{position:fixed;inset:0;z-index:1200;background:rgba(16,9,40,.65);display:grid;place-items:center;padding:20px}.legal-dialog{background:white;border-radius:22px;padding:32px;max-width:720px;max-height:80vh;overflow:auto;position:relative}.legal-dialog h2{font:900 28px Manrope}.legal-dialog p{line-height:1.7;color:#666079;font-size:13px}.legal-close{position:absolute;right:15px;top:12px;border:0;background:#f1eef8;border-radius:50%;width:34px;height:34px;font-size:20px}
/* private v1 */
.nav-group{margin:0 0 13px}.nav-group-label{display:block;padding:5px 13px;font-size:8px;letter-spacing:.15em;font-weight:900;color:#8e83bd}.today-hero{background:radial-gradient(circle at 85% 20%,rgba(255,79,135,.32),transparent 25%),linear-gradient(125deg,#25115e,#5b3dd0);color:white;border-radius:24px;padding:38px;display:grid;grid-template-columns:1.4fr .6fr;gap:25px}.today-hero h1{font:900 clamp(28px,4vw,46px)/1.1 Manrope;margin:7px 0 11px}.today-hero p{color:#d9d3ef;line-height:1.6}.today-actions{display:flex;gap:8px;margin-top:20px}.today-focus{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:23px;display:flex;flex-direction:column;justify-content:center}.today-focus span{font-size:9px;letter-spacing:.15em;color:#7df1eb}.today-focus strong{font:800 20px Manrope;margin:8px 0}.today-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:17px 0}.today-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;min-height:215px}.today-card small{display:block;margin-top:17px;font-weight:900;letter-spacing:.1em;color:var(--muted)}.today-card h3{font:800 17px Manrope;margin:7px 0}.today-card p{font-size:12px;line-height:1.55;color:var(--muted)}.today-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:900}.accent-purple .today-icon{background:#ede9ff;color:#6248d8}.accent-teal .today-icon{background:#def9fb;color:#008d99}.accent-gold .today-icon{background:#fff1d9;color:#b26f00}.accent-pink .today-icon{background:#ffe8ef;color:#c43e6d}.resume-banner{margin-top:15px;background:#fff8e7;border:1px solid #edd7a6;border-radius:15px;padding:14px 16px;display:flex;align-items:center;gap:10px}.resume-banner>div{display:flex;flex-direction:column;flex:1}.resume-banner span{font-size:11px;color:#7d6f4c}.today-lower{margin-top:0}.activity-placeholder,.plan-summary{padding:20px;border-radius:13px;background:var(--surface-2);color:var(--muted);font-size:12px}.filter-actions{display:flex;gap:8px}.saved-filter-row{display:flex;align-items:end;gap:9px;margin-bottom:14px}.saved-filter-row label{min-width:260px}.sim-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:16px}.preset-card{border:1px solid var(--line);background:white;border-radius:15px;padding:15px;text-align:left;color:var(--ink)}.preset-card>span{display:block;color:var(--violet);font:900 18px Manrope}.preset-card strong{display:block;font:800 12px Manrope;margin:8px 0 4px}.preset-card small{font-size:10px;color:var(--muted);line-height:1.4}.case-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:25px}.case-intro h3{font:800 20px Manrope}.private-areas{grid-template-columns:repeat(5,1fr)}.flash-dashboard-row{display:flex;gap:11px;margin-bottom:14px;align-items:stretch}.flash-status-card{flex:1;background:white;border:1px solid var(--line);border-radius:15px;padding:15px}.flash-status-card span{font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:900}.flash-status-card strong{display:block;font:800 16px Manrope;margin:5px 0}.flash-status-card small{color:var(--muted);font-size:10px}.analytics-grid,.planner-summary-grid,.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:15px}.mini-chart{height:100px;margin-top:12px;display:flex;align-items:end;gap:5px}.mini-chart i{display:block;flex:1;background:linear-gradient(180deg,var(--violet),var(--teal));border-radius:5px 5px 0 0;min-height:5px}.planner-settings{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end}.smart-plan-list{display:flex;flex-direction:column;gap:9px}.smart-plan-item{display:grid;grid-template-columns:100px 1fr auto;gap:12px;padding:12px;border:1px solid var(--line);border-radius:11px}.smart-plan-item strong{font-size:12px}.smart-plan-item span{font-size:11px;color:var(--muted)}.manual-goals-title{margin-top:24px}.study-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day{min-height:62px;border:1px solid var(--line);border-radius:9px;padding:6px;font-size:10px}.calendar-day.today{border-color:var(--violet);background:#f2efff}.calendar-day.has-plan:after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--teal);margin-top:6px}.intensive-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:15px}.intensive-config{display:flex;flex-direction:column;gap:12px}.intensive-plan{display:flex;flex-direction:column;gap:9px}.intensive-day{padding:12px;border-left:4px solid var(--violet);background:var(--surface-2);border-radius:9px}.mastery-overview{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.mastery-area{padding:16px;border-radius:15px;border:1px solid var(--line);background:white}.mastery-area strong{display:block;font:800 15px Manrope}.mastery-area span{font-size:11px;color:var(--muted)}.mastery-map{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mastery-topic{border-radius:14px;padding:15px;border:1px solid var(--line);cursor:pointer}.mastery-topic.mastered{background:#e3f7ed;border-color:#afe2c9}.mastery-topic.medium{background:#fff5d9;border-color:#edd597}.mastery-topic.weak{background:#ffe8ed;border-color:#efbac4}.mastery-topic.unseen{background:#f2f1f6}.mastery-topic strong{display:block;font-size:12px}.mastery-topic span{font-size:10px;color:var(--muted)}.account-grid{grid-template-columns:repeat(2,1fr)}.account-form{display:flex;flex-direction:column;gap:12px}.preference-list{display:flex;flex-direction:column;gap:14px;margin-top:15px}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.quality-item{padding:14px;border-radius:12px;background:var(--surface-2)}.quality-item strong{font:800 22px Manrope;display:block}.quality-item span{font-size:10px;color:var(--muted)}.access-plan-form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:9px;align-items:end;margin-top:14px}.pause-overlay{position:fixed;inset:0;background:rgba(16,9,39,.82);z-index:3000;display:grid;place-items:center;color:white}.pause-overlay>div{text-align:center}.pause-overlay h2{font:900 32px Manrope}.dot.flagged{background:#ffb000}.education-note{padding:12px 14px;background:#fff7df;border-radius:10px}.dark-mode{--bg:#12101b;--surface:#1b1825;--surface-2:#24202f;--ink:#f3f0fa;--muted:#aaa4ba;--line:#332e42}.dark-mode .main,.dark-mode .panel,.dark-mode .today-card,.dark-mode .subject-card,.dark-mode .favorite-card,.dark-mode .review-card,.dark-mode .library-card,.dark-mode .exam-history-card,.dark-mode .note-card,.dark-mode .notification-card{background:var(--surface);color:var(--ink)}.reduce-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(max-width:1100px){.public-links{display:none}.landing-hero{grid-template-columns:1fr}.landing-visual{height:350px}.purpose-grid,.values-grid,.solutions-grid{grid-template-columns:repeat(2,1fr)}.areas-showcase{grid-template-columns:repeat(3,1fr)}.differentiation,.support-section{grid-template-columns:1fr}.today-grid{grid-template-columns:repeat(2,1fr)}.sim-presets{grid-template-columns:repeat(3,1fr)}.planner-settings{grid-template-columns:repeat(2,1fr)}.mastery-map{grid-template-columns:repeat(2,1fr)}.private-areas{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.public-nav{padding:0 18px}.public-actions .ghost{display:none}.landing-hero,.landing-section{padding:65px 22px}.landing-hero h1{letter-spacing:-2px}.landing-visual{display:none}.purpose-grid,.values-grid,.solutions-grid,.areas-showcase,.method-steps{grid-template-columns:1fr}.solution-feature.featured{grid-column:span 1}.landing-cta{margin:0 20px 65px;padding:35px 22px}.public-footer{grid-template-columns:1fr 1fr}.footer-brand,.footer-bottom{grid-column:1/-1}.today-hero{grid-template-columns:1fr}.today-grid,.case-mode-grid,.analytics-grid,.planner-summary-grid,.mastery-overview,.account-grid{grid-template-columns:1fr}.sim-presets{grid-template-columns:repeat(2,1fr)}.planner-settings,.mastery-map{grid-template-columns:1fr}.intensive-grid{grid-template-columns:1fr}.access-plan-form{grid-template-columns:1fr}.flash-dashboard-row{flex-direction:column}.support-form{grid-template-columns:1fr}.support-form textarea,.support-form button,.support-form small{grid-column:1}}

.library-editor-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.library-editor-form textarea{grid-column:1/-1;min-height:80px;border:1px solid var(--line);border-radius:11px;padding:11px;font:inherit}.library-editor-form input{border:1px solid var(--line);border-radius:11px;padding:11px;font:inherit}.library-editor-form button{grid-column:1/-1}.notification-priority{font-size:9px;font-weight:900;padding:4px 7px;border-radius:999px}.notification-priority.important{background:#fff2d5;color:#9a6400}.notification-priority.urgent{background:#ffe5eb;color:#a93d55}.library-sections{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.library-section{padding:11px;border-radius:10px;background:var(--surface-2)}.library-section strong{display:block;font-size:10px;color:var(--violet);margin-bottom:5px}.library-section p{font-size:11px;line-height:1.55;color:var(--muted);margin:0}.history-compare{margin:0 0 14px}.history-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.history-compare-grid>div{background:var(--surface-2);border-radius:12px;padding:13px}@media(max-width:700px){.library-editor-form,.library-sections,.history-compare-grid{grid-template-columns:1fr}.library-editor-form textarea,.library-editor-form button{grid-column:1}}

.topbar{position:relative}.global-search-results{position:absolute;top:66px;left:28px;width:min(620px,calc(100vw - 56px));background:white;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);z-index:400;max-height:420px;overflow:auto;padding:7px}.search-result{display:block;width:100%;text-align:left;border:0;background:white;border-radius:10px;padding:11px 12px;color:var(--ink)}.search-result:hover{background:var(--surface-2)}.search-result strong{display:block;font-size:12px}.search-result small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.breadcrumbs{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:10px;margin:-2px 0 15px}.breadcrumbs button{border:0;background:transparent;color:var(--violet);font-weight:900}.dark-mode .global-search-results,.dark-mode .search-result{background:var(--surface)}.dark-mode .search-result:hover{background:var(--surface-2)}


/* ================================================================
   Enurmed v1.1 — Responsive layout repair
   Targets 1366×768 laptop, desktop, tablet and mobile viewports.
   ================================================================ */
:root{--sidebar-w:228px;--sidebar-compact-w:76px;--content-max:1460px}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:320px}
.app-shell{width:100%;max-width:100%;min-height:100dvh;overflow-x:clip}
.sidebar{
  width:var(--sidebar-w);padding:20px 14px 16px;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent;
  transition:width .22s ease,transform .22s ease,padding .22s ease
}
.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}
.brand{padding:0 6px 20px;min-width:0}.brand>div:last-child,.mini-profile>div:last-child{min-width:0}
.brand strong,.brand span,.mini-profile strong,.mini-profile span,.nav-item span:last-child{white-space:normal;overflow-wrap:anywhere}
.nav{gap:3px}.nav-group{margin-bottom:9px}.nav-group-label{padding:5px 10px 3px}
.nav-item{padding:10px 10px;gap:10px;min-height:42px;line-height:1.25}.nav-icon{width:20px;flex:0 0 20px;font-size:17px}
.sidebar-footer{padding:14px 5px 0}.sidebar-footer small{font-size:9px}

.main{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w));min-width:0;max-width:calc(100% - var(--sidebar-w));transition:margin-left .22s ease,width .22s ease,max-width .22s ease}
.topbar{
  position:sticky!important;top:0;min-height:70px;height:auto;padding:9px clamp(14px,2.3vw,32px);gap:12px;
  flex-wrap:nowrap;max-width:100%;width:100%
}
.searchbox{flex:1 1 420px;width:auto;max-width:620px;min-width:180px;padding:9px 12px}
.top-actions{flex:0 0 auto;gap:7px;min-width:0}.top-actions>*{flex:0 0 auto}.icon-button{padding:8px 9px}.logout-button{white-space:nowrap}
.sidebar-collapse{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--line);background:white;border-radius:11px;color:var(--ink);font-weight:900}
.mobile-menu{flex:0 0 38px}
.breadcrumbs{width:min(var(--content-max),100%);margin:0 auto!important;padding:10px clamp(16px,2.4vw,34px) 0;min-height:29px}
.view{width:min(var(--content-max),100%);max-width:var(--content-max);min-width:0;padding:22px clamp(16px,2.4vw,34px) 44px;margin:0 auto!important;height:auto!important;min-height:0!important;overflow:visible}
.view.active{display:block}
.view>*,.panel,.subject-card,.library-card,.today-card,.stat-card,.resource-card,.tool-card,.exam-history-card,.review-card,.favorite-card,.note-card,.notification-card{min-width:0;max-width:100%}
.page-title{align-items:flex-start;margin-bottom:20px;gap:14px}.page-title>div{min-width:0}.page-title h1{font-size:clamp(30px,3.2vw,42px);line-height:1.08;letter-spacing:-1.3px;overflow-wrap:anywhere}.page-title p{line-height:1.55;max-width:820px}
.panel{overflow-wrap:anywhere}

/* Let cards size from available space rather than from fixed column counts. */
.stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.insight-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.subject-cards{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}
.library-grid{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));align-items:start}
.library-card{height:auto!important;align-self:start}
.library-sections{grid-template-columns:repeat(2,minmax(0,1fr))}
.tools-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.resource-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.today-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.today-card{min-height:0;height:auto}
.dashboard-columns,.planner-layout,.intensive-grid{min-width:0}.dashboard-columns>* ,.planner-layout>* ,.intensive-grid>*{min-width:0}
.analytics-grid,.planner-summary-grid,.account-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.mastery-overview{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.mastery-map{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}
.mastery-area,.mastery-topic{height:auto!important;min-height:0!important}
.sim-presets{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.case-mode-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.private-areas{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.planner-settings{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.quality-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}

/* Remove artificial empty vertical zones. */
#view-stats,#view-mastery,#view-library,#view-bank,#view-dashboard{height:auto!important;min-height:0!important}
#view-stats>*,#view-mastery>*,#view-library>*{position:relative;top:auto;bottom:auto;transform:none}
#performanceBars:empty,#masteryOverview:empty,#masteryMap:empty,#libraryContent:empty{min-height:0!important;height:auto!important}
.performance-bars:empty{display:none}

/* Inputs and long content must never widen the viewport. */
input,select,textarea{max-width:100%;min-width:0}
.filter-panel,.library-toolbar,.flash-filters,.planner-settings,.academic-form,.admin-layout{min-width:0;max-width:100%}
.library-toolbar{grid-template-columns:minmax(160px,.75fr) minmax(220px,1.5fr) auto}
.flash-filters{grid-template-columns:repeat(3,minmax(150px,1fr)) auto;align-items:end}
.review-answer{grid-template-columns:repeat(2,minmax(0,1fr))}
.question-card{min-height:0;height:auto}.quiz-layout{grid-template-columns:minmax(0,1fr) minmax(210px,250px)}
.question-card h2,.review-card h3,.library-card p,.subject-card p{overflow-wrap:anywhere;word-break:normal}

/* Desktop compact sidebar. */
.app-shell.compact-sidebar .sidebar{width:var(--sidebar-compact-w);padding-inline:10px}
.app-shell.compact-sidebar .main{margin-left:var(--sidebar-compact-w);width:calc(100% - var(--sidebar-compact-w));max-width:calc(100% - var(--sidebar-compact-w))}
.app-shell.compact-sidebar .brand{justify-content:center;padding-inline:0}.app-shell.compact-sidebar .brand>div:last-child,.app-shell.compact-sidebar .nav-group-label,.app-shell.compact-sidebar .nav-item span:last-child,.app-shell.compact-sidebar .mini-profile>div:last-child,.app-shell.compact-sidebar .sidebar-footer small{display:none}
.app-shell.compact-sidebar .nav-item{justify-content:center;padding-inline:7px}.app-shell.compact-sidebar .nav-icon{width:24px;flex-basis:24px}.app-shell.compact-sidebar .mini-profile{justify-content:center}
.app-shell.compact-sidebar #sidebarCollapse{transform:rotate(180deg)}
.sidebar-backdrop{display:none}

@media(max-width:1180px){
  :root{--sidebar-w:210px}
  .topbar{padding-inline:18px}.role-badge{display:none}.searchbox{max-width:none}
  .view{padding-inline:22px}.breadcrumbs{padding-inline:22px}
  .today-hero{grid-template-columns:minmax(0,1.15fr) minmax(220px,.55fr);padding:28px}
  .feature-checks{grid-template-columns:1fr}
}

@media(max-width:930px){
  .sidebar{width:248px;transform:translateX(-105%);box-shadow:0 0 45px rgba(19,9,57,.3);z-index:1000}
  .sidebar.open{transform:translateX(0)}
  .main,.app-shell.compact-sidebar .main{margin-left:0;width:100%;max-width:100%}
  .sidebar-collapse{display:none}.mobile-menu{display:grid;place-items:center}
  .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(20,11,53,.38);opacity:0;pointer-events:none;z-index:900;transition:.2s}
  .app-shell.menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}
  .topbar{padding:9px 14px}.searchbox{flex:1 1 auto}
  .top-actions .icon-button[title="Racha de estudio"],.top-actions .role-badge{display:none}
  .view,.breadcrumbs{width:100%;max-width:100%;padding-inline:18px}
  .quiz-layout{grid-template-columns:1fr}.question-nav{position:static}
  .planner-layout,.dashboard-columns,.intensive-grid{grid-template-columns:1fr}
}

@media(max-width:680px){
  .topbar{gap:7px;flex-wrap:wrap;align-items:center}.mobile-menu{order:1}.searchbox{order:2;flex:1 1 calc(100% - 50px);max-width:none}.top-actions{order:3;width:100%;justify-content:flex-end;padding-top:2px}.top-actions .avatar{display:none}
  .breadcrumbs{padding-top:7px}.view{padding-top:16px;padding-bottom:32px}
  .page-title{flex-direction:column;align-items:stretch}.page-title h1{font-size:31px}.page-title>.btn,.page-title>.filter-actions{align-self:flex-start}
  .filter-actions,.saved-filter-row,.result-actions,.hero-actions,.today-actions{flex-wrap:wrap}.saved-filter-row{align-items:stretch}.saved-filter-row label{min-width:0;flex:1 1 100%}
  .stats-grid,.insight-grid,.subject-cards,.library-grid,.tools-grid,.resource-grid,.today-grid,.analytics-grid,.planner-summary-grid,.account-grid,.mastery-overview,.mastery-map,.case-mode-grid,.private-areas{grid-template-columns:1fr}
  .library-sections,.review-answer{grid-template-columns:1fr}.library-toolbar,.flash-filters{grid-template-columns:1fr}.flash-due-toggle{min-width:0}
  .sim-grid,.quiz-layout{grid-template-columns:1fr}.sim-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .today-hero{grid-template-columns:1fr;padding:24px}.today-focus{padding:18px}.today-card{padding:17px}
  .stat-card{padding:15px}.panel{padding:16px}.library-card{padding:16px}
  .flashcard-wrap{margin:20px auto}.flashcard{height:min(390px,58vh)}.flash-front,.flash-back{padding:28px 20px}.flash-front h2{font-size:21px}.flash-back p{font-size:16px}
  .question-card{padding:20px 16px}.quiz-top{align-items:flex-start;gap:8px}.question-actions{gap:8px;flex-wrap:wrap}
  .result-metrics{grid-template-columns:1fr}.result-metrics>div{padding:9px 0}.results-card{padding:28px 18px;margin:20px auto}
  .public-footer{grid-template-columns:1fr}.footer-brand,.footer-bottom{grid-column:1}
}

@media(max-width:420px){
  .top-actions{gap:5px}.icon-button{padding:7px 8px}.logout-button{font-size:11px}
  .sim-presets{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.planner-settings{grid-template-columns:1fr}
  .view{padding-inline:13px}.breadcrumbs{padding-inline:13px}.page-title h1{font-size:28px}
}
