* { box-sizing: border-box; }
body { margin: 0; font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #1f2430; background: #f5f6f8; display: grid; grid-template-columns: 220px 1fr; min-height: 100vh; }
nav { min-height: 100vh; background: #1f2430; color: #fff; padding: 20px 12px; }
nav .brand { font-weight: 700; font-size: 18px; padding: 0 10px 18px; }
nav a { display: block; color: #cfd5e2; text-decoration: none; padding: 8px 10px; border-radius: 8px; }
nav a[aria-current=page], nav a:hover { background: #2f3646; color: #fff; }
main { padding: 28px 36px; }
h1 { margin: 0 0 18px; font-size: 24px; }
.toolbar { display: flex; gap: 10px; margin-bottom: 18px; }
button, .btn { font: inherit; padding: 8px 14px; border-radius: 8px; border: 1px solid #c9ced9; background: #fff; cursor: pointer; text-decoration: none; color: inherit; }
.primary { background: #2f6fed; border-color: #2f6fed; color: #fff; }
table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; }
th, td { text-align: left; padding: 10px 14px; border-bottom: 1px solid #eceef2; }
.card { background: #fff; border-radius: 10px; padding: 18px; margin-bottom: 16px; max-width: 640px; }
label { display: block; margin: 10px 0 4px; font-weight: 600; }
input, select { font: inherit; padding: 8px 10px; width: 100%; border: 1px solid #c9ced9; border-radius: 8px; }
.tabs { display: flex; gap: 6px; margin-bottom: 14px; }
.tabs [role=tab] { border-radius: 999px; }
.tabs [aria-selected=true] { background: #1f2430; color: #fff; border-color: #1f2430; }
[hidden] { display: none !important; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 760px; }
.stats .card { margin: 0; }
.stats strong { display: block; font-size: 22px; }
.hint { margin: 4px 0 0; font-size: 13px; color: #5b6372; }
.field-error { margin: 4px 0 0; font-size: 13px; color: #b42318; }
input[aria-invalid=true] { border-color: #d92d20; background: #fff6f5; }
.form-alert { background: #fef3f2; border: 1px solid #fecdca; color: #912018; border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; }
