:root{--navy:#6f0915;--gold:#bb9846;--line:#dce2e9}*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,sans-serif;color:#1d2939;background:#f4f6f9}header{background:#fff;color:#491522;display:flex;align-items:center;gap:30px;padding:18px 5vw}a{color:inherit}header a{text-decoration:none}header strong{font:700 24px Georgia}header small{display:block;color:#dfc887}header button{margin-left:auto}h1,h2,h3{font-family:Georgia,serif;line-height:1.2}h1{font-size:38px}.label{letter-spacing:.14em;font-size:13px;color:#785a19}.login{max-width:650px;margin:70px auto;padding:35px;background:white;border-top:4px solid var(--gold)}label{display:block;margin:14px 0}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #aebaca;border-radius:5px;font:inherit;color:#192c45;background:white}button,.button{display:inline-block;background:var(--navy);color:white;border:0;border-radius:5px;padding:11px 17px;font:600 15px system-ui;cursor:pointer;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#e7edf5;color:var(--navy);margin-top:12px}#workspace:not([hidden]){display:grid;grid-template-columns:240px 1fr}aside{background:white;padding:25px 15px;min-height:90vh;border-right:1px solid var(--line)}aside button{display:block;background:none;color:#34445a;width:100%;text-align:left;margin:6px 0}aside button.active{background:var(--navy);color:white}main{padding:30px;min-width:0}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px}.stats{display:flex;flex-wrap:wrap;gap:18px;margin:25px 0}.stat{background:white;padding:22px;border:1px solid var(--line);min-width:160px}.stat b{display:block;font-size:30px;color:var(--navy)}.table{overflow:auto}table{border-collapse:collapse;background:white;width:100%;margin-top:18px}td,th{padding:14px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}th{background:#e7ecf3}td{max-width:320px;overflow-wrap:anywhere}.pill{background:#edf1f7;padding:4px 8px;border-radius:30px;white-space:nowrap}.empty{padding:40px;background:white;border:1px dashed #adbaca}.error{color:#ac2035}.success{color:#126038}dialog{border:1px solid var(--line);border-radius:8px;max-width:650px;width:calc(100% - 24px);padding:28px}dialog::backdrop{background:#09182ecc}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.card{background:white;padding:28px;border-top:3px solid var(--gold)}.reading{max-width:850px;margin:auto;background:white;padding:40px}.reading p{line-height:1.85}.reading details{padding:18px 0;border-bottom:1px solid var(--line)}.reading summary{font-weight:700;cursor:pointer}.reading fieldset{margin:20px 0;border:1px solid var(--line)}.reading input[type=radio]{display:inline;width:auto}.notice{background:#fff8e5;padding:18px;border-left:3px solid var(--gold)}[hidden]{display:none!important}@media(max-width:800px){#workspace:not([hidden]){grid-template-columns:1fr}aside{min-height:0;display:flex;overflow:auto;padding:10px}aside button{white-space:nowrap;width:auto}main{padding:20px}.login{margin:30px 15px}h1{font-size:30px}.reading{padding:22px}header{gap:18px;flex-wrap:wrap}}@media print{header,aside,button{display:none!important}.reading{border:8px double #bb9846}}

@media print{body:has(dialog[open])>*:not(dialog){display:none!important}dialog[open]{position:static;width:100%;max-width:none;border:0}dialog[open] .reading{margin-top:40px}}
.brand-logo{display:block;width:300px;max-width:70vw;height:auto}header{border-bottom:1px solid var(--line)}.lesson-list{display:grid;gap:8px;margin:22px 0}.lesson-list button{text-align:left}.certificate{max-width:1050px;margin:30px auto;padding:60px;text-align:center;background:#fffdf8;border:8px double var(--gold);box-shadow:0 16px 60px #28192215}.certificate-logo{width:390px;max-width:90%}.certificate-seal{width:115px}.certificate h1{font-size:44px;color:var(--navy)}.certificate h2{font-size:30px}.certificate-code{font-size:11px;overflow-wrap:anywhere}.print-actions{text-align:center;margin:30px}progress{width:100%;accent-color:var(--navy)}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}#workspace main .pagehead h1{margin:12px 0}header small{color:#79602e}
@media print{#verifyForm,.print-actions{display:none!important}.certificate{margin:0;box-shadow:none;padding:30px;page-break-inside:avoid}body{background:white}@page{size:A4 landscape;margin:12mm}}
@media(max-width:650px){.certificate{padding:24px 12px}.certificate h1{font-size:30px}.certificate h2{font-size:25px}}
