:root { font-family: Segoe UI, sans-serif; color: #172033; background: #eef2f7; }
* { box-sizing: border-box; }
body { margin: 0; }
header { background: #17365d; color: white; padding: 1rem 1.5rem; display:flex; justify-content:space-between; align-items:center; }
header nav { display:flex; align-items:center; gap:1rem; }
header nav a { color:white; }
header nav span { opacity:.85; }
header nav form { margin:0; }
main { max-width: 1180px; margin: 1.5rem auto; padding: 0 1rem; }
.card { background:white; border:1px solid #d9e1ea; border-radius:.55rem; padding:1rem; margin-bottom:1rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; }
.metric { font-size:1.7rem; font-weight:650; }
.muted { color:#64748b; font-size:.88rem; }
table { border-collapse:collapse; width:100%; }
th,td { border-bottom:1px solid #e2e8f0; padding:.7rem; text-align:left; }
th { background:#f8fafc; }
button,input,textarea { font:inherit; }
button { border:0; border-radius:.4rem; padding:.55rem .8rem; cursor:pointer; }
.danger { background:#b42318; color:white; }
.secondary { background:#e2e8f0; }
.primary { background:#17365d; color:white; }
label { display:block; font-weight:600; margin-bottom:.3rem; }
input,textarea { width:100%; border:1px solid #cbd5e1; border-radius:.4rem; padding:.6rem; }
textarea { min-height:6rem; resize:vertical; }
.field { margin-bottom:1rem; }
.toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.error { color:#b42318; background:#fef3f2; padding:.75rem; border-radius:.4rem; }
code { overflow-wrap:anywhere; font-size:.8rem; }
.login-card { max-width:28rem; margin:4rem auto; }
.table-scroll { overflow-x:auto; }
.dialog-actions { margin-top:1rem; }
