:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef3f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box;letter-spacing:0}body{min-width:320px;margin:0}#root{min-height:100vh}.login-shell{background:#eef3f7;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #d9e2ea;border-radius:8px;width:min(420px,100%);padding:28px;box-shadow:0 18px 40px #0f172a14}.brand-row{align-items:center;gap:12px;display:flex}.brand-row.compact{border-bottom:1px solid #dbe3ea;padding:18px 16px 14px}.brand-row h1,.brand-row p,.topbar h2,.topbar p,.panel-title h3{margin:0}.brand-row h1{color:#111827;font-size:24px;line-height:1.1}.brand-row p,.topbar p,.modal-head p{color:#64748b;font-size:13px}.brand-mark{color:#fff;background:#0f766e;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.login-form{gap:16px;margin-top:28px;display:grid}.login-form label,.field{color:#475569;gap:6px;font-size:13px;font-weight:700;display:grid}input,select{box-sizing:border-box;color:#111827;width:100%;min-height:38px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px}input:focus,select:focus,button:focus-visible{outline-offset:2px;outline:2px solid #2563eb}button{font:inherit}.primary-button,.ghost-button,.icon-button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:#2563eb}.primary-button.inline{width:fit-content}.ghost-button{color:#334155;background:#fff;border-color:#cbd5e1;padding:0 12px}.icon-button{color:#334155;background:#fff;border-color:#cbd5e1;width:38px}.icon-button.small{width:32px;min-height:32px}.demo-strip{gap:8px;margin-top:18px;display:flex}.demo-strip span{color:#475569;background:#f1f5f9;border:1px solid #dbe3ea;border-radius:6px;flex:1;padding:7px 9px;font-size:13px}.app-shell{background:#eef3f7;grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #dbe3ea;min-width:0}.nav-list{gap:4px;padding:12px;display:grid}.nav-button{color:#475569;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;font-weight:700;display:flex}.nav-button.active{color:#0f766e;background:#e6f4f1;border-color:#b8ddd6}.workspace{grid-template-rows:auto auto 1fr;min-width:0;display:grid}.topbar{background:#fff;border-bottom:1px solid #dbe3ea;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:0 24px;display:flex}.topbar h2{color:#111827;font-size:22px}.topbar-actions{align-items:center;gap:8px;display:flex}.panel-stack{gap:16px;padding:20px 24px 32px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-card,.panel,.form-panel{background:#fff;border:1px solid #dbe3ea;border-radius:8px}.stat-card{color:#475569;align-content:center;gap:8px;min-height:96px;padding:14px;display:grid}.stat-card svg{color:#0f766e}.stat-card span{font-size:12px;font-weight:700}.stat-card strong{color:#111827;font-size:26px;line-height:1}.content-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:16px;display:grid}.panel,.form-panel{padding:16px}.panel-title{color:#0f766e;align-items:center;gap:8px;margin-bottom:14px;display:flex}.panel-title h3{color:#111827;font-size:16px}.form-panel{gap:14px;display:grid}.form-grid{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:end;gap:12px;display:grid}.company-create-grid{grid-template-columns:repeat(5,minmax(170px,1fr))}.admin-stats{grid-template-columns:repeat(3,minmax(190px,1fr))}.toggle-field{color:#475569;align-items:center;gap:8px;min-height:38px;font-size:13px;font-weight:700;display:flex}.toggle-field input{width:18px;min-height:18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;color:#334155;white-space:nowrap;border-bottom:1px solid #e5edf4;padding:10px 8px;font-size:13px}th{color:#64748b;text-transform:uppercase;font-size:12px}.pill{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.pill.success,.pill.inbound{color:#166534;background:#dcfce7}.pill.outbound{color:#1d4ed8;background:#dbeafe}.pill.internal{color:#92400e;background:#fef3c7}.pill.warning{color:#9a3412;background:#ffedd5}.pill.muted{color:#64748b;background:#e2e8f0}.bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;min-height:170px;display:grid}.bar-item{justify-items:center;gap:8px;display:grid}.bar-track{background:#f1f5f9;border-radius:6px;justify-content:center;align-items:end;width:100%;height:130px;display:flex;overflow:hidden}.bar-track span{background:#2563eb;border-radius:6px 6px 0 0;width:100%;max-width:42px}.bar-item small{color:#64748b;font-size:12px}.capacity-list{gap:10px;display:grid}.capacity-row{color:#475569;border:1px solid #e5edf4;border-radius:6px;grid-template-columns:minmax(120px,1fr) repeat(3,max-content);align-items:center;gap:10px;padding:10px;font-size:13px;display:grid}.capacity-row strong{color:#111827}.error-banner,.error-line,.loading-line{border-radius:6px;margin:12px 24px 0;padding:10px 12px;font-size:13px;font-weight:700}.error-banner,.error-line{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.error-line{margin:0}.loading-line{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.modal-backdrop{background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #dbe3ea;border-radius:8px;width:min(760px,100%);max-height:calc(100vh - 36px);padding:16px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal-head h3{color:#111827;margin:0}.modal-actions{gap:8px;display:flex}.config-block{color:#e2e8f0;background:#0f172a;border-radius:6px;margin:0;padding:14px;font-size:13px;line-height:1.5;overflow:auto}.marketing-shell{background:#eef3f7;min-height:100vh}.marketing-hero{background-position:50%;background-size:cover;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:24px;min-height:100vh;padding:24px;display:grid}.marketing-nav{color:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:64px;display:flex}.marketing-nav .brand-row h1,.marketing-nav .brand-row p{color:#fff}.marketing-copy{color:#fff;align-self:center;gap:18px;max-width:720px;display:grid}.marketing-copy h2{letter-spacing:0;margin:0;font-size:clamp(38px,6vw,72px);line-height:1}.marketing-copy p{max-width:620px;margin:0;font-size:18px;line-height:1.6}.marketing-metrics,.auth-switch{flex-wrap:wrap;gap:8px;display:flex}.marketing-metrics span,.auth-switch button{color:#fff;background:#ffffff1f;border:1px solid #ffffff47;border-radius:6px;min-height:34px;padding:7px 10px;font-weight:700}.auth-switch button{cursor:pointer}.auth-switch button.active{color:#111827;background:#fff}.auth-panel{background:#fff;border:1px solid #dbe3ea;border-radius:8px;align-self:center;gap:12px;padding:22px;display:grid;box-shadow:0 18px 48px #02061738}.auth-panel h3{color:#111827;margin:0 0 4px;font-size:22px}.customer-shell{background:#f1f2f8;min-height:100vh}.customer-topbar{background:#fff;border-bottom:1px solid #e1e5ee;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;min-height:68px;display:grid}.customer-brand{border-bottom:0}.brand-mark.mini{width:34px;height:34px}.customer-topnav,.customer-account{align-items:center;gap:8px;display:flex}.customer-topnav button{color:#6b6685;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;min-height:42px;padding:0 10px;font-weight:700;display:inline-flex}.customer-topnav button.active{color:#111827}.customer-account{color:#6b6685;justify-content:flex-end;padding-right:12px;font-size:13px}.customer-account strong{color:#43b43d}.live-status{color:#64748b;white-space:nowrap;background:#f8fafc;border:1px solid #d8dee8;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.live-status.online{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.live-status.connecting{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.live-status.offline{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.customer-grid{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(260px,1fr) minmax(320px,1fr);gap:8px;padding:8px;display:grid}.customer-card{background:#fff;border:1px solid #e1e5ee;border-radius:8px;align-content:start;gap:16px;min-height:150px;padding:22px;display:grid}.customer-card strong{font-size:42px;font-weight:500}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-head h3,.customer-card h3{color:#4d4a66;margin:0}.card-head button{color:#2563eb;cursor:pointer;background:0 0;border:0;font-weight:700}.accent-number{background:#fff0e8}.accent-pay{background:#e7e4ff}.news-card{grid-row:span 2}.services-card{min-height:420px}.chart-card{grid-column:span 2;min-height:420px}.service-list{gap:12px;display:grid}.service-list span{background:#f3f4f8;border-radius:6px;padding:14px;font-weight:700}.pbx-settings-shell{grid-template-columns:220px minmax(520px,1fr) minmax(360px,.7fr);min-height:calc(100vh - 68px);display:grid}.pbx-module-menu{background:#fff;border-right:1px solid #e1e5ee;align-content:start;gap:8px;padding:24px 16px;display:grid}.pbx-module-menu h3{color:#4d4a66;margin:0 0 14px;font-size:15px}.pbx-module-menu button{color:#3477dd;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;min-height:42px;padding:0 8px;font-weight:700;display:flex}.pbx-module-menu button.active{color:#111827;background:#eef4ff}.pbx-board{border-right:1px solid #e1e5ee;padding:32px 28px}.pbx-board-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.pbx-board-head h2{color:#a09caf;margin:0;font-size:20px}.pbx-board-head input{max-width:280px}.presence-legend{color:#6b7280;flex-wrap:wrap;gap:10px 18px;margin:-4px 0 22px;font-size:12px;font-weight:700;display:flex}.presence-legend span{align-items:center;gap:7px;display:inline-flex}.pbx-bucket{gap:8px;margin-bottom:24px;display:grid}.pbx-bucket-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.pbx-bucket-title{color:#aaa6b8;letter-spacing:0;text-transform:uppercase;font-size:14px;font-weight:800}.pbx-bucket-head button{color:#2563eb;cursor:pointer;background:0 0;border:0;font-weight:700}.pbx-row{color:#5c5872;cursor:pointer;width:100%;min-height:44px;font:inherit;text-align:left;background:#fff;border:1px solid #e1e5ee;border-right:5px solid #bfe8d0;grid-template-columns:14px 120px minmax(0,1fr) 72px;align-items:center;gap:8px;padding:0 12px;display:grid}.pbx-row em{color:#a09caf;text-align:right;font-style:normal}.pbx-row.module-active{border-color:#b8d5ff}.pbx-row.selected{border-color:#71c7ec;box-shadow:inset 0 0 0 1px #71c7ec}.muted-row{color:#a09caf;cursor:default;grid-template-columns:1fr}.dot{background:#c7c9d1;border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}.dot.idle{background:#c7c9d1}.dot.online{background:#4fc34a}.dot.busy{background:#ef4444}.pbx-detail{background:#fff;padding:28px 36px}.pbx-detail-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.pbx-detail-head h3{color:#4d4a66;text-transform:uppercase;margin:0}.pbx-detail-head span{color:#43b43d;font-weight:800}.pbx-detail form{gap:14px;display:grid}.presence-status{color:#6b7280;border:1px solid #e1e5ee;border-radius:6px;align-items:center;gap:9px;min-height:38px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.presence-status.online{color:#25812a;background:#f1fbf2;border-color:#b8e7bc}.presence-status.busy{color:#c62828;background:#fff5f5;border-color:#fecaca}.softphone-settings{border:1px solid #dbe3ea;border-radius:6px;display:grid;overflow:hidden}.softphone-settings>strong{color:#4d4a66;text-transform:uppercase;background:#f6f7fb;padding:11px 12px;font-size:13px}.info-row{color:#64748b;border-top:1px solid #e5e7eb;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;min-height:42px;padding:0 12px;font-size:13px;display:grid}.info-row strong{overflow-wrap:anywhere;color:#334155;font-weight:700}.pbx-detail-empty{color:#6b6685;background:#f6f7fb;border:1px solid #e1e5ee;border-radius:8px;gap:10px;padding:18px;display:grid}.pbx-detail-empty strong{color:#4d4a66}.pbx-detail-empty p{margin:0;line-height:1.5}.billing-line{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.billing-line strong{font-size:24px}.compact-form{grid-template-columns:repeat(3,minmax(180px,1fr))}.audio-cell{gap:6px;width:260px;display:grid}.audio-cell audio{width:100%;height:32px}.audio-cell a,td a{color:#2563eb;font-weight:700;text-decoration:none}@media (width<=1180px){.stats-grid,.form-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.content-grid,.customer-topbar,.pbx-settings-shell,.marketing-hero{grid-template-columns:1fr}.customer-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.chart-card,.news-card{grid-area:auto}}@media (width<=780px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #dbe3ea;border-right:0}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-button{justify-content:center;padding:0 8px}.nav-button span{display:none}.topbar{padding:12px 16px}.panel-stack{padding:16px}.stats-grid,.form-grid,.capacity-row{grid-template-columns:1fr}.marketing-hero{padding:16px}.marketing-nav,.pbx-board-head{flex-direction:column;align-items:stretch}.customer-topnav{padding:0 8px;overflow-x:auto}.customer-topnav button{white-space:nowrap;flex:none}.customer-account{grid-template-columns:minmax(0,1fr) auto;padding:8px 12px 12px;display:grid}.customer-account>span{overflow-wrap:anywhere}.customer-account .icon-button{justify-self:start}.customer-account .ghost-button{justify-self:end}.customer-grid{grid-template-columns:1fr}.pbx-settings-shell{display:block}.pbx-module-menu{padding:10px 12px;display:flex;overflow-x:auto}.pbx-module-menu h3{display:none}.pbx-module-menu button{flex:none;min-width:max-content;padding:0 12px}.pbx-board,.pbx-detail{padding:18px 16px}.pbx-row{grid-template-columns:14px 70px minmax(0,1fr) 48px}}
