:root{--ink: #10151f;--ink-soft: #1a2130;--ink-border: #2a3243;--bg: #f6f7f9;--surface: #ffffff;--border: #e4e7ec;--text: #171b24;--text-muted: #6b7280;--text-soft: #9aa1ac;--accent: #12b3ac;--accent-dim: #0e8f89;--accent-bg: #e6f7f6;--success: #2fa86a;--success-bg: #e8f6ee;--warning: #e8a33d;--warning-bg: #fdf2e2;--danger: #e1543d;--danger-bg: #fbe9e6;--neutral: #8b93a1;--neutral-bg: #eef0f3;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius: 8px;--sidebar-w: 244px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-.01em}a{color:inherit;text-decoration:none}code,.mono{font-family:var(--font-mono);font-size:.92em}button,input,select,textarea{font-family:var(--font-body);font-size:.9rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--ink);color:#cfd5e0;display:flex;flex-direction:column;padding:20px 14px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 22px;color:#fff}.sidebar-brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #12b3ac40}.sidebar-brand span{font-family:var(--font-display);font-weight:600;font-size:1.05rem}.nav-group{margin-bottom:18px}.nav-group-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7488;padding:0 10px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;font-size:.88rem;color:#cfd5e0;transition:background .12s ease,color .12s ease}.nav-link:hover{background:var(--ink-soft);color:#fff}.nav-link.active{background:var(--ink-soft);color:#fff;box-shadow:inset 2px 0 0 var(--accent)}.sidebar-footer{margin-top:auto;padding:14px 10px 10px;font-size:.78rem;color:#6b7488;border-top:1px solid var(--ink-border)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:60px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.content{padding:28px;flex:1}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:1.4rem}.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:6px;padding:9px 16px;font-weight:500;font-size:.86rem;cursor:pointer;transition:transform .08s ease,opacity .12s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dim)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{background:var(--neutral-bg)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover{opacity:.85}.btn-sm{padding:6px 12px;font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:24px}.stat-card{padding:18px}.stat-label{font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-family:var(--font-display);font-size:1.7rem;margin-top:6px}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:10px 16px;border-bottom:1px solid var(--border)}tbody td{padding:13px 16px;border-bottom:1px solid var(--border);font-size:.88rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg);cursor:pointer}.signal{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:500;padding:3px 10px 3px 8px;border-radius:100px}.signal .dot{width:7px;height:7px;border-radius:50%}.signal.active{background:var(--success-bg);color:var(--success)}.signal.active .dot{background:var(--success);animation:pulse 1.8s ease-in-out infinite}.signal.pending{background:var(--warning-bg);color:var(--warning)}.signal.pending .dot{background:var(--warning);animation:pulse 1.2s ease-in-out infinite}.signal.suspended,.signal.failed,.signal.terminated{background:var(--danger-bg);color:var(--danger)}.signal.suspended .dot,.signal.failed .dot,.signal.terminated .dot{background:var(--danger)}.signal.paid{background:var(--success-bg);color:var(--success)}.signal.unpaid{background:var(--warning-bg);color:var(--warning)}.signal.overdue{background:var(--danger-bg);color:var(--danger)}.signal.cancelled{background:var(--neutral-bg);color:var(--neutral)}.signal.open,.signal.answered,.signal.customer_reply{background:var(--accent-bg);color:var(--accent-dim)}.signal.closed{background:var(--neutral-bg);color:var(--neutral)}@keyframes pulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 3px transparent;opacity:.55}}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:.8rem;color:var(--text-muted)}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:6px;padding:9px 11px;background:var(--surface);color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10151f73;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--surface);border-radius:10px;padding:24px;width:480px;max-width:92vw;max-height:88vh;overflow-y:auto}.modal h2{font-size:1.1rem;margin-bottom:16px}.empty-state{padding:60px 20px;text-align:center;color:var(--text-muted)}.error-banner{background:var(--danger-bg);color:var(--danger);padding:10px 14px;border-radius:6px;font-size:.85rem;margin-bottom:14px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink)}.login-card{background:var(--surface);border-radius:12px;padding:36px;width:380px}.login-card .sidebar-brand{color:var(--text);padding-left:0}
