:root{
  --bg:#EDEFF2; --paper:#FFFFFF; --ink:#14181F; --sub:#4B5563;
  --primary:#1F3D5C; --primary-ink:#0F2440;
  --urgent:#B3261E; --urgent-bg:#FBEAE9;
  --warn:#A66A1E; --warn-bg:#FBF0DF;
  --ok:#2E6E4E; --ok-bg:#E7F3EC;
  --line:#CBD0D8;
}
*{box-sizing:border-box;}
body{background:var(--bg); color:var(--ink); font-family:'Inter',sans-serif; margin:0;}
.font-display{font-family:'Barlow Condensed',sans-serif; letter-spacing:.01em;}
.font-mono{font-family:'IBM Plex Mono',monospace;}
.hairline{border-color:var(--line);}
.card{background:var(--paper); border:1px solid var(--line);}
.tag{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.04em; text-transform:uppercase; padding:2px 8px; border:1px solid currentColor; border-radius:2px; display:inline-block;}
.btn-primary{background:var(--primary); color:#fff; border:none; cursor:pointer;}
.btn-primary:hover{background:var(--primary-ink);}
.btn-urgent{background:var(--urgent); color:#fff; border:none; cursor:pointer;}
.btn-urgent:hover{background:#8f2d27;}
.btn-quiet{background:transparent; border:1px solid var(--line); cursor:pointer;}
.link-quiet{color:var(--primary); text-decoration:underline; text-underline-offset:2px;}
input:focus, select:focus, textarea:focus, button:focus, a:focus{outline:2px solid var(--primary); outline-offset:2px;}
::selection{background:var(--warn-bg);}
.ticker-chip{font-family:'IBM Plex Mono',monospace; font-size:12px; border:1px solid #3A5776; padding:4px 10px; white-space:nowrap; color:#EDEFF2;}
.nav-tab{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.03em; text-transform:uppercase; padding:8px 4px; border-bottom:2px solid transparent; text-decoration:none; color:var(--ink);}
.nav-tab.active{border-bottom-color:var(--primary); color:var(--primary); font-weight:600;}
table{border-collapse:collapse; width:100%;}
th,td{border-bottom:1px solid var(--line); padding:8px 10px; text-align:left; font-size:13px; vertical-align:top;}
th{font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.03em; color:var(--sub); font-weight:500;}
.bar-track{background:#E5E7EB; height:8px; border-radius:2px; overflow:hidden;}
.bar-fill{background:var(--primary); height:100%;}
.flash{padding:10px 16px; font-size:13px; border-bottom:1px solid var(--line);}
.flash-ok{background:var(--ok-bg); color:var(--ok);}
.flash-error{background:var(--urgent-bg); color:var(--urgent);}
.field-error{color:var(--urgent); font-size:12px; margin-top:4px;}
.inline-form{display:inline;}
input[type=text], input[type=tel], input[type=number], input[type=password], select, textarea{
  width:100%; border:1px solid var(--line); padding:8px 10px; margin-top:4px; font-size:14px; background:#fff; font-family:inherit;
}
label.field-label{font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.03em; color:var(--sub);}
