/*
 * Premium Theme 4.0 — camada modular e reversível
 * Apenas apresentação: não altera banco, permissões, licenças ou regras PHP.
 */
:root{
  --brand-primary:#1f2b51;
  --brand-secondary:#f26b21;
  --navy-900:#0f1a38;
  --navy-800:#172344;
  --navy-700:#1f2b51;
  --navy-600:#33456b;
  --plum:#463143;
  --ember-500:#f26b21;
  --ember-600:#db5815;
  --cream:#fff4ea;
  --bg:#f0f0f2;
  --surface-2:#f8f9fc;
  --text:#28324f;
  --muted:#69728a;
  --r:16px;
  --r-lg:20px;
  --r-xl:24px;
  --sh-2:0 12px 30px rgba(15,26,56,.08);
  --sh-3:0 20px 48px rgba(15,26,56,.16);
}

body{background:linear-gradient(180deg,#f7f8fb 0,#f0f0f2 420px);overflow-x:hidden}
.top{background:rgba(15,26,56,.97);border-bottom:1px solid rgba(255,255,255,.09)}
.brand-copy strong{color:var(--cream)}
.brand-copy small,.top-user{color:#aeb5c6}
.top nav>a{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#fff}
.top nav>a:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.24);color:#fff}
.brand-logo{background:rgba(255,255,255,.96)}
.navstrip{background:rgba(255,255,255,.96)}
.navstrip a.active{background:var(--brand-primary);border-color:var(--brand-primary)}
.wrap{margin-top:24px}

.btn{min-height:44px;background:var(--brand-secondary);box-shadow:0 8px 18px rgba(242,107,33,.22)}
.btn:hover{background:#db5815;box-shadow:0 10px 22px rgba(242,107,33,.28)}
.btn.sec{background:#fff}
.btn.ghost{background:rgba(255,255,255,.08)}
.card,.form,.question,.list-item,.stat,.metric-card,.dash-card,.quick-card,.theme-preview{box-shadow:0 1px 2px rgba(15,26,56,.03)}

/* Home do aluno */
.student-hero{
  min-height:310px;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);
  align-items:stretch;padding:clamp(26px,3vw,38px);
  background:linear-gradient(118deg,#0f1a38 0%,#1f2b51 56%,#463143 100%);
}
.student-hero h1{font-size:clamp(30px,4vw,46px)}
.student-hero .lead{max-width:650px}
.hero-context{display:grid;align-content:center;gap:16px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.06)}
.hero-context-label{color:#aeb5c6;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.hero-context strong{display:block;color:#fff4ea;font-size:17px}
.hero-context dl{display:grid;gap:11px;margin:0}
.hero-context dl div{display:flex;justify-content:space-between;gap:16px;padding-top:11px;border-top:1px solid rgba(255,255,255,.1)}
.hero-context dt{color:#aeb5c6;font-size:12px}.hero-context dd{margin:0;color:#fff;font-size:12px;font-weight:700;text-align:right}
.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.metric-card{min-height:96px;padding:16px 17px;border-color:rgba(31,43,81,.1)}
.metric-card strong{margin:9px 0 5px;font-size:27px;color:#1f2b51}
.learning-list{display:grid;gap:11px}
.learning-row{
  display:grid;grid-template-columns:48px minmax(0,1fr) minmax(180px,.42fr) auto;
  align-items:center;gap:16px;min-height:100px;padding:17px 18px;
  border:1px solid #e0e4ed;border-radius:16px;background:#fff;text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.learning-row:hover{transform:translateY(-1px);border-color:#cbd2e1;box-shadow:var(--sh-2)}
.learning-row .module-icon{margin:0;background:#fff1e8;color:#db5815}
.learning-copy h3{margin:0 0 5px;font-size:16px;color:#172344}.learning-copy p{margin:0;color:#69728a;font-size:12.5px}
.learning-status{color:#69728a;font-size:12px}.learning-status strong{display:block;margin-top:3px;color:#1f2b51;font-size:14px}
.learning-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;background:var(--brand-secondary);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}

/* Cabeçalhos, indicadores e filtros compactos */
.module-head{margin-bottom:16px}.module-head h1{font-size:clamp(28px,3.4vw,40px)}
.stats{grid-template-columns:repeat(3,minmax(0,180px));gap:10px}
.stat{padding:15px 17px}.stat strong{font-size:25px}
.filters{display:flex;align-items:end;gap:10px;overflow-x:auto;padding-bottom:2px}.filters .field{min-width:230px;flex:1 1 250px}
.filters .field select{min-height:44px}

/* Questões e simulados */
.question{max-width:980px;padding:26px 30px;border-color:#dde2ec;box-shadow:0 12px 32px rgba(15,26,56,.07)}
.question h2{color:#33456b}.question>div{font-size:16px}
.alt{min-height:56px;border-radius:13px}.alt:hover{border-color:#8c99b5;background:#f8f9fc}
.alt:has(input:checked){border-color:var(--brand-secondary);background:#fff4ed;box-shadow:0 0 0 3px rgba(242,107,33,.13)}
.question-explanation{margin-top:14px;border-left:4px solid #33456b}
.question-tip{border-left:4px solid var(--brand-secondary)!important}
.sim-toolbar{position:sticky;top:132px;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:12px 15px;border:1px solid #dfe3ec;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(15,26,56,.07)}
.sim-toolbar .progress{flex:1;margin:0}.sim-toolbar-meta{display:flex;gap:14px;color:#33456b;font-size:12px;font-weight:700;white-space:nowrap}
.sim-question[hidden]{display:none}.sim-nav{display:flex;justify-content:space-between;gap:10px;max-width:980px;margin-top:14px}
.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.result-card{padding:17px;border:1px solid #e0e4ed;border-radius:14px;background:#fff}.result-card small{display:block;color:#69728a;font-size:10px;font-weight:700;text-transform:uppercase}.result-card strong{display:block;margin-top:7px;color:#1f2b51;font-size:24px}

/* Listas horizontais: trilhas, simulados e redação */
.list{display:grid;gap:11px}.list-item{padding:17px 18px;border-color:#e0e4ed}
.list-item>.module-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:0}
.progress>span{background:linear-gradient(90deg,var(--brand-secondary),#ff914f);transition:width .5s ease}
.proposal-list{display:grid;gap:12px;margin-top:18px}
.proposal-row{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(260px,.55fr);gap:18px;align-items:start;padding:18px;border:1px solid #e0e4ed;border-radius:16px;background:#fff}
.proposal-year{display:grid;place-items:center;min-height:54px;border-radius:13px;background:#1f2b51;color:#fff4ea;font-size:14px;font-weight:800}
.proposal-copy h3{margin:0 0 7px;color:#172344;font-size:16px}.proposal-copy p{margin:4px 0;color:#69728a;font-size:12.5px}
.proposal-actions{display:grid;gap:10px}.proposal-links{display:flex;gap:8px;flex-wrap:wrap}
.dropzone{position:relative;display:grid;place-items:center;min-height:112px;padding:15px;border:1.5px dashed #9ba6bc;border-radius:14px;background:#f8f9fc;text-align:center;transition:border-color .16s ease,background .16s ease}
.dropzone:hover,.dropzone.is-dragging{border-color:var(--brand-secondary);background:#fff4ed}.dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.dropzone strong{display:block;color:#1f2b51;font-size:13px}.dropzone span{display:block;margin-top:4px;color:#69728a;font-size:11px}.dropzone .file-name{color:#db5815;font-weight:700;word-break:break-word}
.upload-form{display:grid;gap:10px}.upload-form .btn{width:100%}

/* Painel do preparatório */
.tenant-hero{background:linear-gradient(118deg,#0f1a38,#1f2b51 60%,#463143);padding:28px}
.dash-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dash-card{min-height:98px;padding:16px}.dash-card strong{font-size:27px;color:#1f2b51}
.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.quick-card{min-height:118px;padding:17px}
.operation-chart{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding:18px;border:1px solid #e0e4ed;border-radius:16px;background:#fff}
.operation-bar label{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;color:#69728a;font-size:11px}.operation-bar .progress{margin:0}

@media (min-width:1100px){
  .navstrip{background:#0f1a38;border-right-color:rgba(255,255,255,.08)}
  .navstrip a{color:#aeb5c6}.navstrip a:hover{background:#1f2b51}.navstrip a.active{background:#33456b}
}
@media (max-width:1099px){
  .student-hero{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .learning-row{grid-template-columns:48px minmax(0,1fr) auto}.learning-status{display:none}
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:768px){
  .student-hero{min-height:0;padding:24px 20px}.hero-context{padding:17px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .learning-row{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px}.learning-action{grid-column:1/-1;width:100%}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{display:grid;grid-template-columns:1fr;overflow:visible}.filters .field{min-width:0}
  .question{padding:20px 17px}.sim-toolbar{top:116px;align-items:stretch;flex-direction:column}.sim-toolbar-meta{justify-content:space-between}
  .result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-nav{position:sticky;bottom:8px;padding:8px;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:var(--sh-2)}
  .proposal-row{grid-template-columns:58px minmax(0,1fr)}.proposal-actions{grid-column:1/-1}.proposal-year{min-height:48px}
  .list-item>.module-head{grid-template-columns:1fr}.list-item>.module-head>div:last-child{margin-top:13px}.list-item .btn{width:100%}
  .dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:1fr}.operation-chart{grid-template-columns:1fr}
}
@media (max-width:430px){
  .metric-grid,.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card,.dash-card{padding:13px}.metric-card strong,.dash-card strong{font-size:23px}
  .stats{grid-template-columns:1fr}.stat{display:flex;align-items:center;justify-content:space-between}.stat strong{margin:0}
  .proposal-row{grid-template-columns:1fr}.proposal-year{width:64px}.proposal-actions{grid-column:auto}.result-grid{grid-template-columns:1fr 1fr}
}
