:root{--brand-primary: #751518;--brand-primary-light: #82181b;--brand-primary-deep: #5e1114;--brand-page: #fbf8f7;--brand-tint: #f6efed;--brand-rose: #efe2e2;--brand-rose-soft: #cba9ab;--colour-text: #2b2224;--colour-text-muted: #6f6264;--colour-surface: #ffffff;--colour-border: #e8dcd9;--colour-nav-bg: var(--brand-primary-deep);--colour-nav-text: var(--brand-rose);--colour-nav-text-muted: var(--brand-rose-soft);--colour-accent: var(--brand-primary);--colour-danger: var(--brand-primary-light);--colour-danger-soft: var(--brand-rose);--colour-warning: #8a6d1a;--colour-warning-soft: #f3ecd2;--colour-ok: #2e6b46;--colour-ok-soft: #ddebe2}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--brand-page);color:var(--colour-text);font-size:15px}a{color:var(--colour-accent)}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:linear-gradient(to bottom,var(--brand-primary-light),var(--brand-primary-deep));color:var(--colour-nav-text);padding:1rem 0;flex-shrink:0}.sidebar .brand{font-weight:600;font-size:1.05rem;padding:.5rem 1.25rem 1.25rem;letter-spacing:.02em}.sidebar nav a{display:block;padding:.6rem 1.25rem;color:var(--colour-nav-text-muted);text-decoration:none}.sidebar nav a.active,.sidebar nav a:hover{color:var(--colour-nav-text)}.sidebar nav a.active{background:var(--brand-primary)}.content{flex:1;padding:1.5rem 2rem;max-width:1100px}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--colour-text-muted)}h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:1.5rem 0 .5rem}.card{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--colour-border);vertical-align:top}th{color:var(--colour-text-muted);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}button{background:var(--colour-accent);color:var(--brand-page);border:none;border-radius:6px;padding:.5rem .9rem;font-size:.95rem;cursor:pointer}button.secondary{background:var(--brand-tint);color:var(--colour-text)}button.danger{background:var(--colour-danger)}button:disabled{opacity:.5;cursor:default}input,select,textarea{width:100%;padding:.5rem .6rem;border:1px solid var(--colour-border);border-radius:6px;font-size:.95rem;background:var(--colour-surface);color:var(--colour-text)}label{display:block;margin:.6rem 0 .2rem;font-size:.85rem;color:var(--colour-text-muted)}input[type=checkbox]{width:auto;padding:0;margin-right:.35rem;vertical-align:middle;accent-color:var(--colour-accent)}label:has(input[type=checkbox]){display:inline-flex;align-items:center;gap:.35rem;margin-right:.9rem}form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 1rem}form.grid .full{grid-column:1 / -1}form .actions{grid-column:1 / -1;margin-top:1rem;display:flex;gap:.5rem}.badge{display:inline-block;border-radius:999px;padding:.1rem .6rem;font-size:.78rem;font-weight:600;background:var(--brand-tint)}.badge.ok{background:var(--colour-ok-soft);color:var(--colour-ok)}.badge.warn{background:var(--colour-warning-soft);color:var(--colour-warning)}.badge.danger{background:var(--colour-danger-soft);color:var(--colour-danger)}.finding{border-left:4px solid var(--colour-border);padding:.5rem .75rem;margin:.4rem 0;background:var(--colour-surface)}.finding.blocking{border-left-color:var(--colour-danger);background:var(--colour-danger-soft)}.finding.warning{border-left-color:var(--colour-warning);background:var(--colour-warning-soft)}.finding.info{border-left-color:var(--colour-accent)}.error{color:var(--colour-danger);margin:.5rem 0}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,var(--brand-primary-light),var(--brand-primary-deep))}.login-card{background:var(--colour-surface);border-radius:10px;padding:2rem;width:min(420px,92vw);overflow:hidden}.login-card h1{color:var(--brand-primary-deep)}.login-banner{display:block;width:calc(100% + 4rem);margin:-2rem -2rem 1.25rem}th{background:var(--brand-tint)}.muted{color:var(--colour-text-muted);font-size:.88rem}code.key{display:block;background:var(--brand-tint);padding:.5rem;border-radius:6px;word-break:break-all;margin:.5rem 0}@media(max-width:720px){.layout{flex-direction:column}.sidebar{width:100%;display:flex;overflow-x:auto;padding:0}.sidebar .brand{padding:.75rem 1rem}.sidebar nav{display:flex}.content{padding:1rem}}
