/* Shared visual system. Brand colour remains #981108. */
:root{--bg:#f5f6f8;--card:#fff;--text:#202631;--muted:#626b79;--border:#e2e5ea;--radius:6px;--shadow:0 2px 8px rgba(24,32,48,.04)}
body{background:var(--bg);line-height:1.5}
body.dark{--bg:#11151c;--card:#1b222d;--text:#edf0f5;--muted:#abb4c2;--border:#333e4d;background:var(--bg)}
.wrap{max-width:1480px;margin:28px auto 48px;padding:0 36px}
.top,body.dark .top{padding:20px 24px;gap:24px;background:var(--card);border-radius:16px;box-shadow:var(--shadow);overflow:visible}
.top:before,.top:after,.card:before{display:none}
.brand{gap:18px;min-width:0}.logoBox{padding:12px 18px;border-radius:10px;background:var(--brand);box-shadow:none}.logoBox img{height:32px}
.userBlock strong{font-size:18px;letter-spacing:-.3px}.userBlock small{font-size:12px}
.actions{gap:8px}.btn{border-radius:9px;padding:10px 16px;font-size:14px;font-weight:600;box-shadow:none}
.btn.primary{background:var(--brand);box-shadow:none}.btn.primary:hover{background:var(--brandHover);box-shadow:none}
.btn.secondary,body.dark .btn.secondary{background:var(--card);border:1px solid var(--border)}
.workspaceNav{display:flex;align-items:center;gap:8px;padding:16px 0;margin-bottom:22px;border-bottom:1px solid var(--border)}
.workspaceNav a{padding:8px 13px;border-radius:8px;font-size:14px;font-weight:600}.workspaceNav a:hover{background:var(--brandSoft)}
.workspaceNav span{margin-left:auto;font-size:12px;color:var(--muted)}
.pageTitle{font-size:clamp(25px,3vw,36px);letter-spacing:-1px;line-height:1.2}
.dashboardToolbar{margin-top:30px}.mutedLine{font-size:15px;line-height:1.6}
.dashboardSearch{display:flex;align-items:center;gap:16px;margin:28px 0 20px;padding:18px 20px;border:1px solid var(--border);background:var(--card);border-radius:12px}
.dashboardSearch label{font-size:14px;font-weight:600;white-space:nowrap}.dashboardSearch input{max-width:540px}.dashboardSearch span{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}
.cards{gap:20px;margin-top:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.card,body.dark .card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:var(--shadow);animation:none}
.card:hover,body.dark .card:hover{transform:none;box-shadow:var(--shadow)}
.dashboardCard:hover{border-color:var(--brand)}
.dashboardCard h3{font-size:19px;letter-spacing:-.3px}.dashboardCardText{font-size:14px}.dashboardCardActions{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}
.input,.protoTextarea,.kbTextarea{border-radius:9px;background:var(--card);border:1px solid var(--border);box-shadow:none;min-height:44px}
body.dark .input,body.dark .protoTextarea,body.dark .kbTextarea{background:var(--card)}
input,select,textarea,button{font:inherit}textarea{line-height:1.5}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.skipLink{position:fixed;top:-100px;left:20px;z-index:9999;padding:12px 20px;background:var(--card);border:2px solid var(--brand);border-radius:8px}.skipLink:focus{top:12px}
[hidden]{display:none!important}
th{text-align:left;font-size:12px;letter-spacing:.025em}td{font-size:14px}th,td{border-color:var(--border)}
.footer{background:transparent;border-top:1px solid var(--border);color:var(--muted)}
.login-shell{border-radius:20px;box-shadow:0 20px 80px rgba(20,30,45,.08)}.login-side{min-height:600px}.login-form-box h2{letter-spacing:-1px}
@media(max-width:1100px){.top{flex-wrap:wrap}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{gap:6px}}
@media(max-width:700px){.wrap{padding:0 16px;margin:16px auto 32px}.top{padding:16px;gap:16px}.brand{gap:12px}.logoBox img{height:26px}.userBlock strong{font-size:16px}.actions{width:100%}.actions .btn{flex:1;padding:9px 10px;font-size:12px}.workspaceNav{margin-bottom:16px}.workspaceNav span{display:none}.cards{grid-template-columns:1fr;gap:14px}.card{padding:20px}.dashboardSearch{flex-wrap:wrap;gap:10px;padding:14px}.dashboardSearch input{order:3;max-width:none}.dashboardSearch span{margin-left:auto}.grid2{grid-template-columns:1fr}.dashboardToolbar{align-items:flex-start;gap:16px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.top,.workspaceNav,.skipLink,.footer,.dashboardSearch{display:none!important}.wrap{max-width:none;margin:0;padding:0}body,body.dark{background:white;color:black}.card{box-shadow:none;break-inside:avoid}}
