.sidebar .sidebar-inner{overflow-y:auto;overflow-x:hidden}.sidebar .sidebar-inner::-webkit-scrollbar{width:5px}.sidebar .sidebar-inner::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}#sidebar-menu .submenu>a{cursor:pointer}#sidebar-menu button{background:none;border:0;width:100%;text-align:left}.dropdown-menu.show{display:block}.modal-backdrop{z-index:1050}.modal{z-index:1055}.stat-card{border-left:3px solid var(--pbx-primary, #f26522);transition:transform .12s ease,box-shadow .12s ease}a.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a14}.dial-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dial-pad.mini{gap:6px}.dp-key{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:12px 0 8px;cursor:pointer;transition:background .1s ease,transform .06s ease,border-color .1s ease;-webkit-user-select:none;user-select:none}.dp-key:hover{background:#f8fafc;border-color:var(--pbx-primary, #f26522)}.dp-key:active{transform:scale(.96);background:#f1f5f9}.dp-key .d{display:block;font-size:22px;font-weight:600;line-height:1}.dial-pad.mini .dp-key{padding:8px 0 6px}.dial-pad.mini .dp-key .d{font-size:17px}.dp-key .l{display:block;font-size:10px;letter-spacing:1px;color:#94a3b8;margin-top:3px;min-height:12px}.dialer-shell{max-width:420px}.dialer-display-input{font-size:26px;letter-spacing:1px;border:0;border-bottom:2px solid #e5e7eb;border-radius:0;padding-right:42px}.dialer-display-input:focus{box-shadow:none;border-bottom-color:var(--pbx-primary, #f26522)}.dialer-display{position:relative}.dialer-clear{position:absolute;right:0;top:50%;transform:translateY(-50%);border:0;background:transparent}.btn-call{background:#22c55e;border-color:#22c55e;color:#fff;font-weight:600;padding:12px;border-radius:12px}.btn-call:hover:not(:disabled){background:#16a34a;border-color:#16a34a;color:#fff}.btn-call:disabled{opacity:.5}.btn-hangup{background:#ef4444;border-color:#ef4444;color:#fff;font-weight:600;padding:12px;border-radius:12px}.btn-hangup:hover{background:#dc2626;border-color:#dc2626;color:#fff}.incall-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ctl-btn{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:10px 4px;font-size:11px;color:#475569;cursor:pointer}.ctl-btn i{display:block;font-size:19px;margin-bottom:3px}.ctl-btn:hover{border-color:var(--pbx-primary, #f26522)}.ctl-btn.is-on{background:var(--pbx-primary, #f26522);border-color:var(--pbx-primary, #f26522);color:#fff}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}.status-dot-on{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.status-dot-off{background:#cbd5e1}.status-dot-warn{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e}.status-dot-err{background:#ef4444;box-shadow:0 0 0 3px #ef44442e}.ivr-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:340px}.ivr-key{position:relative;border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:14px 6px 10px;cursor:pointer;text-align:center}.ivr-key:hover,.ivr-key.is-set{border-color:var(--pbx-primary, #f26522);background:#fff7f2}.ivr-key .k{font-size:21px;font-weight:600;line-height:1}.ivr-key .lbl{display:block;font-size:10px;color:#64748b;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ivr-key .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--pbx-primary, #f26522)}.wallboard-tile{border-radius:12px;padding:14px;background:#fff;border:1px solid #e5e7eb}.wallboard-tile.is-alarm{border-color:#ef4444;background:#fef2f2;animation:wallboard-pulse 2s ease-in-out infinite}@keyframes wallboard-pulse{0%,to{box-shadow:0 0 #ef444440}50%{box-shadow:0 0 0 6px #ef444400}}.agent-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px 3px 6px;font-size:12px;border:1px solid #e5e7eb;background:#fff}.agent-chip .bulb{width:7px;height:7px;border-radius:50%}.perm-matrix .form-switch{padding-left:2.5em}.perm-matrix .form-switch .form-check-input{width:2.25rem;height:1.15rem;margin-left:-2.5em;cursor:pointer}.perm-matrix .form-check-input:checked{background-color:#22c55e;border-color:#22c55e}.perm-matrix tbody tr:not(.category-row):hover{background:#f7f9fc}.perm-matrix .category-row td{background:#f3f5f8!important;border-top:1px solid #e3e7ed}.perm-matrix .cat-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.perm-matrix tr.is-hidden{display:none}@keyframes cell-cascade{0%{background:#fff7da}to{background:transparent}}.perm-cell.cascade-flash{animation:cell-cascade .8s ease-out}.pbx-actions-sticky{position:sticky;right:0;z-index:2;background:var(--bs-card-bg, var(--bs-body-bg))}.table-hover>tbody>tr:hover>td.pbx-actions-sticky{background:var(--bs-table-hover-bg, var(--bs-tertiary-bg))}.sticky-save{position:sticky;bottom:0;z-index:10;background:#fffffff7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid #e9ecef;padding:.75rem 1rem;margin:1rem -.5rem 0;border-radius:.5rem;display:flex;gap:.5rem;align-items:center}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#eef2f7);background-size:cover;background-position:center;padding:24px}.login-card{width:100%;max-width:420px;border:0;border-radius:16px;box-shadow:0 20px 50px #0f172a1f}.table td code,.table th code{font-size:12.5px}.min-w-0{min-width:0}.cursor-pointer{cursor:pointer}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[data-bs-theme=dark] .dp-key,[data-bs-theme=dark] .ivr-key,[data-bs-theme=dark] .ctl-btn,[data-bs-theme=dark] .wallboard-tile,[data-bs-theme=dark] .agent-chip{background:#1f2937;border-color:#374151;color:#e5e7eb}[data-bs-theme=dark] .sticky-save{background:#1f2937f7;border-color:#374151}[data-bs-theme=dark] .login-wrapper{background:linear-gradient(135deg,#111827,#1f2937)}.avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:var(--bs-primary, #f26522);color:#fff;font-weight:600;line-height:1;text-transform:uppercase;overflow:hidden}.avatar-rounded .avatar-initials{border-radius:50%}.avatar-radius-0 .avatar-initials{border-radius:0}.brand-text{color:var(--bs-emphasis-color, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.brand-text-sm{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--bs-primary, #f26522);color:#fff;font-size:16px}.logo-normal{display:inline-block}.mini-sidebar .logo-normal{display:none}.mini-sidebar .logo-small{display:inline-block}[data-bs-theme=dark] .brand-text{color:#e5e7eb}.profile-dropdown{position:relative}.profile-dropdown>.dropdown-menu{position:absolute;top:100%;right:0;left:auto;margin-top:4px;min-width:260px}.profile-dropdown .dropdown-toggle:after{display:none}.profile-dropdown .dropdown-toggle{line-height:1;padding:0}.sidebar{flex-direction:column;overflow:hidden}.sidebar .sidebar-logo{position:static;width:auto;height:auto;min-height:56px;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--bs-border-color, #e5e7eb)}.sidebar .sidebar-logo{display:flex!important;border-bottom:0;padding:14px 16px 10px}.sidebar .sidebar-logo .logo{display:flex;align-items:center;min-width:0}.sidebar .sidebar-logo img{max-height:36px;max-width:100%;object-fit:contain}.sidebar .sidebar-inner{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.sidebar .sidebar-menu{margin-top:0}.sidebar .sidebar-inner{scrollbar-width:thin}.sidebar .sidebar-inner::-webkit-scrollbar{width:6px}.sidebar .sidebar-inner::-webkit-scrollbar-thumb{background:#0000002e;border-radius:3px}[data-bs-theme=dark] .sidebar .sidebar-logo{border-bottom-color:#374151}[data-bs-theme=dark] .sidebar .sidebar-inner::-webkit-scrollbar-thumb{background:#ffffff38}.file-drop{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px dashed var(--bs-border-color, #d1d5db);border-radius:8px;background:var(--bs-tertiary-bg, #f9fafb);cursor:pointer;transition:border-color .15s ease,background .15s ease}.file-drop:hover,.file-drop:focus-visible{border-color:var(--pbx-primary, #f26522);outline:none}.file-drop.is-over{border-color:var(--pbx-primary, #f26522);border-style:solid;background:#f265220f}.file-drop.is-disabled{cursor:not-allowed;opacity:.6}.file-drop.is-compact{padding:10px 12px}.file-drop-icon{font-size:26px;color:var(--pbx-primary, #f26522);flex-shrink:0}.file-drop-thumb{max-width:72px;max-height:44px;object-fit:contain;flex-shrink:0}.file-drop-text{min-width:0;line-height:1.3}[data-bs-theme=dark] .file-drop{background:#1f2937;border-color:#374151}[data-bs-theme=dark] .file-drop.is-over{background:#f265221f}.sidebar .sidebar-menu ul li a.active,.sidebar .sidebar-menu ul li a.active:hover{background:#f265221f;color:#f26522;border-radius:6px;font-weight:600}.sidebar .sidebar-menu ul li a.active i,.sidebar .sidebar-menu ul li a.active span{color:inherit}.sidebar .sidebar-menu ul li a.subdrop{color:#f26522;font-weight:600}[data-bs-theme=dark] .sidebar .sidebar-menu ul li a.active,[data-bs-theme=dark] .sidebar .sidebar-menu ul li a.active:hover{background:#f2652233}.header .dropdown-menu.notification-dropdown{top:100%;margin-top:4px!important}.notification-dropdown{min-width:340px!important;max-width:min(92vw,400px)}.notification-dropdown .noti-content{height:auto;max-height:320px}
