
:root{--ink:#111827;--muted:#697586;--soft:#f6f8fb;--line:#e7ebf0;--card:#fff;--navy:#0b1220;--blue:#2563eb;--blue2:#1d4ed8;--green:#16a34a;--red:#dc2626;--shadow:0 18px 55px rgba(15,23,42,.07)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#f7f9fc;color:var(--ink);min-height:100vh}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 85% 0%,rgba(37,99,235,.08),transparent 28%),radial-gradient(circle at 0% 35%,rgba(14,165,233,.05),transparent 24%);pointer-events:none;z-index:-2}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.app-bg{position:fixed;inset:0;pointer-events:none;z-index:-1}
.topbar{height:72px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.9);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:11px;min-width:220px}
.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 7px 18px rgba(37,99,235,.25)}
.brand strong{display:block;font-size:14px;letter-spacing:-.2px}.brand small{display:block;color:#8a95a5;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-top:2px}
.topbar-right{display:flex;align-items:center;gap:18px}.user-chip{display:flex;align-items:center;gap:9px}.user-chip .avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9efff;color:#2456c6;font-size:12px;font-weight:800}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:12px}.user-chip small{font-size:10px;color:#8994a3;margin-top:2px}.logout-link{font-size:12px;color:#64748b;font-weight:700}.logout-link:hover{color:#dc2626}
.layout{display:flex;max-width:1440px;margin:0 auto;min-height:calc(100vh - 72px)}
.sidebar{width:238px;flex:0 0 238px;padding:26px 15px 20px;border-right:1px solid #e9edf2;background:rgba(255,255,255,.68);display:flex;flex-direction:column}
.sidebar-label{padding:0 12px 10px;color:#a0a9b6;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.side-link{height:45px;border-radius:11px;display:flex;align-items:center;gap:11px;padding:0 13px;color:#667386;font-size:13px;font-weight:700;margin-bottom:5px}.side-link span{width:19px;text-align:center;font-size:17px}.side-link:hover{background:#f0f4fa;color:#1f4fb7}.side-link.active{background:#eaf0ff;color:#2456c6;box-shadow:inset 3px 0 #2563eb}.sidebar-spacer{flex:1}.connection-card{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #e8edf3;border-radius:12px;background:#fff}.connection-card b,.connection-card small{display:block}.connection-card b{font-size:11px}.connection-card small{font-size:10px;color:#8a95a4;margin-top:2px}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #dcfce7}
.content{flex:1;min-width:0;padding:38px 42px 50px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow,.section-kicker{font-size:10px;font-weight:800;letter-spacing:1.3px;color:#8b96a6}.page-heading h1{font-size:30px;letter-spacing:-.8px;margin:6px 0 6px}.page-heading p{margin:0;color:#758196;font-size:13px}.presence{display:flex;align-items:center;gap:8px;border:1px solid #dfe8e2;background:#fff;border-radius:13px;padding:10px 13px}.presence b{font-size:12px;color:#237a42}.presence small{font-size:11px;color:#8993a1;border-left:1px solid #e3e7eb;padding-left:8px}
h1{font-size:29px;letter-spacing:-.6px;margin:0 0 7px}h2{font-size:17px;letter-spacing:-.2px;margin:3px 0}.muted,p.muted{color:#768396}.panel{background:var(--card);border:1px solid #e8edf3;border-radius:18px;box-shadow:var(--shadow);margin-bottom:20px;padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:22px}.panel-head h2{margin-top:4px}.dialer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:20px}.phone-card{min-height:470px}.phone-hero{min-height:300px;border:1px solid #edf1f5;border-radius:17px;background:linear-gradient(145deg,#fbfcff,#f5f8fd);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.phone-orb{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2563eb,#4f46e5);color:white;font-size:30px;box-shadow:0 14px 30px rgba(37,99,235,.22);margin-bottom:18px}.phone-hero h3{font-size:18px;margin:0 0 7px}.phone-hero p{max-width:350px;color:#7a8798;font-size:12px;line-height:1.7;margin:0}.phone-status{font-size:11px;font-weight:700;color:#64748b;padding:7px 10px;border-radius:20px;background:#f4f6f9;white-space:nowrap}.phone-status.ready{background:#ecfdf3;color:#15803d}.phone-status.error{background:#fef2f2;color:#b91c1c}.status-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b;display:inline-block;margin-right:5px}.phone-tip{display:flex;align-items:center;gap:10px;background:#f8fafc;border-radius:12px;padding:12px 14px;margin-top:15px}.phone-tip>span{width:20px;height:20px;border-radius:50%;background:#e8eefb;color:#2563eb;display:grid;place-items:center;font-size:11px;font-weight:800}.phone-tip b,.phone-tip small{display:block}.phone-tip b{font-size:11px}.phone-tip small{font-size:10px;color:#8390a0;margin-top:2px}.tiny-live{font-size:10px;color:#16a34a;background:#ecfdf3;padding:5px 8px;border-radius:20px;font-weight:800}.calls-list{max-height:365px;overflow:auto}.loading-row{color:#8a96a6;font-size:12px;padding:25px 5px;text-align:center}.spinner{display:inline-block;width:12px;height:12px;border:2px solid #dce4ef;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin-right:6px;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.mini-list>div{display:flex;align-items:center;gap:10px;padding:14px 3px;border-bottom:1px solid #edf1f5;font-size:12px}.mini-list>div:last-child{border-bottom:0}.mini-list .call-icon{width:31px;height:31px;border-radius:10px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-weight:800;flex:0 0 31px}.mini-list .call-main{min-width:0;flex:1}.mini-list b{display:block;font-size:11px}.mini-list small{display:block;color:#8b96a5;margin-top:3px}.mini-list .call-time{text-align:right;color:#778497;font-size:10px}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:3px}.quick-stats>div{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e8edf3;border-radius:14px;padding:14px 16px}.stat-icon{width:34px;height:34px;border-radius:10px;background:#f0f5ff;color:#2563eb;display:grid;place-items:center;font-size:15px}.quick-stats b,.quick-stats small{display:block}.quick-stats b{font-size:11px}.quick-stats small{font-size:10px;color:#8792a2;margin-top:3px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat{background:#fff;border:1px solid #e8edf3;border-radius:15px;padding:19px;box-shadow:0 12px 35px rgba(15,23,42,.05)}.stat b{font-size:26px;display:block;letter-spacing:-.5px}.stat span{font-size:11px;color:#7c8898;margin-top:4px;display:block}.stat:before{content:"";display:block;width:26px;height:3px;border-radius:5px;background:#2563eb;margin-bottom:14px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid.two .panel{height:100%}.panel p{font-size:13px;line-height:1.65}.btn{border:1px solid #dfe5ec;border-radius:9px;padding:10px 14px;background:#fff;color:#344154;cursor:pointer;font-weight:750;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,23,42,.07)}.btn.primary{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 7px 16px rgba(37,99,235,.17)}.btn.primary:hover{background:#1d4ed8}.btn.full{width:100%;margin-top:18px}.btn.small{padding:7px 9px;font-size:11px}.danger-btn{color:#b42318;border-color:#f0d1ce}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end}.form-grid label{margin-top:0}label{display:block;font-size:11px;font-weight:800;color:#526074;margin:14px 0 7px}input,select{width:100%;padding:11px 12px;border:1px solid #dbe2ea;border-radius:9px;background:#fff;outline:none;color:#1f2937;font-size:12px;transition:.15s}input:focus,select:focus{border-color:#7ba1f7;box-shadow:0 0 0 3px rgba(37,99,235,.09)}.alert{padding:12px 14px;border-radius:11px;margin:15px 0;font-size:12px}.alert.danger{background:#fff1f2;color:#a21caf}.alert.warning{background:#fff8e7;color:#7a5b00}.flash{width:min(100%,1100px);margin:14px auto;padding:11px 14px;border-radius:10px;font-size:12px}.flash.success{background:#ecfdf3;color:#166534}.flash.danger{background:#fff1f2;color:#b91c1c}.table-wrap{overflow:auto;border:1px solid #edf1f5;border-radius:12px}table{width:100%;border-collapse:collapse;font-size:11px;min-width:720px;background:#fff}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf1f5;vertical-align:middle}th{color:#7a8798;font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:#fafbfd}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfe}.badge{display:inline-flex;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:800}.badge.green{background:#ecfdf3;color:#15803d}.badge.gray{background:#f1f3f5;color:#68737d}.actions{display:flex;gap:7px;flex-wrap:wrap}.filter{display:grid;grid-template-columns:1fr 220px auto;gap:10px;margin-bottom:18px}.instructions{padding:14px;background:#f7f9fc;border:1px solid #e9eef4;border-radius:11px;font-size:12px}.empty-state{text-align:center;padding:70px 25px}.empty-icon{width:60px;height:60px;border-radius:17px;margin:0 auto 16px;background:#edf3ff;color:#2563eb;display:grid;place-items:center;font-size:25px}.empty-state p{max-width:450px;margin:0 auto;color:#7a8798}.auth-card{width:min(410px,calc(100% - 32px));margin:9vh auto;background:#fff;border:1px solid #e7ebf1;border-radius:22px;padding:34px;box-shadow:0 25px 70px rgba(15,23,42,.1)}.auth-card:before{content:"";display:block;width:55px;height:4px;background:#2563eb;border-radius:4px;margin-bottom:24px}.brand-large{width:56px;height:56px;border-radius:16px;background:linear-gradient(145deg,#2563eb,#4f46e5);color:#fff;display:grid;place-items:center;font-size:25px;margin-bottom:18px}.auth-card h1{font-size:25px}.auth-card form{margin-top:22px}.footer{text-align:center;color:#9aa4b2;font-size:10px;padding:25px}.footer span{padding:0 5px}.status{padding:11px 13px;border-radius:10px;background:#edf7ef;color:#25643b}.error-text{background:#fff0ef;color:#a22b23}.hint{font-size:12px;color:#737f8b}
@media(max-width:1000px){.sidebar{width:205px;flex-basis:205px}.content{padding:30px 24px}.dialer-grid{grid-template-columns:1fr}.phone-card{min-height:auto}.phone-hero{min-height:260px}.stats{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.topbar{padding:0 14px}.topbar-right .user-chip{display:none}.brand{min-width:0}.layout{display:block}.sidebar{width:100%;height:auto;padding:8px 10px;border-right:0;border-bottom:1px solid #e9edf2;display:flex;flex-direction:row;align-items:center;gap:5px;overflow:auto}.sidebar-label,.sidebar-spacer,.connection-card{display:none}.side-link{flex:0 0 auto;margin:0;height:38px;padding:0 10px}.side-link span{font-size:14px}.content{padding:25px 14px 40px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:25px}.presence{width:100%;justify-content:center}.grid.two,.stats,.quick-stats{grid-template-columns:1fr}.panel{padding:18px}.form-grid,.filter{grid-template-columns:1fr}.phone-hero{min-height:220px}.logout-link{font-size:11px}.auth-card{margin:7vh auto;padding:26px}}
