:root{--blue:#0B4EA2;--navy:#1E2430;--gold:#E0A526;--ok:#1B7F4E;--warn:#B45309;--danger:#B91C1C;--line:#E3E7EE;--muted:#5B6472}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:#F4F6F9;color:var(--navy);font-size:18px}
.k-top{background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.25rem;border-bottom:4px solid var(--gold)}
.k-brand{font-family:"Oswald","Arial Narrow",Arial,sans-serif;font-weight:700;letter-spacing:.06em}.k-brand span{color:var(--gold)}
.k-clock{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}
.k-main{max-width:900px;margin:0 auto;padding:1.25rem}
.k-foot{display:flex;gap:1rem;justify-content:center;color:var(--muted);font-size:.75rem;padding:1rem}
h1{font-size:1.5rem;margin:.25rem 0 1rem}
.k-muted{color:var(--muted)}
.k-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem}
button{font:inherit;cursor:pointer;border-radius:12px;border:2px solid var(--blue);background:#fff;color:var(--blue);padding:1rem;min-height:64px;font-weight:700}
button.primary{background:var(--blue);color:#fff}button.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}
button:disabled{opacity:.5}button:focus-visible{outline:4px solid var(--gold);outline-offset:2px}
.k-person{text-align:left;font-size:1.1rem}
.k-row{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.k-row>button{flex:1 1 12rem}
.k-pin{font-size:2rem;letter-spacing:.5em;text-align:center;padding:.6rem;border:2px solid var(--line);border-radius:12px;background:#fff;min-height:3.4rem;margin:.5rem 0}
.k-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;max-width:22rem;margin:0 auto}
.k-pad button{font-size:1.6rem;min-height:72px}
.k-job{text-align:left}.k-job small{display:block;color:var(--muted);font-weight:500}
.k-msg{padding:1rem;border-radius:12px;margin:1rem 0;font-weight:600}
.k-err{background:#FEF3F2;color:var(--danger);border-left:6px solid var(--danger)}
.k-ok{background:#E9F7EF;color:var(--ok);border-left:6px solid var(--ok);font-size:1.3rem}
input{font:inherit;width:100%;padding:.8rem;border:2px solid var(--line);border-radius:12px;text-transform:uppercase;letter-spacing:.15em}
.k-label{display:block;font-weight:700;margin:.5rem 0 .35rem}
input::placeholder{text-transform:none;letter-spacing:normal;color:#8A93A1}
