:root{color-scheme:light;--bg: #f4f6f8;--panel: #ffffff;--ink: #1e2a36;--muted: #5c6b7a;--line: #dfe5ec;--brand: #24313e;--accent: #f4b740;--danger: #c0392b;--radius: 12px;font-family:Segoe UI,Tahoma,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100dvh}.sidebar{background:var(--brand);color:#fff;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem}.sidebar h1{margin:0;font-size:1.05rem}.nav-link{display:block;padding:.65rem .85rem;border-radius:8px;color:#dce5ee}.nav-link.active,.nav-link:hover{background:#ffffff1f;color:#fff}.main{padding:1.5rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.stack{display:flex;flex-direction:column;gap:1rem}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.stat strong{font-size:1.4rem}.muted{color:var(--muted)}button,.btn{border:none;border-radius:8px;padding:.65rem 1rem;cursor:pointer;font:inherit}.btn-primary{background:var(--accent);color:#1e2a36;font-weight:600}.btn-ghost{background:transparent;border:1px solid var(--line)}input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem;font:inherit}.login-page{min-height:100dvh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%)}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{border-bottom:1px solid var(--line);padding:.65rem;text-align:right}.alert-error{color:var(--danger);background:#fdecea;border:1px solid #f5c6cb;border-radius:8px;padding:.65rem .75rem}.success-flash{border-color:#b8e0c2}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem}.badge{background:var(--brand);color:#fff;border-radius:999px;padding:.35rem .75rem;font-size:.85rem}.filters{display:grid;grid-template-columns:1fr repeat(2,minmax(8rem,12rem)) auto;gap:.65rem;align-items:end}select{border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem;font:inherit;background:#fff}.table-wrap{overflow-x:auto}.pill{display:inline-block;border-radius:999px;padding:.15rem .55rem;font-size:.82rem;background:#eef2f6}.pill-active{background:#d4edda}.pill-ban{background:#f8d7da}.pill-inactive{background:#e9ecef}.link-soft{color:var(--brand);text-decoration:underline;text-underline-offset:2px}.pager{display:flex;align-items:center;justify-content:center;gap:1rem}.row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.module-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .15s ease}.module-card:hover{border-color:var(--accent)}.queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.queue-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.message-bubble{border:1px solid var(--line);border-radius:8px;padding:.75rem;background:#fafbfc}@media(max-width:768px){.filters{grid-template-columns:1fr}}@media(max-width:768px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center}}
