:root{--bg: #f5f6f8;--surface: #ffffff;--text: #1c2330;--muted: #667085;--border: #dfe3ea;--accent: #2f5bea;--accent-contrast: #ffffff;--danger: #b42318;--danger-bg: #fef3f2;--radius: 10px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #12151b;--surface: #1a1f28;--text: #e8ecf3;--muted: #9aa4b5;--border: #2b3340;--accent: #6f8cff;--accent-contrast: #0e1117;--danger: #ff8a80;--danger-bg: #3a1f1d}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--accent)}h1{font-size:1.6rem;margin:0 0 .5rem}.container{width:min(960px,100% - 2rem);margin-inline:auto}main.container{padding-block:1.5rem 3rem}.muted{color:var(--muted)}.topbar{background:var(--surface);border-bottom:1px solid var(--border)}.topbar__inner{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem;padding-block:.75rem}.topbar nav{display:flex;gap:1rem;flex:1}.topbar nav a{text-decoration:none;color:var(--muted);font-weight:500}.topbar nav a.active{color:var(--text)}.brand{font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--text)}.topbar__user{display:flex;align-items:center;gap:.75rem}.user-chip small{display:inline-block;margin-left:.35rem;padding:0 .45rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:.75rem}.footer{padding-block:1.5rem;text-align:center;color:var(--muted);font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.auth-card{max-width:420px;margin:2rem auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-header h1{margin:0}.filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.back{display:inline-block;margin-bottom:1rem;text-decoration:none}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field label,.filters label{font-weight:600;font-size:.9rem}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;width:100%}.filters select{width:auto;min-width:10rem}textarea{min-height:140px;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field-error{color:var(--danger);font-size:.85rem}.alert{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:8px;padding:.6rem .8rem;margin:0 0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:600;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.5rem .9rem;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn--ghost{background:transparent}.btn--block{width:100%}.actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0}.detail-grid dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.detail-grid dd{margin:.15rem 0 0}.description{white-space:pre-wrap;margin:0}.stack>*+*{margin-top:1rem}.badge{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.badge--open{background:#e0ecff;color:#1d4ed8}.badge--inprogress{background:#fff1d6;color:#9a5b00}.badge--resolved{background:#dcfce7;color:#166534}.badge--closed,.badge--low{background:#e5e7eb;color:#374151}.badge--medium{background:#e0ecff;color:#1d4ed8}.badge--high{background:#fff1d6;color:#9a5b00}.badge--critical{background:#fee2e2;color:#991b1b}
