:root{--bg:#12162a;--sidebar-bg:#1a1f35;--surface:#1e2438;--surface-2:#242b44;--surface-3:#2a3150;--input-bg:#252b42;--border:#2d3348;--heading:#fff;--text:#c5c9d6;--text-dim:#8e93a8;--accent:#e8432f;--accent-hover:#d13a26;--accent-text:#fff;--danger:#f87171;--danger-bg:#3b1a1a;--danger-border:#5c2626;--success:#3dbe7a}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:220px;min-width:220px;color:var(--text);border-right:1px solid var(--border);flex-direction:column;padding:16px;display:flex}.sidebar-toggle{z-index:1600;background:var(--sidebar-bg);border:1px solid var(--border);width:40px;height:40px;color:var(--heading);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:none;position:fixed;top:12px;left:12px}.sidebar-backdrop{display:none}.sidebar .brand{color:var(--heading);letter-spacing:.3px;margin-bottom:4px;font-size:18px;font-weight:700}.sidebar .tenant-name{color:var(--text-dim);margin-bottom:20px;font-size:13px}.sidebar nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar nav a{color:var(--text);border-radius:8px;padding:9px 12px;font-size:14px;text-decoration:none}.sidebar nav a.active{background:var(--accent);color:#fff;font-weight:600}.sidebar nav a:hover:not(.active){background:var(--surface-3);color:var(--heading)}.sidebar .nav-group{border-left:3px solid var(--accent);background:#e8432f0f;border-radius:0 8px 8px 0;flex-direction:column;gap:4px;margin:10px 0 4px;padding:8px 6px 6px;display:flex}.sidebar .nav-group-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:2px 6px 6px;font-size:12px;font-weight:700}.sidebar .nav-group a{padding-left:16px}.report-subnav-link{color:var(--text-dim);border-radius:6px;padding:8px 10px;font-size:14px;text-decoration:none}.report-subnav-link.active{background:var(--accent);color:#fff;font-weight:600}.report-subnav-link:hover:not(.active){background:var(--surface-3);color:var(--heading)}.user-footer{border-top:1px solid var(--border);color:var(--text-dim);padding-top:12px;font-size:13px}.content{flex:1;width:100%;min-width:0;padding:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px;overflow-x:auto;box-shadow:0 2px 8px #0000004d}.table-container{border-radius:8px;max-width:100%;overflow-x:auto}h1,h2,h3,h4{color:var(--heading);margin-top:0;font-weight:600}h1{font-size:24px;font-weight:700}h2{font-size:20px;font-weight:700}h3{font-size:18px;font-weight:600}label{color:var(--text-dim);margin-bottom:4px;font-size:12px;display:block}input,select{background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:14px}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #e8432f33}input::placeholder{color:var(--text-dim)}.pbx-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.pbx-tabs button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:14px}.pbx-tabs button.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.pbx-tabs button:hover:not(.active){color:var(--text)}.form-grid-2col{grid-template-columns:1fr 1fr;gap:18px 28px;display:grid}.form-grid-2col .field input,.form-grid-2col .field select{box-sizing:border-box;width:100%}@media (width<=767px){.form-grid-2col{grid-template-columns:1fr}}.reorder-row{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 12px;display:flex}.reorder-row .drag-handle{cursor:grab;color:var(--text-dim);-webkit-user-select:none;user-select:none}.reorder-row.dragging{opacity:.5}.reorder-row .row-num{color:var(--text-dim);text-align:right;flex-shrink:0;width:18px;font-size:12px}.icon-btn-trash{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-btn-trash:hover{color:var(--accent);background:#e8432f1a}.profile-layout{align-items:flex-start;gap:24px;width:100%;display:flex}.profile-sidebar{flex-direction:column;flex-shrink:0;gap:10px;width:260px;display:flex}.profile-main{flex:1;min-width:0}@media (width<=767px){.profile-layout{flex-direction:column}.profile-sidebar{width:100%}}.profile-avatar{background:var(--surface-2);border:1px solid var(--border);width:96px;height:96px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;font-size:32px;font-weight:700;display:flex}.toggle{cursor:pointer;flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--surface-3);border:1px solid var(--border);border-radius:999px;transition:background .15s;position:absolute;inset:0}.toggle-track:before{content:"";background:var(--text-dim);border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle-track:before{background:#fff;transform:translate(18px)}.toggle input:focus-visible+.toggle-track{box-shadow:0 0 0 3px #e8432f4d}table{border-collapse:separate;border-spacing:0;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;word-wrap:break-word;overflow-wrap:break-word;padding:12px 16px}th{color:var(--heading);letter-spacing:.3px;white-space:nowrap;font-size:13px;font-weight:600}td{color:var(--text);font-size:13.5px;line-height:1.5}tbody tr:last-child td{border-bottom:none}tbody tr:nth-child(2n){background:var(--surface-2)}tbody tr:hover{background:var(--surface-3)}.btn{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:7px 14px;font-size:14px}.btn:hover{background:var(--surface-3);color:var(--heading)}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--danger)}.login-wrap{background:var(--sidebar-bg);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{flex-direction:column;gap:6px;width:100%;max-width:340px;display:flex}.call-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.call-controls{align-items:center;gap:6px;display:flex}.dialer-bar{background:var(--surface);border:1px solid var(--border);z-index:1000;width:280px;max-width:calc(100vw - 32px);color:var(--text);border-radius:10px;font-size:13px;position:fixed;top:16px;right:16px;box-shadow:0 4px 16px #0006}.dialer-bar-header{cursor:pointer;color:var(--heading);align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.status-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.call-badge{background:var(--accent);color:var(--accent-text);border-radius:10px;margin-left:auto;padding:1px 8px;font-size:11px}.chevron{color:var(--text-dim);margin-left:4px}.dialer-bar-body{border-top:1px solid var(--border);padding:0 12px 12px}.dialer-bar-body input{width:100%;margin-bottom:0}.mini-call-row{border-top:1px dashed var(--border);margin-top:8px;padding-top:8px}.modal-backdrop{z-index:3500;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:100%;max-width:640px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000080}.modal-header{border-bottom:1px solid var(--border);color:var(--heading);justify-content:space-between;align-items:center;padding:14px 18px;font-weight:600;display:flex}.modal-body{padding:16px 18px;overflow:auto}.json-view{white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6}.json-key{color:#f0a868}.json-string{color:#6fdb9e}.json-number{color:#e8a44f}.json-boolean,.json-null{color:#b79cf0}.truncate-cell{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:320px;display:inline-block;overflow:hidden}.incoming-call-panel{background:var(--success);color:#06210f;z-index:2000;text-align:center;border-radius:14px;width:min(340px,100vw - 32px);padding:18px 24px;animation:.25s ease-out slideDown,1s ease-in-out infinite pulseGlow;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.incoming-call-title{text-transform:uppercase;letter-spacing:1px;opacity:.75;font-size:13px;font-weight:700}.incoming-call-from{margin-top:4px;font-size:26px;font-weight:700}.incoming-call-panel .btn{padding:10px 22px;font-size:15px;font-weight:700}.incoming-call-panel .btn.primary{color:var(--success);background:#06210f;border-color:#06210f}.incoming-call-panel .btn.danger{color:#fff;background:#a3221f;border-color:#a3221f}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-40px)}to{opacity:1;transform:translate(-50%)}}@keyframes pulseGlow{0%,to{box-shadow:0 8px 32px #00000080,0 0 #3dbe7a99}50%{box-shadow:0 8px 32px #00000080,0 0 0 14px #3dbe7a00}}@media (width<=991px){.sidebar-toggle{display:flex}.sidebar{z-index:1650;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #0006}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{z-index:1640;background:#00000080;display:block;position:fixed;inset:0}.content{padding-top:68px}}@media (width<=575px){.content{padding:68px 16px 16px}.modal-backdrop{padding:0}.modal-panel{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%}.dialer-bar{width:auto;max-width:none;top:8px;left:8px;right:8px}.incoming-call-panel{width:calc(100vw - 16px)}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
