:root { --ink: #172033; --muted: #657087; --line: #e7eaf0; --panel: #ffffff; --page: #f6f7fb; --blue: #1d4ed8; --blue-dark: #173b8e; --amber: #b45309; --green: #047857; }
body { color: var(--ink); background: var(--page); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.app-header { background: rgba(255,255,255,.96); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(8px); }
.brand { color: var(--ink); font-size: 1.2rem; font-weight: 750; letter-spacing: -.03em; display: inline-flex; align-items: center; gap: .6rem; }
.brand-mark { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .55rem; color: white; background: linear-gradient(135deg, var(--blue), #4f46e5); }
.page-title { font-size: clamp(1.55rem, 3vw, 2.2rem); letter-spacing: -.045em; font-weight: 720; }
.eyebrow { color: var(--blue); font-size: .7rem; font-weight: 750; letter-spacing: .12em; }
.section-title { font-size: 1.05rem; font-weight: 700; letter-spacing: -.015em; }
.content-narrow { max-width: 1100px; }
.back-link { color: var(--blue); font-size: .9rem; text-decoration: none; }
.case-tabs { gap: .35rem; border-bottom: 1px solid var(--line); padding-bottom: .75rem; }
.case-tabs .nav-link { color: var(--muted); font-size: .9rem; padding: .48rem .75rem; }
.case-tabs .nav-link.active { background: var(--blue); }
.status-panel { border: 1px solid; border-radius: .75rem; padding: .7rem .9rem; display: grid; gap: .15rem; min-width: 180px; }
.status-panel strong { font-size: .85rem; }.status-panel span { font-size: .72rem; color: var(--muted); }.status-good { background: #ecfdf5; border-color: #a7f3d0; color: var(--green); }.status-watch { background: #fffbeb; border-color: #fde68a; color: var(--amber); }
.metric-card { height: 100%; padding: 1rem 1.1rem; background: var(--panel); border: 1px solid var(--line); border-radius: .75rem; }.metric-card span { color: var(--muted); font-size: .8rem; display: block; }.metric-card strong { font-size: 1.8rem; letter-spacing: -.04em; }
.table-card, .card { border-radius: .85rem; }.table thead th { color: var(--muted); background: #fafbfc; border-bottom: 1px solid var(--line); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }.table > :not(caption) > * > * { padding: .85rem 1rem; border-color: var(--line); }
.definition-list { display: grid; grid-template-columns: minmax(150px, .45fr) 1fr; row-gap: .7rem; }.definition-list dt { color: var(--muted); font-weight: 500; }.definition-list dd { margin: 0; font-weight: 600; }
.empty-state { border: 1px dashed #cbd5e1; background: white; border-radius: 1rem; padding: 3rem; text-align: center; }.empty-state h2 { font-size: 1.2rem; }.empty-state p { color: var(--muted); }
.login-shell { min-height: calc(100vh - 165px); display: grid; place-items: center; }.login-card { width: min(100%, 440px); background: var(--panel); border: 1px solid var(--line); border-radius: 1rem; padding: 2rem; }.login-card h1 { font-weight: 720; letter-spacing: -.045em; }
form p, form div { margin-bottom: .8rem; } form label { display: block; font-size: .82rem; font-weight: 650; margin-bottom: .25rem; } form input, form select, form textarea { width: 100%; border: 1px solid #cfd5e1; border-radius: .42rem; padding: .5rem .6rem; background: white; } form textarea { min-height: 82px; } form .helptext { color: var(--muted); font-size: .73rem; display: block; margin-top: .2rem; } form ul.errorlist { color: #b91c1c; padding-left: 1rem; font-size: .8rem; }
.dataset-item, .adjustment-card { border: 1px solid var(--line); border-radius: .65rem; padding: .85rem; background: #fcfcfd; }.dataset-item { display: grid; gap: .2rem; }.dataset-item span { font-size: .84rem; }.dataset-item small { color: var(--muted); }.adjustment-card + .adjustment-card { margin-top: 1rem; }
code { color: #4338ca; } @media (max-width: 767px) { .definition-list { grid-template-columns: 1fr; gap: .2rem; }.definition-list dd { margin-bottom: .6rem; } }
