*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f1f5f9;--surface:#ffffff;--surface-2:#f8fafc;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--text-2:#334155;--muted:#64748b;--primary:#4f46e5;--primary-dark:#4338ca;--primary-soft:#eef2ff;--danger:#dc2626;--success:#16a34a;--warning:#d97706;--sidebar-bg:#0f172a;--sidebar-text:#94a3b8;--sidebar-active:#1e293b;--radius:10px;--shadow-sm:0 1px 2px rgb(15 23 42/0.05);--shadow:0 1px 3px rgb(15 23 42/0.08),0 4px 12px rgb(15 23 42/0.05);--shadow-lg:0 10px 30px rgb(15 23 42/0.12);--sidebar-w:232px}[data-theme=dark]{--bg:#0b1121;--surface:#101a30;--surface-2:#16223c;--border:#1e2a45;--border-strong:#33415e;--text:#e2e8f0;--text-2:#cbd5e1;--muted:#8ea0b8;--primary:#6366f1;--primary-dark:#818cf8;--primary-soft:rgb(99 102 241/0.14);--sidebar-bg:#0a0f1e;--shadow-sm:0 1px 2px rgb(0 0 0/0.35);--shadow:0 1px 3px rgb(0 0 0/0.4),0 4px 14px rgb(0 0 0/0.35);--shadow-lg:0 10px 34px rgb(0 0 0/0.55)}[data-theme=dark] .badge{background:rgb(148 163 184/.15);color:#cbd5e1}[data-theme=dark] .badge.OPEN{background:rgb(59 130 246/.18);color:#93c5fd}[data-theme=dark] .badge.ASSIGNED{background:rgb(245 158 11/.16);color:#fcd34d}[data-theme=dark] .badge.IN_PROGRESS{background:rgb(249 115 22/.16);color:#fdba74}[data-theme=dark] .badge.WAITING_CUSTOMER{background:rgb(168 85 247/.16);color:#d8b4fe}[data-theme=dark] .badge.WAITING_RND{background:rgb(239 68 68/.16);color:#fca5a5}[data-theme=dark] .badge.RND_DONE{background:rgb(20 184 166/.16);color:#5eead4}[data-theme=dark] .badge.RESOLVED{background:rgb(34 197 94/.16);color:#86efac}[data-theme=dark] .badge.CLOSED,[data-theme=dark] .badge.LOW{background:rgb(148 163 184/.15);color:#94a3b8}[data-theme=dark] .badge.NORMAL{background:rgb(59 130 246/.18);color:#93c5fd}[data-theme=dark] .badge.HIGH{background:rgb(249 115 22/.16);color:#fdba74}[data-theme=dark] .badge.URGENT{background:rgb(239 68 68/.18);color:#fca5a5}[data-theme=dark] .error{background:rgb(239 68 68/.12);color:#fca5a5;border-color:rgb(239 68 68/.3)}[data-theme=dark] .success-box{background:rgb(34 197 94/.12);color:#86efac;border-color:rgb(34 197 94/.3)}[data-theme=dark] .info-box{background:var(--primary-soft);color:#c7d2fe;border-color:rgb(99 102 241/.35)}[data-theme=dark] .message-bubble.inbound{background:rgb(59 130 246/.1);border-color:rgb(59 130 246/.3)}[data-theme=dark] .message-bubble.outbound{background:rgb(34 197 94/.1);border-color:rgb(34 197 94/.3)}[data-theme=dark] .message-bubble.note{background:rgb(245 158 11/.1);border-color:rgb(245 158 11/.3)}[data-theme=dark] th{background:var(--surface-2)}[data-theme=dark] .tab{background:var(--surface);color:var(--text-2)}[data-theme=dark] .tab.active{background:var(--primary);color:#fff}[data-theme=dark] .login-wrap{background:radial-gradient(800px 400px at 20% 0,rgb(99 102 241/.22),transparent),radial-gradient(700px 400px at 90% 100%,rgb(168 85 247/.16),transparent),var(--bg)}[data-theme=dark] button.danger{background:rgb(239 68 68/.12);color:#fca5a5;border-color:rgb(239 68 68/.3)}html{-webkit-font-smoothing:antialiased}.card,.stat-card,.tab,body,input,select,textarea{transition:background-color .2s,border-color .2s,color .2s}body{font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--primary);text-decoration:none}h1,h2,h3{letter-spacing:-.01em;color:var(--text)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--sidebar-bg);display:flex;flex-direction:column;z-index:50;padding:16px 12px;overflow-y:auto}.sidebar .logo{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;color:#fff;font-weight:700;font-size:15.5px;letter-spacing:-.01em}.sidebar .logo .logo-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:grid;place-items:center;color:#fff;font-size:15px;font-weight:800;box-shadow:0 4px 12px rgb(99 102 241/.4)}.sidebar .nav-section{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#475569;padding:16px 10px 6px}.sidebar .nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--sidebar-text);font-weight:500;font-size:13.5px;margin-bottom:2px;transition:background .15s,color .15s}.sidebar .nav-item:hover{background:rgb(255 255 255/.06);color:#e2e8f0}.sidebar .nav-item.active{background:var(--sidebar-active);color:#fff}.sidebar .nav-item.active svg{color:#818cf8}.sidebar .nav-item svg{width:17px;height:17px;flex-shrink:0}.sidebar .sidebar-footer{margin-top:auto;border-top:1px solid rgb(255 255 255/.08);padding-top:12px;display:flex;align-items:center;gap:10px;padding-left:6px}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;display:grid;place-items:center;font-size:12.5px;font-weight:700;flex-shrink:0}.sidebar .sidebar-footer .who{flex:1 1;min-width:0}.sidebar .sidebar-footer .who .name{color:#e2e8f0;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar .sidebar-footer .who .role{color:#64748b;font-size:11px}.sidebar .logout-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:6px;border-radius:6px;display:grid;place-items:center}.sidebar .logout-btn:hover{background:rgb(255 255 255/.08);color:#f87171}.tabbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--bg);margin-left:var(--sidebar-w);display:flex;align-items:center;gap:6px;padding:10px 28px 0;overflow-x:auto;scrollbar-width:thin}.tabbar:empty{display:none}.tab{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 8px 6px 12px;font-size:12.5px;color:var(--text-2);white-space:nowrap;cursor:pointer;transition:all .15s;max-width:220px;box-shadow:var(--shadow-sm)}.tab:hover{border-color:var(--border-strong)}.tab.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 3px 10px rgb(79 70 229/.35)}.tab .tab-label{overflow:hidden;text-overflow:ellipsis}.tab .tab-close{background:none;border:none;cursor:pointer;color:inherit;opacity:.55;font-size:14px;line-height:1;padding:2px 4px;border-radius:4px}.tab .tab-close:hover{opacity:1;background:rgb(0 0 0/.12)}.container{margin-left:var(--sidebar-w);padding:20px 28px 48px;max-width:1400px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-header h1{font-size:20px;font-weight:700}.page-header .subtitle{color:var(--muted);font-size:13px;margin-top:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.card:has(table){overflow-x:auto}.card table{min-width:640px}.card h2{font-size:14.5px;font-weight:650}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2)}th:first-child{border-top-left-radius:8px}th:last-child{border-top-right-radius:8px}tbody tr{transition:background .1s}tbody tr:hover td{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.btn,button{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s;box-shadow:var(--shadow-sm)}.btn:hover,button:hover{background:var(--primary-dark);box-shadow:0 4px 12px rgb(79 70 229/.3);transform:translateY(-1px)}button:active{transform:translateY(0)}button.secondary{background:var(--surface);color:var(--text-2);border:1px solid var(--border);box-shadow:var(--shadow-sm)}button.secondary:hover{background:var(--surface-2);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}button.danger{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}button.danger:hover{background:#fee2e2;box-shadow:none}button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;font-size:13.5px;font-family:inherit;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgb(79 70 229/.12)}input::placeholder,textarea::placeholder{color:#94a3b8}label{display:block;font-weight:600;font-size:12.5px;margin-bottom:5px;color:var(--text-2)}.field{margin-bottom:14px}.field .hint{display:block;color:var(--muted);font-size:11.5px;margin-top:4px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;background:#f1f5f9;color:#475569;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.badge.OPEN{background:#dbeafe;color:#1d4ed8}.badge.ASSIGNED{background:#fef3c7;color:#b45309}.badge.IN_PROGRESS{background:#ffedd5;color:#c2410c}.badge.WAITING_CUSTOMER{background:#f3e8ff;color:#7e22ce}.badge.WAITING_RND{background:#fee2e2;color:#b91c1c}.badge.RND_DONE{background:#ccfbf1;color:#0f766e}.badge.RESOLVED{background:#dcfce7;color:#15803d}.badge.CLOSED{background:#e2e8f0;color:#475569}.badge.LOW{background:#f1f5f9;color:#475569}.badge.NORMAL{background:#dbeafe;color:#1d4ed8}.badge.HIGH{background:#ffedd5;color:#c2410c}.badge.URGENT{background:#fee2e2;color:#b91c1c}.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px}.error,.success-box{padding:10px 14px;margin-bottom:14px;font-size:13px}.success-box{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;border-radius:8px}.info-box{background:var(--primary-soft);border:1px solid #c7d2fe;border-radius:var(--radius);padding:14px 18px;margin-bottom:16px;font-size:13px;color:#3730a3}.muted{color:var(--muted);font-size:13px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stat-card{flex:1 1;min-width:150px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .15s}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.stat-card .stat-value{font-size:26px;font-weight:750;letter-spacing:-.02em}.stat-card .stat-title{color:var(--muted);font-size:12.5px;font-weight:500;margin-top:2px}.timeline-item{padding:10px 0 10px 20px;border-left:2px solid var(--border);margin-left:6px;position:relative;font-size:13px}.timeline-item:before{content:"";position:absolute;left:-5.5px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--primary)}.message-bubble{border-radius:10px;border:1px solid var(--border);padding:12px 14px;margin:10px 0;white-space:pre-wrap;font-size:13.5px;box-shadow:var(--shadow-sm)}.message-bubble .message-meta{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500}.message-bubble.inbound{background:#eff6ff;border-color:#bfdbfe}.message-bubble.outbound{background:#f0fdf4;border-color:#bbf7d0}.message-bubble.note{background:#fefce8;border-color:#fde68a}.attachment-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:12.5px;color:var(--text-2);margin:0 8px 8px 0;transition:all .15s}.attachment-chip:hover{border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-sm)}.kanban{display:flex;gap:14px;overflow-x:auto;align-items:flex-start;padding-bottom:12px}.kanban-col{min-width:272px;width:272px;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.kanban-col.drag-over{border-color:var(--primary);box-shadow:0 0 0 3px rgb(79 70 229/.15)}.kanban-col.drop-denied{border-color:var(--danger);box-shadow:0 0 0 3px rgb(220 38 38/.12)}.kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 10px;font-size:12.5px;font-weight:700;color:var(--text-2)}.kanban-col-header .count{background:var(--surface);border:1px solid var(--border);border-radius:999px;font-size:11px;padding:1px 9px;color:var(--muted)}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:12px;margin-bottom:8px;cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .15s,border-color .15s}.kanban-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-1px)}.kanban-card:active{cursor:-webkit-grabbing;cursor:grabbing}.kanban-card.dragging{opacity:.45}.kanban-card .kc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.kanban-card .kc-number{font-size:11.5px;font-weight:700;color:var(--muted)}.kanban-card .kc-subject{font-size:13px;font-weight:600;color:var(--text);line-height:1.35;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card .kc-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.kanban-card .kc-meta{font-size:11px;color:var(--muted)}.kanban-card .avatar{width:24px;height:24px;font-size:10px}.view-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px}.view-toggle button{background:transparent;color:var(--muted);box-shadow:none;padding:6px 14px;border-radius:7px;font-size:12.5px}.view-toggle button:hover{background:transparent;color:var(--text);transform:none;box-shadow:none}.view-toggle button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.theme-toggle{background:none;border:none;color:#64748b;cursor:pointer;padding:6px;border-radius:6px;display:grid;place-items:center;box-shadow:none}.theme-toggle:hover{background:rgb(255 255 255/.08);color:#fbbf24;transform:none;box-shadow:none}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(800px 400px at 20% 0,rgb(99 102 241/.18),transparent),radial-gradient(700px 400px at 90% 100%,rgb(168 85 247/.14),transparent),var(--bg);padding:16px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:34px 32px;box-shadow:var(--shadow-lg)}.progress-track{background:var(--border);border-radius:4px;height:7px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary),#8b5cf6);height:100%;border-radius:4px;transition:width .3s}.menu-btn{display:none;position:fixed;top:12px;left:12px;z-index:70;width:40px;height:40px;border-radius:10px;background:var(--sidebar-bg);color:#e2e8f0;border:none;cursor:pointer;place-items:center;font-size:18px;box-shadow:var(--shadow);padding:0}.sidebar-backdrop{display:none}@media (max-width:900px){:root{--sidebar-w:0px}.menu-btn{display:grid}.sidebar{width:248px;transform:translateX(-100%);transition:transform .25s ease;box-shadow:none}.sidebar.open{transform:translateX(0);box-shadow:8px 0 30px rgb(0 0 0/.35)}.sidebar-backdrop.open{display:block;position:fixed;inset:0;background:rgb(0 0 0/.45);z-index:45}.container{margin-left:0;padding:64px 14px 40px}.tabbar{margin-left:0;padding:12px 14px 0 60px}.page-header h1{font-size:17px}.card{padding:14px}td,th{padding:9px 8px;font-size:12.5px}.stat-card{min-width:calc(50% - 12px)}.login-card{padding:26px 20px}.kanban-col{min-width:240px;width:240px}}