:root{color-scheme:light;--bg: #f5f7fb;--surface: #ffffff;--surface-2: #f8fafc;--thead: #fafbfd;--border: #e5eaf1;--border-soft: #eef1f6;--input-border: #d5dce6;--text: #0f172a;--muted: #64748b;--primary: #4f46e5;--primary-dark: #4338ca;--primary-soft: #eef2ff;--danger: #dc2626;--danger-text: #b91c1c;--danger-bg: #fef2f2;--danger-border: #fecaca;--ok: #047857;--warn: #d97706;--hover: #f8faff;--track: #eef2f7;--grid: #e8edf3;--zero: #cbd5e1;--note-bg: #fffbeb;--note-border: #fde68a;--tag-bg: #fde68a;--tag-text: #92400e;--sidebar: #0f172a;--s1: #4f46e5;--s2: #10b981;--radius: 10px;--shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .04)}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1120;--surface: #131c2e;--surface-2: #19243a;--thead: #162033;--border: #26344d;--border-soft: #1f2b41;--input-border: #34455f;--text: #e6ebf4;--muted: #93a1b8;--primary: #818cf8;--primary-dark: #6366f1;--primary-soft: rgba(129, 140, 248, .25);--danger: #f87171;--danger-text: #fca5a5;--danger-bg: rgba(248, 113, 113, .12);--danger-border: rgba(248, 113, 113, .35);--ok: #34d399;--warn: #fbbf24;--hover: #19243a;--track: #223149;--grid: #243350;--zero: #4a5a75;--note-bg: rgba(251, 191, 36, .1);--note-border: rgba(251, 191, 36, .35);--tag-bg: rgba(251, 191, 36, .25);--tag-text: #fcd34d;--sidebar: #070c18;--s1: #818cf8;--s2: #34d399;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.splash{display:grid;place-items:center;height:100%;color:var(--muted)}.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%}.sidebar{background:var(--sidebar);color:#cbd5e1;display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:18px;padding:4px 10px 22px}.brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:grid;place-items:center;font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#cbd5e1;font-weight:500}.sidebar nav a:hover{background:#ffffff0f;text-decoration:none}.sidebar nav a.active{background:#6366f138;color:#fff}.sidebar-foot{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.08);padding:14px 6px 0}.avatar.neutral{background:var(--track);color:var(--text)}.avatar{width:36px;height:36px;border-radius:50%;background:#334155;color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px;flex:none}.who{display:flex;flex-direction:column;min-width:0;flex:1}.who strong{color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who span{font-size:12px;color:#94a3b8}.icon-btn{background:none;border:0;color:#94a3b8;cursor:pointer;padding:6px;border-radius:6px}.icon-btn:hover{background:#ffffff14;color:#fff}.content{padding:24px 28px 40px;width:100%;min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head h1{margin:0;font-size:22px;letter-spacing:-.01em}.page-head p{margin:4px 0 0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card h3{margin:0 0 14px;font-size:14px;font-weight:600}.grid{display:grid;gap:18px}.kpis{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));margin-bottom:18px}.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));margin-bottom:18px}.kpi{padding:18px 20px}.kpi span{color:var(--muted);font-size:12.5px;font-weight:500}.kpi b{display:block;font-size:28px;letter-spacing:-.02em;margin-top:4px}.kpi.warn b{color:var(--warn)}.kpi.bad b{color:var(--danger)}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--input-border);background:var(--surface);color:var(--text);padding:9px 16px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}.btn:hover{background:var(--surface-2);text-decoration:none}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}:root[data-theme=dark] .btn.primary{color:#0b1120}.btn.primary:hover{background:var(--primary-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.sm{padding:5px 10px;font-size:12.5px}label.field{display:block;margin-bottom:16px;font-weight:600;font-size:13px}label.field>span.hint{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--input-border);border-radius:8px;padding:9px 12px;margin-top:6px}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);padding:10px 14px;border-radius:8px;margin-bottom:16px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar input,.toolbar select{margin-top:0;width:auto;min-width:140px}.toolbar input[type=search]{flex:1 1 260px;min-width:220px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--thead);white-space:nowrap}td{padding:13px 16px;border-bottom:1px solid var(--border-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr.click{cursor:pointer}tbody tr.click:hover{background:var(--hover)}td .num{color:var(--muted);font-weight:600;font-size:12.5px}td .title{font-weight:600}.empty{padding:48px 16px;text-align:center;color:var(--muted)}.pager{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border);color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.status-open{background:#dbeafe;color:#1d4ed8}.status-in_progress{background:#ede9fe;color:#6d28d9}.status-waiting_vendor{background:#fef3c7;color:#b45309}.status-waiting_user{background:#ffedd5;color:#c2410c}.status-resolved{background:#d1fae5;color:#047857}.status-closed{background:#e2e8f0;color:#475569}.prio-low{background:#f1f5f9;color:#64748b}.prio-medium{background:#eff6ff;color:#2563eb}.prio-high{background:#fffbeb;color:#d97706}.prio-critical{background:#fef2f2;color:#dc2626}.role-admin{background:#ede9fe;color:#6d28d9}.role-agent{background:#dbeafe;color:#1d4ed8}.role-user{background:#e2e8f0;color:#475569}.role-vendor{background:#fef3c7;color:#b45309}.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.donut-n{font-size:24px;font-weight:700;fill:var(--text)}.donut-l{font-size:10px;fill:var(--muted)}.legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}.legend.inline{display:flex;gap:18px;margin-top:6px}.legend li{display:flex;align-items:center;gap:8px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend b{margin-left:4px}.bars{list-style:none;margin:0;padding:0;display:grid;gap:12px}.bars li{display:grid;grid-template-columns:110px 1fr 32px;align-items:center;gap:12px}.bar-label{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:10px;background:var(--track);border-radius:99px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:99px}.trend{width:100%;height:auto}.axis{font-size:10px;fill:var(--muted)}.recent li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-soft)}.recent{list-style:none;margin:0;padding:0}.recent li:last-child{border-bottom:0}.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,34%);gap:20px;align-items:start}.crumbs{color:var(--muted);margin-bottom:8px;font-size:13px}.desc{white-space:pre-wrap;margin:0}.meta{display:grid;gap:14px 16px;margin:0}.compact-meta{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}.meta dt{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.meta dd{margin:3px 0 0}.meta select,.meta input{margin-top:0}.thread{display:grid;gap:14px;margin:0;padding:0;list-style:none}.comment{display:flex;gap:12px}.comment .bubble{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.comment.internal .bubble{background:var(--note-bg);border-color:var(--note-border)}.comment header{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--muted);margin-bottom:4px;flex-wrap:wrap}.comment header strong{color:var(--text)}.comment p{margin:0;white-space:pre-wrap}.tag{font-size:11px;font-weight:600;padding:1px 7px;border-radius:6px;background:var(--tag-bg);color:var(--tag-text)}.check{display:flex;align-items:center;gap:8px;font-weight:500;margin:8px 0 12px}.check input{width:auto;margin:0}.files{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.files li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:8px}.files small{color:var(--muted)}.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--border);display:grid;gap:14px}.timeline li{position:relative;font-size:13px}.timeline li:before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--primary);border:2px solid var(--surface)}.timeline time{display:block;color:var(--muted);font-size:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding:0 12px}.tabs button{background:none;border:0;padding:14px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--primary);border-color:var(--primary)}.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:linear-gradient(145deg,#1e1b4b,#4f46e5 60%,#8b5cf6);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.login-art h2{font-size:34px;line-height:1.2;letter-spacing:-.02em;margin:0 0 14px;max-width:460px}.login-art p{color:#c7d2fe;max-width:440px;font-size:15px}.login-art ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:#e0e7ff}.login-form{display:grid;place-items:center;padding:32px;background:var(--surface)}.login-form form{width:100%;max-width:380px}.login-form h1{margin:0 0 4px;font-size:24px}.demo{margin-top:22px;font-size:12.5px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 14px}.demo button{background:none;border:0;color:var(--primary);cursor:pointer;font:inherit;padding:0;margin-right:10px;font-weight:600}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:20;padding:16px}.modal{width:100%;max-width:480px;padding:24px}.modal h3{font-size:17px;margin:0 0 18px}.modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media (max-width: 960px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:10px 14px;gap:10px;overflow-x:auto}.brand{padding:0 8px 0 0}.sidebar nav{flex-direction:row}.sidebar-foot{border:0;padding:0}.who{display:none}.content{padding:20px 16px 40px}.detail,.login{grid-template-columns:1fr}.login-art{display:none}.form-row{grid-template-columns:1fr}}.tone-red{background:#fef2f2;color:#dc2626}.tone-orange{background:#ffedd5;color:#c2410c}.tone-amber{background:#fef3c7;color:#b45309}.tone-blue{background:#dbeafe;color:#1d4ed8}.tone-violet{background:#ede9fe;color:#6d28d9}.tone-teal{background:#ccfbf1;color:#0f766e}.tone-green{background:#d1fae5;color:#047857}.tone-slate{background:#e2e8f0;color:#475569}.fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 18px}.fields-grid .wide{grid-column:1 / -1}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin:8px 0 12px}.req{color:var(--danger)}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 8px;font-size:12px;color:var(--muted)}.flag{font-size:12px;color:var(--muted)}.flag b{color:var(--text);font-weight:600}.modal.lg{max-width:620px;max-height:92vh;overflow-y:auto}.checks{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;margin-bottom:14px}.checks .check{margin:4px 0;font-weight:500}.order-btns{display:inline-flex;flex-direction:column;gap:2px}.order-btns button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;cursor:pointer;font-size:9px;line-height:1;padding:3px 6px}.order-btns button:disabled{opacity:.3;cursor:default}tr.inactive td{opacity:.5}.btn.danger{color:var(--danger)}.compact-meta dd select,.compact-meta dd input,.compact-meta dd textarea{font-size:13px;padding:6px 8px}.barval{font-size:11px;font-weight:600;fill:var(--text)}.card h3 small{font-weight:400;color:var(--muted);margin-left:6px}.stat-row{display:flex;gap:22px;margin-top:8px;color:var(--muted);font-size:12.5px;flex-wrap:wrap}.stat-row b{color:var(--text)}.note{margin:12px 0 0;color:var(--muted);font-size:12.5px}.score{width:100%;border-collapse:collapse}.score th,.score td{padding:10px 12px;text-align:right;white-space:nowrap}.score th:first-child,.score td:first-child{text-align:left}.score td:first-child{font-weight:600}.score .bad{color:var(--danger);font-weight:700}.score .zero{color:var(--zero)}.score .meter{display:inline-block;width:70px;height:6px;background:var(--track);border-radius:99px;margin-left:8px;vertical-align:middle;overflow:hidden}.score .meter i{display:block;height:100%;background:var(--s1)}.span-2{grid-column:1 / -1}th.sortable{padding:0}th.sortable button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;width:100%;padding:12px 16px;cursor:pointer;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;white-space:nowrap}th.sortable button:hover{color:var(--text);background:var(--hover)}th.sortable button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}th.sortable .arrow{font-size:10px;opacity:.35}th.sorted{color:var(--text)}th.sorted .arrow{opacity:1;color:var(--primary)}.num-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.flag-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border)}tbody tr.stale td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.btn.toggle.on{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.theme-toggle{background:none;border:0;color:#94a3b8;cursor:pointer;padding:6px;border-radius:6px;display:inline-grid;place-items:center}.theme-toggle:hover{background:#ffffff14;color:#fff}.theme-toggle.floating{position:fixed;top:14px;right:14px;z-index:30;background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);padding:8px;border-radius:10px}.theme-toggle.floating:hover{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .tone-red,:root[data-theme=dark] .prio-critical{background:#f8717129;color:#fca5a5}:root[data-theme=dark] .tone-orange,:root[data-theme=dark] .status-waiting_user{background:#fb923c29;color:#fdba74}:root[data-theme=dark] .tone-amber,:root[data-theme=dark] .status-waiting_vendor,:root[data-theme=dark] .role-vendor,:root[data-theme=dark] .prio-high{background:#fbbf2429;color:#fcd34d}:root[data-theme=dark] .tone-blue,:root[data-theme=dark] .status-open,:root[data-theme=dark] .role-agent,:root[data-theme=dark] .prio-medium{background:#60a5fa29;color:#93c5fd}:root[data-theme=dark] .tone-violet,:root[data-theme=dark] .status-in_progress,:root[data-theme=dark] .role-admin{background:#a78bfa2e;color:#c4b5fd}:root[data-theme=dark] .tone-teal{background:#2dd4bf26;color:#5eead4}:root[data-theme=dark] .tone-green,:root[data-theme=dark] .status-resolved{background:#34d39926;color:#6ee7b7}:root[data-theme=dark] .tone-slate,:root[data-theme=dark] .status-closed,:root[data-theme=dark] .prio-low,:root[data-theme=dark] .role-user{background:#94a3b82e;color:#cbd5e1}:root[data-theme=dark] .login-art{background:linear-gradient(145deg,#0b1020,#312e81 60%,#5b21b6)}:root[data-theme=dark] .modal-bg{background:#0009}.grid-line{stroke:var(--grid)}.track{stroke:var(--track)}.sla-met{color:var(--ok);font-weight:600}.sla-late{color:var(--warn);font-weight:600}.sla-grid{display:grid;gap:8px;margin:8px 0 6px;max-width:320px}.sla-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:10px;font-weight:500}.sla-row input{margin-top:0}.check-col{width:40px;padding-right:0}.check-col input{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--primary)}tbody tr.picked{background:var(--primary-soft)}.bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;margin-bottom:14px;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow);position:sticky;top:8px;z-index:5}.bulkbar select{margin-top:0;width:auto;min-width:150px;padding:6px 10px}.notice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;margin-bottom:14px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.notice.bad{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.related{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.related li{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px}.related a{flex:1;min-width:0;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related .num{color:var(--muted);font-weight:600;font-size:12.5px;margin-right:6px}.link-form{display:flex;gap:8px}.link-form input{margin-top:0}.link-form .btn{white-space:nowrap}a.kpi{color:inherit;display:block}a.kpi:hover{text-decoration:none;border-color:var(--primary)}.kpi.bad.flagged b{color:var(--danger)}.score .good{color:var(--ok);font-weight:700}.awaiting{color:var(--muted);font-size:12px}.btn.toggle.neutral.on{background:var(--primary-soft);border-color:var(--primary);color:var(--text)}div.field{margin-bottom:16px;font-weight:600;font-size:13px}.cols-2>:only-child{grid-column:1 / -1}.notif-card{max-width:760px}.switch-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer}.switch-row input{width:18px;height:18px;margin:3px 0 0;flex:none}.switch-row strong{display:block}.switch-row small{display:block;color:var(--muted);margin-top:2px;line-height:1.45}.notif-actions{padding-top:16px}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 20px;margin:0 0 16px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}.test-row{display:flex;gap:10px;flex-wrap:wrap}.test-row input{margin:0;flex:1 1 260px;width:auto}.clip{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-st{font-weight:600;text-transform:capitalize}.mail-st.sent{color:var(--ok)}.mail-st.failed{color:var(--danger)}.mail-st.pending,.mail-st.sending{color:var(--warn)}.day-pick{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}.card-pad .field{display:block;margin-bottom:14px}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.company-chip{margin:-6px 14px 12px;padding:6px 10px;border-radius:8px;background:#ffffff14;color:#cbd5e1;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.pw-reset{display:flex;gap:8px}.pw-reset input{margin:0;width:170px}.company-switch{width:100%;margin:4px 0 10px;cursor:pointer}
