:root{--bg: #f4f6fb;--surface: #ffffff;--line: #e4e8f0;--text: #1b2430;--muted: #748094;--accent: #2f6df6;--accent-700: #1f4fc4;--green: #1aa463;--amber: #d98a14;--red: #e0463c;--violet: #7a5af8;--slate: #8a97aa;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-weight:500}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-700)}.btn-ghost{background:transparent;border-color:transparent}.btn:disabled{opacity:.5;cursor:default}.field{display:flex;flex-direction:column;gap:5px}.field span{font-size:12.5px;color:var(--muted)}input,select,textarea{padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:18px 14px}.brand{font-weight:700;font-size:16px;margin:4px 8px 18px}.nav-item{display:block;padding:9px 12px;border-radius:9px;color:var(--muted);font-weight:500}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:#eaf1ff;color:var(--accent-700)}.main{padding:22px 26px}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:18px}.topbar h1{font-size:20px;margin:0}.grow{flex:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-body{padding:16px 18px}table.grid{width:100%;border-collapse:collapse}.grid th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line)}.grid td{padding:12px 14px;border-bottom:1px solid var(--line)}.grid tr:last-child td{border-bottom:none}.row-link{cursor:pointer}.row-link:hover td{background:#fafbfe}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600}.pill .dt{width:7px;height:7px;border-radius:50%;background:currentColor}.st-new{background:#eef1f6;color:var(--slate)}.st-in_progress{background:#eaf1ff;color:var(--accent-700)}.st-need_info{background:#fdf4e3;color:var(--amber)}.st-done{background:#e7f7ef;color:var(--green)}.prio-normal{color:var(--slate)}.prio-high{color:var(--amber)}.prio-urgent{color:var(--red);font-weight:700}.breached{color:var(--red);font-weight:600}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kan-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.kan-head{display:flex;justify-content:space-between;font-weight:600;margin-bottom:10px}.kan-head .cnt{color:var(--muted)}.kan-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer}.kan-card:hover{border-color:var(--accent)}.kan-card .num{font-size:12px;color:var(--muted)}.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 14px}.kv dt{color:var(--muted)}.history{list-style:none;padding:0;margin:0}.history li{padding:10px 0;border-bottom:1px solid var(--line)}.history .when{font-size:12px;color:var(--muted)}.bell{position:relative}.bell .dot{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;border-radius:999px;font-size:10px;padding:1px 5px}.dropdown{position:absolute;right:0;top:36px;width:320px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:20;max-height:380px;overflow:auto}.notif{padding:11px 13px;border-bottom:1px solid var(--line);font-size:13px}.notif.unread{background:#f5f8ff}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:340px}.muted{color:var(--muted)}.error{color:var(--red);font-size:13px}.empty{text-align:center;color:var(--muted);padding:40px}
