/* NICB Queue — shared styles (NICB navy / gold, Roboto) */
:root{
  --bg:#F4F6FA; --surface:#FFFFFF; --ink:#16283F; --muted:#5B6B80; --line:#DFE6F0; --line-2:#C9D3E1;
  --brand:#0B2A5C; --brand-deep:#081B33; --brand-soft:#EEF2F8; --link:#06318D;
  --gold:#B27831; --gold-soft:#F6ECDC;
  --ok:#1E7F4F; --ok-soft:#E6F3EB; --warn:#A63D36; --warn-soft:#F8ECEB; --amber:#8A5A00; --amber-soft:#FFF4DB;
  --r-lg:16px; --r:10px; --r-sm:6px;
  --font:Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --cond:"Roboto Condensed",Roboto,Arial,sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%}
a{color:var(--link)}
h1,h2,h3{line-height:1.2;margin:0;font-weight:700}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
[hidden]{display:none!important}
.muted{color:var(--muted)} .small{font-size:.875rem} .center{text-align:center}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap} .grow{flex:1}
.stack>*+*{margin-top:12px}

/* brand */
.logo{display:flex;align-items:center;gap:10px;font-weight:700;color:inherit;text-decoration:none}
.logo img{height:34px;width:auto;display:block}
.logo .mark{min-width:46px;height:38px;padding:0 6px;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.74rem;letter-spacing:.02em;border-bottom:3px solid var(--gold)}
.logo.on-dark .mark{background:#fff;color:var(--brand)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r);padding:12px 18px;font-weight:700;cursor:pointer;background:var(--brand);color:#fff;min-height:46px;text-decoration:none;transition:filter .15s}
.btn:hover{filter:brightness(1.12)}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}
.btn.gold{background:var(--gold)}
.btn.ghost{background:var(--surface);color:var(--brand);border:1.5px solid var(--line-2)}
.btn.soft{background:var(--brand-soft);color:var(--brand)}
.btn.ok{background:var(--ok)} .btn.warn{background:var(--warn-soft);color:var(--warn)}
.btn.sm{min-height:36px;padding:7px 12px;font-size:.9rem;border-radius:8px}
.btn.block{width:100%}
.link{background:none;border:0;color:var(--link);font-weight:600;cursor:pointer;padding:6px 0;text-decoration:underline;text-underline-offset:3px}

/* forms */
label.f{display:block;font-weight:600;font-size:.92rem;margin-bottom:12px}
label.f>span{display:block;margin-bottom:5px}
.in,select.in,textarea.in{width:100%;min-width:0;max-width:100%;padding:11px 12px;border:1.5px solid var(--line-2);border-radius:8px;background:#fff;min-height:44px}
.in:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px rgba(11,42,92,.15)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;cursor:pointer}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--brand)}
.hint{font-size:.82rem;color:var(--muted);font-weight:400;margin-top:4px}

/* chips & badges */
.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--brand-soft);color:var(--brand);white-space:nowrap}
.badge.ok{background:var(--ok-soft);color:var(--ok)} .badge.warn{background:var(--warn-soft);color:var(--warn)}
.badge.amber{background:var(--amber-soft);color:var(--amber)} .badge.gold{background:var(--gold-soft);color:#7A4F17}

/* cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.notice{border-radius:var(--r);padding:12px 14px;font-size:.92rem;background:var(--brand-soft)}
.notice.warn{background:var(--warn-soft);color:var(--warn)} .notice.amber{background:var(--amber-soft);color:var(--amber)} .notice.ok{background:var(--ok-soft);color:var(--ok)}

/* toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--brand-deep);color:#fff;padding:12px 18px;border-radius:10px;font-weight:600;z-index:99;max-width:92vw;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.toast.err{background:var(--warn)}

/* spinner */
.spin{width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:sp 1s linear infinite;display:inline-block;vertical-align:middle}
@keyframes sp{to{transform:rotate(360deg)}}

/* tables */
table.t{width:100%;border-collapse:collapse;font-size:.92rem}
table.t th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;padding:8px 10px;border-bottom:1.5px solid var(--line)}
table.t td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
table.t input.in,table.t select.in{min-height:36px;padding:6px 8px}
/* date inputs: stop phones (iOS/Android) from widening the field past its column */
input[type="date"].in{-webkit-appearance:none;appearance:none;display:block;min-height:44px;line-height:1.2}
input[type="date"].in::-webkit-date-and-time-value{text-align:left}
