:root{--bg: #f6f7f9;--panel: #ffffff;--panel-2: #f3f4f6;--border: #e5e7eb;--border-strong: #d1d5db;--text: #111827;--text-2: #374151;--muted: #6b7280;--accent: #4f46e5;--accent-d: #4338ca;--accent-soft: #eef2ff;--red: #e11d48;--green: #16a34a;--amber: #d97706;--radius: 12px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--mono: ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:#fff;color:var(--text-2);border-radius:8px;padding:8px 14px;font-weight:500;box-shadow:var(--shadow-sm);transition:all .12s ease}button:hover{background:var(--panel-2);border-color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}button.primary:hover{background:var(--accent-d);border-color:var(--accent-d)}button.danger{background:var(--red);border-color:var(--red);color:#fff}button.danger:hover{filter:brightness(.95)}button.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}button.ghost:hover{background:var(--panel-2);color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;background:#fff;color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:9px 11px;width:100%;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}::placeholder{color:#9ca3af}code{font-family:var(--mono);background:var(--panel-2);padding:1px 6px;border-radius:5px;font-size:12.5px}.app{display:grid;grid-template-columns:240px 1fr;grid-template-rows:1fr auto;height:100%}.sidebar{grid-row:1 / 3;background:var(--panel);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column}.brand{font-weight:800;font-size:22px;letter-spacing:-.6px;padding:4px 10px 20px}.brand span{color:var(--red)}.nav a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;color:var(--muted);margin-bottom:3px;font-weight:500}.nav a.active{background:var(--accent-soft);color:var(--accent)}.nav a:hover:not(.active){background:var(--panel-2);color:var(--text);text-decoration:none}.sidebar-foot{margin-top:auto;font-size:12.5px;color:var(--muted);padding:10px;border-top:1px solid var(--border)}.sidebar-foot .who{color:var(--text);font-weight:600;font-size:13px}.main{grid-row:1;overflow:auto;padding:24px 28px}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.topbar h1{font-size:22px;margin:0;font-weight:700;letter-spacing:-.3px}.spacer{flex:1}.imp-banner{background:#1f2937;color:#fff;padding:9px 18px;display:flex;align-items:center;gap:12px;font-size:13px}.imp-banner button{padding:4px 12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card+.card{margin-top:16px}.card-h{padding:14px 16px;border-bottom:1px solid var(--border);font-weight:650;display:flex;align-items:center;gap:8px;font-size:14px}.card-b{padding:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;background:#fafbfc}tbody tr{transition:background .1s}tbody tr:hover{background:#fafbfc;cursor:pointer}tbody tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid transparent}.badge.blue{background:#eff6ff;color:#2563eb}.badge.amber{background:#fffbeb;color:#b45309}.badge.violet{background:#f5f3ff;color:#7c3aed}.badge.indigo{background:#eef2ff;color:#4f46e5}.badge.cyan{background:#ecfeff;color:#0891b2}.badge.green{background:#f0fdf4;color:#16a34a}.badge.teal{background:#f0fdfa;color:#0d9488}.badge.orange{background:#fff7ed;color:#ea580c}.badge.rose{background:#fff1f2;color:#e11d48}.badge.lime{background:#f7fee7;color:#65a30d}.badge.slate,.badge.zinc{background:#f1f5f9;color:#475569}.muted{color:var(--muted)}.row{display:flex;gap:10px;align-items:center}.grid2{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 14px}.kv dt{color:var(--muted)}.kv dd{margin:0;color:var(--text-2)}.timeline-item{padding:10px 0;border-bottom:1px solid var(--border)}.timeline-item:last-child{border-bottom:none}.timeline-item .t{font-size:12px;color:var(--muted);margin-top:2px}.pill-dupe{background:#fff1f2;color:#e11d48;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.center{min-height:100vh;display:grid;place-items:center;background:linear-gradient(180deg,#f6f7f9,#eef1f6)}.login-card{width:380px;box-shadow:var(--shadow-md)}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;color:var(--text-2);margin-bottom:5px;font-weight:500}.err{color:var(--red);font-size:13px;margin:8px 0}.hint{background:var(--accent-soft);border:1px solid #dfe3ff;border-radius:10px;padding:12px 14px;font-size:13px;color:var(--text-2)}.hint ol{margin:8px 0 0;padding-left:20px}.hint li{margin-bottom:4px}.softbar{grid-column:2;grid-row:2;border-top:1px solid var(--border);background:var(--panel);padding:10px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 -1px 2px #10182808}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px #6b728026}.dot.ready{background:var(--green);box-shadow:0 0 0 3px #16a34a26}.dot.error{background:var(--red);box-shadow:0 0 0 3px #e11d4826}.dot.oncall,.dot.connecting,.dot.ringing,.dot.incoming{background:var(--amber);box-shadow:0 0 0 3px #d9770626}.softbar .timer{font-family:var(--mono);font-weight:600}.incoming{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:6px 12px}
