:root{--brand-primary:#5b0e2d;--brand-secondary:#ffcba4;--white:#fff;--red:#c0392b;--green:#2e7d32;--text:#1c1c24;--text-muted:#4a4a58;--border:#e3d2c4;--bg:#f8f7f3;--card-bg:#fff;--radius:12px;--sans:system-ui, -apple-system, "Segoe UI", Calibri, Roboto, sans-serif;--heading:var(--brand-primary);--accent-bg:var(--brand-secondary);--accent-text:var(--brand-primary);font:18px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--text:#e9edf7;--text-muted:#d8c3ce;--border:#5a2e42;--bg:#241019;--card-bg:#331222;--heading:#ffcba4;--accent-bg:#4a1c34;--accent-text:#fcefe7}}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--sans);color:var(--heading);margin:0 0 .5em;font-weight:700}h1{font-size:1.6rem}h2{font-size:1.3rem}p{color:var(--text);margin:0 0 1em}.app-shell{flex-direction:column;flex:1;width:100%;max-width:640px;margin:0 auto;padding:1.25rem 1rem 3rem;display:flex}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 2px 10px #5b0e2d14}.stack{flex-direction:column;gap:1rem;display:flex}.bullets{color:var(--text);margin:0 0 1em;padding-left:1.25em}.bullets li{margin-bottom:.5em}.note{background:var(--accent-bg);border-radius:var(--radius);color:var(--accent-text);padding:.9rem 1rem;font-size:.95rem}label{color:var(--heading);margin-bottom:.35rem;font-weight:600;display:block}input[type=text],input[type=email],select{width:100%;font:inherit;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:8px;min-height:3rem;padding:.75rem}input[type=checkbox]{vertical-align:middle;width:1.4rem;height:1.4rem;margin-right:.6rem}.field{margin-bottom:1.1rem}.error{color:var(--red);margin-top:.35rem;font-size:.9rem}.button-row{gap:.75rem;margin-top:1.5rem;display:flex}button{font:inherit;border:2px solid var(--brand-primary);background:var(--brand-primary);min-height:3rem;color:var(--white);cursor:pointer;border-radius:999px;flex:1;padding:.9rem 1.4rem;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{color:var(--heading);border-color:var(--heading);background:0 0}button.danger{background:var(--red);border-color:var(--red)}button.success{background:var(--green);border-color:var(--green)}.progress-track{background:var(--accent-bg);border-radius:999px;height:8px;margin-bottom:1.5rem;overflow:hidden}.progress-fill{background:var(--heading);height:100%;transition:width .2s}.progress-label{color:var(--text-muted);margin-bottom:.4rem;font-size:.85rem}.option-list{flex-direction:column;gap:.6rem;display:flex}.option-button{text-align:left;background:var(--card-bg);color:var(--text);border:2px solid var(--border);border-radius:10px;flex:none;padding:.9rem 1rem;font-weight:500}.option-button.selected{border-color:var(--heading);background:var(--accent-bg);color:var(--accent-text)}.result-banner{text-align:center;border-radius:var(--radius);margin-bottom:1.25rem;padding:1.5rem}.result-banner.pass{border:2px solid var(--green);background:#2e7d321f}.result-banner.fail{border:2px solid var(--red);background:#c0392b1a}.result-banner .score{color:var(--heading);font-size:2.2rem;font-weight:800}.certificate{border:3px solid var(--heading);border-radius:var(--radius);text-align:center;background:var(--card-bg);padding:2rem 1.5rem}.certificate .company{color:var(--heading);letter-spacing:.04em;text-transform:uppercase;font-size:.9rem;font-weight:700}.certificate .trainee-name{color:var(--heading);margin:.75rem 0;font-size:1.8rem;font-weight:800}.certificate dl{text-align:left;grid-template-columns:auto 1fr;gap:.4rem 1rem;max-width:320px;margin:1.25rem auto;display:grid}.certificate dt{color:var(--text-muted)}.certificate dd{margin:0;font-weight:600}.retention-line{color:var(--text-muted);margin-top:1rem;font-size:.85rem}.link-list{flex-direction:column;gap:.6rem;margin-top:1.5rem;display:flex}.link-list a{color:var(--heading);font-weight:600}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block}body,.app-shell{background:var(--white);margin:0;padding:0}.certificate{box-shadow:none;page-break-inside:avoid;border:3px solid #5b0e2d}}.app-header{justify-content:center;padding:.5rem 0 1.25rem;display:flex}.app-header img{width:auto;height:44px}.certificate .logo{width:auto;height:40px;margin-bottom:.75rem}
