:root {
  --brand-primary-900:#04313f; --brand-primary-800:#043e51; --brand-primary-700:#06495e;
  --brand-primary-600:#07536b; --brand-primary-500:#17677d; --brand-primary-400:#4a8595;
  --brand-primary-300:#82aab5; --brand-primary-200:#b5cfd6; --brand-primary-100:#dcebf0;
  --brand-primary-50:#f1f7f8; --brand-accent-700:#a63800; --brand-accent-600:#b83e00;
  --brand-accent-500:#d84a00; --brand-accent-400:#e96523; --brand-accent-200:#f6b493;
  --brand-accent-100:#fbd8c6; --brand-accent-50:#fff0e8;
  --color-background:#f7f9fa; --color-surface:#fff; --color-text-primary:#17212b;
  --color-text-secondary:#68737d; --color-border:#dce3e7; --color-success:#2e7d5b;
  --color-warning:#b7791f; --color-danger:#c43d3d;
  --color-action-primary:var(--brand-accent-500); --color-action-primary-hover:var(--brand-accent-600);
  --color-action-secondary:var(--brand-primary-600); --color-nav-bg:var(--brand-primary-800);
  --color-nav-active:var(--brand-primary-50); --color-focus:var(--brand-primary-400);
  --color-surface-muted:var(--brand-primary-50);
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-6:24px; --space-8:32px; --space-12:48px; --space-16:64px;
  --radius-sm:6px; --radius-standard:10px; --radius-card:12px; --radius-large:16px; --radius-pill:999px;
  --shadow-subtle:0 4px 16px rgba(4,62,81,.06); --shadow-overlay:0 18px 48px rgba(4,49,63,.16);
  --next-bg:var(--color-background); --next-surface:var(--color-surface); --next-surface-soft:var(--color-surface-muted);
  --next-text:var(--color-text-primary); --next-muted:var(--color-text-secondary); --next-primary:var(--brand-primary-600);
  --next-primary-hover:var(--brand-primary-800); --next-accent:var(--brand-accent-500); --next-border:var(--color-border);
  --next-danger:var(--color-danger); --next-success:var(--color-success); --next-warning:var(--color-warning);
  --next-radius-sm:var(--radius-sm); --next-radius:var(--radius-card); --next-radius-lg:var(--radius-large);
  --next-shadow:var(--shadow-subtle);
  --primary:var(--brand-primary-600); --primary-dark:var(--brand-primary-800); --bg:var(--color-background); --card:var(--color-surface);
  --text:var(--color-text-primary); --muted:var(--color-text-secondary); --success:var(--color-success); --danger:var(--color-danger);
  --warning:var(--color-warning); --border:var(--color-border);
}
* { box-sizing:border-box; }
html { color-scheme:light; }
body.next-app { margin:0; min-height:100vh; background:var(--next-bg); color:var(--next-text); font-family:Inter,"Segoe UI",system-ui,sans-serif; font-size:15px; font-weight:400; line-height:1.55; }
body.next-app::before { content:""; position:fixed; inset:0; pointer-events:none; background:linear-gradient(180deg,var(--brand-primary-50),transparent 260px); opacity:.45; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(1.65rem,3vw,2.25rem); line-height:1.15; letter-spacing:-.035em; }
h2 { font-size:clamp(1.35rem,2vw,1.75rem); line-height:1.2; letter-spacing:-.025em; }
h3 { font-size:1.02rem; line-height:1.3; }
.next-subtle { color:var(--next-muted); }
.next-eyebrow { display:block; margin-bottom:.35rem; color:var(--next-primary); font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }

