:root{
  --night:#0A1628; --night-2:#132339; --amber:#E8C547; --red:#C94B2C;
  --teal:#4A9B7F; --blue:#3A7BD5; --gray:#6B6456;
  --cream:#F5F0E8; --paper:#FBF8F2; --line:#E3DCCD;
  --ink:#0A1628; --muted:#6B6456; --white:#FFF; --radius:11px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Be Vietnam Pro",system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
button,select,input{font-family:inherit}
button{cursor:pointer}
.mono{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
.hide{display:none!important}

header{background:var(--night);color:var(--cream);padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:9px}
.brand .mark{font-size:19px;font-weight:700;letter-spacing:-.3px}
.brand .mark b{color:var(--amber)}
.brand .sub{font-size:11px;color:#9DAABC;text-transform:uppercase;letter-spacing:1.4px}
.who{font-size:13px;color:#C4CDDA;display:flex;align-items:center;gap:12px}
.who .out{background:#1C2E46;border:none;color:#9DAABC;border-radius:7px;padding:6px 11px;font-size:12px}
.strata{height:4px;display:flex}.strata i{flex:1}
.strata i:nth-child(1){background:var(--night-2)}.strata i:nth-child(2){background:var(--teal)}
.strata i:nth-child(3){background:var(--amber)}.strata i:nth-child(4){background:var(--red)}

h1{font-size:22px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}
h2{font-size:12px;text-transform:uppercase;letter-spacing:1.1px;color:var(--muted);font-weight:700;margin:26px 0 11px}
.lead{color:var(--muted);font-size:13.5px;margin-bottom:20px}
.hint{font-size:12px;color:var(--muted)}
.err{font-size:12.5px;color:var(--red);margin-top:9px}

.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:19px 21px;margin-bottom:14px}
.card.tbl{padding:0;overflow:hidden}

.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}
label{font-size:12.5px;font-weight:500}
input,select{padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:15px;background:var(--white);color:var(--ink);width:100%}
input:focus,select:focus{outline:2px solid var(--teal);outline-offset:-1px;border-color:var(--teal)}

.btn{background:var(--amber);color:var(--night);border:none;padding:12px 18px;border-radius:9px;font-weight:700;font-size:14px}
.btn:hover{filter:brightness(.96)}
.btn:disabled{opacity:.4;cursor:not-allowed;filter:none}
.btn.block{width:100%;padding:14px;font-size:15px}
.btn.ghost{background:var(--white);border:1px solid var(--line);color:var(--ink);font-weight:500}
.btn.dark{background:var(--night);color:var(--cream)}
.btn.sm{padding:7px 12px;font-size:12.5px}
.link{background:none;border:none;color:var(--teal);font-size:13.5px;font-weight:500;padding:9px;width:100%;text-align:center}

table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:700;padding:11px 13px;border-bottom:1px solid var(--line);background:#FBF9F4}
th.r,td.r{text-align:right}
td{padding:12px 13px;border-bottom:1px solid #F0EBDF;vertical-align:middle}
tr:last-child td{border-bottom:none}

.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}
.pill.ok{background:#E4F1EB;color:#1F5A46}
.pill.warn{background:#FBF1D8;color:#7A5E12}
.pill.bad{background:#F7E3DD;color:#8A3320}
.linkbtn{background:none;border:none;color:var(--teal);font-weight:500;font-size:13px;padding:4px}
.linkbtn.danger{color:var(--red)}
.linkbtn:hover{text-decoration:underline}

.empty{padding:26px;text-align:center;color:var(--muted);font-size:13.5px}
.note{background:#EDF4F1;border:1px solid #C6DFD5;border-radius:10px;padding:13px 15px;font-size:12.5px;color:#2C5648;display:flex;gap:9px;margin-top:14px}
.note b{color:#1F4437}
.warnbox{background:#FBF4E4;border:1px solid #EBD9A8;border-radius:var(--radius);padding:17px;margin-bottom:14px}

.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(18px);background:var(--night);color:var(--cream);padding:12px 20px;border-radius:10px;font-size:13.5px;opacity:0;pointer-events:none;transition:.25s;z-index:99;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
