:root{--navy:#1b2a4e;--gold:#f4b400;--ink:#22304a;--muted:#5b6780;--sky:#e9f1ff}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#f6f8fc;line-height:1.55}
.testbar{background:#b00020;color:#fff;text-align:center;padding:.5rem 1rem;font-size:.95rem;position:sticky;top:0;z-index:5}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.8rem 1.25rem;background:#fff;border-bottom:1px solid #e3e8f2}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--navy);text-decoration:none}.brand img{border-radius:50%}
.box{max-width:900px;margin:1.5rem auto;padding:0 1rem}.narrow{max-width:560px}.wide{max-width:1300px}
h1,h2{color:var(--navy);font-family:Georgia,serif}
.card{background:#fff;border-radius:14px;padding:1.2rem 1.4rem;margin:1rem 0;box-shadow:0 4px 16px rgba(27,42,78,.07)}
label{display:block;margin:.7rem 0;font-weight:600}input,select,textarea{display:block;width:100%;margin-top:.3rem;padding:.6rem;border:1px solid #76829a;border-radius:8px;font:inherit}
.check{font-weight:400;display:flex;gap:.6rem;align-items:flex-start}.check input{width:auto;margin-top:.3rem}
button{font:inherit;padding:.6rem 1.1rem;border-radius:8px;border:1px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer}
button.primary{background:var(--navy);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}
button.small,a.small{padding:.25rem .55rem;font-size:.85rem;margin:.15rem;display:inline-block}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.msg{min-height:1.2em}.msg.err{color:#b00020}.msg.ok{color:#1d7a35}
.note{color:var(--muted);font-size:.93rem}.ann{white-space:pre-wrap;font-weight:600}
.badge{padding:.1rem .5rem;border-radius:99px;background:#eee}.badge.paid,.badge.confirmed{background:#d7f5df}.badge.pending_payment,.badge.awaiting_payment{background:#fff1c7}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.span2{grid-column:1/-1}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filters input,.filters select{width:auto;margin:0}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.45rem;border-bottom:1px solid #e6ebf3;vertical-align:top}
.list li{margin:.4rem 0}.who{font-size:.9rem}
.challan{max-width:760px;margin:1.5rem auto;background:#fff;padding:1.5rem 2rem;position:relative;border:2px dashed #b00020;overflow:hidden}
.challan header{display:flex;gap:1rem;align-items:center}.challan h1{margin:0;font-size:1.3rem}
.wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:4rem;font-weight:800;color:rgba(176,0,32,.12);transform:rotate(-25deg);pointer-events:none;white-space:nowrap}
@media (max-width:700px){.grid2{grid-template-columns:1fr}}
@media print{.noprint{display:none}.testbar{position:static;-webkit-print-color-adjust:exact;print-color-adjust:exact}.wm{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff}.challan{margin:0;border-color:#b00020}}
.soon{font-size:1.6rem;font-weight:700;color:var(--navy);margin:.2rem 0 .6rem}
/* quiz + accessibility (2026-11-07) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid #1b2a4e;outline-offset:2px;box-shadow:0 0 0 5px #f4b400}
::placeholder{color:#5b6780;opacity:1}
.note{color:#4f5b73}
.tag{display:inline-block;background:#1b2a4e;color:#fff;font-size:.75rem;font-weight:700;padding:.1rem .45rem;border-radius:4px;letter-spacing:.05em}
.btnlink{display:inline-block;background:#1b2a4e;color:#fff;padding:.6rem 1.1rem;border-radius:8px;text-decoration:none;font-weight:600;min-height:44px}
.badge{color:#22304a}
.quizitem{border:1px solid #d5dceb;border-radius:12px;padding:.8rem 1rem;list-style:none}.list{padding:0}
.question{border:1px solid #d5dceb;border-radius:12px;padding:1rem;margin:0 0 1rem}.question legend{font-weight:700;padding:0 .3rem}
.opt{display:flex;align-items:center;gap:.6rem;min-height:44px}.opt input{width:1.3rem;height:1.3rem;margin:0;flex:none}.opt label{margin:0;font-weight:500;flex:1;padding:.4rem 0;cursor:pointer}
.timerbar{position:sticky;top:2.6rem;z-index:4;display:flex;gap:1rem;flex-wrap:wrap;align-items:center;background:#fff;border:2px solid #1b2a4e;border-radius:10px;padding:.5rem 1rem;margin:.5rem 0}
.timerbar strong{font-size:1.4rem;font-variant-numeric:tabular-nums}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 1rem}
.optrow{display:flex;gap:.5rem;align-items:center;margin:.3rem 0}.optrow input.ot{flex:1;margin:0}.optrow input[type=radio]{width:1.3rem;height:1.3rem;flex:none;margin:0}
button,.btnlink,a.small{min-height:44px}button.small,a.small{min-height:36px}
@media (max-width:700px){.grid3{grid-template-columns:1fr}.top{padding:.6rem .8rem}.box{padding:0 .6rem}.card{padding:1rem}table{font-size:.85rem}}
@media (max-width:360px){body{font-size:15px}.brand{font-size:.95rem}.testbar{font-size:.85rem}}
input,select,textarea{border-color:#76829a}
