/* EDU — sistem de design (N6). Tokenii sunt singura sursă de culoare; modul întunecat redefinește tokenii, nu componentele.
   Contrastul fiecărei perechi text/fond e verificat automat de scripts/contrast.py (WCAG AA: text ≥ 4,5:1, text mare/UI ≥ 3:1). */
:root{
  --bg:#f3f5f9;--card:#ffffff;--ink:#16202c;--mut:#4d5866;--acc:#1d4db0;--acc-ink:#ffffff;--ok:#166a42;--warn:#8a4600;--bad:#a8231c;
  --line:#c3cbd7;--soft:#e9eef9;--banner-bg:#fff4dc;--banner-line:#dcbd6a;--btn:#ffffff;--btn-ink:#16202c;--focus:#c2410c;--elev:#1a2433;--prof:#1d4db0;
  --radius:14px;--radius-s:10px;--gap:12px;--font:16px/1.5 -apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--font-prof:1.3rem/1.55
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0f141b;--card:#182029;--ink:#e8edf3;--mut:#aab5c3;--acc:#8fb4ff;--acc-ink:#0f141b;--ok:#79d6a3;--warn:#f2b96e;--bad:#ff8f86;
  --line:#334052;--soft:#243247;--banner-bg:#2a2410;--banner-line:#6a5a1c;--btn:#212b37;--btn-ink:#e8edf3;--focus:#fbbf24;--elev:#e8edf3;--prof:#cfe0ff
}}
:root[data-theme="dark"]{
  --bg:#0f141b;--card:#182029;--ink:#e8edf3;--mut:#aab5c3;--acc:#8fb4ff;--acc-ink:#0f141b;--ok:#79d6a3;--warn:#f2b96e;--bad:#ff8f86;
  --line:#334052;--soft:#243247;--banner-bg:#2a2410;--banner-line:#6a5a1c;--btn:#212b37;--btn-ink:#e8edf3;--focus:#fbbf24;--elev:#e8edf3;--prof:#cfe0ff
}
@font-face{font-family:"OpenDyslexic";font-style:normal;font-weight:400;font-display:swap;src:url("/static/vendor/opendyslexic/opendyslexic-latin-400-normal.woff2") format("woff2")}
html[data-font="dislexie"] body,html[data-font="dislexie"] button,html[data-font="dislexie"] input,html[data-font="dislexie"] textarea,html[data-font="dislexie"] select,html[data-font="dislexie"] #profesor{font-family:"OpenDyslexic",-apple-system,system-ui,sans-serif;letter-spacing:.02em}
html[data-marime="mare"]{font-size:18px}html[data-marime="foarte-mare"]{font-size:21px}
*{box-sizing:border-box}html{color-scheme:light dark}html[data-theme="dark"]{color-scheme:dark}html[data-theme="light"]{color-scheme:light}
html,body{margin:0;background:var(--bg);color:var(--ink);font:var(--font)}body{font-size:1rem}
body{padding:16px;max-width:1100px;margin:0 auto}h1,h2,h3{margin:.2em 0 .4em;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1.05rem}
p{margin:.4em 0 .8em}a{color:var(--acc)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px}
button,.btn{font:inherit;min-height:44px;padding:10px 16px;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--btn);color:var(--btn-ink);cursor:pointer}
button.primary{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);font-weight:600}
button.ghost{background:transparent;border-color:transparent;color:var(--acc);min-height:36px;padding:6px 10px}
button.bad{color:var(--bad);border-color:var(--bad)}
button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){filter:brightness(.96)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.mut{color:var(--mut)}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}
.banner{background:var(--banner-bg);border:1px solid var(--banner-line);color:var(--ink);border-radius:var(--radius-s);padding:10px 14px;margin-bottom:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.banner .spacer{flex:1}
#profesor{font:var(--font-prof) -apple-system,system-ui,"Segoe UI",Roboto,sans-serif;color:var(--prof);min-height:4em;white-space:pre-wrap}
#istoric{max-height:220px;overflow:auto;font-size:.95rem;border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
#istoric div{padding:4px 0}#istoric .elev{color:var(--acc)}#istoric .elev::before{content:"Tu: "}#istoric .prof::before{content:"Profesorul: ";color:var(--mut)}
textarea,input[type=text],input[type=date],select{font:inherit;width:100%;padding:10px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);color:var(--ink);min-height:44px}
select{width:auto}input[type=date]{width:auto}
.lectie{display:grid;grid-template-columns:1fr 360px;gap:14px}@media(max-width:900px){.lectie{grid-template-columns:1fr}}
#figura svg{width:100%;height:auto;max-height:360px}#figura svg line,#figura svg path,#figura svg polyline{stroke:var(--elev)}#figura svg text{fill:var(--ink)}
.stare{font-size:.9rem;color:var(--mut)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:.85rem}
table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:6px 4px;text-align:left;font-size:.95rem;vertical-align:top}
.big{font-size:2rem;font-weight:600}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:520px){.grid2{grid-template-columns:1fr}}
details summary{cursor:pointer;color:var(--acc);min-height:32px}.hidden{display:none !important}
@media (prefers-reduced-motion: no-preference){button{transition:filter .12s}}

#ciornelista,#ciornadetaliu{overflow-x:auto;max-width:100%}#ciornelista td,#ciornadetaliu td{overflow-wrap:anywhere}
