:root{
  --navy:#273C91; --navy-d:#1C2C6E; --navy-l:#E8ECF7;
  --teal:#4BA594; --teal-d:#357A6D; --teal-l:#E4F2EF;
  --bg:#F8F7F3; --card:#FFFFFF; --ink:#1F2433; --muted:#646A7A; --line:#E4E2DA;
  --amber:#C98A2B; --amber-l:#FBF1E1; --red:#B5473A; --red-l:#F8E6E3;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{margin:0;font-weight:650}
h1{font-size:22px} h2{font-size:17px} h3{font-size:15px}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--navy)}
.muted{color:var(--muted)} .small{font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;cursor:pointer;font-weight:550;white-space:nowrap}
.btn:hover{border-color:#c9c6bb}
.btn:disabled{opacity:.5;cursor:default}
.btn.p{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.t{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.d{color:var(--red);border-color:#E7C3BD}
.btn.sm{padding:5px 10px;font-size:13px}
.in{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}
label.f{display:block;font-size:13px;font-weight:600;margin:12px 0 4px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tag{display:inline-block;font-size:12px;font-weight:600;border-radius:99px;padding:2px 9px;white-space:nowrap;background:#EEEDE8;color:#4A4F5C}
.tag.g{background:var(--teal-l);color:var(--teal-d)} .tag.b{background:var(--navy-l);color:var(--navy)}
.tag.a{background:var(--amber-l);color:#8A5E18} .tag.r{background:var(--red-l);color:var(--red)}
.note{background:var(--teal-l);border:1px solid #CFE6E0;border-radius:12px;padding:10px 14px;font-size:14px}
.warn{background:var(--amber-l);border:1px solid #EBD3A8;border-radius:12px;padding:10px 14px;font-size:14px}
.err{background:var(--red-l);border:1px solid #E7C3BD;border-radius:12px;padding:10px 14px;font-size:14px;color:#7a2a20}
.signin{max-width:400px;margin:8vh auto;padding:0 16px}
.hidden{display:none!important}
/* Show / Hide button inside password boxes (see /lib/showpw.js) */
.pw-wrap{position:relative;display:block}
.pw-wrap .in{padding-right:64px}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted,#666);font:inherit;font-size:13px;padding:6px 8px;cursor:pointer}
