@charset "UTF-8";
/* Componentes compartilhados; a folha é carregada após os estilos legados.
   Estes seletores mantêm compatibilidade durante a migração de .btn/.button. */
body { font-size:1rem; background:var(--bg); }
html { scroll-padding-top:1rem; }
body :is(h1,h2,h3,h4) { color:var(--ink); text-wrap:balance; }
h1 { font-size:clamp(1.8rem,3.2vw,2.6rem); letter-spacing:-.04em; line-height:1.16; }
h2 { font-size:1.25rem; letter-spacing:-.02em; }
p { text-wrap:pretty; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.rail-toggle:focus-visible,.nav-branch > summary:focus-visible,.icon-pick:has(input:focus-visible) { outline:3px solid var(--focus); outline-offset:3px; }
[hidden] { display:none !important; }
.english-workspace { --learn-ink:var(--ink); --learn-muted:var(--muted); --learn-surface:var(--surface); --learn-surface-soft:var(--bg); --learn-line:var(--line); --learn-control-line:var(--control-line); --learn-accent:var(--accent); --learn-focus:var(--focus); --learn-success:var(--accent-ink); --learn-success-bg:var(--accent-bg); --learn-warning:var(--warn); --learn-warning-bg:var(--warn-bg); --learn-danger:var(--danger); --learn-danger-bg:var(--danger-bg); }
.english-workspace a:visited { color:var(--accent-ink); }
.page-head { margin:0 0 var(--space-6); gap:var(--space-5); align-items:center; }
.page-head h1 { margin:.25rem 0 .75rem; }
.page-head .lead { max-width:70ch; font-size:1.02rem; color:var(--muted); }
.eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--accent-ink); }
.card,.learning-card { border:1px solid var(--line); border-radius:var(--r-2); box-shadow:var(--sh-1); background:var(--surface); }
.learning-card { padding:clamp(1rem,2vw,1.75rem); margin:0 0 var(--space-5); }
.card-head { padding:1.15rem 1.5rem; border-bottom:1px solid var(--line-soft); }
.card-body { padding:clamp(1rem,2vw,1.75rem); }
.card,.learning-card,.field,.field-wide,.page-head-copy,.area-body,.main { min-width:0; }
.english-workspace :is(.btn,.button,.editorial-secondary),.btn,.button {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:44px; padding:.65rem 1rem; border-radius:var(--r-1); font:600 .875rem/1.4 var(--font);
  text-decoration:none; border:1px solid var(--line); cursor:pointer;
}
.english-workspace :is(.btn-primary,.button),.btn-primary,.button { background:var(--accent); border-color:var(--accent); color:var(--surface); }
.english-workspace :is(a.btn-primary,a.button):visited { color:var(--surface); }
.english-workspace :is(.btn-ghost,.editorial-secondary),.btn-ghost { background:var(--surface); color:var(--accent-ink); border-color:var(--line); }
.english-workspace :is(.btn-danger,.btn-danger-link),.btn-danger { color:var(--danger); border-color:var(--danger-line); background:var(--danger-bg); }
.btn:hover,.button:hover { filter:brightness(.96); text-decoration:none; }
.tag,.ui-status { display:inline-flex; align-items:center; gap:.35rem; font-size:.75rem; font-weight:600; padding:.25rem .65rem; border-radius:var(--r-full); line-height:1.5; border:1px solid var(--line); background:var(--bg); color:var(--muted); white-space:normal; }
.ui-status-success { color:var(--accent-ink); background:var(--accent-bg); border-color:var(--accent-line); }
.ui-status-warning { color:var(--warn); background:var(--warn-bg); border-color:var(--warn-line); }
.ui-status-danger { color:var(--danger); background:var(--danger-bg); border-color:var(--danger-line); }
.ui-status-info { color:var(--info); background:var(--info-bg); border-color:var(--info-line); }
.english-workspace :is(.note,.notice,.learning-alert),.note { border-radius:var(--r-1); border:1px solid var(--info-line); background:var(--info-bg); color:var(--ink-2); }
.english-workspace .note-warn,.note-warn { background:var(--warn-bg); border-color:var(--warn-line); color:var(--warn); }
.english-workspace .note-error,.note-error { background:var(--danger-bg); border-color:var(--danger-line); color:var(--danger); }
.english-workspace .note-ok,.note-ok { background:var(--accent-bg); border-color:var(--accent-line); color:var(--accent-ink); }
.english-workspace :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]),:is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) { border-color:var(--control-line); border-radius:var(--r-1); background:var(--surface); color:var(--ink); min-height:44px; max-width:100%; }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
textarea { resize:vertical; }
:is(input[type=checkbox],input[type=radio],progress) { accent-color:var(--accent); }
summary { min-height:44px; padding:.65rem .25rem; cursor:pointer; font-weight:600; }
pre,code,td,dd,li { overflow-wrap:anywhere; }
pre { white-space:pre-wrap; }
details > summary + * { margin-top:.75rem; }
.table-scroll { max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:var(--r-1); }
.table { margin:0; border-collapse:collapse; width:100%; }
.table :is(th,td) { padding:1rem; border-bottom:1px solid var(--line-soft); vertical-align:top; }
.table th { background:var(--bg); font-size:.75rem; color:var(--muted); text-align:left; }
.table tbody tr:last-child td { border-bottom:0; }
.table tbody tr:hover { background:var(--surface-sunken); }
.table td small { display:block; margin-top:.3rem; color:var(--muted); }
.table .row-title { font-weight:650; color:var(--ink); text-decoration:none; }
.table .row-title:hover { text-decoration:underline; }
.row-actions { display:flex; flex-wrap:wrap; gap:.4rem .75rem; min-width:8rem; }
.row-actions a { font-weight:600; font-size:.875rem; text-decoration:underline; text-underline-offset:.2em; }
.ui-filter { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; padding:1.2rem; }
.ui-filter .filter-field { flex:1 1 9rem; display:grid; gap:.4rem; }
.ui-filter .filter-search { flex:3 1 16rem; }
.ui-filter label { font-size:.8rem; color:var(--muted); font-weight:600; margin:0; }
.ui-filter :is(input,select) { width:100%; padding:.6rem; }
.ui-filter .filter-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.results-summary { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; margin:1rem 0; color:var(--muted); font-size:.875rem; }
.ui-pagination { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; margin-top:1.25rem; }
.ui-pagination p { margin:0; color:var(--muted); font-size:.875rem; }
.ui-pagination-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.ui-empty { text-align:center; padding:2rem 1rem; border:1px dashed var(--line); border-radius:var(--r-2); color:var(--muted); }
.ui-empty h2,.ui-empty h3 { margin:0 0 .5rem; }
.ui-section-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; margin:0 0 1rem; }
.ui-section-head h2 { margin:0; }
.metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr)); gap:1rem; margin:1.5rem 0; }
.metric { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-2); padding:1.25rem; }
.metric strong { display:block; font-size:1.8rem; letter-spacing:-.05em; }
.metric span { display:block; font-size:.8rem; color:var(--muted); }
.ui-worklist { padding:0; margin:0; list-style:none; }
.ui-workitem { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.1rem 0; border-bottom:1px solid var(--line-soft); }
.ui-workitem:last-child { border-bottom:0; }
.ui-workitem h3 { margin:0 0 .3rem; font-size:1rem; }
.ui-workitem p { margin:0; font-size:.875rem; color:var(--muted); }
.ui-count { font-size:1.3rem; font-weight:700; color:var(--accent); }
.content { margin:0 auto; max-width:var(--content-max); padding:2rem var(--pad-x) 4rem; container-type:inline-size; }
.area-shell { display:grid; grid-template-columns:13rem minmax(0,1fr); gap:2rem; }
.area-body { container-type:inline-size; }
.curation-sidebar { position:static; width:auto; padding:0; border:0; background:transparent; }
.english-curation .curation-shell { position:static; max-height:none; overflow:visible; padding:0; border:0; }
.curation-tree { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-2); padding:.75rem; }
.curation-tree .curation-link { min-height:44px; border-radius:var(--r-1); font-size:.875rem; }
.curation-tree .is-current { color:var(--accent-ink); background:var(--accent-bg); box-shadow:inset 3px 0 var(--accent); }
.curation-tree a.curation-link:hover { background:var(--bg); }
.curation-grid { gap:1rem; }
.curation-stat { border-radius:var(--r-2); border-color:var(--line); box-shadow:none; }
.curation-stat strong { color:var(--accent); }
.curation-stat.is-zero { opacity:1; background:var(--bg); }
.study-nav { display:flex; flex-wrap:wrap; gap:.35rem; border:1px solid var(--line); border-radius:var(--r-2); background:var(--surface); padding:.4rem; margin-bottom:.75rem; }
.study-nav .study-nav-item { flex:1 1 auto; text-align:center; min-height:44px; padding:.7rem 1rem; border-radius:var(--r-1); color:var(--muted); font-weight:600; font-size:.875rem; }
.study-nav .study-nav-item.is-current { color:var(--accent-ink); background:var(--accent-bg); }
.english-workspace .learning-practice-destinations li { padding:1rem; }
.english-workspace .workspace-strip .study-nav { margin-bottom:.75rem; }
.study-tools { margin-bottom:1.75rem; font-size:.875rem; }
.study-tools summary { color:var(--muted); }
.student-hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:1.5rem; margin-bottom:1.5rem; }
.student-next { background:var(--accent-bg); border:1px solid var(--accent-line); border-radius:var(--r-3); padding:clamp(1.25rem,3vw,2rem); }
.student-next h2 { font-size:1.65rem; margin:.5rem 0; }
.student-next .learning-action { padding:1rem 0; border-top:1px solid var(--accent-line); margin:1rem 0 0; }
.student-next .learning-action h3 { font-size:1.1rem; }
.student-next .learning-action p { font-size:.875rem; color:var(--muted); }
.learning-grid { gap:1.5rem; }
.import-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:1.25rem; margin:1.25rem 0; }
.import-grid>.learning-card { margin:0; display:flex; flex-direction:column; align-items:flex-start; }
.import-grid>.learning-card .btn { margin-top:auto; }
.learning-route { display:flex; flex-wrap:wrap; gap:.75rem 2rem; padding:1rem 1rem 1rem 2.5rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-2); }
.learning-schedule { list-style:none; padding:0; }
.learning-schedule li { padding:.75rem 0; border-bottom:1px solid var(--line-soft); }
.learning-schedule time { font-weight:700; color:var(--ink); }
.learning-practice-destinations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; list-style:none; padding:0; }
.learning-practice-destinations li { padding:1rem; background:var(--bg); border:1px solid var(--line); border-radius:var(--r-1); }
.learning-practice-destinations a { font-weight:650; }
.unit-row,.activity-row { padding:1.25rem 0; border-color:var(--line-soft); gap:1rem; }
.unit-row h3,.activity-row h3 { margin:0 0 .3rem; }
.unit-row p { font-size:.9rem; }
.activity-step { color:var(--accent-ink); background:var(--accent-bg); border:1px solid var(--accent-line); }
.study-meter { width:100%; height:.65rem; border:0; border-radius:var(--r-full); }
.study-meter::-webkit-progress-bar { background:var(--line-soft); border-radius:var(--r-full); }
.study-meter::-webkit-progress-value { background:var(--accent); border-radius:var(--r-full); }
.study-meter::-moz-progress-bar { background:var(--accent); border-radius:var(--r-full); }
.activity-layout,.studio-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; align-items:start; }
.activity-layout .card { margin:0; }
.activity-task { grid-column:1; }
.activity-response { grid-column:2; }
.activity-response .quiz-item { border:1px solid var(--line); border-radius:var(--r-1); padding:1rem; margin-bottom:1.25rem; }
.activity-response .field-check { padding:.75rem; border-radius:var(--r-1); background:var(--bg); min-height:44px; }
.activity-response .field-check:has(input:checked) { background:var(--accent-bg); outline:1px solid var(--accent-line); }
.activity-layout blockquote { margin:1rem 0; padding:1rem; background:var(--bg); border-left:3px solid var(--accent-line); line-height:1.8; }
.activity-jump { display:flex; flex-wrap:wrap; gap:.75rem; margin:0 0 1.25rem; }
.activity-history { margin-top:1.5rem; }
.word-count { color:var(--muted); font-size:.8rem; margin:.35rem 0 .75rem; }
.studio-layout { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
.studio-layout > * { min-width:0; }
.studio-summary { padding:1.25rem; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-2); }
.studio-summary h2 { margin:0 0 1rem; }
.studio-summary dl { margin:0; }
.studio-summary dt { color:var(--muted); font-size:.8rem; margin-top:.75rem; }
.studio-summary dd { margin:.2rem 0 .75rem; }
.studio-section { border:1px solid var(--line); border-radius:var(--r-2); background:var(--surface); padding:1rem 1.25rem; margin-bottom:1rem; }
.studio-section > summary { font-size:1rem; }
.studio-section .learning-card { border:0; box-shadow:none; padding:1rem 0; }
.studio-layout .learning-form { margin:0; }
.studio-actions { display:flex; flex-wrap:wrap; gap:.75rem; padding:1rem 0; }
.ui-unsaved { font-size:.8rem; color:var(--warn); }
.studio-technical { margin-top:1.5rem; }
.public-shell { background:var(--surface-sunken); }
.public-topbar { background:var(--surface); }
.auth-shell { background:var(--bg); }
.auth-aside :is(.auth-points,.auth-foot),.auth-aside .brand-text small { color:var(--c-300); }
.admin-workspace .admin-navigation { border-color:var(--line); background:var(--surface); }
@media (max-width:1100px) {
  .activity-layout,.studio-layout { grid-template-columns:1fr; }
  .activity-task,.activity-response { grid-column:auto; }
  .area-shell { grid-template-columns:11.5rem minmax(0,1fr); gap:1.25rem; }
}
@media (max-width:760px) {
  .content { padding:1.5rem 1rem 3rem; }
  .area-shell,.student-hero,.learning-practice-destinations { grid-template-columns:1fr; }
  .curation-sidebar { margin-bottom:0; }
  .curation-menu > summary { display:flex; }
  .curation-tree { display:flex; flex-wrap:wrap; gap:.35rem; }
  .curation-tree > * { flex:1 1 10rem; }
  .english-workspace .workspace-strip .study-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; flex-wrap:wrap; padding:.4rem; }
  .english-workspace .workspace-strip .study-nav > .study-nav-item { width:100%; min-width:0; justify-content:center; padding:.6rem .25rem; font-size:.8rem; white-space:normal; }
  .page-head { flex-direction:column; align-items:stretch; }
  .page-head-actions { justify-content:flex-start; }
  .ui-workitem { align-items:start; flex-wrap:wrap; gap:.75rem; }
  .ui-workitem > div { flex:1 1 12rem; }
  .ui-filter .filter-actions { width:100%; }
  .responsive-table :is(thead) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .responsive-table :is(table,tbody,tr,td) { display:block; width:100%; }
  .responsive-table tr { padding:1rem; border-bottom:1px solid var(--line); }
  .responsive-table td { padding:.3rem 0; border:0; }
  .responsive-table td[data-label]::before { content:attr(data-label) ': '; color:var(--muted); font-size:.8rem; margin-right:.4rem; }
  .responsive-table .row-actions { margin-top:.6rem; }
  .unit-row,.activity-row { flex-wrap:wrap; }
  .unit-row-go,.activity-row-go { margin-left:auto; }
  .student-next h2 { font-size:1.4rem; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media print { .shell { display:block; } .rail,.topbar,.study-nav,.study-tools,.curation-sidebar,.ui-filter,.ui-pagination { display:none; } .area-shell,.activity-layout,.studio-layout { display:block; } .content { padding:0; } }
@media (forced-colors:active) { :is(.rail-toggle,.nav-branch > summary):focus-visible,.icon-pick:has(input:focus-visible) { outline-color:Highlight; } }

@container (max-width:850px) {
  .activity-layout,.studio-layout { grid-template-columns:1fr; }
  .activity-task,.activity-response { grid-column:auto; }
}
@container (max-width:700px) { .area-shell { grid-template-columns:1fr; } }
