:root { --navy:#17375e; --navy-2:#0e2949; --blue:#2563eb; --blue-soft:#eaf2ff; --ink:#172033; --muted:#6b768a; --line:#e5eaf1; --bg:#f5f7fb; --green:#168a5b; --amber:#c77c12; --purple:#7557c6; }
* { box-sizing:border-box; }
html, body { margin:0; min-height:100%; background:var(--bg); color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select { font:inherit; }
button { cursor:pointer; }
.app-shell { display:grid; grid-template-columns:244px minmax(0,1fr); min-height:100vh; }
.sidebar { position:sticky; top:0; height:100vh; background:linear-gradient(180deg,var(--navy),var(--navy-2)); color:white; padding:22px 15px 18px; display:flex; flex-direction:column; box-shadow:8px 0 28px rgba(17,40,70,.08); z-index:5; }
.brand { display:flex; align-items:center; gap:12px; padding:3px 10px 26px; }
.brand-mark { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:white; color:var(--navy); font-family:Georgia,serif; font-weight:800; font-size:18px; box-shadow:0 5px 15px rgba(0,0,0,.15); }
.brand strong,.brand span { display:block; }.brand strong { font-size:17px; letter-spacing:-.2px; }.brand span { font-size:11px; opacity:.65; margin-top:2px; text-transform:uppercase; letter-spacing:.7px; }
.sidebar nav { display:flex; flex-direction:column; gap:5px; }
.sidebar nav button { width:100%; border:0; background:transparent; color:rgba(255,255,255,.72); padding:11px 12px; border-radius:9px; display:flex; gap:12px; align-items:center; text-align:left; font-weight:600; font-size:14px; transition:.18s ease; }
.sidebar nav button span { width:25px; height:25px; border-radius:7px; border:1px solid rgba(255,255,255,.18); display:grid; place-items:center; font-size:11px; font-weight:800; }
.sidebar nav button:hover { background:rgba(255,255,255,.08); color:white; }.sidebar nav button.active { background:white; color:var(--navy); box-shadow:0 5px 16px rgba(0,0,0,.14); }.sidebar nav button.active span { background:var(--blue-soft); border-color:#c8dcff; color:var(--blue); }
.sidebar-foot { margin-top:auto; border-top:1px solid rgba(255,255,255,.12); padding:18px 10px 2px; }.sidebar-foot small,.sidebar-foot strong,.sidebar-foot span { display:block; }.sidebar-foot small { opacity:.55; font-size:10px; text-transform:uppercase; letter-spacing:.6px; }.sidebar-foot strong { font-size:12px; margin:5px 0 10px; }.sidebar-foot span { font-size:10px; opacity:.45; }
main { min-width:0; }.topbar { height:72px; background:white; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 34px; position:sticky; top:0; z-index:4; }
.school-switch { display:flex; flex-direction:column; gap:2px; }.mini-label { text-transform:uppercase; font-size:9px; letter-spacing:.8px; color:var(--muted); font-weight:700; }.school-switch select { border:0; padding:0 24px 0 0; color:var(--ink); font-weight:700; background:transparent; max-width:430px; }
.top-actions,.user-chip { display:flex; align-items:center; }.top-actions { gap:17px; }.icon-button { width:34px; height:34px; border:1px solid var(--line); border-radius:9px; background:white; color:#e15151; font-size:8px; }.user-chip { gap:9px; padding-left:16px; border-left:1px solid var(--line); }.user-chip>span,.person>span { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:var(--blue-soft); color:var(--blue); font-weight:800; font-size:11px; }.user-chip strong,.user-chip small { display:block; }.user-chip strong { font-size:12px; }.user-chip small { color:var(--muted); font-size:10px; margin-top:2px; }
.content { padding:32px 34px 54px; max-width:1540px; margin:0 auto; }.page-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:26px; }.page-head span { color:var(--blue); font-size:10px; text-transform:uppercase; font-weight:800; letter-spacing:1px; }.page-head h1 { margin:6px 0 6px; font-family:Georgia,"Times New Roman",serif; font-size:28px; letter-spacing:-.4px; }.page-head p { margin:0; color:var(--muted); font-size:13px; }
.primary,.secondary { border-radius:9px; padding:10px 15px; font-size:12px; font-weight:700; border:1px solid transparent; }.primary { background:var(--blue); color:white; box-shadow:0 5px 14px rgba(37,99,235,.18); }.primary:hover { background:#1955d4; }.secondary { background:white; border-color:var(--line); color:var(--ink); }.secondary:hover { border-color:#bdc8d6; }
.stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:17px; }.stats-grid article { background:white; border:1px solid var(--line); border-radius:13px; padding:18px; display:flex; align-items:center; gap:14px; box-shadow:0 3px 11px rgba(18,41,70,.025); }.stat-icon { width:43px; height:43px; border-radius:11px; display:grid; place-items:center; font-weight:800; }.stat-icon.blue { background:#e8f0ff;color:#2a63d7; }.stat-icon.green { background:#e8f7f0;color:var(--green); }.stat-icon.amber { background:#fff4df;color:var(--amber); }.stat-icon.purple { background:#f1edff;color:var(--purple); }.stats-grid article span,.stats-grid article small,.stats-grid article strong { display:block; }.stats-grid article span { font-size:11px; color:var(--muted); }.stats-grid article strong { font-size:24px; margin:1px 0; }.stats-grid article small { font-size:9px; color:#8a94a5; }
.panel { background:white; border:1px solid var(--line); border-radius:13px; box-shadow:0 3px 12px rgba(18,41,70,.025); }.dashboard-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:17px; }.dashboard-grid>.panel { padding:20px; }.panel-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }.panel-head h2,.quick-panel h2 { margin:0 0 3px; font-size:14px; }.panel-head p,.quick-panel p { margin:0; font-size:10px; color:var(--muted); }.text-button { border:0; background:transparent; color:var(--blue); font-size:10px; font-weight:700; padding:3px; }
.progress-panel { display:grid; grid-template-columns:1fr 128px; align-items:center; }.progress-panel .panel-head { grid-column:1/-1; }.progress-ring { --progress:0%; width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--blue) var(--progress),#e8edf4 0);display:grid;place-items:center;margin:17px auto 3px;position:relative; }.progress-ring:after { content:""; width:86px;height:86px;border-radius:50%;background:white;position:absolute; }.progress-ring div { position:relative;z-index:1;text-align:center; }.progress-ring strong,.progress-ring span { display:block; }.progress-ring strong { font-size:23px; }.progress-ring span { font-size:9px;color:var(--muted); }.legend { display:flex; flex-direction:column; gap:12px; padding:18px 4px 0; }.legend span { display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:10px;color:var(--muted); }.legend b { color:var(--ink); }.dot { width:7px;height:7px;border-radius:50%;display:inline-block; }.green-dot { background:#1ea66e; }.blue-dot { background:#3b73df; }.amber-dot { background:#e8a33b; }
.activity-list { margin-top:12px; }.activity-list>div { display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef1f5; }.activity-list>div:last-child { border-bottom:0; }.activity-mark { width:30px;height:30px;border-radius:9px;background:#eef4ff;color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:800; }.activity-list strong { font-size:10px; }.activity-list p { margin:2px 0 0;font-size:9px;color:var(--muted); }.activity-list time { font-size:8px;color:#9aa3b2; }
.quick-panel { margin-top:17px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center; }.quick-actions { display:flex;gap:9px; }.quick-actions button { background:#f8faff;border:1px solid var(--line);border-radius:9px;padding:8px 12px;color:var(--ink);font-size:10px;font-weight:700; }.quick-actions button span { color:var(--blue);margin-right:6px; }
.notice { background:#eff6ff;border:1px solid #cfe0ff;color:#254e8d;border-radius:10px;padding:11px 13px;margin-bottom:18px;display:flex;justify-content:space-between;font-size:12px; }.notice button { border:0;background:transparent;color:inherit;font-size:18px;line-height:12px; }
.school-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }.school-card { background:white;border:1px solid var(--line);border-radius:14px;padding:20px;position:relative;overflow:hidden; }.school-card.selected { border-color:#8eb4fa;box-shadow:0 7px 22px rgba(37,99,235,.1); }.school-emblem { width:46px;height:50px;display:grid;place-items:center;background:var(--navy);color:white;clip-path:polygon(50% 0,95% 18%,85% 75%,50% 100%,15% 75%,5% 18%);font-family:Georgia,serif;font-weight:800;margin-bottom:15px; }.school-card-top { position:absolute;top:17px;right:17px;display:flex;align-items:center;gap:8px; }.school-card-top button { border:0;background:transparent;color:var(--muted); }.school-card h2 { font-size:15px;margin:0 0 5px; }.school-card>p { margin:0 0 18px;color:var(--muted);font-size:10px; }.school-card dl { display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:15px;margin:0; }.school-card dt { font-size:8px;text-transform:uppercase;color:#939cab;letter-spacing:.5px; }.school-card dd { margin:3px 0 0;font-size:10px;font-weight:700; }.school-card footer { display:flex;gap:18px;margin:18px -20px -20px;padding:12px 20px;background:#f8fafc;font-size:9px;color:var(--muted); }
.status { display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:800;white-space:nowrap; }.status.success { background:#e8f7f0;color:var(--green); }.status.warning { background:#fff3df;color:var(--amber); }.status.neutral { background:#eef1f5;color:#687386; }
.table-panel { overflow:hidden; }.table-tools { min-height:62px;padding:12px 17px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line); }.table-tools>span { color:var(--muted);font-size:10px; }.search { display:flex;align-items:center;width:min(360px,100%);border:1px solid var(--line);background:#fafbfd;border-radius:9px;padding:0 11px; }.search span { color:#8994a6; }.search input { width:100%;border:0;background:transparent;padding:9px;outline:0;font-size:11px; }.table-wrap { overflow:auto; }table { width:100%;border-collapse:collapse; }th { background:#f8fafc;color:#778194;text-transform:uppercase;letter-spacing:.45px;font-size:8px;text-align:left;padding:11px 16px;white-space:nowrap; }td { border-top:1px solid #edf0f4;padding:12px 16px;font-size:10px;vertical-align:middle; }tbody tr:hover { background:#fbfcfe; }.person { display:flex;align-items:center;gap:10px; }.person>span { flex:0 0 34px;width:34px;height:34px; }.person strong,.person small { display:block; }.person strong { font-size:10px; }.person small { color:var(--muted);font-size:8px;margin-top:2px; }.person.large>span { width:46px;height:46px;font-size:13px; }.person.large strong { font-size:13px; }.row-action,.row-actions button { border:0;background:transparent;color:var(--blue);font-size:9px;font-weight:700;white-space:nowrap; }.row-actions { display:flex;gap:9px; }.row-actions button+button { color:var(--green); }.empty { padding:48px;text-align:center;color:var(--muted); }.empty strong,.empty span { display:block; }.empty strong { color:var(--ink);font-size:13px;margin-bottom:5px; }.empty span { font-size:10px; }
.student-selector { padding:14px 17px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center; }.student-selector select { min-width:260px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:white;font-size:10px; }.grade-table th:not(:first-child),.grade-table td:not(:first-child) { text-align:center; }.grade-table td:first-child { min-width:220px; }.grade-table select { width:56px;border:1px solid var(--line);border-radius:7px;padding:6px;background:white;text-align:center;font-weight:700; }.grade-foot { padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:9px; }.grade-foot div { display:flex;align-items:center;gap:5px; }
.grade-table .summary-row td { background:#f8fafc;border-top:2px solid #dce3ed; }.grade-table .summary-row select { width:96px;font-size:9px; }
.certificate-summary { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px; }.certificate-summary div { background:white;border:1px solid var(--line);border-radius:11px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center; }.certificate-summary span { color:var(--muted);font-size:10px; }.certificate-summary strong { font-size:19px; }
.roles-row { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px; }.roles-row article { background:white;border:1px solid var(--line);border-radius:11px;padding:15px; }.roles-row strong,.roles-row span { display:block; }.roles-row strong { font-size:10px;margin-bottom:5px;color:var(--navy); }.roles-row span { color:var(--muted);font-size:9px;line-height:1.5; }
.timeline { padding:5px 20px; }.timeline>div { display:grid;grid-template-columns:35px 1fr auto;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);align-items:start; }.timeline>div:last-child { border-bottom:0; }.timeline-mark { width:34px;height:34px;border-radius:50%;background:#eef4ff;color:var(--blue);display:grid;place-items:center;font-size:11px;font-weight:800; }.timeline strong { font-size:11px; }.timeline p { margin:3px 0;font-size:10px;color:var(--muted); }.timeline small,.timeline time { font-size:8px;color:#929cac; }
.modal-backdrop { position:fixed;inset:0;background:rgba(8,23,42,.62);backdrop-filter:blur(3px);z-index:20;display:grid;place-items:center;padding:20px; }.modal { width:min(680px,100%);max-height:92vh;overflow:auto;background:white;border-radius:16px;box-shadow:0 28px 70px rgba(0,0,0,.28); }.modal>header { padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between; }.modal h2 { margin:0 0 4px;font-size:17px;font-family:Georgia,serif; }.modal header p { margin:0;color:var(--muted);font-size:10px; }.modal header button { border:0;background:#f1f4f8;border-radius:8px;width:30px;height:30px;font-size:19px;color:#657084; }.form-grid { padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:15px; }.form-grid label { font-size:9px;text-transform:uppercase;letter-spacing:.45px;color:#687488;font-weight:800; }.form-grid .wide { grid-column:1/-1; }.form-grid input,.form-grid select { display:block;width:100%;margin-top:6px;border:1px solid #dfe5ed;border-radius:9px;padding:10px 11px;outline:0;text-transform:none;color:var(--ink);font-size:11px;background:white; }.form-grid input:focus,.form-grid select:focus { border-color:#7ca7f5;box-shadow:0 0 0 3px #eaf2ff; }.form-grid footer { grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin:6px -22px -22px;padding:15px 22px;background:#f8fafc;border-radius:0 0 16px 16px; }
.saving { position:fixed;right:24px;bottom:22px;background:var(--navy);color:white;border-radius:9px;padding:10px 15px;font-size:10px;z-index:50;box-shadow:0 8px 20px rgba(0,0,0,.2); }.loading-screen { min-height:100vh;display:grid;place-content:center;justify-items:center;color:var(--muted); }.loading-mark { width:62px;height:62px;border-radius:18px;background:var(--navy);color:white;display:grid;place-items:center;font-family:Georgia,serif;font-weight:800;font-size:23px;box-shadow:0 14px 32px rgba(23,55,94,.22); }.loading-screen p { font-size:12px;margin-top:15px; }
.certificate-backdrop { overflow:auto;align-items:start; }.certificate-modal { width:min(1080px,100%); }.certificate-toolbar { background:white;border-radius:14px 14px 0 0;padding:14px 18px;display:flex;justify-content:space-between;align-items:center; }.certificate-toolbar strong,.certificate-toolbar span { display:block; }.certificate-toolbar strong { font-size:13px; }.certificate-toolbar span { font-size:9px;color:var(--muted);margin-top:2px; }.certificate-toolbar>div:last-child { display:flex;gap:8px; }.certificate-sheet { width:820px;min-height:1120px;margin:0 auto 30px;background:#fffdf8;padding:46px 48px;color:#1d1d1d;font-family:Georgia,"Times New Roman",serif;border:14px double #3d3b35;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35); }.certificate-sheet .coat { font-size:34px;color:#c8a742; }.certificate-sheet .country { font-weight:800;letter-spacing:2px;line-height:1.5;margin:5px 0 25px; }.certificate-sheet .country span { font-size:13px; }.certificate-meta { display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;text-align:left;font-size:11px;border-bottom:1px solid #333;padding-bottom:15px; }.certificate-sheet h1 { font-size:31px;letter-spacing:5px;margin:25px 0 4px; }.certificate-sheet h2 { font-size:12px;letter-spacing:.7px;margin:0 0 20px; }.student-line { text-align:left;font-size:11px;line-height:1.7; }.certificate-sheet table { margin-top:14px;border:1px solid #333; }.certificate-sheet th,.certificate-sheet td { border:1px solid #555;background:transparent;color:#111;padding:4px 7px;font-size:9px;text-transform:none; }.certificate-sheet th:not(:first-child),.certificate-sheet td:not(:first-child) { width:55px;text-align:center; }.certificate-sheet td:first-child { text-align:left; }.certificate-footer { display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left;font-size:10px;margin-top:25px;align-items:end; }.certificate-footer .stamp { text-align:center;font-weight:800; }.certificate-footer span:last-child { text-align:center; }
@media (max-width:1100px) { .stats-grid,.roles-row { grid-template-columns:repeat(2,1fr); }.school-grid { grid-template-columns:repeat(2,1fr); }.dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .app-shell { grid-template-columns:1fr; }.sidebar { position:sticky;height:auto;padding:10px; }.brand,.sidebar-foot { display:none; }.sidebar nav { flex-direction:row;overflow:auto; }.sidebar nav button { min-width:58px;width:auto;flex-direction:column;gap:3px;padding:6px;font-size:8px; }.topbar { top:57px;padding:0 14px;height:62px; }.user-chip div,.icon-button { display:none; }.content { padding:22px 14px 40px; }.page-head { align-items:flex-start;flex-direction:column; }.stats-grid,.school-grid,.certificate-summary,.roles-row { grid-template-columns:1fr; }.progress-panel { grid-template-columns:1fr; }.progress-panel .panel-head { grid-column:auto; }.quick-panel,.quick-actions { align-items:stretch;flex-direction:column; }.student-selector { align-items:stretch;gap:13px;flex-direction:column; }.student-selector select { min-width:0; }.form-grid { grid-template-columns:1fr; }.form-grid .wide { grid-column:auto; }.certificate-toolbar { flex-direction:column;align-items:stretch;gap:10px; }.certificate-sheet { transform-origin:top left;transform:scale(.72);margin-bottom:-290px; } }
@media print { body * { visibility:hidden !important; }.certificate-backdrop,.certificate-backdrop *,.certificate-modal,.certificate-sheet,.certificate-sheet * { visibility:visible !important; }.certificate-backdrop { position:absolute;inset:0;background:white;padding:0;display:block; }.certificate-toolbar { display:none !important; }.certificate-sheet { position:absolute;left:0;top:0;margin:0;box-shadow:none;border-width:8px;width:210mm;min-height:297mm; } @page { size:A4; margin:0; } }

/* Test version: hierarchy, documents and reports */
.school-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.school-shell .brand small,.side-user small,.data-table small,.student-banner small,.doc-cell small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.school-shell .sidebar{padding-bottom:14px}.school-shell .sidebar nav{overflow:auto}.side-user{margin-top:auto;padding:16px 8px 2px;border-top:1px solid rgba(255,255,255,.14);display:flex;gap:10px;align-items:center}.side-user>span{width:34px;height:34px;border-radius:10px;background:white;color:var(--navy);display:grid;place-items:center;font-weight:800}.side-user strong,.side-user small{display:block}.side-user strong{font-size:11px}.side-user small{color:rgba(255,255,255,.55);text-transform:capitalize}.school-shell .topbar{height:auto;min-height:86px;padding:12px 30px;gap:24px}.topbar h1{margin:0;font-family:Georgia,serif;font-size:22px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:10px}.cascade{display:flex;gap:10px;align-items:end}.cascade label{font-size:8px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.cascade select{display:block;margin-top:5px;min-width:150px;max-width:235px;border:1px solid var(--line);border-radius:8px;background:white;padding:8px 10px;color:var(--ink);text-transform:none;font-size:10px}.school-shell .notice{margin:14px 30px 0}.notice.error{background:#fff0f0;border-color:#f5caca;color:#9c3232}.stack{display:flex;flex-direction:column;gap:16px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 4px 16px rgba(18,41,70,.035)}.table-card{padding:0;overflow:hidden}.card-title,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.card-title{margin-bottom:18px}.card-title h3,.section-heading h2{margin:0}.card-title h3{font-size:14px}.section-heading h2{font-family:Georgia,serif;font-size:23px}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:11px}.hero-card{border-radius:18px;padding:28px 30px;background:linear-gradient(130deg,#17375e,#24568e);color:white;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 14px 35px rgba(23,55,94,.18)}.hero-card h2{font-family:Georgia,serif;font-size:28px;margin:7px 0}.hero-card p{max-width:700px;margin:0;color:rgba(255,255,255,.72);font-size:12px;line-height:1.6}.hero-card button{border:0;border-radius:10px;background:white;color:var(--navy);padding:11px 16px;font-weight:800;white-space:nowrap}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.1px;color:#6d96dc}.hero-card .eyebrow{color:#a9c8f5}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.metric{background:white;border:1px solid var(--line);border-radius:13px;padding:18px}.metric strong,.metric span{display:block}.metric strong{font-size:25px}.metric .small-value{font-size:13px;line-height:2}.metric span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workflow>span{float:left;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:10px;font-weight:800;margin-right:11px}.workflow p{min-height:40px;margin:0 0 9px}.workflow strong,.workflow small{display:block}.workflow strong{font-size:11px}.workflow small{color:var(--muted);font-size:9px;margin-top:3px}.details{display:grid;grid-template-columns:130px 1fr;gap:12px;margin:0}.details dt{color:var(--muted);font-size:9px;text-transform:uppercase}.details dd{margin:0;font-size:11px;font-weight:700}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:8px;font-weight:800;text-transform:none}.form-grid{padding:0;margin-bottom:16px}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.35px}.field input,.field select,.field textarea,.student-select,.data-table select{width:100%;border:1px solid #dfe5ed;border-radius:8px;padding:9px 10px;background:white;color:var(--ink);outline:none;text-transform:none;font-size:10px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#82aaf2;box-shadow:0 0 0 3px var(--blue-soft)}.field input:disabled{background:#f4f6f9;color:#6e7786}.actions{display:flex;justify-content:flex-end;gap:9px}.soft,.danger,.danger-link,.close{border:0;border-radius:8px;padding:9px 12px;font-size:10px;font-weight:800}.soft{background:#eef3fa;color:var(--navy)}.danger{background:#b53b3b;color:white}.danger-link{background:transparent;color:#b33b3b;padding:6px}.close{width:36px;height:36px;padding:0;background:#eef2f6;color:#5b6778;font-size:22px}.data-table th{font-size:8px}.data-table td{font-size:10px}.data-table td strong,.data-table td small{display:block}.status.ok{background:#e7f7ef;color:#14764e}.status.wait{background:#fff3dc;color:#a7690f}.status.bad{background:#ffe9e9;color:#a83434}.student-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.student-banner .avatar{width:42px;height:42px;border-radius:12px;background:var(--navy);color:white;display:grid;place-items:center;font-weight:800}.grade-scroll{overflow:auto}.grades-table th:not(:first-child),.grades-table td:not(:first-child){text-align:center;min-width:118px}.grades-table td:first-child{min-width:230px}.grades-table select{padding:6px 8px}.grades-table .summary-row td{background:#f7f9fc;border-top:2px solid #dce3ed}.grades-table .summary-row strong,.grades-table .summary-row small{display:block}.grades-table .summary-row select{margin-top:6px}.documents-table td{min-width:270px}.documents-table td:first-child{min-width:235px}.doc-cell{display:flex;justify-content:space-between;align-items:center;gap:10px}.doc-cell>div:first-child>*{display:block;margin-bottom:4px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-card>span{width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:800}.report-card h3{margin:16px 0 8px}.report-card p{font-size:11px;line-height:1.6;color:var(--muted);min-height:54px}.timeline>div>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue)}.timeline p{margin:0}.timeline p strong,.timeline p small{display:block}.timeline time{text-align:right}.app-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;color:var(--muted)}.spinner{width:42px;height:42px;border:4px solid #dbe6f6;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.selected-row{background:#edf4ff!important;box-shadow:inset 3px 0 0 var(--blue)}.data-table tbody tr[role="button"],.selected-row{cursor:pointer}
.document-workspace,.report-workspace{width:min(1180px,100%);height:calc(100vh - 28px);overflow:auto;background:#e9edf3;border-radius:16px}.modal-toolbar{position:sticky;top:0;z-index:4;padding:14px 18px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.modal-toolbar h2{margin:4px 0 0;font-size:16px}.modal-toolbar>div:last-child{display:flex;gap:8px}.document-controls{position:sticky;top:65px;z-index:3;padding:12px 18px;background:#f8fafc;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 180px 1fr auto auto auto;gap:9px;align-items:end}.document-preview{padding:26px}.official-document{width:210mm;min-height:297mm;margin:auto;background:white;color:#111;padding:14mm 15mm 12mm;font-family:"Times New Roman",serif;box-shadow:0 16px 45px rgba(0,0,0,.22);text-align:center;border:1px solid #aaa}.official-document h4{font-size:15pt;letter-spacing:1.2px;margin:0}.official-document h5{font-size:12pt;letter-spacing:1px;margin:2px 0 8mm}.official-document h1{font-size:25pt;letter-spacing:5px;margin:8mm 0 1mm}.official-document h2{font-size:11pt;letter-spacing:.5px;margin:0 0 5mm}.doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:4mm 10mm;text-align:left;font-size:9pt}.doc-meta span:nth-child(3),.doc-meta span:nth-child(4){grid-column:1/-1}.doc-meta b,.doc-intro b,.registry-line b{display:inline-block;border-bottom:1px solid #222;min-width:35mm;text-align:center;font-weight:400}.registry-line{text-align:right;font-size:9pt;margin-top:3mm}.doc-intro{text-align:left;font-size:9pt;line-height:1.55}.doc-intro p{margin:1.5mm 0}.doc-intro b{min-width:40mm}.doc-statement{font-size:9pt;margin:3mm 0;text-align:center}.official-document table{border-collapse:collapse;width:100%;margin:2mm 0}.official-document th,.official-document td{border:1px solid #222;background:white;color:#111;text-transform:none;padding:1.15mm 2mm;font-size:8.5pt}.official-document th{text-align:center;font-weight:700}.official-document td:first-child{text-align:left}.official-document td:not(:first-child){text-align:center}.certificate table td:last-child{width:32mm}.confirmation table td:not(:first-child){width:24mm}.doc-footer{display:grid;grid-template-columns:1fr 28mm 1fr;gap:5mm;align-items:end;text-align:center;font-size:8.5pt;margin-top:5mm}.doc-footer p{margin:2mm 0}.doc-footer>div:first-child{text-align:left}.stamp{font-weight:700}.modal{padding:22px}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:16px}.modal-head h2{margin:4px 0}.warning-box{padding:12px;border-radius:9px;background:#fff0e2;border:1px solid #f5d0aa;color:#89551d;font-size:10px;line-height:1.5}.report-sheet{width:210mm;min-height:297mm;background:white;margin:28px auto;padding:15mm;box-shadow:0 16px 45px rgba(0,0,0,.22);color:#111;font-family:"Times New Roman",serif}.report-sheet.landscape{page:landscape;width:297mm;min-height:210mm}.report-sheet header{text-align:center;margin-bottom:8mm}.report-sheet h1{font-size:15pt;margin:0 0 3mm}.report-sheet h2{font-size:12pt;margin:0 0 3mm}.report-sheet p{font-size:9pt}.report-sheet table{border-collapse:collapse}.report-sheet th,.report-sheet td{border:1px solid #222;background:white;color:#111;text-transform:none;font-size:8pt;padding:2mm}.report-sheet tbody td{height:12mm}.report-sheet footer{margin-top:9mm;font-size:9pt}
@media(max-width:1150px){.school-shell{grid-template-columns:210px 1fr}.cascade{flex-wrap:wrap}.cascade select{min-width:120px}.stats{grid-template-columns:repeat(2,1fr)}.form-grid.cols-4{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}.document-controls{grid-template-columns:1fr 1fr}.document-preview{overflow:auto}}
@media(max-width:760px){.school-shell{grid-template-columns:1fr}.school-shell .sidebar{height:auto;position:sticky}.school-shell .sidebar nav{flex-direction:row}.side-user{display:none}.school-shell .topbar{top:57px;align-items:flex-start;flex-direction:column;padding:12px 14px}.cascade{width:100%}.cascade label{flex:1}.cascade select{width:100%;min-width:0}.school-shell .notice{margin:10px 14px 0}.school-shell .content{padding:18px 14px 40px}.hero-card,.section-heading{align-items:stretch;flex-direction:column}.stats,.grid-two,.form-grid.cols-4{grid-template-columns:1fr}.official-document{transform:scale(.72);transform-origin:top left;margin-bottom:-85mm}.document-preview{width:210mm}.report-sheet{transform:scale(.72);transform-origin:top left}.report-workspace{overflow:auto}}
@page landscape{size:A4 landscape;margin:0}@media print{body{background:white!important}body *{visibility:hidden!important}.print-surface,.print-surface *{visibility:visible!important}.print-surface{position:absolute!important;left:0!important;top:0!important;margin:0!important;padding:0!important;box-shadow:none!important}.official-document{width:210mm!important;min-height:297mm!important;border:0!important;transform:none!important;padding:12mm 14mm!important}.report-sheet{width:210mm!important;min-height:297mm!important;padding:13mm!important;transform:none!important}.report-sheet.landscape{page:landscape;width:297mm!important;min-height:210mm!important;padding:10mm!important}.no-print{display:none!important}@page{size:A4;margin:0}}

.side-user>div{min-width:0;flex:1}.side-user>div strong,.side-user>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user>button{border:1px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.8);border-radius:7px;padding:6px 7px;font-size:8px;font-weight:800}.side-user>button:hover{background:rgba(255,255,255,.1);color:white}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,#dbe9ff 0,transparent 31%),linear-gradient(135deg,#eef3f9,#f8fafc)}.auth-card{width:min(455px,100%);background:white;border:1px solid #dfe6ef;border-radius:20px;padding:34px;box-shadow:0 24px 70px rgba(23,55,94,.16)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{color:var(--navy);font-size:17px}.auth-brand small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.6px;margin-top:2px}.auth-card h1{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.15;margin:7px 0 10px;color:var(--navy)}.auth-card>p{color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 22px}.auth-card form{display:flex;flex-direction:column;gap:15px}.auth-card .field input{font-size:12px;padding:11px 12px}.password-field{display:grid;grid-template-columns:1fr auto}.password-field input{border-radius:8px 0 0 8px}.password-field button{border:1px solid #dfe5ed;border-left:0;background:#f4f7fb;color:var(--navy);border-radius:0 8px 8px 0;padding:0 10px;font-size:9px;font-weight:800}.auth-submit{width:100%;padding:12px;margin-top:3px}.auth-error{border:1px solid #f2c4c4;background:#fff0f0;color:#963737;border-radius:9px;padding:10px 12px;font-size:10px;margin-bottom:16px}.auth-help{display:block;color:#8993a4;font-size:9px;line-height:1.55;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}

.subject-list-tabs{display:flex;gap:10px;overflow:auto;padding:2px 1px}.subject-list-tabs button{min-width:190px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);text-align:left;cursor:pointer}.subject-list-tabs button strong,.subject-list-tabs button small{display:block}.subject-list-tabs button strong{font-size:11px}.subject-list-tabs button small{margin-top:4px;color:var(--muted);font-size:8px}.subject-list-tabs button.active{border-color:#7fa7ed;background:var(--blue-soft);box-shadow:inset 0 0 0 1px #7fa7ed}.subject-list-settings .form-grid,.subject-list-form .form-grid{grid-template-columns:2fr 3fr 1fr}.subject-table-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}.subject-table-heading h3{margin:0;font-size:14px}.subject-table-heading p{margin:4px 0 0;color:var(--muted);font-size:9px}.inline-subject-form{display:grid;grid-template-columns:120px minmax(260px,1fr) 180px auto;gap:10px;align-items:end;padding:15px 20px;background:#f8fafc;border-bottom:1px solid var(--line)}.subject-editor-table input,.subject-editor-table select{width:100%;min-width:86px;border:1px solid #dfe5ed;border-radius:7px;padding:7px 8px;background:white;color:var(--ink);font-size:10px}.subject-editor-table td:nth-child(1){width:110px}.subject-editor-table td:nth-child(2){min-width:280px}.subject-editor-table td:nth-child(3),.subject-editor-table td:nth-child(4){width:170px}.subject-editor-table td:last-child{width:100px;text-align:right}.subject-editor-table .muted-row{opacity:.62;background:#f8fafc}
@media(max-width:760px){.subject-list-settings .form-grid,.subject-list-form .form-grid,.inline-subject-form{grid-template-columns:1fr}.subject-table-heading{align-items:stretch;flex-direction:column}}

/* Precizni A4 obrasci prema službenim PDF predlošcima */
.document-preview{min-width:max-content}
.official-document{
  position:relative;width:210mm;height:297mm;min-height:297mm;overflow:hidden;margin:0 auto;padding:0;
  border:0;background:#fff;color:#000;box-shadow:0 16px 45px rgba(0,0,0,.22);
  font-family:Arial,Helvetica,sans-serif;text-align:left;font-size:10pt;line-height:1;
  print-color-adjust:exact;-webkit-print-color-adjust:exact
}
.official-document::before,.official-document::after{content:"";position:absolute;pointer-events:none;z-index:10}
.official-document::before{inset:11mm 11.9mm 11mm 11mm;border:1.5pt solid #000}
.official-document::after{inset:13.5mm 14.4mm 13.5mm 13.5mm;border:.5pt solid #000}
.official-header{position:absolute;top:17.2mm;left:16mm;right:20mm;text-align:center}
.official-header h4,.official-header h5,.official-title h1,.official-title h2{padding:0;border:0}
.official-header h4{margin:0;font:700 18pt/7.2mm "Times New Roman",Times,serif;letter-spacing:0}
.confirmation .official-header h4{font-family:Arial,Helvetica,sans-serif}
.official-header h5{margin:0;font:700 16pt/6.4mm "Times New Roman",Times,serif;letter-spacing:0}
.official-header-rule{margin-top:.8mm;border-top:1.5pt solid #000;height:3mm}
.official-meta{font:10pt/4.6mm Arial,Helvetica,sans-serif;text-align:left}
.official-meta-row{height:7mm;display:grid;grid-template-columns:1fr}
.official-meta-row.two-columns{grid-template-columns:1fr 1fr;gap:6mm}
.official-meta-row.registry-row{grid-template-columns:minmax(0,47fr) minmax(0,38fr) minmax(0,15fr);gap:2mm}
.official-meta-field{min-width:0;display:flex;align-items:flex-start;gap:2mm;white-space:nowrap}
.official-meta-field>span{flex:0 0 auto}
.official-meta-field .line-fill{min-width:0}
.official-meta-field.place-field{gap:2.5mm}
.official-meta-field.book-field{gap:2.5mm}
.official-meta-field.number-field{gap:1.5mm}
.official-meta-field.number-field .line-fill{min-width:0}
.line-fill{
  display:flex;min-width:0;flex:1;height:4.65mm;align-items:flex-start;justify-content:center;
  border-bottom:.5pt solid #000;text-align:center;font-weight:700;font-style:italic;white-space:nowrap
}
.official-title{position:absolute;top:78.1mm;left:16mm;right:20mm;text-align:center}
.official-title h1{margin:0;font:700 20pt/8.4mm "Times New Roman",Times,serif;letter-spacing:0}
.certificate .official-title h1{letter-spacing:.8mm}
.confirmation .official-title h1{font:700 24pt/9.3mm Arial,Helvetica,sans-serif}
.official-title h2{margin:0;font:400 12pt/5.5mm "Times New Roman",Times,serif;letter-spacing:0}
.official-student{
  position:absolute;top:96.1mm;left:16mm;right:20mm;
  font:10pt/4.7mm Arial,Helvetica,sans-serif;text-align:left
}
.official-form-row{height:7mm;display:flex;align-items:flex-start;gap:2mm;white-space:nowrap}
.official-form-row .line-fill{height:4.75mm}
.student-name-row>span{flex:0 0 auto}
.student-name-row .split-name{display:grid;grid-template-columns:1fr 1fr}
.split-name span{text-align:center}
.parent-row>span{flex:0 0 auto}
.birth-row{gap:2.5mm}
.birth-row .birth-date{flex:0 0 40mm}
.birth-row .birth-place{flex:0 0 41mm}
.country-row .line-fill:first-of-type{flex:1.1}
.country-row .line-fill:last-of-type{flex:1}
.official-pre-table{
  position:absolute;top:123.9mm;left:16mm;right:20mm;height:5mm;margin:0;
  font:9pt/5mm Arial,Helvetica,sans-serif;text-align:center;white-space:nowrap
}
.official-pre-table b{font-weight:700;font-style:italic}
.certificate-grade-grid{
  position:absolute;top:129.7mm;left:16mm;display:grid;
  grid-template-columns:114.3mm 56.4mm;gap:3.1mm;height:99.2mm
}
.official-document .official-grade-table{
  width:100%;height:auto;margin:0;border:1.5pt solid #000;border-collapse:collapse;
  table-layout:fixed;background:#fff;color:#000
}
.official-document .official-grade-table th,.official-document .official-grade-table td{
  height:4.51mm;min-height:4.51mm;padding:0 2.8mm;border:0;border-bottom:.5pt solid #000;
  background:#fff;color:#000;text-transform:none;font:400 10pt/4.05mm Arial,Helvetica,sans-serif;
  vertical-align:middle;overflow:hidden;white-space:nowrap
}
.official-document .official-grade-table tr:last-child td{border-bottom:0}
.official-document .official-grade-table td:first-child{text-align:left}
.official-document .official-grade-table td:not(:first-child){text-align:left}
.official-document .official-grade-table .result-row td{border-top:1.5pt solid #000;font-weight:700}
.official-document .official-grade-table .conduct-row td{border-top:1.5pt solid #000}
.certificate-grades td{padding-left:3mm!important;padding-right:2mm!important}
.grade-value{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1mm}
.document-value{font-weight:700!important;font-style:italic}
.empty-value{font-weight:700}
.confirmation-grades{
  position:absolute;top:129.7mm;left:15.5mm;width:175.4mm!important;height:auto!important
}
.official-document .confirmation-grades thead tr:first-child,.official-document .confirmation-grades thead tr:first-child th{height:12.35mm}
.official-document .confirmation-grades thead tr:last-child,.official-document .confirmation-grades thead tr:last-child th{height:4.75mm}
.official-document .confirmation-grades th{
  padding:0;border:.5pt solid #000;font:400 10pt/4mm Arial,Helvetica,sans-serif;
  text-align:center;vertical-align:middle
}
.official-document .confirmation-grades col.subject-column{width:43%}
.official-document .confirmation-grades col:not(.subject-column){width:19%}
.official-document .confirmation-grades tbody td{height:4.49mm;min-height:4.49mm;padding:0 1mm;border-right:.5pt solid #000}
.official-document .confirmation-grades tbody td:first-child{padding-left:2.7mm;padding-right:1mm}
.official-document .confirmation-grades tbody td:last-child{border-right:0}
.certificate-result-sentence{
  position:absolute;top:231.3mm;left:18mm;right:20mm;display:grid;
  grid-template-columns:116mm 44mm;grid-template-rows:5mm 5mm;
  font:10pt/5mm Arial,Helvetica,sans-serif;text-align:left
}
.certificate-result-sentence .line-fill{height:4.4mm}
.certificate-result-sentence>span:last-child{grid-column:1/-1;padding-left:0}
.certificate-official-footer{
  position:absolute;top:246mm;left:17.5mm;right:17.5mm;height:35mm;
  font:10pt/4.5mm Arial,Helvetica,sans-serif;text-align:left
}
.certificate-issue-row{height:5mm;display:flex;align-items:flex-start;gap:2.5mm;white-space:nowrap}
.certificate-issue-row>span:first-child b,.certificate-issue-row>b:nth-child(2){font-weight:700;font-style:italic}
.certificate-issue-row .registry-number-label{margin-left:auto}
.certificate-issue-row .line-fill{flex:0 0 45mm;height:4.5mm}
.certificate-signatures{display:grid;grid-template-columns:1fr 30mm 1fr;gap:7mm;margin-top:5.8mm;text-align:center}
.certificate-signatures>div{display:flex;flex-direction:column;align-items:stretch}
.certificate-signatures>strong{padding-top:3mm;text-align:center}
.signature-line{display:block;height:7mm;border-bottom:.5pt solid #000}
.certificate-signatures b,.confirmation-director b{
  display:block;margin-top:1.5mm;font-size:8pt;line-height:3mm;font-weight:700;font-style:italic;text-align:center
}
.grade-legend{margin-top:.4mm;padding-left:28mm;display:flex;flex-direction:column;font-size:7pt;line-height:3mm}
.confirmation-official-footer{
  position:absolute;top:261.2mm;left:17.5mm;right:17.5mm;height:20mm;
  font:10pt/4.5mm Arial,Helvetica,sans-serif;text-align:left
}
.confirmation-date{position:absolute;top:2.2mm;left:0;white-space:nowrap}
.confirmation-date b{font-weight:700;font-style:italic}
.confirmation-stamp{position:absolute;top:.5mm;left:50%;transform:translateX(-50%)}
.confirmation-director{position:absolute;top:2.2mm;right:4mm;width:55mm;text-align:center}
.confirmation-director .signature-line{height:10.6mm}
.confirmation-number{position:absolute;top:12.4mm;left:1.5mm;width:88mm;display:flex;gap:2mm;white-space:nowrap}
.confirmation-number .line-fill{height:4.5mm}

@media(max-width:760px){
  .official-document{transform:scale(.72);transform-origin:top left;margin-bottom:-83mm}
}

@page{size:A4 portrait;margin:0}
@media print{
  html,body{width:210mm!important;min-height:297mm!important;height:auto!important;margin:0!important;overflow:visible!important;background:#fff!important}
  body *{visibility:hidden!important}
  .modal-backdrop,.modal-backdrop *,.print-surface,.print-surface *{visibility:visible!important}
  .modal-backdrop{
    position:static!important;inset:auto!important;display:block!important;width:auto!important;height:auto!important;
    min-height:0!important;overflow:visible!important;margin:0!important;padding:0!important;background:#fff!important;
    backdrop-filter:none!important
  }
  .document-workspace,.report-workspace{
    position:static!important;width:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;
    margin:0!important;padding:0!important;border-radius:0!important;background:#fff!important
  }
  .document-preview,.print-surface{
    position:static!important;display:block!important;width:auto!important;min-width:0!important;height:auto!important;
    overflow:visible!important;margin:0!important;padding:0!important;background:#fff!important;box-shadow:none!important
  }
  .official-document{
    position:relative!important;width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;
    margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;transform:none!important;
    overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important
  }
  .report-sheet{position:relative!important;margin:0!important;box-shadow:none!important;overflow:visible!important}
  .report-sheet.landscape{page:landscape}
  .no-print{display:none!important}
}

/* PHP/MySQL varijanta */
.sidebar nav a{width:100%;border:0;background:transparent;color:rgba(255,255,255,.72);padding:11px 12px;border-radius:9px;display:flex;gap:12px;align-items:center;text-align:left;font-weight:600;font-size:12px;text-decoration:none;transition:.18s ease}
.sidebar nav a>span{width:25px;height:25px;border-radius:7px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;font-size:11px;font-weight:800}
.sidebar nav a:hover{background:rgba(255,255,255,.08);color:white}.sidebar nav a.active{background:white;color:var(--navy);box-shadow:0 5px 16px rgba(0,0,0,.14)}.sidebar nav a.active>span{background:var(--blue-soft);border-color:#c8dcff;color:var(--blue)}
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.logout-link{border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.8);border-radius:7px;padding:6px 7px;font-size:8px;font-weight:800;text-decoration:none}
.is-hidden{display:none!important}.notice.error{background:#fff0f0;border-color:#f5caca;color:#9c3232}.install-card{width:min(760px,100%)}.install-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:18px}.install-grid .wide{grid-column:1/-1}
.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.single{grid-template-columns:1fr;padding:0;margin-bottom:15px}.form-grid .wide-two{grid-column:span 2}.padded-title{padding:18px 20px;margin:0}.padded-actions{padding:16px 20px}.checkbox-field{justify-content:flex-end}.checkbox-field input{width:auto;margin:0 8px 0 0}.inline-check{white-space:nowrap}.inline-check input{width:auto;min-width:0}.data-table input,.data-table textarea{width:100%;border:1px solid #dfe5ed;border-radius:8px;padding:8px;background:white;font-size:10px}.data-table select{min-width:130px}
.warning-card{border-color:#efc99f}.warning-box{padding:12px;border-radius:9px;background:#fff0e2;border:1px solid #f5d0aa;color:#89551d;font-size:10px;line-height:1.5}.danger{border:0;border-radius:8px;padding:9px 12px;background:#b53b3b;color:#fff;font-size:10px;font-weight:800}.danger-link{background:transparent;color:#b33b3b;padding:6px}.document-edit-card .card-title h3{margin:4px 0 0}.print-toolbar{position:fixed;z-index:100;top:15px;right:18px;display:flex;gap:8px}.print-page{padding:28px;background:#e9edf3}.print-page .official-document{margin:auto}.print-page .report-sheet{margin:0 auto}.subject-list-tabs a{min-width:190px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);text-align:left;text-decoration:none}.subject-list-tabs a strong,.subject-list-tabs a small{display:block}.subject-list-tabs a strong{font-size:11px}.subject-list-tabs a small{margin-top:4px;color:var(--muted);font-size:8px}.subject-list-tabs a.active{border-color:#7fa7ed;background:var(--blue-soft);box-shadow:inset 0 0 0 1px #7fa7ed}.subject-editor-table form{margin:0}.report-card .button-link{margin-top:6px}.field textarea{width:100%;border:1px solid #dfe5ed;border-radius:8px;padding:9px 10px;background:white;color:var(--ink);font-size:10px;resize:vertical}
@media(max-width:1150px){.form-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar nav a{min-width:58px;width:auto;flex-direction:column;gap:3px;padding:6px;font-size:8px}.install-grid,.form-grid.cols-4{grid-template-columns:1fr}.install-grid .wide,.form-grid .wide-two{grid-column:auto}.print-page{padding:0}}
@media print{.print-toolbar{display:none!important}.print-page{padding:0!important;background:#fff!important}.print-page .official-document,.print-page .report-sheet{margin:0!important}.print-page .official-document{padding:0!important;max-height:297mm!important}.print-page .report-sheet{padding:13mm!important}.print-page .report-sheet.landscape{padding:10mm!important}}
