:root{--bg: #0e1116;--panel: #171b22;--panel-2: #1e232c;--line: #262c37;--text: #e6e9ee;--muted: #8a93a3;--accent: #5b9dff;--warn: #ff6b6b;--ok: #3fb37f;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.gate{display:grid;place-items:center;min-height:100vh;padding:24px}.gate-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:32px;width:min(380px,100%);text-align:center}.gate-card h1{margin:0 0 4px;letter-spacing:1px}.gate-card p{color:var(--muted);margin:0 0 20px}.gate-card input{width:100%;padding:11px 13px;margin-bottom:12px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:15px}.gate-card button,.app button{cursor:pointer;border:none;border-radius:8px;font-size:14px;padding:10px 16px;background:var(--accent);color:#06101f;font-weight:600}.gate-card button:disabled{opacity:.4;cursor:not-allowed}.app{max-width:1100px;margin:0 auto;padding:20px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.brand{font-size:18px;font-weight:700;letter-spacing:.5px}.brand span{color:var(--muted);font-weight:400}.topbar-right{display:flex;align-items:center;gap:12px}.app button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line);font-weight:500;padding:7px 12px}.app button.ghost:hover{color:var(--text);border-color:var(--muted)}.banner{padding:10px 14px;border-radius:8px;margin-bottom:16px}.banner.error{background:#2a1518;color:#ffb4b4;border:1px solid #57262c}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.stat-value{font-size:30px;font-weight:700}.stat-label{color:var(--muted);font-size:13px;margin-top:2px}.stat-warn .stat-value{color:var(--warn)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.chip{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--muted)}.chip b{color:var(--text);margin-left:7px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 760px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.card h2{margin:0 0 14px;font-size:15px;display:flex;align-items:center;gap:10px}.card h2 .count{background:var(--panel-2);color:var(--muted);border-radius:999px;font-size:12px;padding:1px 9px;font-weight:600}.empty{color:var(--muted)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.list>li{padding:11px 12px;border-radius:9px}.list>li:hover{background:var(--panel-2)}.task-title{font-weight:500}.task-meta{color:var(--muted);font-size:13px;margin-top:2px}.task.overdue{border-left:2px solid var(--warn)}.red{color:var(--warn)}.muted{color:var(--muted)}.draft-head{display:flex;justify-content:space-between;gap:10px;font-size:13px}.draft-to{font-weight:600}.draft-subj{margin:3px 0;font-weight:500}.draft-body{color:var(--muted);font-size:13px;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.captures .capture{display:flex;align-items:center;gap:12px}.cap-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--panel-2);color:var(--muted)}.tag-processed{color:var(--ok)}.tag-failed{color:var(--warn)}.tag-indexed{color:var(--accent)}.foot{color:var(--muted);font-size:13px;margin-top:26px;text-align:center}.dialer{max-width:340px;margin:0 auto}.num-display{display:flex;align-items:center;gap:8px;margin-bottom:14px}.num-display input{flex:1;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:22px;letter-spacing:1px;text-align:center}.num-display .del{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:10px 12px;font-size:16px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.keypad .key{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:14px 0;font-size:20px;font-weight:500}.keypad .key:hover:not(:disabled){border-color:var(--muted)}.keypad .key:disabled{opacity:.4}.dial-actions{display:flex;justify-content:center}.call-btn{border:none;border-radius:999px;font-size:15px;font-weight:600;padding:12px 26px;cursor:pointer}.call-btn.wide{width:100%}.call-btn.accept{background:var(--ok);color:#04140d}.call-btn.hang{background:var(--warn);color:#1a0708}.call-btn:disabled{opacity:.4;cursor:not-allowed}.dial-msg{margin-top:12px;text-align:center;color:var(--warn);font-size:13px}.ring{background:var(--panel-2);border:1px solid var(--accent);border-radius:var(--radius);padding:16px;margin-bottom:16px;text-align:center}.ring-info{margin-bottom:12px}.ring-actions{display:flex;gap:10px;justify-content:center}.calllog{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--line)}.callrow{display:grid;grid-template-columns:18px 1fr auto;gap:4px 10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.callrow .dir{color:var(--muted)}.callrow .who{font-weight:500}.callrow .when{grid-column:3;font-size:12px}.callrow .st{grid-column:2;color:var(--muted)}.callrow.missed .who,.callrow.voicemail .who{color:var(--warn)}.callrow .vm{grid-column:1 / -1;color:var(--muted);font-style:italic;margin-top:3px}