/* Login */
.next-login { min-height:100vh; display:grid; place-items:center; padding:clamp(1rem,4vw,3rem); }
.next-login-layout { position:relative; display:grid; grid-template-columns:minmax(300px,1fr) minmax(340px,440px); width:min(980px,100%); min-height:600px; overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-large); background:var(--color-surface); box-shadow:var(--shadow-overlay); }
.next-login-intro { display:flex; flex-direction:column; justify-content:space-between; padding:clamp(2rem,5vw,4.25rem); color:#fff; background:var(--color-nav-bg); }
.next-login-intro .next-brand { color:#fff; }
.next-login-intro .next-brand-mark { color:var(--brand-primary-800); background:#fff; }
.next-login-intro .next-brand small,.next-login-intro>small,.next-login-intro p { color:var(--brand-primary-100); }
.next-login-intro .next-eyebrow { color:var(--brand-primary-200); }
.next-login-intro h2 { max-width:470px; margin:.6rem 0 1rem; font-size:clamp(1.8rem,3.6vw,3.1rem); line-height:1.08; letter-spacing:-.045em; }
.next-login-card { align-self:center; width:100%; padding:clamp(2rem,5vw,3.5rem); border:0!important; box-shadow:none!important; }
.next-login-card h1 { margin:.25rem 0 .6rem; }
.next-login-help { margin:-.35rem 0 .65rem; color:var(--next-muted); font-size:.82rem; }
.next-btn-block { width:100%; justify-content:center; }

/* App shell */
.next-shell { position:relative; min-height:100vh; display:grid; grid-template-columns:218px minmax(0,1fr); }
.next-sidebar { position:sticky; top:0; height:100vh; z-index:20; display:flex; flex-direction:column; gap:var(--space-8); padding:var(--space-6) var(--space-4); color:var(--brand-primary-100); background:var(--color-nav-bg); }
.next-brand { display:flex; align-items:center; gap:.72rem; min-width:0; color:inherit; }
.next-brand-logo { display:block; max-width:100%; height:auto; object-fit:contain; object-position:left center; }
.next-brand-logo--full { width:178px; }
.next-brand-logo--compact { display:none; width:44px; }
.next-login-intro .next-brand-logo--full { width:min(286px,100%); }
.next-brand-mark { flex:0 0 auto; display:grid; place-items:center; width:40px; height:40px; border-radius:var(--radius-standard); color:var(--brand-primary-800); background:#fff; font-size:.78rem; font-weight:700; letter-spacing:.04em; }
.next-brand>span:last-child { min-width:0; display:grid; line-height:1.2; }
.next-brand strong { overflow:hidden; font-size:.9rem; text-overflow:ellipsis; white-space:nowrap; }
.next-brand small { margin-top:.2rem; color:var(--brand-primary-200); font-size:.68rem; font-weight:500; }
.next-nav { display:grid; gap:.3rem; }
.next-nav button { display:flex; align-items:center; gap:.75rem; min-height:44px; padding:.65rem .75rem; border:0; border-radius:var(--radius-standard); color:var(--brand-primary-200); background:transparent; font:inherit; font-size:.89rem; font-weight:500; text-align:left; cursor:pointer; transition:background .18s,color .18s,transform .18s; }
.next-nav button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.next-nav button:hover { color:#fff; background:rgba(255,255,255,.075); }
.next-nav button.active { color:var(--brand-primary-900); background:var(--color-nav-active); box-shadow:none; }
.next-nav button:active { transform:translateY(1px); }
.next-nav button:disabled { opacity:.42; cursor:not-allowed; }
.next-sidebar-footer { display:grid; gap:.65rem; margin-top:auto; padding-top:1rem; border-top:1px solid rgba(255,255,255,.12); }
.next-role-label { color:var(--brand-primary-200); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.next-sidebar .next-btn { color:#fff; border-color:rgba(255,255,255,.24); background:transparent; }
.next-main { min-width:0; padding:clamp(1.25rem,3.5vw,3rem) clamp(1rem,4vw,4rem); }
.next-main>section { max-width:1320px; margin:0 auto; }
.next-top { max-width:1320px; display:flex; align-items:flex-start; gap:1rem; margin:0 auto 2rem; padding-bottom:1.15rem; border-bottom:1px solid var(--next-border); }
.next-top h1 { margin:0 0 .25rem; }
.next-top p { margin:0; }
.next-menu-toggle { display:none; width:42px; height:42px; padding:10px; border:1px solid var(--next-border); border-radius:10px; background:#fff; }
.next-menu-toggle span { display:block; height:2px; margin:4px 0; border-radius:2px; background:var(--next-text); }

/* Components */
.next-card { background:var(--next-surface); border:1px solid var(--next-border); border-radius:var(--next-radius); box-shadow:var(--next-shadow); padding:1.35rem; }
.next-card:is(button,a,[role="button"],[tabindex]):hover,.next-lesson-card:hover,.next-material-card:hover { border-color:var(--brand-primary-300); }
.next-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.next-btn { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:40px; padding:.62rem .92rem; border:1px solid var(--brand-primary-200); border-radius:var(--radius-standard); color:var(--brand-primary-700); background:var(--color-surface); font:inherit; font-size:.88rem; font-weight:600; cursor:pointer; transition:background .18s,border .18s,transform .18s,box-shadow .18s; }
.next-btn:hover:not(:disabled) { border-color:var(--brand-primary-300); background:var(--brand-primary-50); transform:translateY(-1px); }
.next-btn.primary { border-color:var(--color-action-primary); color:#fff; background:var(--color-action-primary); box-shadow:none; }
.next-btn.primary:hover:not(:disabled) { border-color:var(--color-action-primary-hover); background:var(--color-action-primary-hover); }
.next-btn.ghost { background:transparent; }
.next-btn.compact { min-height:34px; padding:.43rem .68rem; font-size:.81rem; }
.next-btn.danger { border-color:#ecd4d1; color:var(--next-danger); background:#fbf1f0; }
.next-btn:disabled { opacity:.48; cursor:not-allowed; }
.next-btn:focus-visible,.next-menu-toggle:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.next-nav button:focus-visible { outline:3px solid rgba(74,133,149,.35); outline-offset:2px; }
.next-link-btn { width:max-content; text-decoration:none; }
.next-text-button { width:max-content; padding:0; border:0; color:var(--next-primary); background:transparent; font:inherit; font-size:.86rem; font-weight:600; cursor:pointer; }
.next-text-button:hover { text-decoration:underline; }
.next-field { display:grid; gap:.42rem; margin:1rem 0; }
.next-field label { color:var(--next-text); font-size:.84rem; font-weight:600; }
.next-field input,.next-field select,.next-field textarea,.next-toolbar input,.next-toolbar select { width:100%; min-height:43px; padding:.67rem .78rem; border:1px solid var(--next-border); border-radius:var(--radius-standard); color:inherit; background:var(--color-surface); font:inherit; transition:border .18s,box-shadow .18s; }
.next-field input::placeholder,.next-field textarea::placeholder,.next-toolbar input::placeholder { color:var(--color-text-secondary); opacity:.8; }
.next-field textarea { min-height:105px; resize:vertical; }
.next-field input:focus,.next-field select:focus,.next-field textarea:focus,.next-toolbar input:focus,.next-toolbar select:focus { border-color:var(--color-focus); box-shadow:0 0 0 3px rgba(74,133,149,.15); outline:0; }
.next-field small { color:var(--next-muted); line-height:1.4; }
.next-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.1rem; }
.next-form-grid .wide { grid-column:1/-1; }
.next-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.next-actions-inline { justify-content:flex-start; margin:0; }
.next-inline { display:flex; gap:.5rem; }
.next-inline input { min-width:0; }
.next-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.next-section-head h2,.next-dialog-head h2 { margin:0 0 .3rem; }
.next-toolbar { display:flex; flex-wrap:wrap; gap:.65rem; margin-bottom:1rem; padding:.7rem; border:1px solid var(--next-border); border-radius:12px; background:rgba(255,255,255,.65); }
.next-toolbar input,.next-toolbar select { flex:1 1 170px; }
.next-badge { display:inline-flex; align-items:center; border-radius:var(--radius-pill); padding:.22rem .52rem; color:var(--color-text-secondary); background:#eef2f4; font-size:.72rem; font-weight:600; }
.next-badge.active,.next-badge.paid,.next-badge.completed,.next-badge.published { color:#1f624d; background:#e7f3ed; }
.next-badge.pending,.next-badge.paused,.next-badge.started,.next-badge.draft { color:#885a19; background:#faf0dd; }
.next-badge.inactive,.next-badge.cancelled,.next-badge.archived,.next-badge.new { color:#59635f; background:#edf0ed; margin-left:.25rem; }
.next-badge.overdue { color:#93372f; background:#f9e9e7; }
.next-badge.exempt { color:#685183; background:#f0ebf5; }
.next-alert,.next-notice { padding:.82rem 1rem; margin-bottom:1rem; border:1px solid #cfe0d6; border-radius:10px; color:var(--next-success); background:#edf6f1; }
.next-alert.error { border-color:#ecd4d1; color:var(--next-danger); background:#fbf1f0; }
.next-alert.warning { border-color:#ead9ba; color:var(--next-warning); background:#fbf4e7; }
.next-message { min-height:1.25rem; margin:.7rem 0; font-size:.86rem; }
.next-message.error,.next-error { color:var(--next-danger); }
.next-message.success { color:var(--next-success); }
.progress-track { border-color:var(--next-border); background:#eef2f4; }
.progress-bar { background:var(--brand-primary-600); }

/* Dashboards */
.next-dashboard-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:1.2rem; padding:1.6rem; border:1px solid #d5dfd4; border-radius:var(--next-radius-lg); background:#eef3eb; }
.next-dashboard-hero h2 { max-width:560px; margin:.25rem 0 .5rem; }
.next-dashboard-hero p { margin:0; color:var(--next-muted); }
.next-quick-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem; }
.next-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-bottom:1rem; }
.next-stat-card { padding:1.15rem; border:1px solid var(--next-border); border-radius:13px; background:#fff; }
.next-stat-card span,.next-stat-card small { display:block; color:var(--next-muted); font-size:.78rem; }
.next-stat-card strong { display:block; margin:.25rem 0 .1rem; font-size:1.8rem; line-height:1; letter-spacing:-.04em; }
.next-stat-card.alert strong { color:var(--next-danger); }
.next-dashboard-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.next-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.next-card-head h3 { margin:0; }
.next-dashboard-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.next-dashboard-list li { display:flex; align-items:center; gap:.75rem; padding:.75rem 0; border-top:1px solid #edf0ed; }
.next-dashboard-list li:first-child { border-top:0; }
.next-dashboard-list li div { min-width:0; display:grid; }
.next-dashboard-list strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.next-dashboard-list small { color:var(--next-muted); }
.next-list-icon { flex:0 0 auto; display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:#315a4e; background:#e6eee3; font-size:.76rem; font-weight:900; }
.next-list-icon.lesson { color:#5d5334; background:#f1eddf; }
.student-page-intro { max-width:700px; margin-bottom:1.6rem; }
.student-page-intro h2 { margin:.2rem 0 .5rem; color:var(--brand-primary-900); font-size:clamp(1.55rem,3vw,2.15rem); }
.student-page-intro p { max-width:640px; margin:0; color:var(--next-muted); }
.student-home-intro { margin-bottom:1.35rem; }
.student-dashboard { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(240px,.72fr); gap:1rem; margin-bottom:2.25rem; }
.next-study-card { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; min-height:228px; padding:clamp(1.5rem,4vw,2.35rem); border:1px solid var(--brand-primary-700); border-radius:var(--next-radius-lg); color:#fff; background:var(--brand-primary-800); box-shadow:var(--shadow-subtle); }
.next-study-card .next-eyebrow { color:var(--brand-primary-200); }
.next-study-card h2 { max-width:620px; margin:.35rem 0 .5rem; font-size:clamp(1.55rem,3vw,2.25rem); }
.next-study-card p,.next-study-card small { color:var(--brand-primary-100); }
.next-study-card .progress-track { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.12); }
.next-study-card .progress-bar { background:var(--brand-accent-400); }
.next-study-card .next-btn.primary { flex:0 0 auto; color:#fff; border-color:var(--brand-accent-500); background:var(--brand-accent-500); box-shadow:none; }
.next-study-card .next-btn.primary:hover:not(:disabled) { border-color:var(--brand-accent-600); background:var(--brand-accent-600); }
.student-study-progress { max-width:460px; margin-top:1.1rem; }
.student-study-progress .progress-track { margin-bottom:.35rem; }
.student-dashboard-side { display:grid; gap:1rem; }
.next-summary-card { display:flex; flex-direction:column; min-height:228px; padding:1.5rem; }
.next-summary-card>strong { margin:.7rem 0 .25rem; color:var(--brand-primary-800); font-size:2.4rem; line-height:1; letter-spacing:-.05em; }
.next-summary-card p { color:var(--next-muted); }
.next-summary-card .next-btn { align-self:flex-start; margin-top:auto; }
.student-summary-progress { height:4px; margin-top:auto; overflow:hidden; border-radius:var(--radius-pill); background:var(--brand-primary-100); }
.student-summary-progress span { display:block; height:100%; border-radius:inherit; background:var(--brand-primary-500); }
.student-home-section { margin-top:2rem; }
.student-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
.student-section-heading h3 { margin:0; color:var(--brand-primary-900); font-size:1.18rem; }
.student-featured-grid,.student-recent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.student-featured-card { border-left:3px solid var(--brand-accent-500); box-shadow:none; }
.student-featured-card h3 { color:var(--brand-primary-800); }
.student-featured-card p { margin-bottom:0; color:var(--next-muted); }
.student-recent-card { display:flex; flex-direction:column; justify-content:space-between; gap:1.25rem; min-height:160px; box-shadow:none; }
.student-recent-card h3 { margin:.45rem 0 0; color:var(--brand-primary-900); }
.student-recent-card .next-btn { align-self:flex-start; }

/* Tables */
.next-table-wrap { overflow:auto; padding:0; }
.next-table { width:100%; border-collapse:separate; border-spacing:0; }
.next-table th,.next-table td { padding:.82rem 1rem; border-bottom:1px solid #ebeeeb; text-align:left; white-space:nowrap; }
.next-table tbody tr:last-child td { border-bottom:0; }
.next-table tbody tr:hover { background:#fafbf9; }
.next-table td small { display:block; margin-top:.16rem; color:var(--next-muted); }
.next-table th { position:sticky; top:0; z-index:1; color:#718079; background:#fafbf9; font-size:.7rem; font-weight:800; letter-spacing:.075em; text-transform:uppercase; }
.archived-row { opacity:.62; }
.visual-overdue { color:var(--next-danger)!important; font-weight:750; }
.next-finance-summary { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1rem; }
.next-finance-summary span { padding:.52rem .75rem; border:1px solid var(--next-border); border-radius:999px; color:var(--next-muted); background:#fff; font-size:.8rem; }
.next-finance-summary strong { color:var(--next-text); }
.next-finance-summary .overdue strong { color:var(--next-danger); }

/* Administrative workspace — Checkpoint B2 */
.admin-workspace { min-width:0; }
.admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-section-head { margin-bottom:1.4rem; padding-bottom:1rem; border-bottom:1px solid var(--next-border); }
.admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-section-head h2 { color:var(--brand-primary-900); }
.admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-toolbar { gap:.75rem; padding:.85rem; background:var(--next-surface); box-shadow:none; }
.admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-table-wrap { border-color:var(--next-border); box-shadow:none; }
.admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-table th { color:var(--brand-primary-600); background:var(--brand-primary-50); }
.admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-table tbody tr:hover { background:#fbfcfd; }
.admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-actions-inline { align-items:center; flex-wrap:nowrap; }
.admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-actions-inline .next-btn { white-space:nowrap; }
.admin-dashboard-hero { align-items:center; padding:1.5rem; border-color:var(--brand-primary-200); background:var(--brand-primary-50); }
.admin-dashboard-hero h2 { color:var(--brand-primary-900); }
.admin-dashboard-hero .next-quick-actions { max-width:520px; }
.admin-workspace[data-admin-screen="dashboard"] .next-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-workspace[data-admin-screen="dashboard"] .next-stat-card { box-shadow:none; }
.admin-workspace[data-admin-screen="dashboard"] .next-stat-card strong { color:var(--brand-primary-800); }
.admin-workspace[data-admin-screen="dashboard"] .next-dashboard-columns .next-card { box-shadow:none; }
.admin-workspace[data-admin-screen="dashboard"] .next-list-icon { color:var(--brand-primary-700); background:var(--brand-primary-100); }
.admin-workspace[data-admin-screen="dashboard"] .next-list-icon.lesson { color:var(--brand-accent-700); background:var(--brand-accent-50); }
.admin-content-table td:first-child { min-width:250px; }
.admin-content-table td:last-child { min-width:500px; }
.admin-content-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .55rem; margin-top:.5rem; }
.admin-content-meta>span { color:var(--brand-primary-700); font-size:.68rem; font-weight:750; letter-spacing:.045em; text-transform:uppercase; }
.admin-content-meta>span:first-child { color:var(--brand-accent-700); }
.admin-content-meta>small { display:inline!important; margin:0!important; color:var(--next-muted); font-size:.72rem; }
.admin-row-actions { justify-content:flex-end; }
.admin-students-table td:first-child { min-width:220px; }
.admin-students-table td:nth-child(3) { max-width:220px; white-space:normal; }
.admin-level-label { color:var(--brand-primary-700); font-size:.76rem; font-weight:750; }
.admin-group-summary { color:var(--next-muted); font-size:.82rem; line-height:1.35; }
.admin-featured-label { color:var(--brand-accent-700)!important; font-weight:650; }
.admin-announcements-table td:first-child { min-width:260px; }
.admin-messages-table .admin-unread-row { background:var(--brand-primary-50); }
.admin-messages-table .admin-unread-row:hover { background:#eaf3f5!important; }
.admin-messages-table .admin-message-body { min-width:280px; max-width:480px; white-space:normal; line-height:1.45; }
.admin-category-label { color:var(--brand-primary-700); font-size:.76rem; font-weight:650; text-transform:capitalize; }
.admin-message-actions { display:flex; align-items:center; justify-content:flex-end; gap:.45rem; white-space:nowrap; }
.admin-settings-form { max-width:980px; padding:0; overflow:hidden; box-shadow:none; }
.admin-settings-section { display:grid; grid-template-columns:minmax(190px,.65fr) minmax(0,1.6fr); gap:2rem; padding:1.6rem; border-bottom:1px solid var(--next-border); }
.admin-settings-section:last-of-type { border-bottom:0; }
.admin-settings-heading h3 { margin:.1rem 0 .35rem; color:var(--brand-primary-900); }
.admin-settings-heading p { margin:0; color:var(--next-muted); font-size:.84rem; }
.admin-settings-section .next-field:first-child { margin-top:0; }
.admin-settings-actions { margin:0; padding:1rem 1.6rem; border-top:1px solid var(--next-border); background:var(--brand-primary-50); }

/* Materials, lessons and profile */
.next-material-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1rem; }
.next-material-card { display:flex; flex-direction:column; min-height:230px; }
.next-material-card h3 { margin:.9rem 0 .45rem; font-size:1.08rem; }
.next-material-card .next-actions,.next-material-card .next-link-btn { margin-top:auto; }
.next-material-type { display:flex; align-items:center; justify-content:space-between; gap:.7rem; }
.next-material-date { color:var(--next-muted); font-size:.82rem; }
.next-material-list { display:grid; gap:.6rem; margin-top:1rem; }
.next-material-list article { display:flex; align-items:center; gap:.75rem; }
.next-material-list article small { margin-right:auto; color:var(--next-muted); }
.next-lesson-group { margin-bottom:1.7rem; }
.next-lesson-group>h3 { margin-bottom:.85rem; padding-bottom:.55rem; border-bottom:1px solid var(--next-border); color:#465650; font-size:.88rem; letter-spacing:.04em; text-transform:uppercase; }
.next-lesson-card { display:flex; flex-direction:column; min-height:190px; }
.next-lesson-card h3 { margin:1rem 0; font-size:1.08rem; }
.next-lesson-module { float:right; color:var(--next-muted); font-size:.76rem; }
.next-lesson-card-foot { display:flex; align-items:flex-end; justify-content:space-between; gap:.8rem; margin-top:auto; }
.next-progress-inline { flex:1; min-width:90px; }
.next-progress-inline .progress-track { margin:0 0 .25rem; }
.next-progress-inline small { color:var(--next-muted); }
.student-catalog { min-width:0; }
.next-catalog-filters { display:grid; grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(145px,.75fr)) auto; align-items:end; gap:.75rem; margin-bottom:1rem; padding:1rem; background:var(--next-surface); box-shadow:none; }
.next-catalog-filters>label { min-width:0; }
.next-catalog-filters input,.next-catalog-filters select { min-width:0; }
.student-filter-label { display:block; margin-bottom:.35rem; color:var(--brand-primary-800); font-size:.74rem; font-weight:650; }
.student-favorites-filter { display:flex; align-items:center; gap:.5rem; min-height:43px; padding:0 .8rem; border:1px solid var(--next-border); border-radius:var(--radius-standard); color:var(--brand-primary-800); background:var(--brand-primary-50); font-size:.84rem; font-weight:600; white-space:nowrap; }
.student-favorites-filter input { flex:0 0 auto; width:16px; min-height:auto; height:16px; accent-color:var(--brand-primary-600); }
.student-tag-filters { margin-bottom:1.35rem; }
.student-tag-filters .next-chip-row { margin:.35rem 0 0; }
.student-tag-filters .next-chip { color:var(--brand-primary-700); cursor:pointer; }
.student-tag-filters .next-chip.active { color:#fff; background:var(--brand-primary-700); }
.student-results-head { display:flex; align-items:center; justify-content:space-between; margin:0 0 .75rem; }
.student-results-head p { margin:0; color:var(--next-muted); font-size:.84rem; }
.student-results-head strong { color:var(--brand-primary-800); }
.student-content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.student-content-card { min-height:270px; padding:1.3rem; box-shadow:none; transition:border-color .18s,box-shadow .18s,background .18s; }
.student-content-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:.8rem; }
.student-content-badges { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; }
.student-format-badge,.student-level-badge { display:inline-flex; align-items:center; min-height:24px; padding:.22rem .52rem; border-radius:var(--radius-pill); font-size:.68rem; font-weight:750; letter-spacing:.055em; line-height:1; text-transform:uppercase; }
.student-format-badge { color:var(--brand-accent-700); background:var(--brand-accent-50); }
.student-level-badge { color:var(--brand-primary-700); background:var(--brand-primary-100); }
.student-favorite { display:grid; place-items:center; flex:0 0 auto; width:40px; height:40px; margin:-.45rem -.45rem 0 0; padding:0; border:1px solid transparent; border-radius:50%; color:var(--next-muted); font-size:inherit; }
.student-favorite svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.student-favorite.active { color:var(--brand-accent-500); background:var(--brand-accent-50); }
.student-favorite.active svg { fill:currentColor; }
.student-favorite:focus-visible { outline:3px solid rgba(74,133,149,.35); outline-offset:2px; }
.student-content-main { margin:1rem 0 1.35rem; }
.student-content-card h3 { margin:0 0 .5rem; color:var(--brand-primary-900); font-size:1.1rem; line-height:1.38; }
.student-content-module { display:block; margin:0; color:var(--next-muted); font-size:.8rem; }
.student-card-tags { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; margin-top:.9rem; }
.student-card-tags span { color:var(--color-text-secondary); font-size:.75rem; }
.student-card-tags span:not(:last-of-type)::after { content:"·"; margin-left:.35rem; color:var(--brand-primary-300); }
.student-card-tags small { color:var(--next-muted); font-size:.72rem; }
.student-content-card .next-lesson-card-foot { align-items:center; padding-top:1rem; border-top:1px solid var(--next-border); }
.student-empty-state { color:var(--next-muted); box-shadow:none; }
.student-empty-state img { display:block; width:44px; height:44px; margin:0 auto 1rem; object-fit:contain; opacity:.72; }
.student-empty-state h3 { margin-bottom:.4rem; color:var(--brand-primary-800); }
.student-empty-state p { margin:0; }
.next-save-status { min-height:1.25rem; margin:.5rem 0; color:var(--next-muted); font-size:.8rem; }
.next-save-status.saving { color:var(--next-warning); }
.next-save-status.saved { color:var(--next-success); }
.next-save-status.error { color:var(--next-danger); }
.next-lesson-toolbar { max-width:920px; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 auto 1rem; }
.next-lesson-toolbar>div { display:flex; gap:.5rem; }
.lesson-reader { max-width:920px; margin:0 auto; padding:clamp(1.5rem,4.5vw,3.5rem); border-color:var(--brand-primary-100); box-shadow:0 10px 30px rgba(4,62,81,.055); }
.lesson-reader>h2 { max-width:760px; margin:0; color:var(--brand-primary-900); font-size:clamp(1.75rem,3.8vw,2.65rem); font-weight:720; line-height:1.16; letter-spacing:-.025em; text-wrap:balance; }
.lesson-reader>.lesson-meta { margin:.65rem 0 1.6rem; color:var(--brand-primary-600); font-size:.78rem; font-weight:650; letter-spacing:.075em; text-transform:uppercase; }
.lesson-reader>.progress-track { height:7px; margin:0; border:0; background:var(--brand-primary-100); }
.lesson-reader>.progress-track .progress-bar { border-radius:inherit; background:var(--brand-primary-600); }
.lesson-reader>.next-save-status { margin:.55rem 0 1.65rem; text-align:right; }
.lesson-reader>[data-lesson-theory] { padding:clamp(1.2rem,3vw,1.75rem); margin:0 0 2.5rem; border:1px solid var(--brand-primary-100); border-left:3px solid var(--brand-primary-500); border-radius:var(--radius-card); color:var(--color-text-primary); background:var(--brand-primary-50); font-size:1rem; line-height:1.78; }
.lesson-reader>[data-lesson-theory]>strong:first-child { display:inline-block; margin-bottom:.65rem; color:var(--brand-primary-800); font-size:.78rem; font-weight:700; letter-spacing:.065em; text-transform:uppercase; }
.lesson-reader>[data-lesson-theory]>strong:first-child+br { display:none; }
.lesson-reader>[data-lesson-theory] p { margin:0 0 1rem; }
.lesson-reader>[data-lesson-theory] p:last-child { margin-bottom:0; }
.lesson-reader>[data-lesson-theory] ul,.lesson-reader>[data-lesson-theory] ol { margin:.8rem 0 1rem; padding-left:1.45rem; }
.lesson-reader>[data-lesson-theory] li { margin:.35rem 0; padding-left:.2rem; }
.lesson-reader>[data-lesson-theory] strong,.lesson-reader>[data-lesson-theory] b { color:var(--brand-primary-900); font-weight:700; }
.lesson-reader>[data-lesson-theory] em,.lesson-reader>[data-lesson-theory] i { color:#3f5059; }
.lesson-reader>[data-lesson-theory] a { color:var(--brand-primary-700); font-weight:600; text-decoration:underline; text-decoration-color:var(--brand-primary-300); text-decoration-thickness:1px; text-underline-offset:3px; }
.lesson-reader>[data-lesson-theory] a:hover { color:var(--brand-primary-900); text-decoration-color:currentColor; }
.lesson-reader>[data-lesson-theory] a:focus-visible { border-radius:3px; outline:3px solid rgba(74,133,149,.3); outline-offset:3px; }
.lesson-reader>[data-lesson-exercises] { margin-top:.25rem; }
.lesson-reader>.next-actions { margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--next-border); }
.exercise-item { padding:clamp(1rem,3vw,1.45rem); margin-bottom:1rem; border:1px solid var(--next-border); border-radius:13px; box-shadow:none; }
.exercise-title { color:var(--next-text); }
.opt-btn,.match-item,.text-answer { border-width:1px; border-color:var(--next-border); background:#fafbf9; }
.opt-btn:hover,.match-item:hover { border-color:#8aaa9d; background:#f0f5f1; color:var(--next-primary); }
.opt-btn.selected { border-color:var(--next-primary); background:var(--next-primary); }
.btn-check { box-shadow:none; background:var(--next-primary); }
.feedback { border:1px solid transparent; border-radius:9px; font-weight:650; }
.feedback.correct { border-color:#cce0d6; color:#215e4a; background:#edf6f1; }
.feedback.incorrect { border-color:#ecd4d1; color:#92362f; background:#fbf1f0; }
.feedback.info { border-color:#ead9ba; color:#815719; background:#fbf4e7; }
.media-frame,.media-image { border-color:var(--next-border); border-radius:12px; box-shadow:none; }
.lesson-reader>[data-lesson-exercises] { display:grid; gap:1.25rem; }
.lesson-reader .exercise-item { margin:0; padding:clamp(1.15rem,3vw,1.65rem); border-color:var(--brand-primary-100); border-radius:var(--radius-card); background:var(--color-surface); }
.lesson-reader .exercise-title { margin:0 0 1.15rem; color:var(--brand-primary-900); font-size:1.04rem; font-weight:680; line-height:1.5; }
.lesson-reader .options-grid { gap:.65rem; }
.lesson-reader .opt-btn,.lesson-reader .match-item { min-height:48px; padding:.78rem .9rem; border:1px solid var(--next-border); border-radius:var(--radius-standard); color:var(--color-text-primary); background:#fff; font-weight:580; line-height:1.45; box-shadow:none; transition:border-color .16s,background .16s,color .16s,box-shadow .16s; }
.lesson-reader .opt-btn.selected { border-color:var(--brand-primary-500); color:var(--brand-primary-900); background:var(--brand-primary-50); box-shadow:inset 3px 0 0 var(--brand-primary-600); }
.lesson-reader .opt-btn:focus-visible,.lesson-reader .match-item:focus-visible,.lesson-reader .text-answer:focus-visible,.lesson-reader .btn-check:focus-visible { outline:3px solid rgba(74,133,149,.3); outline-offset:2px; }
.lesson-reader .text-answer { min-height:48px; padding:.8rem .9rem; border:1px solid var(--next-border); border-radius:var(--radius-standard); color:var(--color-text-primary); background:#fff; line-height:1.55; box-shadow:inset 0 1px 2px rgba(4,62,81,.035); transition:border-color .16s,box-shadow .16s; }
.lesson-reader textarea.text-answer { min-height:132px; }
.lesson-reader .text-answer:focus { border-color:var(--brand-primary-500); box-shadow:0 0 0 3px rgba(74,133,149,.14); }
.lesson-reader .btn-check { min-height:44px; margin-top:.9rem; padding:.7rem 1.1rem; border:1px solid var(--brand-accent-500); border-radius:var(--radius-standard); color:#fff; background:var(--brand-accent-500); box-shadow:none; font-weight:650; }
.lesson-reader .btn-check:disabled,.lesson-reader .opt-btn:disabled,.lesson-reader .match-item:disabled { opacity:.55; cursor:not-allowed; }
.lesson-reader .matching-container { gap:.8rem; }
.lesson-reader .match-column { gap:.6rem; }
.lesson-reader .match-item.active { border-color:var(--brand-primary-500); color:var(--brand-primary-900); background:var(--brand-primary-50); box-shadow:inset 3px 0 0 var(--brand-primary-600); }
.lesson-reader .match-item.matched { border-color:#a8d3bf; color:#215e4a; background:#edf6f1; box-shadow:none; }
.lesson-reader .match-item.incorrect { border-color:#e4aaa5; color:#92362f; background:#fbf1f0; }
.lesson-reader .paraphrase-box { padding:1rem; margin-bottom:1rem; border:1px solid var(--brand-primary-100); border-radius:var(--radius-standard); color:var(--color-text-primary); background:var(--brand-primary-50); line-height:1.65; }
.lesson-reader .keyword { margin:.7rem 0; border-color:var(--brand-accent-200); border-radius:var(--radius-sm); color:var(--brand-accent-700); background:var(--brand-accent-50); font-size:.72rem; letter-spacing:.045em; }
.lesson-reader .theory-box.reading-box { padding:clamp(1.1rem,3vw,1.45rem); margin:.25rem 0 0; border:1px solid var(--brand-primary-100); border-left:3px solid var(--brand-primary-400); border-radius:var(--radius-standard); color:var(--color-text-primary); background:var(--brand-primary-50); line-height:1.75; }
.lesson-reader .feedback { margin-top:.9rem; padding:.8rem .9rem; border-width:1px; border-style:solid; border-radius:var(--radius-standard); font-weight:600; line-height:1.5; }
.lesson-reader .feedback.correct { border-color:#a8d3bf; color:#215e4a; background:#edf6f1; }
.lesson-reader .feedback.incorrect { border-color:#e4aaa5; color:#92362f; background:#fbf1f0; }
.lesson-reader .feedback.info { border-color:var(--brand-primary-200); color:var(--brand-primary-800); background:var(--brand-primary-50); }
.lesson-reader .unknown-state { margin:.25rem 0 0; border:1px solid var(--brand-primary-100); color:var(--brand-primary-800); background:var(--brand-primary-50); }
.lesson-reader .media-frame { margin:1rem 0; border-color:var(--brand-primary-100); border-radius:var(--radius-card); background:var(--brand-primary-50); }
.lesson-reader .media-audio { padding:.8rem; }
.lesson-reader .media-audio audio { display:block; width:100%; }
.lesson-reader .media-image { max-width:100%; height:auto; margin:1rem auto; border-color:var(--brand-primary-100); border-radius:var(--radius-card); }
.lesson-reader .media-video { overflow:hidden; }
.next-profile-list { display:grid; gap:0; }
.next-profile-list div { display:grid; grid-template-columns:150px 1fr; gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--next-border); }
.next-profile-list div:last-child { border-bottom:0; }
.next-profile-list dt { color:var(--next-muted); }
.next-profile-list dd { margin:0; font-weight:700; }
.next-pix-card,.next-info-card { margin-top:1rem; }
.next-pix { display:flex; align-items:center; gap:.65rem; padding:.82rem; overflow-wrap:anywhere; border:1px dashed #b8c9ba; border-radius:10px; background:#f2f6f0; }
.next-pix span { flex:1; min-width:0; }

/* Visual lesson editor */
.next-dialog-wide { padding:0; background:var(--next-bg); }
.next-dialog-wide>.next-dialog-head { position:sticky; z-index:12; top:0; margin:0; padding:1.15rem 1.35rem; border-bottom:1px solid var(--next-border); background:rgba(255,255,255,.96); backdrop-filter:blur(10px); }
.next-dialog-wide>.next-dialog-head h2 { color:var(--brand-primary-900); }
.next-dialog-wide .dirty-indicator { display:inline-flex; align-items:center; min-height:28px; margin-top:.35rem; padding:.25rem .58rem; border:1px solid #efd4a5; border-radius:var(--radius-pill); color:#815719; background:#fbf4e7; font-size:.72rem; font-weight:650; }
.next-dialog-wide .editor-workspace { gap:1rem; padding:1.25rem; }
.next-dialog-wide .editor-panel,.next-dialog-wide .legacy-panel { padding:1.25rem; border-color:var(--next-border); border-radius:var(--radius-card); box-shadow:none; }
.next-dialog-wide .form-grid { grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) 100px minmax(140px,.8fr); gap:1rem; }
.next-dialog-wide .field { gap:.4rem; color:var(--brand-primary-800); font-size:.76rem; font-weight:650; }
.next-dialog-wide .field input,.next-dialog-wide .field select,.next-dialog-wide .field textarea { min-height:43px; padding:.68rem .76rem; border:1px solid var(--next-border); border-radius:var(--radius-standard); color:var(--next-text); background:#fff; font:inherit; font-size:.9rem; font-weight:400; line-height:1.5; transition:border-color .16s,box-shadow .16s; }
.next-dialog-wide .field textarea { min-height:116px; }
.next-dialog-wide .field input:focus,.next-dialog-wide .field select:focus,.next-dialog-wide .field textarea:focus { border-color:var(--color-focus); outline:0; box-shadow:0 0 0 3px rgba(74,133,149,.15); }
.next-dialog-wide .field-errors,.next-dialog-wide .block-errors { border:1px solid #e4aaa5; border-radius:var(--radius-standard); color:#92362f; background:#fbf1f0; }
.next-dialog-wide .blocks-container { gap:.85rem; }
.next-dialog-wide .empty-blocks { padding:2.2rem 1.2rem; border:1px dashed var(--brand-primary-300); border-radius:var(--radius-card); color:var(--next-muted); background:var(--brand-primary-50); }
.next-dialog-wide .content-block { border:1px solid var(--next-border); border-radius:var(--radius-card); background:#fff; box-shadow:none; transition:border-color .16s,box-shadow .16s; }
.next-dialog-wide .content-block:focus-within { border-color:var(--brand-primary-300); box-shadow:0 0 0 3px rgba(74,133,149,.1); }
.next-dialog-wide .content-block.block-error { border-color:#e4aaa5; box-shadow:0 0 0 3px rgba(196,61,61,.1); }
.next-dialog-wide .block-header { gap:.7rem; padding:.8rem 1rem; border-bottom-color:var(--next-border); background:var(--brand-primary-50); }
.next-dialog-wide .block-index { color:#fff; background:var(--brand-primary-600); }
.next-dialog-wide .block-title { color:var(--brand-primary-900); font-size:.88rem; font-weight:700; }
.next-dialog-wide .compatibility-badge { border:1px solid #efd4a5; color:#815719; background:#fbf4e7; }
.next-dialog-wide .block-actions { gap:.35rem; }
.next-dialog-wide .block-action,.next-dialog-wide .mini-button { min-height:34px; padding:.4rem .58rem; border:1px solid var(--next-border); border-radius:var(--radius-sm); color:var(--brand-primary-700); background:#fff; font-size:.76rem; font-weight:600; }
.next-dialog-wide .block-actions .block-action:last-child { color:var(--next-danger); }
.next-dialog-wide .block-body { gap:1rem; padding:1rem; }
.next-dialog-wide .media-fields { gap:.8rem; padding:1rem; border:1px solid var(--brand-primary-100); border-radius:var(--radius-standard); background:var(--brand-primary-50); }
.next-dialog-wide .options-editor,.next-dialog-wide .pairs-editor { gap:.65rem; padding-top:.25rem; }
.next-dialog-wide .options-editor>strong,.next-dialog-wide .pairs-editor>strong { color:var(--brand-primary-800); font-size:.78rem; }
.next-dialog-wide .row-editor { gap:.6rem; }
.next-dialog-wide .add-row { color:var(--brand-primary-700); }
.next-dialog-wide .add-content-wrap { margin-top:1rem; }
.next-dialog-wide .btn-add { border:1px solid var(--brand-primary-600); border-radius:var(--radius-standard); color:#fff; background:var(--brand-primary-600); box-shadow:none; }
.next-dialog-wide .content-type-menu { gap:.4rem; padding:.65rem; border-color:var(--brand-primary-200); border-radius:var(--radius-card); box-shadow:var(--shadow-overlay); }
.next-dialog-wide .type-option { min-height:44px; padding:.7rem .8rem; border:1px solid transparent; border-radius:var(--radius-standard); color:var(--next-text); background:var(--brand-primary-50); font:inherit; font-size:.84rem; text-align:left; }
.next-dialog-wide .type-option:focus-visible,.next-dialog-wide .block-action:focus-visible,.next-dialog-wide .mini-button:focus-visible { outline:3px solid rgba(74,133,149,.3); outline-offset:2px; }
.next-dialog-wide .legacy-panel summary { color:var(--brand-primary-800); font-size:.86rem; font-weight:650; }
.next-dialog-wide .legacy-panel textarea { border-color:var(--next-border); border-radius:var(--radius-standard); color:#dcebf0; background:var(--brand-primary-900); line-height:1.55; }
.next-dialog-wide .editor-actions { z-index:10; bottom:0; gap:.55rem; margin:0; padding:.85rem; border-color:var(--next-border); border-radius:var(--radius-card); background:rgba(255,255,255,.96); box-shadow:0 -8px 24px rgba(4,62,81,.08); }
.next-dialog-wide .editor-actions .btn { min-height:40px; border-radius:var(--radius-standard); box-shadow:none; }
.next-dialog-wide [data-e-preview] { color:#fff; background:var(--brand-primary-700); }
.next-dialog-wide [data-e-draft] { color:var(--brand-primary-700); border:1px solid var(--brand-primary-200); background:#fff; }
.next-dialog-wide [data-e-publish] { color:#fff; background:var(--brand-accent-500); }
.next-dialog-wide .preview-dialog { width:min(1040px,calc(100vw - 2rem)); max-height:calc(100vh - 2rem); border:1px solid var(--brand-primary-200); border-radius:var(--radius-large); color:var(--next-text); background:var(--next-bg); box-shadow:var(--shadow-overlay); }
.next-dialog-wide .preview-dialog::backdrop { background:rgba(4,49,63,.65); }
.next-dialog-wide .preview-dialog-header { padding:1rem 1.25rem; border-bottom-color:var(--next-border); background:#fff; }
.next-dialog-wide .preview-dialog-header h2 { color:var(--brand-primary-900); font-size:1.05rem; }
.next-dialog-wide .preview-dialog .icon-button { display:grid; place-items:center; color:var(--next-muted); background:var(--brand-primary-50); }
.next-dialog-wide .preview-device { padding:clamp(.75rem,3vw,1.75rem); background:var(--next-bg); }
.next-dialog-wide .preview-device>.editor-preview-reader { width:100%; max-width:920px; }

/* Dialogs and states */
.next-dialog { width:min(860px,calc(100% - 2rem)); max-height:calc(100vh - 2rem); padding:1.4rem; overflow:auto; border:1px solid var(--next-border); border-radius:var(--radius-large); color:var(--next-text); background:var(--color-surface); box-shadow:var(--shadow-overlay); }
.next-dialog-wide { width:min(1180px,calc(100% - 2rem)); }
.next-dialog::backdrop { background:rgba(4,49,63,.55); }
.next-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.next-icon-btn { border:0; color:var(--next-muted); background:transparent; font-size:1.65rem; line-height:1; cursor:pointer; }
.next-tabs { display:flex; gap:.15rem; margin-bottom:1rem; overflow:auto; border-bottom:1px solid var(--next-border); }
.next-tabs button { padding:.7rem .8rem; border:0; color:var(--next-muted); background:transparent; font:inherit; cursor:pointer; white-space:nowrap; }
.next-tabs button.active { color:var(--next-primary); border-bottom:2px solid var(--next-primary); font-weight:750; }
.next-notes { display:grid; gap:.7rem; margin-top:1rem; }
.next-note { padding:.85rem; border:1px solid var(--next-border); border-radius:10px; }
.next-note textarea { width:100%; padding:.7rem; border:1px solid var(--next-border); border-radius:8px; font:inherit; }
.next-check-list { display:grid; gap:.5rem; max-height:360px; padding:.4rem; overflow:auto; }
.next-check-list label { padding:.7rem; border:1px solid var(--next-border); border-radius:9px; background:#fafbf9; }
.next-state { padding:3rem 1.25rem; text-align:center; }
.next-spinner { display:inline-block; width:28px; height:28px; border:3px solid var(--next-border); border-top-color:var(--next-primary); border-radius:50%; animation:next-spin .8s linear infinite; }
.next-clean-list { margin:.75rem 0; padding-left:1.1rem; }
.next-clean-list li { margin:.4rem 0; }
.next-clean-list small { color:var(--next-muted); }
.next-hidden { display:none!important; }
@keyframes next-spin { to { transform:rotate(360deg); } }

@media (max-width:1020px) {
  .next-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .student-dashboard { grid-template-columns:1fr; }
  .student-dashboard-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .student-featured-grid,.student-recent-grid,.student-content-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .next-catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .student-search-field { grid-column:1/-1; }
  .admin-workspace[data-admin-screen="dashboard"] .next-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-settings-section { grid-template-columns:1fr; gap:.5rem; }
  .next-dialog-wide .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .next-dialog-wide .field-wide,.next-dialog-wide .field-full { grid-column:1/-1; }
  .next-dialog-wide .block-body { grid-template-columns:1fr; }
  .next-dialog-wide .block-body .field-full,.next-dialog-wide .media-fields { grid-column:1; }
  .next-dialog-wide .media-fields { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .next-shell { display:block; }
  .next-sidebar { position:fixed; inset:0 auto 0 0; width:min(280px,84vw); height:100vh; transform:translateX(-105%); transition:transform .22s ease; box-shadow:18px 0 45px rgba(16,35,28,.2); }
  .next-shell.menu-open .next-sidebar { transform:translateX(0); }
  .next-shell.menu-open .next-menu-toggle { position:fixed; top:1rem; right:1rem; z-index:30; background:#fff; box-shadow:var(--next-shadow); }
  .next-shell.menu-open .next-menu-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .next-shell.menu-open .next-menu-toggle span:nth-child(2) { opacity:0; }
  .next-shell.menu-open .next-menu-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .next-shell.menu-open::after { content:""; position:fixed; inset:0; z-index:10; background:rgba(15,30,25,.42); }
  .next-main { padding:1rem; }
  .next-top { align-items:center; margin-bottom:1.35rem; }
  .next-menu-toggle { flex:0 0 auto; display:block; }
  .next-login { padding:0; background:#fff; }
  .next-login-layout { display:block; min-height:100vh; border:0; border-radius:0; box-shadow:none; }
  .next-login-intro { min-height:190px; padding:1.5rem; }
  .next-brand-logo--full { display:none; }
  .next-brand-logo--compact { display:block; width:48px; }
  .next-login-intro>div:not(.next-brand),.next-login-intro>small { display:none; }
  .next-login-card { padding:2rem 1.4rem; }
  .next-dashboard-hero,.next-study-card { align-items:flex-start; flex-direction:column; }
  .next-dashboard-hero { gap:1.2rem; }
  .next-quick-actions { justify-content:flex-start; }
  .next-dashboard-columns { grid-template-columns:1fr; }
  .next-form-grid { grid-template-columns:1fr; }
  .next-form-grid .wide { grid-column:auto; }
  .next-section-head { flex-direction:column; }
  .next-section-head>.next-actions { justify-content:flex-start; margin-top:0; }
  .next-toolbar { display:grid; grid-template-columns:1fr; }
  .next-catalog-filters { grid-template-columns:1fr; padding:.85rem; }
  .student-search-field { grid-column:auto; }
  .student-featured-grid,.student-recent-grid,.student-content-grid { grid-template-columns:1fr; }
  .student-content-card { min-height:0; }
  .student-favorite { width:44px; height:44px; }
  .admin-dashboard-hero { align-items:flex-start; }
  .admin-dashboard-hero .next-quick-actions { width:100%; justify-content:flex-start; }
  .admin-workspace[data-admin-screen="dashboard"] .next-stat-grid { grid-template-columns:1fr; }
  .admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-section-head { gap:.8rem; }
  .admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-section-head .next-actions { width:100%; }
  .admin-workspace:not([data-admin-screen="finance"]):not([data-admin-screen="materials"]) .next-section-head .next-actions .next-btn { flex:1 1 auto; }
  .admin-settings-section { padding:1.2rem; }
  .admin-settings-actions { padding:1rem 1.2rem; }
  .next-dialog { width:calc(100% - 1rem); padding:1rem; }
  .next-dialog.next-dialog-wide { padding:0; }
  .next-dialog-wide>.next-dialog-head { padding:1rem; }
  .next-dialog-wide .editor-workspace { padding:.75rem; }
  .next-dialog-wide .editor-panel,.next-dialog-wide .legacy-panel { padding:1rem; }
  .next-dialog-wide .form-grid { grid-template-columns:1fr; }
  .next-dialog-wide .field-wide,.next-dialog-wide .field-full { grid-column:1; }
  .next-dialog-wide .content-type-menu { position:fixed; inset:auto .5rem .5rem; width:auto; max-height:65vh; grid-template-columns:1fr; overflow:auto; }
  .next-dialog-wide .editor-actions { flex-wrap:wrap; }
  .next-dialog-wide .editor-actions .action-spacer { display:none; }
  .next-dialog-wide .editor-actions .btn { flex:1 1 145px; }
  .next-dialog-wide .preview-dialog { width:calc(100vw - 1rem); max-height:calc(100vh - 1rem); }
  .next-dialog-wide .preview-device { padding:.5rem; }
  .next-lesson-toolbar { align-items:stretch; flex-direction:column; }
  .next-lesson-toolbar>div { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
  .lesson-reader { padding:clamp(1.25rem,5vw,2rem); }
  .lesson-reader>.next-save-status { text-align:left; }
  .lesson-reader .exercise-item { padding:1.1rem; }
  .lesson-reader .matching-container { grid-template-columns:1fr; }
  .lesson-reader .btn-check { width:100%; }
  .next-profile-list div { grid-template-columns:1fr; gap:.2rem; }
  .next-table th,.next-table td { padding:.72rem .8rem; }
  .next-actions .next-btn { flex:1 1 auto; }
}
@media (max-width:480px) {
  .next-stat-grid,.student-dashboard-side { grid-template-columns:1fr; }
  .next-material-grid { grid-template-columns:1fr; }
  .next-study-card { min-height:230px; }
  .next-study-card .next-btn { width:100%; }
  .next-summary-card { min-height:180px; }
  .student-content-card .next-lesson-card-foot { align-items:stretch; flex-direction:column; }
  .student-content-card .next-lesson-card-foot .next-btn { width:100%; }
  .lesson-reader { border-right:0; border-left:0; border-radius:0; }
  .lesson-reader>h2 { font-size:clamp(1.55rem,8vw,2rem); }
  .lesson-reader>[data-lesson-theory] { padding:1.1rem; }
  .lesson-reader>[data-lesson-theory] ul,.lesson-reader>[data-lesson-theory] ol { padding-left:1.2rem; }
  .lesson-reader>.next-actions .next-btn { width:100%; }
  .next-pix { align-items:stretch; flex-direction:column; }
  .next-pix .next-btn { width:100%; }
}
.next-chip-row { display:flex; flex-wrap:wrap; gap:.45rem; margin:.65rem 0; }
.next-chip { border:1px solid var(--next-border); border-radius:999px; background:var(--next-surface); padding:.35rem .7rem; font-size:.82rem; }
.next-chip.active { background:var(--next-primary); border-color:var(--next-primary); color:#fff; }
.next-note p { white-space:pre-wrap; overflow-wrap:anywhere; }
@media (max-width:760px) { .next-catalog-filters>* { width:100%; } .student-tag-filters .next-chip-row { max-width:100%; overflow-x:auto; flex-wrap:nowrap; padding-bottom:.2rem; } .student-tag-filters .next-chip { flex:0 0 auto; } .next-dialog textarea { max-width:100%; } }
@media (hover:hover) and (pointer:fine) { .student-content-card:hover { border-color:var(--brand-primary-300); box-shadow:0 8px 22px rgba(4,62,81,.07); } .student-favorite:hover { color:var(--brand-accent-500); background:var(--brand-accent-50); } .lesson-reader .opt-btn:hover,.lesson-reader .match-item:not(.matched):not(.incorrect):hover { border-color:var(--brand-primary-300); color:var(--brand-primary-900); background:var(--brand-primary-50); } .lesson-reader .btn-check:hover:not(:disabled) { border-color:var(--brand-accent-600); background:var(--brand-accent-600); } .next-dialog-wide .block-action:hover,.next-dialog-wide .mini-button:hover,.next-dialog-wide .type-option:hover { border-color:var(--brand-primary-300); color:var(--brand-primary-900); background:var(--brand-primary-50); } .next-dialog-wide .block-actions .block-action:last-child:hover { border-color:#e4aaa5; color:#92362f; background:#fbf1f0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
