.app-sidebar{background:linear-gradient(180deg,#0b1218,#071014 48%,#060d12);border-right:1px solid #1f2d36;box-shadow:4px 0 28px #00000038;display:flex;flex-direction:column;gap:0;min-height:100vh;padding:1.25rem .95rem 1.15rem;position:sticky;top:0}.sidebar-brand{align-items:center;border-bottom:1px solid rgba(31,45,54,.85);display:flex;gap:.85rem;margin-bottom:1.15rem;padding:0 .35rem 1.15rem}.sidebar-logo{align-items:center;background:linear-gradient(145deg,#5eead4,#2dd4bf 55%,#14b8a6);border:1px solid rgba(94,234,212,.45);border-radius:12px;box-shadow:0 6px 20px #2dd4bf38;color:#042f2e;display:grid;flex-shrink:0;height:44px;place-items:center;width:44px}.sidebar-brand-text{display:flex;flex-direction:column;gap:.3rem;min-width:0}.sidebar-brand-title{color:#e5f0f7;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.sidebar-brand-subtitle{color:#8fa3b5;font-size:.78rem;line-height:1.3}.sidebar-brand-badge{background:#2dd4bf1a;border:1px solid rgba(45,212,191,.28);border-radius:999px;color:#5eead4;display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:.18rem .5rem;text-transform:uppercase;width:fit-content}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:.35rem;overflow-y:auto;padding:.15rem .1rem;scrollbar-color:#1f2d36 transparent;scrollbar-width:thin}.sidebar-section{display:flex;flex-direction:column;gap:.28rem;margin-bottom:.65rem}.sidebar-section-title{color:#6b7f92;font-size:.68rem;font-weight:800;letter-spacing:.1em;margin:.35rem 0 .45rem;padding:0 .65rem;text-transform:uppercase}.sidebar-nav-item{align-items:center;border:1px solid transparent;border-radius:10px;color:#8fa3b5;display:flex;font-size:.9rem;font-weight:600;gap:.7rem;line-height:1.25;padding:.62rem .75rem;position:relative;text-decoration:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.sidebar-nav-item svg{flex-shrink:0;opacity:.88;transition:color .15s ease}.sidebar-nav-item:hover{background:#94a3b814;border-color:#2dd4bf2e;box-shadow:0 0 0 1px #2dd4bf0f;color:#d4e4f4}.sidebar-nav-item:hover svg{color:#67e8d9}.sidebar-nav-item.active{background:#2dd4bf1f;border-color:#2dd4bf47;box-shadow:inset 0 0 0 1px #2dd4bf14;color:#f0f9ff}.sidebar-nav-item.active:before{background:linear-gradient(180deg,#5eead4,#2dd4bf);border-radius:0 4px 4px 0;bottom:.45rem;box-shadow:0 0 12px #2dd4bf73;content:"";left:-.95rem;position:absolute;top:.45rem;width:3px}.sidebar-nav-item.active svg{color:#2dd4bf;opacity:1}.sidebar-user-card{background:#080e14bf;border:1px solid #1f2d36;border-radius:12px;display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding:.85rem .9rem}.sidebar-user-header{display:flex;flex-direction:column;gap:.35rem}.sidebar-user-label{color:#6b7f92;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sidebar-user-email{color:#e5f0f7;font-size:.86rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.sidebar-user-role{background:#67b7ff1f;border:1px solid rgba(103,183,255,.28);border-radius:999px;color:#93c5fd;display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.04em;padding:.2rem .55rem;text-transform:uppercase;width:fit-content}.sidebar-logout-btn{align-items:center;background:#0f141ad9;border:1px solid #2a3844;border-radius:10px;color:#c5d4e6;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.86rem;font-weight:700;gap:.45rem;justify-content:center;padding:.55rem .75rem;transition:background .15s ease,border-color .15s ease,color .15s ease;width:100%}.sidebar-logout-btn:hover{background:#f871711a;border-color:#f8717159;color:#fecaca}@media(max-width:820px){.app-sidebar{border-bottom:1px solid #1f2d36;border-right:0;min-height:auto;position:static}.sidebar-nav{max-height:none}.sidebar-nav-item.active:before{display:none}}.pbx-page{--pbx-accent: #5eead4;--pbx-accent-soft: rgba(94, 234, 212, .12);--pbx-accent-border: rgba(94, 234, 212, .35);--pbx-blue: #67b7ff;--pbx-blue-soft: rgba(103, 183, 255, .12);--pbx-purple: #a78bfa;--pbx-purple-soft: rgba(167, 139, 250, .12);--pbx-amber: #fbbf24;--pbx-amber-soft: rgba(251, 191, 36, .12);--pbx-cyan: #22d3ee;--pbx-cyan-soft: rgba(34, 211, 238, .12);--pbx-success: #34d399;--pbx-danger: #f87171;--pbx-muted-text: #8fa3b8;display:flex;flex-direction:column;gap:1.75rem;margin:0 auto;max-width:1440px;padding-bottom:2.5rem;width:100%}.pbx-advanced-page{box-sizing:border-box}.pbx-page--ivr{--pbx-page-accent: var(--pbx-purple);--pbx-page-accent-soft: var(--pbx-purple-soft)}.pbx-page--time{--pbx-page-accent: var(--pbx-blue);--pbx-page-accent-soft: var(--pbx-blue-soft)}.pbx-page--voicemail{--pbx-page-accent: var(--pbx-amber);--pbx-page-accent-soft: var(--pbx-amber-soft)}.pbx-page--ring{--pbx-page-accent: var(--pbx-cyan);--pbx-page-accent-soft: var(--pbx-cyan-soft)}.pbx-page--queue{--pbx-page-accent: var(--pbx-purple);--pbx-page-accent-soft: var(--pbx-purple-soft)}.pbx-page--queue .pbx-queue-name-cell{min-width:14rem}.pbx-page--queue .pbx-queue-name{font-weight:600}.pbx-page--queue .pbx-queue-flow-summary{color:var(--pbx-muted-text);font-size:.82rem;line-height:1.45;margin-top:.35rem}.pbx-page--queue .pbx-queue-timing-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.pbx-page--inbound{--pbx-page-accent: var(--pbx-accent);--pbx-page-accent-soft: var(--pbx-accent-soft)}.pbx-page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between}.pbx-category-label{background:var(--pbx-page-accent-soft, var(--pbx-accent-soft));border:1px solid var(--pbx-page-accent, var(--pbx-accent));border-radius:999px;color:var(--pbx-page-accent, var(--pbx-accent));display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-bottom:.65rem;padding:.28rem .75rem;text-transform:uppercase}.pbx-page-header h1{background:linear-gradient(135deg,#f0f6ff 0%,var(--pbx-page-accent, var(--pbx-accent)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2.25rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:.45rem}.pbx-page-subtitle{color:var(--pbx-muted-text);font-size:1rem;line-height:1.55;margin:0;max-width:52rem}.pbx-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem;padding-top:.35rem}.pbx-page .primary-button{background:linear-gradient(135deg,#2dd4bf,#14b8a6);border-color:#2dd4bf80;box-shadow:0 4px 18px #2dd4bf38;color:#042f2e;font-weight:800}.pbx-page .primary-button:hover:not(:disabled){box-shadow:0 6px 24px #2dd4bf52;filter:brightness(1.05)}.pbx-page .secondary-button{background:#0f141ad9;border-color:#334155;color:#cbd5e1}.pbx-page .secondary-button:hover:not(:disabled){border-color:var(--pbx-page-accent, var(--pbx-accent));color:#e2e8f0}.pbx-card{background:linear-gradient(180deg,#161d26fa,#10151cf5);border:1px solid #243040;border-radius:16px;box-shadow:0 10px 40px #00000038;overflow:hidden;position:relative}.pbx-card:before{background:linear-gradient(90deg,transparent,var(--pbx-page-accent, var(--pbx-accent)),transparent);content:"";height:2px;left:0;opacity:.85;position:absolute;right:0;top:0}.pbx-card-list:before{height:3px;opacity:1}.pbx-card-form:before{background:linear-gradient(90deg,var(--pbx-page-accent, var(--pbx-accent)),var(--pbx-blue));height:3px}.pbx-card-body{padding:1.35rem 1.75rem 1.75rem}.pbx-card-header{align-items:center;background:#0c10168c;border-bottom:1px solid #243040;display:flex;flex-wrap:wrap;gap:.85rem;justify-content:space-between;padding:1.1rem 1.75rem}.pbx-card-header h2,.pbx-card-header h3{align-items:center;color:#eef4ff;display:flex;font-size:1.05rem;font-weight:700;gap:.55rem;margin:0}.pbx-card-title{align-items:center;color:#eef4ff;display:flex;font-size:1.05rem;font-weight:700;gap:.55rem}.pbx-card-title svg{color:var(--pbx-page-accent, var(--pbx-accent))}.pbx-card-meta{background:var(--pbx-page-accent-soft, var(--pbx-accent-soft));border:1px solid var(--pbx-page-accent, var(--pbx-accent));border-radius:999px;color:var(--pbx-page-accent, var(--pbx-accent));font-size:.8rem;font-weight:800;padding:.32rem .85rem}.pbx-form-panel{margin-top:.35rem}.pbx-form-panel .pbx-card-body{display:flex;flex-direction:column;gap:1.35rem}.pbx-form-section{background:#0a0e13a6;border:1px solid #243040;border-radius:14px;display:flex;flex-direction:column;gap:1.1rem;padding:1.25rem 1.4rem}.pbx-form-hint{color:#9aa8b8;font-size:.9rem;line-height:1.45;margin:0}.pbx-preset-row{display:flex;flex-wrap:wrap;gap:.55rem}.pbx-preset-button{font-size:.85rem;padding:.4rem .75rem}.pbx-section-teal{border-left:3px solid var(--pbx-accent)}.pbx-section-teal .pbx-form-section-title{color:var(--pbx-accent)}.pbx-section-blue{border-left:3px solid var(--pbx-blue)}.pbx-section-blue .pbx-form-section-title{color:var(--pbx-blue)}.pbx-section-purple{border-left:3px solid var(--pbx-purple)}.pbx-section-purple .pbx-form-section-title{color:var(--pbx-purple)}.pbx-section-amber{border-left:3px solid var(--pbx-amber)}.pbx-section-amber .pbx-form-section-title{color:var(--pbx-amber)}.pbx-form-section-title{color:#c5d4e6;font-size:.82rem;font-weight:800;letter-spacing:.06em;margin:0;text-transform:uppercase}.pbx-form-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem;justify-content:space-between}.pbx-form-grid{display:grid;gap:1.1rem 1.35rem;grid-template-columns:1fr}.pbx-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.pbx-field label,.pbx-form-grid label{color:#b6c5d8;display:grid;font-size:.88rem;font-weight:600;gap:.45rem}.pbx-field-hint{color:#64748b;display:block;font-size:.76rem;font-weight:500;line-height:1.45;margin:.35rem 0 0}.pbx-field-full{grid-column:1 / -1}.pbx-label-with-icon{align-items:center;display:inline-flex;gap:.35rem}.pbx-checkbox-row{align-items:center;color:#c5d4e6;display:flex;flex-direction:row;font-size:.92rem;font-weight:600;gap:.55rem}.pbx-checkbox-row input[type=checkbox]{accent-color:var(--pbx-accent);width:18px}.pbx-option-card,.pbx-rule-card{align-items:end;background:#121820eb;border:1px solid #2d3b4a;border-radius:12px;display:grid;gap:1rem 1.15rem;grid-template-columns:88px minmax(140px,1fr) minmax(180px,1.2fr) minmax(200px,2fr) auto;padding:1.1rem 1.2rem;transition:border-color .15s ease,box-shadow .15s ease}.pbx-option-card:hover,.pbx-rule-card:hover{border-color:#a78bfa59;box-shadow:0 0 0 1px #a78bfa14}.pbx-rule-card{grid-template-columns:88px minmax(240px,2.5fr) 120px 120px auto}.pbx-option-index{align-self:center;background:var(--pbx-purple-soft);border:1px solid rgba(167,139,250,.45);border-radius:999px;color:var(--pbx-purple);font-size:.76rem;font-weight:800;letter-spacing:.04em;padding:.35rem .75rem;text-align:center;text-transform:uppercase;white-space:nowrap}.pbx-rule-card .pbx-option-index{background:var(--pbx-blue-soft);border-color:#67b7ff73;color:var(--pbx-blue)}.pbx-option-card .pbx-field-compact label,.pbx-rule-card .pbx-field-compact label{font-size:.78rem;gap:.35rem}.pbx-exception-card{background:#121820eb;border:1px solid #2d3b4a;border-radius:14px;display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem;padding:1.25rem 1.35rem;width:100%}.pbx-exception-card:hover{border-color:#fbbf2459;box-shadow:0 0 0 1px #fbbf2414}.pbx-exception-card-header{align-items:center;display:grid;gap:1rem;grid-template-columns:auto minmax(220px,1fr) auto auto}.pbx-exception-card-header .pbx-option-index{background:#fbbf241f;border-color:#fbbf2473;color:#fbbf24}.pbx-exception-name-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.pbx-exception-name-field span,.pbx-exception-grid label>span,.pbx-exception-advanced-grid label>span{color:#9fb0c3;font-size:.82rem;font-weight:600}.pbx-exception-name-field input,.pbx-exception-grid input,.pbx-exception-advanced-grid input,.pbx-exception-destination-grid select{min-height:42px;width:100%}.pbx-exception-section{display:flex;flex-direction:column;gap:.85rem}.pbx-exception-section-title{color:#e8eef5;font-size:.95rem;font-weight:700;margin:0;white-space:nowrap}.pbx-exception-grid{align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.pbx-exception-grid label{display:flex;flex-direction:column;gap:.4rem;min-width:0}.pbx-exception-grid .pbx-checkbox-row{align-self:center;min-height:42px}.pbx-exception-destination-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-exception-destination-grid label{display:flex;flex-direction:column;gap:.4rem;min-width:0}.pbx-exception-advanced-grid{display:grid;gap:1rem;grid-template-columns:160px minmax(0,1fr)}.pbx-exception-advanced-grid label{display:flex;flex-direction:column;gap:.4rem;min-width:0}.pbx-exception-help{color:#8fa0b3;font-size:.8rem;line-height:1.45;margin:0}.pbx-rule-field-wide{display:flex;flex-direction:column;gap:0}.pbx-option-card-actions{align-self:center;display:flex;justify-content:flex-end}.pbx-destinations-grid{display:grid;gap:1.15rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-destination-block{background:#0c121ad9;border:1px solid #253240;border-radius:12px;display:flex;flex-direction:column;gap:.9rem;padding:1.1rem 1.15rem}.pbx-destination-block--open{border-top:3px solid var(--pbx-success)}.pbx-destination-block--closed{border-top:3px solid var(--pbx-danger)}.pbx-destination-block-title{font-size:.82rem;font-weight:800;letter-spacing:.04em;margin:0;text-transform:uppercase}.pbx-destination-block--open .pbx-destination-block-title{color:var(--pbx-success)}.pbx-destination-block--closed .pbx-destination-block-title{color:#fca5a5}.pbx-members-grid{display:grid;gap:.65rem 1.1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.pbx-member-item{align-items:center;background:#0c121abf;border:1px solid #253240;border-radius:10px;color:#c5d4e6;cursor:pointer;display:flex;font-size:.88rem;gap:.55rem;padding:.6rem .75rem;transition:border-color .15s ease,background .15s ease}.pbx-member-item:hover{border-color:#22d3ee73}.pbx-member-item.is-selected{background:var(--pbx-cyan-soft);border-color:#22d3ee8c;color:#e0f2fe}.pbx-member-badges,.pbx-option-chips{display:flex;flex-wrap:wrap;gap:.45rem}.pbx-badge{background:#8bd3c71f;border:1px solid rgba(139,211,199,.28);border-radius:999px;color:#8bd3c7;display:inline-flex;font-size:.76rem;font-weight:700;line-height:1.3;padding:.24rem .65rem;white-space:nowrap}.pbx-badge.success,.pbx-badge-success{background:#34d39924;border-color:#34d39959;color:#6ee7b7}.pbx-badge.muted,.pbx-badge-muted{background:#64748b24;border-color:#64748b59;color:#94a3b8}.pbx-badge.danger{background:#f871711f;border-color:#f8717152;color:#fca5a5}.pbx-badge.ivr{background:var(--pbx-purple-soft);border-color:#a78bfa66;color:var(--pbx-purple)}.pbx-badge.ring{background:var(--pbx-cyan-soft);border-color:#22d3ee66;color:var(--pbx-cyan)}.pbx-badge.voicemail{background:var(--pbx-amber-soft);border-color:#fbbf2466;color:var(--pbx-amber)}.pbx-badge.queue{background:var(--pbx-purple-soft);border-color:#a78bfa66;color:var(--pbx-purple)}.pbx-badge.time{background:var(--pbx-blue-soft);border-color:#67b7ff66;color:var(--pbx-blue)}.pbx-badge.ext{background:#5eead41a;border-color:#5eead459;color:var(--pbx-accent);font-family:ui-monospace,monospace}.pbx-option-chip{font-size:.74rem}.pbx-table-wrap{overflow-x:auto}.pbx-page .data-table{border-collapse:separate;border-spacing:0;width:100%}.pbx-page .data-table th{border-bottom:1px solid #243040;color:#94a3b8;font-size:.78rem;font-weight:800;letter-spacing:.05em;padding:1rem 1.15rem;text-transform:uppercase}.pbx-page .data-table td{border-bottom:1px solid rgba(36,48,64,.65);padding:1.05rem 1.15rem;vertical-align:middle}.pbx-page .data-table tbody tr{transition:background .12s ease}.pbx-page .data-table tbody tr:hover{background:#67b7ff0d}.pbx-page .data-table tbody tr:last-child td{border-bottom:none}.pbx-table-actions{display:flex;gap:.4rem}.pbx-page .pbx-table-actions .icon-button{transition:color .15s ease,border-color .15s ease,background .15s ease}.pbx-page .pbx-table-actions .icon-button:hover:not(:disabled){border-color:#22d3ee73;color:var(--pbx-cyan)}.pbx-page .pbx-table-actions .icon-button.danger:hover:not(:disabled){background:#f871711f;border-color:#f8717173;color:#fca5a5}.pbx-actions-row{align-items:center;border-top:1px solid #243040;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:.35rem;padding-top:1.25rem}.pbx-alert{border-radius:12px;font-size:.92rem;font-weight:600;line-height:1.45;padding:.9rem 1.1rem}.pbx-alert-error{background:#f871711a;border:1px solid rgba(248,113,113,.28);color:#fecaca}.pbx-alert-success{background:#34d3991a;border:1px solid rgba(52,211,153,.28);color:#a7f3d0}.pbx-empty-state{color:var(--pbx-muted-text);padding:3rem 1.75rem;text-align:center}.pbx-empty-state strong{color:#cbd5e1;display:block;font-size:1.05rem;margin-bottom:.35rem}.pbx-empty-state p{margin:.35rem 0 0}.pbx-muted{color:#64748b;font-size:.88rem}.pbx-close-button{align-items:center;background:#0f141acc;border:1px solid #334155;border-radius:10px;color:#b6c5d8;display:inline-flex;font-size:.86rem;font-weight:700;gap:.4rem;padding:.45rem .85rem;transition:border-color .15s ease,color .15s ease}.pbx-close-button:hover:not(:disabled){border-color:var(--pbx-danger);color:#fecaca}.pbx-voicemail-summary{display:flex;flex-wrap:wrap;gap:.5rem}.pbx-page--voicemail .pbx-voicemail-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.pbx-page--voicemail .pbx-voicemail-tabs button{background:#0f1720d9;border:1px solid #243040;border-radius:999px;color:#94a3b8;cursor:pointer;font-weight:700;padding:.55rem 1rem}.pbx-page--voicemail .pbx-voicemail-tabs button.is-active{background:var(--pbx-page-accent-soft, var(--pbx-amber-soft));border-color:var(--pbx-page-accent, var(--pbx-amber));color:#f8fafc}.pbx-voicemail-access-card .pbx-card-body{display:flex;flex-direction:column;gap:.75rem}.pbx-voicemail-access-codes{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.pbx-voicemail-access-codes>div{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.pbx-voicemail-messages-filters{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 0 1rem}.pbx-voicemail-messages-filters label{display:flex;flex-direction:column;gap:.35rem}.pbx-voicemail-caller-cell{display:flex;flex-direction:column;gap:.15rem}.pbx-voicemail-message-audio{max-width:220px;width:100%}.pbx-voicemail-message-play{align-items:center;display:inline-flex;gap:.35rem}.pbx-voicemail-messages-cards{display:none;gap:.85rem}.pbx-voicemail-message-card{background:#0f1720b8;border:1px solid #243040;border-radius:14px;display:flex;flex-direction:column;gap:.75rem;padding:.95rem}.pbx-voicemail-message-card-head,.pbx-voicemail-message-card-meta,.pbx-voicemail-message-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pbx-voicemail-message-card-head{align-items:center;justify-content:space-between}.pbx-voicemail-message-card-meta{color:#94a3b8;font-size:.84rem}.pbx-voicemail-message-card-actions{justify-content:flex-end}@media(max-width:900px){.pbx-voicemail-messages-table-wrap{display:none}.pbx-voicemail-messages-cards{display:grid}}.pbx-cell-detail{color:#64748b;font-size:.8rem;margin:.35rem 0 0}.pbx-page--dashboard{--pbx-page-accent: var(--pbx-accent);--pbx-page-accent-soft: var(--pbx-accent-soft)}.pbx-page--live{--pbx-page-accent: var(--pbx-cyan);--pbx-page-accent-soft: var(--pbx-cyan-soft)}.pbx-page--contacts{--pbx-page-accent: var(--pbx-purple);--pbx-page-accent-soft: var(--pbx-purple-soft)}.pbx-page--settings{--pbx-page-accent: var(--pbx-amber);--pbx-page-accent-soft: var(--pbx-amber-soft)}.pbx-page--logs{--pbx-page-accent: #c084fc;--pbx-page-accent-soft: rgba(192, 132, 252, .12)}.pbx-page--extensions{--pbx-page-accent: var(--pbx-success);--pbx-page-accent-soft: rgba(52, 211, 153, .12)}.pbx-page--trunks{--pbx-page-accent: var(--pbx-cyan);--pbx-page-accent-soft: var(--pbx-cyan-soft)}.pbx-page--trunks .pbx-card-routes:before{background:linear-gradient(90deg,var(--pbx-blue),var(--pbx-cyan))}.pbx-badge.trunk-online{background:#34d39924;border-color:#34d39959;color:#6ee7b7}.pbx-badge.trunk-offline{background:#fb71851f;border-color:#fb718559;color:#fda4af}.pbx-badge.trunk-unknown{background:var(--pbx-blue-soft);border-color:#67b7ff59;color:var(--pbx-blue)}.pbx-badge.trunk-present{background:#7dd3a01f;border-color:#7dd3a059;color:#86efac}.pbx-badge.trunk-rejected{background:var(--pbx-amber-soft);border-color:#fbbf2466;color:var(--pbx-amber)}.pbx-badge.pjsip-trunk{background:var(--pbx-cyan-soft);border-color:#22d3ee66;color:var(--pbx-cyan)}.pbx-page--trunks .pbx-table-actions .icon-button.icon-edit:hover:not(:disabled){border-color:#22d3ee73;color:var(--pbx-cyan)}.pbx-page--trunks .pbx-table-actions .icon-button.icon-reload:hover:not(:disabled){border-color:#5eead473;color:var(--pbx-accent)}.pbx-page--trunks .pbx-table-actions .icon-button.icon-toggle:hover:not(:disabled){background:#fbbf241a;border-color:#fbbf2466;color:var(--pbx-amber)}.pbx-page--trunks .pbx-table-actions .icon-button.danger:hover:not(:disabled){background:#f871711f;border-color:#f8717173;color:#fca5a5}.pbx-page-kicker,.pbx-category-label{text-transform:uppercase}.pbx-alert-warning{background:#fbbf241a;border:1px solid rgba(251,191,36,.28);color:#fde68a}.pbx-delete-blockers-list{margin:.65rem 0;padding:.75rem .85rem;border-radius:.55rem;background:#0f172a59;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5}.pbx-kpi-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.pbx-kpi-card{background:linear-gradient(160deg,#141b24fa,#0e131af2);border:1px solid #243040;border-radius:14px;display:flex;gap:.95rem;padding:1.1rem 1.15rem;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.pbx-kpi-card:hover{border-color:#5eead459;box-shadow:0 8px 28px #0003;transform:translateY(-1px)}.pbx-kpi-card--ok{border-top:3px solid var(--pbx-success)}.pbx-kpi-card--wait{border-top:3px solid var(--pbx-amber)}.pbx-kpi-card--live{border-top:3px solid var(--pbx-cyan)}.pbx-kpi-card__icon{align-items:center;background:var(--pbx-page-accent-soft, var(--pbx-accent-soft));border:1px solid var(--pbx-page-accent, var(--pbx-accent));border-radius:12px;color:var(--pbx-page-accent, var(--pbx-accent));display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.pbx-kpi-card__body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.pbx-kpi-card__label{color:#94a3b8;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pbx-kpi-card__value{color:#f1f5f9;font-size:1.45rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.pbx-kpi-card--ok .pbx-kpi-card__value{color:#6ee7b7}.pbx-kpi-card--wait .pbx-kpi-card__value{color:#fcd34d}.pbx-kpi-card__detail{color:#64748b;font-size:.78rem;line-height:1.35}.pbx-toolbar-card .pbx-card-body{padding-top:.35rem}.pbx-filters-form{display:grid;gap:1rem 1.15rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.pbx-filters-form label{color:#b6c5d8;display:grid;font-size:.88rem;font-weight:600;gap:.45rem}.pbx-filters-actions{align-items:end;display:flex;flex-wrap:wrap;gap:.65rem}.pbx-stat-strip{background:#0c121abf;border:1px solid #243040;border-radius:14px;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));padding:1rem 1.15rem}.pbx-stat-item{display:flex;flex-direction:column;gap:.2rem}.pbx-stat-label{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pbx-stat-value{color:var(--pbx-page-accent, var(--pbx-accent));font-size:1.25rem;font-weight:800}.pbx-duration-pill{background:#64748b24;border:1px solid rgba(100,116,139,.28);border-radius:999px;color:#cbd5e1;display:inline-block;font-family:ui-monospace,monospace;font-size:.76rem;font-weight:700;padding:.22rem .62rem}.pbx-badge.direction-inbound{background:var(--pbx-accent-soft);border-color:#5eead466;color:var(--pbx-accent)}.pbx-badge.direction-outbound{background:var(--pbx-blue-soft);border-color:#67b7ff66;color:var(--pbx-blue)}.pbx-badge.direction-internal{background:var(--pbx-purple-soft);border-color:#a78bfa66;color:var(--pbx-purple)}.pbx-badge.status-answered{background:#34d39924;border-color:#34d39959;color:#6ee7b7}.pbx-badge.status-ivr_handled{background:#38bdf824;border-color:#38bdf859;color:#7dd3fc}.pbx-badge.status-blocked{background:#94a3b829;border-color:#94a3b866;color:#cbd5e1}.pbx-badge.status-missed{background:#fb71851f;border-color:#fb718559;color:#fda4af}.pbx-badge.status-busy{background:var(--pbx-amber-soft);border-color:#fbbf2466;color:var(--pbx-amber)}.pbx-badge.status-failed{background:#f871711f;border-color:#f8717159;color:#fca5a5}.pbx-badge.live-ringing,.pbx-badge.live-ringing-ext{background:var(--pbx-cyan-soft);border-color:#22d3ee73;color:var(--pbx-cyan)}.pbx-badge.live-active,.pbx-badge.live-online{background:#34d39924;border-color:#34d39959;color:#6ee7b7}.pbx-badge.live-held{background:var(--pbx-amber-soft);border-color:#fbbf2466;color:var(--pbx-amber)}.pbx-badge.live-busy{background:#fb923c1f;border-color:#fb923c59;color:#fdba74}.pbx-badge.live-offline,.pbx-badge.live-unknown,.pbx-badge.live-ended{background:#64748b24;border-color:#64748b59;color:#94a3b8}.pbx-badge.favorite{background:var(--pbx-amber-soft);border-color:#fbbf2473;color:var(--pbx-amber)}.pbx-badge.external{background:var(--pbx-blue-soft);border-color:#67b7ff66;color:var(--pbx-blue)}.pbx-badge.configured{background:#34d39924;border-color:#34d39959;color:#6ee7b7}.pbx-badge.missing{background:#f871711a;border-color:#f8717147;color:#fca5a5}.pbx-badge.auto-reload{background:var(--pbx-cyan-soft);border-color:#22d3ee66;color:var(--pbx-cyan)}.pbx-badge.manual-reload{background:var(--pbx-amber-soft);border-color:#fbbf2466;color:var(--pbx-amber)}.pbx-details-grid{display:grid;gap:.85rem 1.15rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.pbx-details-grid>div{background:#0a0e138c;border:1px solid #253240;border-radius:10px;display:flex;flex-direction:column;gap:.35rem;padding:.85rem .95rem}.pbx-details-grid span{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pbx-details-grid strong{color:#e2e8f0;font-size:.92rem;word-break:break-word}.pbx-code-pill{background:#0f172ad9;border:1px solid #334155;border-radius:8px;color:#7dd3fc;display:block;font-family:ui-monospace,monospace;font-size:.78rem;overflow-x:auto;padding:.45rem .65rem;white-space:nowrap}.pbx-sip-notice{background:#fbbf2414;border:1px solid rgba(251,191,36,.35);border-radius:14px;display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.4rem}.pbx-sip-notice h2{color:#fde68a;font-size:1rem;margin:0}.pbx-table-actions,.pbx-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.pbx-page .pbx-row-actions .icon-button:hover:not(:disabled),.pbx-page .pbx-table-actions .icon-button:hover:not(:disabled){border-color:#22d3ee73;color:var(--pbx-cyan)}.pbx-live-pulse{align-items:center;display:inline-flex;gap:.45rem}.pbx-live-pulse:before{animation:pbx-pulse 1.6s ease-in-out infinite;background:var(--pbx-cyan);border-radius:50%;content:"";height:8px;width:8px}@keyframes pbx-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.pbx-pagination-bar{align-items:center;border-top:1px solid #243040;display:flex;flex-wrap:wrap;gap:.85rem;justify-content:space-between;margin-top:.35rem;padding-top:1rem}.pbx-settings-debug{background:#0a0e138c;border:1px dashed #334155;border-radius:14px;padding:1rem 1.25rem}.pbx-settings-debug summary{color:#94a3b8;cursor:pointer;font-weight:700}.pbx-card-intro{margin:0 0 1rem}.pbx-subtle-line{color:#64748b;display:block;font-size:.78rem;margin-top:.2rem}.pbx-inline-icon-text{align-items:center;display:inline-flex;gap:.35rem}@media(max-width:1100px){.pbx-rule-card{grid-template-columns:1fr 1fr auto}.pbx-rule-card .pbx-option-index{grid-column:1 / -1;justify-self:start}.pbx-rule-card .pbx-rule-field-wide{grid-column:1 / -1}}@media(max-width:900px){.pbx-page-header h1{font-size:1.85rem}.pbx-form-grid.two,.pbx-form-grid.three,.pbx-destinations-grid,.pbx-option-card,.pbx-rule-card,.pbx-exception-card-header,.pbx-exception-grid,.pbx-exception-destination-grid,.pbx-exception-advanced-grid{grid-template-columns:1fr}.pbx-exception-card-header .pbx-option-card-actions,.pbx-option-card-actions{justify-content:flex-start}.pbx-card-body,.pbx-card-header{padding-left:1.15rem;padding-right:1.15rem}}.pbx-page--phone-devices .pbx-inline-copy{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.pbx-page--phone-devices .phone-device-form-span{grid-column:1 / -1}.pbx-page--phone-devices .phone-device-network-cell{display:flex;flex-direction:column;gap:.2rem;min-width:7.5rem}.pbx-page--phone-devices .phone-device-manual-hint{margin:0 0 .25rem}.pbx-page--phone-devices .phone-device-manual-grid{margin-top:.15rem}.pbx-page--phone-devices .phone-device-section+.phone-device-section{margin-top:0}.pbx-page--phone-devices .phone-device-format-badge{margin:0 0 .35rem}.pbx-page--phone-devices .phone-device-provisioning-actions{margin-top:.75rem;flex-wrap:wrap}.pbx-page--phone-devices .phone-device-provisioning-actions .secondary-button{text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.pbx-page--phone-devices .phone-device-mac-highlight{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:.75rem 0;padding:.75rem 1rem;border-radius:.5rem;border:1px solid color-mix(in srgb,var(--pbx-accent-amber, #f59e0b) 45%,transparent);background:color-mix(in srgb,var(--pbx-accent-amber, #f59e0b) 12%,transparent)}.pbx-page--phone-devices .phone-device-mac-highlight strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem;letter-spacing:.04em}.pbx-page--phone-devices .phone-device-provisioning-preview{margin-top:1rem}.pbx-page--phone-devices .phone-device-provisioning-preview h4{margin:0 0 .5rem;font-size:.95rem}.pbx-page--phone-devices .phone-device-provisioning-preview pre{max-height:320px;overflow:auto;margin:0;padding:.75rem 1rem;border-radius:.5rem;background:var(--pbx-surface-muted, #0f172a);color:var(--pbx-text-inverse, #e2e8f0);font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.pbx-page--security .pbx-security-overview-card{margin-bottom:1rem}.pbx-page--security .pbx-security-overview-body{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:1rem;align-items:center}.pbx-page--security .pbx-security-score-panel{border-radius:14px;padding:1rem 1.1rem;display:grid;gap:.35rem;border:1px solid rgba(255,255,255,.08)}.pbx-page--security .pbx-security-score-label,.pbx-page--security .pbx-security-grade{font-size:.85rem;opacity:.85}.pbx-page--security .pbx-security-score-value{font-size:2rem;line-height:1.1}.pbx-page--security .pbx-security-grade-a{background:linear-gradient(135deg,#22c55e2e,#10b98114)}.pbx-page--security .pbx-security-grade-b{background:linear-gradient(135deg,#3b82f62e,#2563eb14)}.pbx-page--security .pbx-security-grade-c{background:linear-gradient(135deg,#f59e0b2e,#d9770614)}.pbx-page--security .pbx-security-grade-d{background:linear-gradient(135deg,#ef44442e,#dc262614)}.pbx-page--security .pbx-security-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:1rem 0}.pbx-page--security .pbx-security-checklist{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.pbx-page--security .pbx-security-checklist li{display:grid;grid-template-columns:auto 1fr;gap:.35rem .65rem;align-items:start;padding:.7rem .85rem;border-radius:10px;background:#ffffff08}.pbx-page--security .pbx-security-checklist small{grid-column:2}.pbx-page--security .pbx-security-check-ok{border-left:3px solid #22c55e}.pbx-page--security .pbx-security-check-warning{border-left:3px solid #f59e0b}.pbx-page--security .pbx-security-check-error{border-left:3px solid #ef4444}.pbx-page--security .pbx-security-check-unknown{border-left:3px solid #94a3b8}.pbx-page--security .pbx-security-check-info{border-left:3px solid #7c9ec4;background:#607d9e1a}.pbx-page--security .pbx-security-check-info .pbx-security-check-icon{color:#94a8c4}.pbx-page--security .pbx-security-last-updated{font-size:.85rem;white-space:nowrap}.pbx-page--security .pbx-header-actions{align-items:center;gap:.75rem}.pbx-page--security .pbx-security-jail-empty{margin:.35rem 0 0;font-size:.9rem}.pbx-page--security .pbx-security-jail-panel-toggle{margin-top:.5rem}.pbx-page--security .pbx-security-jail-ips-panel{margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.06)}.pbx-page--security .pbx-security-pjsip-list{display:grid;gap:.75rem}.pbx-page--security .pbx-security-pjsip-item{border-radius:10px;padding:.75rem .85rem;background:#ffffff08}.pbx-page--security .pbx-security-pjsip-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.35rem}.pbx-page--security .pbx-security-status-green{border-left:3px solid #22c55e}.pbx-page--security .pbx-security-status-yellow{border-left:3px solid #f59e0b}.pbx-page--security .pbx-security-status-red{border-left:3px solid #ef4444}.pbx-page--security .pbx-security-status-unknown{border-left:3px solid #94a3b8}.pbx-page--security .pbx-security-status-info{border-left:3px solid #7c9ec4;background:#607d9e14}.pbx-page--security .pbx-security-status-info .pbx-badge.ext{color:#b6c5d8;border-color:#7c9ec459}.pbx-page--security .pbx-security-pjsip-source{margin:0 0 .75rem}.pbx-page--security .pbx-security-pjsip-legacy{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.06)}.pbx-page--security .pbx-security-jails{display:grid;gap:1rem;margin-top:1rem}.pbx-page--security .pbx-security-jail-card{margin:0}.pbx-page--security .pbx-security-jail-header{align-items:center;gap:.75rem}.pbx-page--security .pbx-security-jail-metrics{margin-bottom:.75rem}.pbx-page--security .pbx-fail2ban-jail-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:600;white-space:nowrap}.pbx-page--security .pbx-fail2ban-jail-badge-active{background:#22c55e29;color:#4ade80;border:1px solid rgba(34,197,94,.35)}.pbx-page--security .pbx-fail2ban-jail-badge-unavailable{background:#94a3b824;color:#cbd5e1;border:1px solid rgba(148,163,184,.28)}.pbx-page--security .pbx-fail2ban-jail-badge-error{background:#ef444424;color:#f87171;border:1px solid rgba(239,68,68,.35)}.pbx-page--security .pbx-security-jail-ips{margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.pbx-page--security .pbx-security-jail-ips-head{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:space-between;margin-bottom:.65rem}.pbx-page--security .pbx-security-jail-ips-head .pbx-form-section-title{margin:0}.pbx-page--security .pbx-security-jail-ip-filter{min-width:11rem;max-width:100%;flex:1 1 11rem}.pbx-page--security .pbx-security-jail-ip-list{display:grid;gap:.45rem}.pbx-page--security .pbx-security-jail-ip-list--scroll{max-height:16rem;overflow-y:auto;padding-right:.25rem}.pbx-page--security .pbx-security-jail-ip-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .55rem;border-radius:8px;background:#ffffff08}.pbx-page--security .pbx-security-jail-unban{flex-shrink:0}.pbx-page--security .pbx-security-jail-expand{margin-top:.55rem}.pbx-page--security .pbx-security-manual-ban{margin:1rem 0;padding:.85rem;border-radius:10px;background:#ffffff08}.pbx-page--security .pbx-security-manual-ban-grid{display:grid;gap:.75rem;grid-template-columns:minmax(140px,180px) minmax(180px,1fr) auto;align-items:end}.pbx-page--security .pbx-security-manual-ban-grid label{display:grid;gap:.35rem}.pbx-page--security .pbx-security-actions-section{margin-top:1rem}.pbx-page--security .pbx-security-actions-table td,.pbx-page--security .pbx-security-actions-table th{white-space:nowrap}.pbx-page--security .pbx-security-jail-error{margin:0 0 .5rem}.pbx-page--security .pbx-security-dashboard{display:grid;gap:1rem;margin-bottom:1rem}.pbx-page--security .pbx-security-dashboard-layout{display:grid;gap:1rem;grid-template-columns:65fr 35fr;align-items:stretch}.pbx-page--security .pbx-security-dashboard-stats{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-content:stretch;height:100%}.pbx-page--security .pbx-security-dashboard-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.85rem 1rem;display:flex;flex-direction:column;justify-content:center;gap:.25rem;min-height:72px}.pbx-page--security .pbx-security-events-24h{min-height:108px}.pbx-page--security .pbx-security-score-hero{border-radius:16px;padding:1.35rem 1.5rem;border:1px solid rgba(255,255,255,.1);display:grid;gap:.85rem;min-height:220px}.pbx-page--security .pbx-security-score-hero-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.pbx-page--security .pbx-security-score-hero-label{font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;opacity:.8}.pbx-page--security .pbx-security-score-hero-value{font-size:3.25rem;line-height:1;font-weight:700}.pbx-page--security .pbx-security-score-hero-max{font-size:1.35rem;opacity:.65;font-weight:500}.pbx-page--security .pbx-security-score-hero-grade{font-size:1rem;font-weight:600}.pbx-page--security .pbx-security-score-hero-summary{margin:0;font-size:1rem;opacity:.9}.pbx-page--security .pbx-security-score-progress{height:10px;border-radius:999px;background:#00000040;overflow:hidden}.pbx-page--security .pbx-security-score-progress-bar{height:100%;border-radius:inherit;transition:width .25s ease}.pbx-page--security .pbx-security-score-toggle{background:none;border:none;color:#93c5fdf2;padding:0;font-size:.92rem;cursor:pointer;text-align:left}.pbx-page--security .pbx-security-score-toggle:hover{color:#bfdbfe}.pbx-page--security .pbx-security-dashboard-card span{color:#ffffffa6;font-size:.82rem}.pbx-page--security .pbx-security-dashboard-card strong{font-size:1.35rem}.pbx-page--security .pbx-security-dashboard-card--wide{grid-column:1 / -1}.pbx-page--security .pbx-security-events-24h{min-height:108px;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.pbx-page--security .pbx-security-events-24h-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));margin-top:.55rem}.pbx-page--security .pbx-security-events-24h-item{display:grid;gap:.15rem}.pbx-page--security .pbx-security-events-24h-item span{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;opacity:.7}.pbx-page--security .pbx-security-events-24h-item strong{font-size:1.15rem}.pbx-page--security .pbx-security-score-detail{margin-top:0;margin-bottom:1rem}.pbx-page--security .pbx-security-score-detail-inline{margin-top:.35rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08)}.pbx-page--security .pbx-security-badge-success,.pbx-page--security .pbx-security-badge-error,.pbx-page--security .pbx-security-badge-authorized,.pbx-page--security .pbx-security-badge-blocked,.pbx-page--security .pbx-security-badge-muted{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;letter-spacing:.01em}.pbx-page--security .pbx-security-badge-success{background:#22c55e2e;color:#86efac}.pbx-page--security .pbx-security-badge-error{background:#ef44442e;color:#fca5a5}.pbx-page--security .pbx-security-badge-authorized{background:#22c55e24;color:#86efac}.pbx-page--security .pbx-security-badge-blocked{background:#ef444424;color:#fca5a5}.pbx-page--security .pbx-security-badge-muted{background:#94a3b824;color:#cbd5e1}.pbx-page--security .pbx-security-pjsip-item{padding:.8rem .9rem}.pbx-page--security .pbx-security-pjsip-copy{display:grid;gap:.35rem}.pbx-page--security .pbx-security-pjsip-label{font-size:.9rem;font-weight:600}.pbx-page--security .pbx-security-pjsip-value-badge{display:inline-flex;align-self:flex-start;border-radius:999px;padding:.28rem .7rem;font-size:.9rem;font-weight:600;letter-spacing:.01em;background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.pbx-page--security .pbx-security-status-green .pbx-security-pjsip-value-badge{background:#22c55e24;border-color:#22c55e40;color:#bbf7d0}.pbx-page--security .pbx-security-status-yellow .pbx-security-pjsip-value-badge{background:#f59e0b24;border-color:#f59e0b40;color:#fde68a}.pbx-page--security .pbx-security-status-info .pbx-security-pjsip-value-badge,.pbx-page--security .pbx-security-status-unknown .pbx-security-pjsip-value-badge{background:#94a3b81f;border-color:#94a3b833;color:#e2e8f0}.pbx-page--security .pbx-security-pjsip-explanation{margin:.45rem 0 0;font-size:.86rem}.pbx-page--security .pbx-security-subsection-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.pbx-page--security .pbx-security-subsection-header .pbx-form-section-title{margin:0}.pbx-page--security .pbx-security-audit-embedded{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.pbx-page--security .pbx-security-audit-filters{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:.75rem;align-items:end}.pbx-page--security .pbx-security-jail-metrics-compact{display:grid;gap:.75rem}.pbx-page--security .pbx-security-jail-metric-primary{display:grid;gap:.2rem}.pbx-page--security .pbx-security-jail-metric-primary span{font-size:.82rem;opacity:.75}.pbx-page--security .pbx-security-jail-banned-count{font-size:2rem;line-height:1}.pbx-page--security .pbx-security-jail-metric-row{display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr))}.pbx-page--security .pbx-security-jail-metric-row div{display:grid;gap:.15rem}.pbx-page--security .pbx-security-jail-metric-row span{font-size:.78rem;opacity:.7}.pbx-page--security .pbx-security-authorized-summary{margin-bottom:.85rem;padding:.75rem .85rem;border-radius:10px;background:#22c55e0f;border:1px solid rgba(34,197,94,.15)}.pbx-page--security .pbx-security-authorized-list{display:grid;gap:.45rem;margin-top:.55rem}.pbx-page--security .pbx-security-authorized-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.pbx-page--security .pbx-security-fail2ban-subsection{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.pbx-page--security .pbx-security-checklist--compact li{padding:.45rem .6rem;font-size:.9rem;gap:.3rem .55rem}.pbx-page--security .pbx-security-check-icon{width:1.1rem;text-align:center;font-weight:700}@media(max-width:900px){.pbx-page--security .pbx-security-dashboard-layout{grid-template-columns:1fr}}.pbx-page--security .pbx-security-grade-a .pbx-security-score-progress-bar{background:linear-gradient(90deg,#22c55e,#4ade80)}.pbx-page--security .pbx-security-grade-b .pbx-security-score-progress-bar{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.pbx-page--security .pbx-security-grade-c .pbx-security-score-progress-bar{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.pbx-page--security .pbx-security-grade-d .pbx-security-score-progress-bar{background:linear-gradient(90deg,#ef4444,#f87171)}.pbx-page--security .pbx-security-score-detail-list{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.pbx-page--security .pbx-security-score-detail-head{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:0 .35rem .25rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;opacity:.65}.pbx-page--security .pbx-security-score-detail-head span:last-child{text-align:right;min-width:3.5rem}.pbx-page--security .pbx-security-score-detail-list li{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:.5rem .65rem;border-radius:8px;background:#ffffff08}.pbx-page--security .pbx-security-score-detail-label{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.pbx-page--security .pbx-security-score-detail-icon{width:1rem;text-align:center;flex-shrink:0}.pbx-page--security .pbx-security-score-detail-list strong{min-width:3.5rem;text-align:right;font-variant-numeric:tabular-nums}.pbx-page--security .pbx-security-score-row-ok .pbx-security-score-detail-icon{color:#86efac}.pbx-page--security .pbx-security-score-row-warning .pbx-security-score-detail-icon{color:#fcd34d}.pbx-page--security .pbx-security-score-row-error .pbx-security-score-detail-icon{color:#fca5a5}.pbx-page--security .pbx-security-score-points-ok{color:#86efac}.pbx-page--security .pbx-security-score-points-warning{color:#fcd34d}.pbx-page--security .pbx-security-score-points-error{color:#fca5a5}.pbx-page--security .pbx-security-checklist--compact li{padding:.35rem .5rem;font-size:.92rem}.pbx-page--security .pbx-security-ip-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.pbx-page--security .pbx-security-ip-tabs button{border:1px solid rgba(255,255,255,.12);background:transparent;color:inherit;border-radius:999px;padding:.35rem .85rem;cursor:pointer}.pbx-page--security .pbx-security-ip-tabs button.is-active{background:#38bdf826;border-color:#38bdf873}.pbx-page--security .pbx-security-ip-form{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;margin-bottom:.85rem}.pbx-page--security .pbx-security-ip-form label{display:grid;gap:.35rem}.pbx-page--security .pbx-security-audit-filters label{display:grid;gap:.25rem;min-width:10rem}.pbx-page--security .pbx-security-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:40;padding:1rem}.pbx-page--security .pbx-security-modal{width:min(420px,100%);background:#111827;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1rem 1.1rem;display:grid;gap:.85rem}.pbx-page--security .pbx-security-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pbx-page--security .pbx-security-manual-ban-options{display:grid;gap:.5rem;grid-column:1 / -1}.pbx-page--security .pbx-security-manual-ban-options label{display:flex;align-items:center;gap:.45rem}.pbx-page--phone-devices .phone-device-blf-table select,.pbx-page--phone-devices .phone-device-blf-table input{min-width:10rem;width:100%}@media(max-width:900px){.pbx-page--phone-devices .phone-device-form-grid.two{grid-template-columns:1fr}}.main-panel:has(.pbx-page--security){padding:1.45rem 1.65rem}.pbx-page--security.pbx-page{gap:1.2rem;padding-bottom:1.65rem}.pbx-page--security .pbx-page-header{gap:1rem}.pbx-page--security .pbx-category-label{margin-bottom:.45rem;padding:.22rem .65rem}.pbx-page--security .pbx-page-header h1{font-size:1.95rem;margin-bottom:.3rem}.pbx-page--security .pbx-page-subtitle{font-size:.92rem;line-height:1.4}.pbx-page--security .pbx-header-actions{gap:.55rem;padding-top:.15rem}.pbx-page--security .pbx-card-header{gap:.55rem;padding:.75rem 1.25rem}.pbx-page--security .pbx-card-header h2,.pbx-page--security .pbx-card-header h3,.pbx-page--security .pbx-card-title{font-size:.98rem;gap:.45rem}.pbx-page--security .pbx-card-meta{font-size:.74rem;padding:.22rem .65rem}.pbx-page--security .pbx-card-body{padding:.95rem 1.25rem 1.15rem}.pbx-page--security .pbx-alert{font-size:.88rem;line-height:1.35;padding:.65rem .85rem}.pbx-page--security .pbx-form-section{gap:.75rem;padding:.85rem 1rem}.pbx-page--security .pbx-form-hint{font-size:.84rem;line-height:1.35}.pbx-page--security .pbx-security-dashboard{gap:.7rem;margin-bottom:.65rem}.pbx-page--security .pbx-security-dashboard-layout{gap:.7rem}.pbx-page--security .pbx-security-dashboard-stats{gap:.45rem}.pbx-page--security .pbx-security-dashboard-card{gap:.15rem;min-height:52px;padding:.55rem .75rem}.pbx-page--security .pbx-security-dashboard-card span{font-size:.76rem}.pbx-page--security .pbx-security-dashboard-card strong{font-size:1.15rem}.pbx-page--security .pbx-security-events-24h{min-height:78px;padding:.6rem .75rem}.pbx-page--security .pbx-security-events-24h-grid{gap:.4rem;margin-top:.35rem}.pbx-page--security .pbx-security-events-24h-item span{font-size:.72rem}.pbx-page--security .pbx-security-events-24h-item strong{font-size:1rem}.pbx-page--security .pbx-security-score-hero{gap:.55rem;min-height:165px;padding:.95rem 1.1rem}.pbx-page--security .pbx-security-score-hero-label{font-size:.86rem}.pbx-page--security .pbx-security-score-hero-value{font-size:2.85rem}.pbx-page--security .pbx-security-score-hero-max{font-size:1.15rem}.pbx-page--security .pbx-security-score-hero-grade{font-size:.92rem}.pbx-page--security .pbx-security-score-hero-summary{font-size:.9rem}.pbx-page--security .pbx-security-score-progress{height:8px}.pbx-page--security .pbx-security-score-toggle{font-size:.86rem}.pbx-page--security .pbx-security-score-detail-inline{margin-top:.2rem;padding-top:.55rem}.pbx-page--security .pbx-security-score-detail-list{gap:.2rem}.pbx-page--security .pbx-security-score-detail-head{gap:.75rem;padding:0 .25rem .15rem;font-size:.72rem}.pbx-page--security .pbx-security-score-detail-list li{gap:.75rem;line-height:1.25;padding:.3rem .5rem}.pbx-page--security .pbx-security-score-detail-label{gap:.35rem;font-size:.86rem}.pbx-page--security .pbx-security-score-detail-icon{width:.9rem}.pbx-page--security .pbx-security-checklist{gap:.4rem}.pbx-page--security .pbx-security-checklist li{gap:.2rem .5rem;padding:.45rem .6rem}.pbx-page--security .pbx-security-checklist--compact li{font-size:.86rem;gap:.15rem .45rem;padding:.32rem .5rem}.pbx-page--security .pbx-security-checklist small{font-size:.78rem;line-height:1.3}.pbx-page--security .pbx-security-check-icon{width:.95rem;font-size:.82rem}.pbx-page--security .pbx-security-grid{gap:.7rem;margin:.65rem 0}.pbx-page--security .pbx-details-grid{gap:.5rem .75rem}.pbx-page--security .pbx-details-grid>div{gap:.2rem;padding:.5rem .65rem}.pbx-page--security .pbx-details-grid span{font-size:.68rem}.pbx-page--security .pbx-details-grid strong{font-size:.86rem}.pbx-page--security .pbx-security-pjsip-list{gap:.45rem}.pbx-page--security .pbx-security-pjsip-item{padding:.5rem .65rem}.pbx-page--security .pbx-security-pjsip-copy{gap:.2rem}.pbx-page--security .pbx-security-pjsip-label{font-size:.84rem}.pbx-page--security .pbx-security-pjsip-value-badge{font-size:.8rem;padding:.18rem .55rem}.pbx-page--security .pbx-security-pjsip-explanation{font-size:.8rem;line-height:1.3;margin-top:.3rem}.pbx-page--security .pbx-security-pjsip-source{font-size:.84rem;margin-bottom:.45rem}.pbx-page--security .pbx-security-pjsip-legacy{margin-top:.65rem;padding-top:.55rem}.pbx-page--security .pbx-badge.ext{font-size:.72rem;padding:.15rem .45rem}.pbx-page--security .pbx-security-badge-success,.pbx-page--security .pbx-security-badge-error,.pbx-page--security .pbx-security-badge-authorized,.pbx-page--security .pbx-security-badge-blocked,.pbx-page--security .pbx-security-badge-muted{font-size:.72rem;padding:.1rem .45rem}.pbx-page--security .pbx-fail2ban-jail-badge{font-size:.72rem;padding:.12rem .5rem}.pbx-page--security .pbx-security-jails{gap:.65rem;margin-top:.65rem}.pbx-page--security .pbx-security-jail-metrics{margin-bottom:.45rem}.pbx-page--security .pbx-security-jail-metrics-compact{gap:.45rem}.pbx-page--security .pbx-security-jail-banned-count{font-size:1.55rem}.pbx-page--security .pbx-security-jail-metric-row{gap:.35rem}.pbx-page--security .pbx-security-manual-ban{margin:.65rem 0;padding:.6rem}.pbx-page--security .pbx-security-manual-ban-grid{gap:.5rem}.pbx-page--security .pbx-security-fail2ban-subsection{margin-top:.65rem;padding-top:.65rem}.pbx-page--security .pbx-security-subsection-header{gap:.5rem;margin-bottom:.45rem}.pbx-page--security .pbx-security-audit-embedded{margin-top:.65rem;padding-top:.65rem}.pbx-page--security .pbx-security-authorized-summary{margin-bottom:.55rem;padding:.5rem .65rem;font-size:.88rem}.pbx-page--security .pbx-security-authorized-list{gap:.3rem;margin-top:.35rem}.pbx-page--security .pbx-security-ip-tabs{gap:.35rem;margin-bottom:.45rem}.pbx-page--security .pbx-security-ip-tabs button{font-size:.84rem;padding:.25rem .65rem}.pbx-page--security .pbx-security-ip-form{gap:.5rem;margin-bottom:.55rem}.pbx-page--security .pbx-security-audit-filters{flex-wrap:nowrap;gap:.45rem;margin-bottom:.45rem}.pbx-page--security .pbx-security-audit-filters label{flex:1 1 0;font-size:.84rem;gap:.15rem;min-width:0}.pbx-page--security .pbx-security-audit-filters .secondary-button{flex-shrink:0}.pbx-page--security .data-table th{font-size:.72rem;padding:.55rem .75rem}.pbx-page--security .data-table td{font-size:.86rem;padding:.5rem .75rem}.pbx-page--security input:not([type=checkbox]),.pbx-page--security select,.pbx-page--security textarea{padding:.58rem .75rem}.pbx-page--security label{font-size:.88rem;gap:.3rem}.pbx-page--security .primary-button,.pbx-page--security .secondary-button,.pbx-page--security button.secondary-button,.pbx-page--security button.primary-button{font-size:.88rem;padding:.52rem .8rem}.pbx-page--security .pbx-preset-button{font-size:.8rem;padding:.3rem .6rem}.pbx-page--security .pbx-table-actions .icon-button{padding:.35rem}.pbx-page--security .pbx-empty-state{padding:1.5rem 1rem}@media(max-width:1100px){.pbx-page--security .pbx-security-audit-filters{flex-wrap:wrap}.pbx-page--security .pbx-security-audit-filters label{flex:1 1 8rem;min-width:8rem}}.pbx-page--security{--pbx-security-radius: 10px;--pbx-security-gap: .55rem;--pbx-security-pad: .65rem .85rem}.pbx-page--security.pbx-page{gap:.85rem;padding-bottom:1.15rem}.main-panel:has(.pbx-page--security){padding:1.15rem 1.35rem}.pbx-page--security .pbx-page-header h1{font-size:1.7rem;margin-bottom:.2rem}.pbx-page--security .pbx-card,.pbx-page--security .pbx-form-section,.pbx-page--security .pbx-security-dashboard-card,.pbx-page--security .pbx-security-events-24h,.pbx-page--security .pbx-security-score-hero,.pbx-page--security .pbx-details-grid>div,.pbx-page--security .pbx-security-pjsip-item,.pbx-page--security .pbx-security-checklist li{border-radius:var(--pbx-security-radius)}.pbx-page--security .pbx-card-header{padding:.55rem .95rem}.pbx-page--security .pbx-card-body{padding:.7rem .95rem .85rem}.pbx-page--security .pbx-form-section{gap:var(--pbx-security-gap);padding:var(--pbx-security-pad)}.pbx-page--security .pbx-security-dashboard{gap:.45rem;margin-bottom:.35rem}.pbx-page--security .pbx-security-dashboard-layout{gap:.45rem}.pbx-page--security .pbx-security-dashboard-stats{gap:.35rem}.pbx-page--security .pbx-security-dashboard-card{min-height:42px;padding:.38rem .55rem}.pbx-page--security .pbx-security-dashboard-card strong{font-size:1rem}.pbx-page--security .pbx-security-events-24h{min-height:62px;padding:.45rem .55rem}.pbx-page--security .pbx-security-events-24h-item strong{font-size:.92rem}.pbx-page--security .pbx-security-score-hero{gap:.35rem;min-height:118px;padding:.65rem .8rem}.pbx-page--security .pbx-security-score-hero-value{font-size:2.35rem}.pbx-page--security .pbx-security-score-hero-max{font-size:1rem}.pbx-page--security .pbx-security-score-hero-summary{font-size:.82rem;line-height:1.3}.pbx-page--security .pbx-security-score-progress{height:6px}.pbx-page--security .pbx-security-score-detail-inline{padding-top:.4rem}.pbx-page--security .pbx-security-score-detail-list{gap:.12rem}.pbx-page--security .pbx-security-score-detail-list li{line-height:1.15;padding:.22rem .42rem}.pbx-page--security .pbx-security-checklist{gap:.28rem}.pbx-page--security .pbx-security-checklist--compact li{padding:.24rem .42rem;font-size:.82rem}.pbx-page--security .pbx-security-checklist small{font-size:.74rem;line-height:1.25}.pbx-page--security .pbx-security-grid{gap:.45rem;margin:.35rem 0}.pbx-page--security .pbx-details-grid{gap:.35rem .55rem}.pbx-page--security .pbx-details-grid>div{padding:.38rem .5rem}.pbx-page--security .pbx-security-pjsip-item{padding:.38rem .5rem}.pbx-page--security .pbx-security-pjsip-badge-row{display:flex;flex-wrap:wrap;gap:.35rem}.pbx-page--security .pbx-security-pjsip-chip-badge{border-radius:999px;padding:.22rem .55rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.pbx-page--security .pbx-security-pjsip-value-badge--digest{font-size:.92rem;padding:.28rem .65rem;font-weight:700;letter-spacing:.03em}.pbx-page--security .pbx-security-jails{gap:.45rem;margin-top:.45rem}.pbx-page--security .pbx-security-fail2ban-subsection{margin-top:.45rem;padding-top:.45rem}.pbx-page--security .pbx-security-import-banner{align-items:center;background:#fbbf2414;border:1px solid rgba(251,191,36,.28);border-radius:var(--pbx-security-radius);display:flex;flex-wrap:wrap;gap:.55rem;justify-content:space-between;margin-bottom:.45rem;padding:.55rem .7rem}.pbx-page--security .pbx-security-import-banner p{font-size:.84rem;line-height:1.35;margin:0}.pbx-page--security .data-table th{padding:.42rem .55rem}.pbx-page--security .data-table td{padding:.38rem .55rem;font-size:.82rem}.pbx-page--security input:not([type=checkbox]),.pbx-page--security select,.pbx-page--security textarea{padding:.48rem .62rem}.pbx-page--security .primary-button,.pbx-page--security .secondary-button{font-size:.84rem;padding:.44rem .7rem}.pbx-page--security .pbx-security-metric-hint{display:block;font-size:.72rem;font-weight:400;opacity:.65;margin-top:.15rem}.pbx-page--security .pbx-security-collapsible-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem .75rem;margin-bottom:.55rem}.pbx-page--security .pbx-security-collapsible-panel{margin-bottom:.75rem}.pbx-page--security .pbx-security-authorized-list--scroll{max-height:220px;overflow-y:auto;padding-right:.25rem}.pbx-page--security .pbx-security-table-toggle{margin-top:.35rem}.pbx-page--security .pbx-security-audit-collapsed{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.pbx-page--security .pbx-security-audit-open-head{margin-bottom:.45rem}.pbx-page--security .pbx-security-audit-empty{margin:.15rem 0 0;font-size:.84rem}.pbx-page--security .pbx-security-modal--import{max-width:520px}.pbx-page--security .pbx-security-import-preview{margin:.65rem 0;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.pbx-page--security .pbx-security-import-preview-head,.pbx-page--security .pbx-security-import-preview-list li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.65rem;align-items:center}.pbx-page--security .pbx-security-import-preview-head{padding:.45rem .65rem;font-size:.78rem;opacity:.7;background:#ffffff08}.pbx-page--security .pbx-security-import-preview-list{list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto}.pbx-page--security .pbx-security-import-preview-list li{padding:.42rem .65rem;border-top:1px solid rgba(255,255,255,.05)}.pbx-page--security .pbx-security-score-hero--compact{gap:.2rem;min-height:72px;padding:.45rem .65rem}.pbx-page--security .pbx-security-score-hero--compact .pbx-security-score-hero-head{margin-bottom:0}.pbx-page--security .pbx-security-score-hero--compact .pbx-security-score-hero-value{font-size:1.85rem;line-height:1.05}.pbx-page--security .pbx-security-score-hero--compact .pbx-security-score-hero-max{font-size:.92rem}.pbx-page--security .pbx-security-score-hero--compact .pbx-security-score-hero-grade{font-size:.82rem}.pbx-page--security .pbx-security-score-hero--compact .pbx-security-score-hero-summary{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:.76rem;margin:0;line-height:1.25}.pbx-page--security .pbx-security-score-hero--compact .pbx-security-score-progress{height:5px;margin-top:.1rem}.pbx-page--security .pbx-security-score-hero--compact .pbx-security-score-toggle{font-size:.76rem;padding:.15rem 0}.pbx-page--security .pbx-security-score-hero--expanded{min-height:auto;padding:.7rem .85rem}.pbx-page--security .pbx-security-score-hero--expanded .pbx-security-score-detail-inline{margin-top:.45rem;padding-top:.45rem;border-top:1px solid rgba(255,255,255,.08);max-height:280px;overflow-y:auto}.pbx-page--security .pbx-security-score-hero--expanded .pbx-security-score-detail-list li{font-size:.82rem;padding:.2rem .4rem}.pbx-page--security .pbx-security-jails{display:grid;gap:.85rem;margin-top:.85rem}.pbx-page--security .pbx-security-jail-panel{border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#0f172a59;overflow:hidden}.pbx-page--security .pbx-security-jail-panel+.pbx-security-jail-panel{margin-top:0}.pbx-page--security .pbx-security-jail-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:.65rem .8rem;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.pbx-page--security .pbx-security-jail-name{margin:0;font-size:.98rem;font-weight:650;letter-spacing:.01em}.pbx-page--security .pbx-security-jail-body{padding:.7rem .8rem .8rem}.pbx-page--security .pbx-security-jail-stats{display:grid;gap:.55rem}.pbx-page--security .pbx-security-jail-stat{display:grid;gap:.12rem}.pbx-page--security .pbx-security-jail-stat-label{font-size:.74rem;opacity:.68;text-transform:uppercase;letter-spacing:.04em}.pbx-page--security .pbx-security-jail-stat--primary{padding:.5rem .6rem;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.18)}.pbx-page--security .pbx-security-jail-stat--primary .pbx-security-jail-banned-count{font-size:1.45rem;line-height:1;color:#fca5a5}.pbx-page--security .pbx-security-jail-stat-group{display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.45rem .55rem;border-radius:8px;background:#ffffff05;border:1px solid rgba(255,255,255,.05)}.pbx-page--security .pbx-security-jail-stat--total{padding-top:.15rem;border-top:1px dashed rgba(255,255,255,.08)}.pbx-page--security .pbx-security-ip-admin-wrap{margin-top:.85rem}.pbx-page--security .pbx-security-ip-admin-panel{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0f172a47;padding:.75rem .85rem}.pbx-page--security .pbx-security-ip-admin-head .pbx-form-section-title{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .65rem}.pbx-page--security .pbx-security-ip-hint{margin:.35rem 0 .55rem;font-size:.78rem;line-height:1.35}.pbx-page--security .pbx-security-ip-form--compact{display:grid;gap:.45rem .55rem;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.9fr) auto;align-items:end;margin:.55rem 0 .45rem;padding:.55rem .6rem;border-radius:8px;background:#ffffff05;border:1px solid rgba(255,255,255,.05)}.pbx-page--security .pbx-security-ip-form--compact label{margin:0}.pbx-page--security .pbx-security-ip-add-btn{align-self:end;white-space:nowrap}.pbx-page--security .pbx-security-collapsible-panel--compact{background:#22c55e0a;border:1px solid rgba(34,197,94,.12);border-radius:8px;padding:.5rem .65rem}.pbx-page--security .pbx-security-audit-action{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:600;white-space:nowrap}.pbx-page--security .pbx-security-audit-action--whitelist-add{background:#22c55e24;color:#86efac;border:1px solid rgba(34,197,94,.28)}.pbx-page--security .pbx-security-audit-action--whitelist-import{background:#3b82f624;color:#93c5fd;border:1px solid rgba(59,130,246,.28)}.pbx-page--security .pbx-security-audit-action--ban{background:#ef444424;color:#fca5a5;border:1px solid rgba(239,68,68,.28)}.pbx-page--security .pbx-security-audit-action--unban{background:#f9731624;color:#fdba74;border:1px solid rgba(249,115,22,.28)}.pbx-page--security .pbx-security-audit-action--neutral{background:#94a3b81f;color:#cbd5e1;border:1px solid rgba(148,163,184,.22)}.pbx-page--security .pbx-security-audit-row--whitelist-add{background:#22c55e0a}.pbx-page--security .pbx-security-audit-row--whitelist-import{background:#3b82f60a}.pbx-page--security .pbx-security-audit-row--ban{background:#ef44440a}.pbx-page--security .pbx-security-audit-row--unban{background:#f973160a}@media(max-width:900px){.pbx-page--security .pbx-security-ip-form--compact{grid-template-columns:1fr 1fr}.pbx-page--security .pbx-security-ip-add-btn{grid-column:1 / -1;justify-self:start}}.pbx-page--users .pbx-user-extensions-section{margin-top:1.5rem}.pbx-page--users .pbx-user-extensions-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.pbx-page--users .pbx-user-extension-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) minmax(180px,1fr) auto;gap:.75rem 1rem;align-items:center;padding:.9rem 1rem;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#0f172a59}.pbx-page--users .pbx-user-extension-main{display:flex;flex-wrap:wrap;gap:.45rem .65rem;align-items:center}.pbx-page--users .pbx-user-extension-number{font-size:1rem}.pbx-page--users .pbx-user-extension-badges,.pbx-page--users .pbx-user-extension-toggles{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.pbx-page--users .pbx-user-extension-set-primary{padding:.25rem .55rem;font-size:.78rem}.pbx-page--users .pbx-user-extensions-add{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.75rem;align-items:end;margin-top:1rem}.pbx-page--users .pbx-user-extensions-empty{margin:.75rem 0 1rem}.pbx-page--extensions .pbx-extension-assignment-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.pbx-page--extensions .pbx-inline-link{color:#7dd3fc;font-size:.82rem;text-decoration:none}.pbx-page--extensions .pbx-inline-link:hover{text-decoration:underline}@media(max-width:900px){.pbx-page--users .pbx-user-extension-row,.pbx-page--users .pbx-user-extensions-add{grid-template-columns:1fr}}.pbx-page--users .pbx-user-extensions-table-cell{display:flex;flex-wrap:wrap;gap:.35rem;max-width:320px}.pbx-page--users .pbx-user-extension-table-pill{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#0f172a73;font-size:.78rem;line-height:1.3;color:#cbd5e1}.pbx-page--users .pbx-user-extension-table-pill strong{color:#f8fafc;font-weight:600}.pbx-page--users .pbx-user-extension-table-pill__sep{opacity:.55}.pbx-page--users .pbx-user-extension-table-pill__tag{padding:.05rem .35rem;border-radius:999px;font-size:.68rem;font-style:normal;text-transform:uppercase;letter-spacing:.03em;background:#94a3b82e;color:#e2e8f0}.pbx-page--users .pbx-user-extension-table-pill.is-primary{border-color:#22c55e73;background:#22c55e14}.pbx-page--users .pbx-user-extension-table-pill.is-primary .pbx-user-extension-table-pill__tag{background:#22c55e38;color:#bbf7d0}.pbx-page--users .pbx-user-extension-table-pill.is-webrtc{border-color:#38bdf859}.pbx-page--users .pbx-user-extension-table-pill__tag.webrtc{background:#38bdf833;color:#bae6fd}.pbx-page--users .pbx-users-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#020617b8}.pbx-page--users .pbx-users-delete-dialog{width:min(100%,480px);padding:1.25rem 1.35rem;border-radius:14px;border:1px solid rgba(148,163,184,.22);background:#0f172a;box-shadow:0 24px 48px #02061773}.pbx-page--users .pbx-users-delete-dialog h3{margin:0 0 .65rem;font-size:1.1rem}.pbx-page--users .pbx-users-delete-dialog p{margin:0;color:#cbd5e1;line-height:1.5}.pbx-page--users .pbx-users-delete-dialog__actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.1rem}.pbx-page--users .pbx-users-delete-dialog__actions .danger-button{border:none;border-radius:10px;padding:.55rem .9rem;background:#dc2626;color:#fff;cursor:pointer}.pbx-page--users .pbx-users-delete-dialog__actions .danger-button:hover:not(:disabled){background:#b91c1c}.pbx-page--users .pbx-users-delete-dialog__actions .danger-button:disabled{opacity:.65;cursor:not-allowed}.pbx-page--dashboard{display:flex;flex-direction:column;gap:1.35rem}.pbx-page--dashboard .pbx-page-header{margin-bottom:0}.pbx-page--dashboard .pbx-page-header h1{letter-spacing:-.02em}.pbx-dashboard-hero{background:linear-gradient(135deg,#0f1720f2,#0c1c26e0 55%,#0a161eeb);border:1px solid rgba(94,234,212,.18);border-radius:16px;box-shadow:0 12px 40px #00000038;display:grid;gap:0;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;position:relative}.pbx-dashboard-hero:before{background:linear-gradient(90deg,rgba(94,234,212,.08),transparent 40%,rgba(56,189,248,.06));content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.pbx-dashboard-hero__item{border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:1.15rem 1.25rem;position:relative;z-index:1}.pbx-dashboard-hero__item:last-child{border-right:none}.pbx-dashboard-hero__label{color:#94a3b8;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pbx-dashboard-hero__value{color:#f1f5f9;font-size:1.65rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.pbx-dashboard-hero__value--ok{color:#6ee7b7}.pbx-dashboard-hero__value--warn{color:#fcd34d}.pbx-dashboard-hero__value--error{color:#fca5a5}.pbx-dashboard-hero__value--neutral{color:#67e8f9}.pbx-dashboard-hero__hint{color:#64748b;font-size:.78rem;line-height:1.3}.pbx-dashboard-system-bar{align-items:center;background:#0a0e138c;border:1px solid rgba(36,48,64,.85);border-radius:12px;display:flex;flex-wrap:wrap;gap:.45rem .65rem;padding:.55rem .75rem}.pbx-dashboard-system-bar__label{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-right:.15rem;text-transform:uppercase}.pbx-dashboard-system-chip{align-items:center;background:#0f1720a6;border:1px solid rgba(36,48,64,.9);border-radius:999px;color:inherit;display:inline-flex;font-size:.78rem;font-weight:700;gap:.4rem;padding:.28rem .55rem .28rem .45rem;text-decoration:none;transition:border-color .15s ease,background .15s ease}.pbx-dashboard-system-chip:hover{background:#141e2ad9;border-color:#5eead447}.pbx-dashboard-system-chip svg{color:#94a3b8;flex-shrink:0;height:14px;width:14px}.pbx-dashboard-system-badge{border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.04em;padding:.12rem .45rem;text-transform:uppercase}.pbx-dashboard-system-badge--ok{background:#10b98129;color:#6ee7b7}.pbx-dashboard-system-badge--warn{background:#fbbf2424;color:#fcd34d}.pbx-dashboard-system-badge--error{background:#f8717124;color:#fca5a5}.pbx-dashboard-vps-grid{display:grid;gap:.85rem;grid-template-columns:repeat(5,minmax(0,1fr))}.pbx-dashboard-vps-card{background:#0a0e138c;border:1px solid rgba(36,48,64,.85);border-radius:14px;padding:.85rem .95rem;display:flex;flex-direction:column;gap:.45rem;min-width:0}.pbx-dashboard-vps-card--wide{grid-column:span 5}.pbx-dashboard-vps-card__value--network{display:flex;flex-direction:column;gap:.2rem;font-size:1.15rem}.pbx-dashboard-vps-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pbx-dashboard-vps-card__title{font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8eb;display:inline-flex;align-items:center;gap:.45rem}.pbx-dashboard-vps-card__value{font-size:1.5rem;font-weight:900;letter-spacing:-.02em;color:#f1f5f9}.pbx-dashboard-vps-card__detail{color:#94a3b8d1;font-size:.82rem}.pbx-perf-badge{border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(148,163,184,.22);background:#0f1720a6}.pbx-perf-badge--ok{color:#6ee7b7;border-color:#6ee7b74d;background:#6ee7b714}.pbx-perf-badge--warning{color:#fcd34d;border-color:#fcd34d59;background:#fcd34d14}.pbx-perf-badge--critical{color:#fca5a5;border-color:#fca5a559;background:#fca5a514}.pbx-perf-badge--neutral{color:#94a3b8eb}.pbx-perf-badge--error{color:#fca5a5;border-color:#fca5a559;background:#fca5a514}.pbx-dashboard-vps-level{display:flex;flex-direction:column;gap:.75rem}.pbx-dashboard-vps-level+.pbx-dashboard-vps-level{margin-top:1.25rem}.pbx-dashboard-vps-level__title{color:#94a3b8eb;font-size:.78rem;font-weight:900;letter-spacing:.06em;margin:0;text-transform:uppercase}.pbx-dashboard-vps-services{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pbx-dashboard-vps-service{background:#0a0e138c;border:1px solid rgba(36,48,64,.85);border-radius:14px;display:flex;flex-direction:column;gap:.55rem;min-width:0;padding:.75rem .85rem}.pbx-dashboard-vps-service__head{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.pbx-dashboard-vps-service__name{color:#f1f5f9;font-size:.88rem;font-weight:800}.pbx-dashboard-vps-service__meta{color:#94a3b8d1;display:flex;flex-wrap:wrap;font-size:.78rem;gap:.35rem .65rem}.pbx-dashboard-vps-services__empty{color:#94a3b8d1;font-size:.85rem;grid-column:1 / -1;padding:.35rem .1rem}.pbx-dashboard-vps-pm2{display:flex;flex-direction:column;gap:.45rem;padding-top:.2rem}.pbx-dashboard-vps-pm2__row{display:grid;grid-template-columns:220px 120px 1fr;gap:.75rem;align-items:center;padding:.45rem .55rem;border-radius:12px;border:1px solid rgba(36,48,64,.7);background:#0f17208c}.pbx-dashboard-vps-pm2__name{font-weight:900;color:#f1f5f9eb}.pbx-dashboard-vps-pm2__status{font-weight:800;color:#94a3b8eb;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.pbx-dashboard-vps-pm2__meta{color:#94a3b8d1;font-size:.82rem}.pbx-dashboard-vps-pm2__empty{color:#94a3b8d1;font-size:.85rem;padding:.45rem .1rem}.pbx-dashboard-vps-charts{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-dashboard-vps-chart{background:#0a0e138c;border:1px solid rgba(36,48,64,.85);border-radius:14px;padding:.75rem .85rem .85rem;min-width:0}.pbx-dashboard-vps-chart__title{color:#94a3b8eb;font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.45rem}.pbx-dashboard-vps-chart__canvas{width:100%;height:190px}@media(max-width:1100px){.pbx-dashboard-vps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-dashboard-vps-card--wide{grid-column:span 2}.pbx-dashboard-vps-charts{grid-template-columns:1fr}}@media(max-width:640px){.pbx-dashboard-vps-grid{grid-template-columns:1fr}.pbx-dashboard-vps-card--wide{grid-column:span 1}.pbx-dashboard-vps-pm2__row{grid-template-columns:1fr}}.pbx-dashboard-system-badge--neutral{background:#5eead41a;color:#67e8f9}.pbx-dashboard-section{display:flex;flex-direction:column;gap:.75rem}.pbx-dashboard-section--primary{background:#0c121a73;border:1px solid rgba(36,48,64,.75);border-radius:14px;padding:1rem 1.1rem 1.15rem}.pbx-dashboard-section--live{padding:0}.pbx-dashboard-section__header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between}.pbx-dashboard-section__title{align-items:center;color:#c5d4e6;display:inline-flex;font-size:.88rem;font-weight:800;gap:.5rem;letter-spacing:.04em;margin:0;text-transform:uppercase}.pbx-dashboard-section__title svg{color:var(--pbx-accent);flex-shrink:0}.pbx-dashboard-section__hint{color:#64748b;font-size:.8rem;margin:.2rem 0 0}.pbx-dashboard-primary-grid{display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr))}.pbx-dashboard-primary-card{background:linear-gradient(160deg,#121a24eb,#0c121ae0);border:1px solid rgba(36,48,64,.9);border-radius:14px;display:flex;flex-direction:column;gap:.45rem;min-height:108px;padding:1rem 1.05rem;transition:border-color .15s ease,box-shadow .15s ease}.pbx-dashboard-primary-card:hover{border-color:#5eead438;box-shadow:0 6px 24px #00000026}.pbx-dashboard-primary-card--ok .pbx-dashboard-primary-card__value{color:#6ee7b7}.pbx-dashboard-primary-card--error .pbx-dashboard-primary-card__value{color:#fca5a5}.pbx-dashboard-primary-card--neutral .pbx-dashboard-primary-card__value{color:#67e8f9}.pbx-dashboard-primary-card__head{align-items:center;display:flex;gap:.5rem}.pbx-dashboard-primary-card__icon{align-items:center;background:#5eead414;border-radius:8px;color:var(--pbx-accent);display:flex;height:32px;justify-content:center;width:32px}.pbx-dashboard-primary-card__label{color:#94a3b8;font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.pbx-dashboard-primary-card__value{color:#f1f5f9;font-size:1.85rem;font-weight:800;letter-spacing:-.03em;line-height:1}.pbx-dashboard-primary-card__detail{color:#64748b;font-size:.78rem}.pbx-dashboard-quick-pills{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.15rem}.pbx-dashboard-quick-pills__label{color:#64748b;font-size:.76rem;font-weight:700;margin-right:.15rem}.pbx-dashboard-quick-pill{align-items:center;background:#0f1720b3;border:1px solid rgba(36,48,64,.95);border-radius:999px;color:#94a3b8;display:inline-flex;font-size:.76rem;font-weight:700;gap:.35rem;padding:.32rem .7rem;text-decoration:none;transition:border-color .15s ease,color .15s ease}.pbx-dashboard-quick-pill:hover{border-color:#5eead44d;color:#a5f3fc}.pbx-dashboard-quick-pill svg{height:13px;width:13px}.pbx-dashboard-quick-pill--warn{border-color:#fbbf2440;color:#fcd34d}.pbx-dashboard-live-grid{display:grid;gap:.65rem;grid-template-columns:repeat(5,minmax(0,1fr))}.pbx-dashboard-live-card{align-items:center;background:#0a0e138c;border:1px solid rgba(36,48,64,.85);border-radius:12px;display:flex;flex-direction:column;gap:.2rem;min-height:82px;justify-content:center;padding:.75rem .65rem;text-align:center}.pbx-dashboard-live-card--active{background:#5eead40d;border-color:#5eead438}.pbx-dashboard-live-card--warn{background:#fbbf240a;border-color:#fbbf2433}.pbx-dashboard-live-card__value{color:#f1f5f9;font-size:1.45rem;font-weight:800;line-height:1}.pbx-dashboard-live-card--active .pbx-dashboard-live-card__value{color:#67e8f9}.pbx-dashboard-live-card--warn .pbx-dashboard-live-card__value{color:#fcd34d}.pbx-dashboard-live-card__label{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.03em;line-height:1.25}.pbx-dashboard-calls-card{background:#0c121a80;border:1px solid rgba(36,48,64,.85);border-radius:14px}.pbx-dashboard-calls-card .pbx-card-header{align-items:center;border-bottom:1px solid rgba(255,255,255,.04);flex-wrap:wrap;gap:.75rem;padding:1rem 1.15rem}.pbx-dashboard-calls-card .pbx-card-body{padding-top:.85rem}.pbx-dashboard-calls-card .pbx-card-title{font-size:.95rem;gap:.55rem}.pbx-dashboard-calls-card .pbx-card-title svg{color:var(--pbx-accent)}.pbx-dashboard-calls-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.pbx-dashboard-calls-btn{align-items:center;background:#5eead41a;border:1px solid rgba(94,234,212,.28);border-radius:10px;color:#a5f3fc;display:inline-flex;font-size:.82rem;font-weight:700;gap:.4rem;padding:.45rem .85rem;text-decoration:none;transition:background .15s ease,border-color .15s ease}.pbx-dashboard-calls-btn:hover{background:#5eead429;border-color:#5eead46b;color:#cffafe}.pbx-dashboard-calls-table .data-table th{border-bottom:1px solid rgba(255,255,255,.06);color:#94a3b8;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.pbx-dashboard-calls-table .data-table td{border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle}.pbx-dashboard-calls-table .pbx-empty-state{padding:1.5rem .5rem}.pbx-dashboard-calls-table .pbx-empty-state strong{color:#cbd5e1}.pbx-dashboard-calls-table .pbx-empty-state p{color:#64748b;margin:.35rem 0 0}.pbx-dashboard-calls-mobile{display:none;flex-direction:column;gap:.75rem}.pbx-dashboard-call-card{background:#0f1720b8;border:1px solid rgba(255,255,255,.06);border-radius:12px;display:flex;flex-direction:column;gap:.65rem;padding:.85rem .95rem}.pbx-dashboard-call-card__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.pbx-dashboard-call-card__header time{color:#94a3b8;font-size:.78rem}.pbx-dashboard-call-card__badges{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.pbx-dashboard-call-card__party{display:flex;flex-direction:column;gap:.2rem}.pbx-dashboard-call-card__label{color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.pbx-dashboard-call-card__footer{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.pbx-dashboard-call-card--loading{min-height:5.5rem}.pbx-dashboard-kpi-loading{animation:pbx-dashboard-shimmer 1.35s ease-in-out infinite;background:linear-gradient(90deg,#94a3b81f,#94a3b847,#94a3b81f);background-size:200% 100%;border-radius:8px;color:transparent;display:inline-block;min-height:1.55rem;min-width:4.5rem}.pbx-dashboard-kpi-loading--sm{min-height:1.1rem;min-width:3rem}.pbx-dashboard-kpi-loading--detail{margin-top:.15rem;min-height:.85rem;min-width:6.5rem}@keyframes pbx-dashboard-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pbx-dashboard-refreshing{align-items:center;color:#64748b;display:inline-flex;font-size:.78rem;font-weight:700;gap:.35rem}.pbx-dashboard-refreshing svg{animation:pbx-dashboard-spin .9s linear infinite}@keyframes pbx-dashboard-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.pbx-dashboard-hero{grid-template-columns:repeat(3,minmax(0,1fr))}.pbx-dashboard-hero__item:nth-child(3){border-right:none}.pbx-dashboard-hero__item:nth-child(n+4){border-top:1px solid rgba(255,255,255,.05)}.pbx-dashboard-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-dashboard-live-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.pbx-dashboard-hero{grid-template-columns:minmax(0,1fr)}.pbx-dashboard-hero__item{border-right:none;border-bottom:1px solid rgba(255,255,255,.05)}.pbx-dashboard-hero__item:last-child{border-bottom:none}.pbx-dashboard-primary-grid,.pbx-dashboard-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.pbx-dashboard-calls-table{display:none}.pbx-dashboard-calls-mobile{display:flex}}@media(max-width:480px){.pbx-dashboard-primary-grid,.pbx-dashboard-live-grid{grid-template-columns:minmax(0,1fr)}.pbx-dashboard-calls-table .pbx-table-wrap{overflow-x:auto}}.pbx-page--number-check .pbx-number-check-badge{display:inline-flex;align-items:center;gap:.35rem;margin-top:.75rem;padding:.35rem .75rem;border-radius:999px;background:#38bdf81f;color:#7dd3fc;font-size:.82rem;font-weight:600}.pbx-page--number-check .pbx-number-check-spoofing{border-left:4px solid #f59e0b;background:#f59e0b14}.pbx-page--number-check .pbx-number-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.pbx-page--number-check .pbx-number-check-field{display:flex;flex-direction:column;gap:.25rem}.pbx-page--number-check .pbx-number-check-field-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--pbx-muted, #94a3b8)}.pbx-page--number-check .pbx-number-check-field-value{font-size:.98rem;font-weight:600;color:var(--pbx-text, #e2e8f0);word-break:break-word}.pbx-page--number-check .pbx-number-check-actions{display:flex;flex-wrap:wrap;gap:.75rem}.pbx-page--number-check .pbx-number-check-search-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.pbx-page--number-check .pbx-number-check-search-row label{flex:1 1 280px}.pbx-page--number-check .pbx-number-check-search-row input{width:100%}.pbx-page--number-check .pbx-number-check-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1rem;background:#020617b8}.pbx-page--number-check .pbx-number-check-modal{width:min(560px,100%);max-height:90vh;overflow:auto;border-radius:16px;background:#0f172a;border:1px solid rgba(148,163,184,.18);box-shadow:0 24px 60px #00000073}.pbx-page--number-check .pbx-number-check-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(148,163,184,.12)}.pbx-page--number-check .pbx-number-check-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.pbx-page--number-check .pbx-number-check-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.75rem;padding:0 1.25rem 1.25rem}.pbx-page--number-check .pbx-number-check-prefix-preview{padding:.85rem 1rem;border-radius:12px;background:#ef444414;border:1px solid rgba(239,68,68,.22);color:#fecaca;font-size:.92rem}.pbx-page--number-check .pbx-number-check-prefix-examples{margin:.35rem 0 0;padding-left:1.1rem;color:var(--pbx-muted, #94a3b8);font-size:.88rem}.pbx-page--number-check .pbx-number-check-warning{padding:.75rem .9rem;border-radius:10px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);color:#fcd34d;font-size:.88rem}.pbx-page--number-check .pbx-number-check-checkbox{display:flex;align-items:flex-start;gap:.65rem;font-size:.92rem;line-height:1.45}.pbx-page--number-check .pbx-number-check-checkbox input{margin-top:.2rem}.pbx-page--number-check .pbx-number-check-blacklist-badge{display:inline-flex;align-items:center;gap:.35rem}@media(max-width:720px){.pbx-page--number-check .pbx-number-check-search-row{flex-direction:column;align-items:stretch}}.pbx-originate-modal{background:linear-gradient(180deg,#0e131afc,#0a0e13fa);border:1px solid rgba(94,234,212,.22);border-radius:14px;display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding:1.1rem 1.2rem 1.25rem}.pbx-originate-modal__header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.pbx-originate-modal__header h2{margin:0}.pbx-originate-modal__header p{color:#94a3b8;font-size:.86rem;margin:.35rem 0 0}.pbx-originate-modal__info{background:#5eead414;border:1px solid rgba(94,234,212,.18);border-radius:10px;color:#cbd5e1;font-size:.84rem;line-height:1.45;padding:.75rem .85rem}.pbx-originate-modal__section{display:flex;flex-direction:column;gap:.45rem}.pbx-originate-modal__section-title{color:#c5d4e6;font-size:.78rem;font-weight:800;letter-spacing:.05em;margin:0;text-transform:uppercase}.pbx-originate-modal__helper{color:#64748b;font-size:.8rem;margin:0}.pbx-originate-modal__options{border:1px solid rgba(36,48,64,.9);border-radius:10px;display:flex;flex-direction:column;gap:.45rem;padding:.65rem .75rem}.pbx-originate-modal__option{align-items:flex-start;display:flex;gap:.55rem}.pbx-originate-modal__option strong{color:#e2e8f0;display:block;font-size:.88rem}.pbx-originate-modal__option span{color:#64748b;display:block;font-size:.8rem;line-height:1.35;margin-top:.15rem}.pbx-originate-modal__sequence{background:#0a0e13a6;border:1px solid rgba(36,48,64,.9);border-radius:10px;color:#67e8f9;font-size:.88rem;font-weight:700;padding:.7rem .85rem}.pbx-originate-modal__hint{color:#64748b;font-size:.78rem;margin:0}.pbx-originate-modal__success{background:#10b9811f;border:1px solid rgba(16,185,129,.28);border-radius:10px;color:#6ee7b7;font-size:.84rem;padding:.7rem .85rem}.pbx-originate-modal__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.pbx-originate-modal label select{width:100%}.pbx-page--contacts{display:flex;flex-direction:column;gap:1.25rem}.pbx-contacts-overview{background:linear-gradient(135deg,#0f1720f2,#120e1ce6);border:1px solid rgba(192,132,252,.2);border-radius:14px;display:grid;gap:0;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}.pbx-contacts-overview__item{border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:.3rem;min-width:0;padding:.95rem 1.1rem}.pbx-contacts-overview__item:last-child{border-right:none}.pbx-contacts-overview__label{color:#94a3b8;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.pbx-contacts-overview__value{color:#f1f5f9;font-size:1.45rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.pbx-contacts-overview__hint{color:#64748b;font-size:.76rem}.pbx-contacts-table-card .pbx-card-header{align-items:center}.pbx-contacts-contact-cell{display:flex;flex-direction:column;gap:.15rem;min-width:0}.pbx-contacts-contact-cell strong{color:#f1f5f9}.pbx-contacts-contact-link{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left}.pbx-contacts-contact-link:hover strong{color:#c4b5fd}.pbx-contacts-contact-cell .pbx-subtle-line{color:#64748b;font-size:.8rem}.pbx-contacts-stat-muted{color:#64748b;font-size:.84rem}.pbx-contacts-phone-pill{background:none;border:none;cursor:pointer;padding:0}.pbx-contacts-phone-pill .pbx-badge.external{transition:border-color .15s ease,color .15s ease}.pbx-contacts-phone-pill:hover .pbx-badge.external{border-color:#c084fc73;color:#ddd6fe}.pbx-contacts-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.pbx-contacts-row-actions .icon-button{height:34px;width:34px}.pbx-contacts-row-actions .icon-button--danger{color:#fca5a5}.pbx-contacts-row-actions .icon-button--danger:hover{background:#f871711f;border-color:#f8717159;color:#fecaca}.pbx-contacts-mobile-list{display:none;flex-direction:column;gap:.75rem}.pbx-contacts-mobile-card{background:#0c121aa6;border:1px solid rgba(36,48,64,.9);border-radius:12px;display:flex;flex-direction:column;gap:.65rem;padding:.9rem 1rem}.pbx-contacts-mobile-card__head{align-items:flex-start;display:flex;gap:.65rem;justify-content:space-between}.pbx-contacts-modal-backdrop{align-items:center;background:#02060cb8;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:60}.pbx-contacts-modal-backdrop--confirm{z-index:70}.pbx-contacts-detail-modal{background:linear-gradient(180deg,#0e131afc,#0a0e13fa);border:1px solid rgba(192,132,252,.24);border-radius:16px;box-shadow:0 24px 80px #00000073;display:flex;flex-direction:column;max-height:88vh;max-width:1160px;overflow-x:hidden;overflow-y:auto;width:100%}.pbx-contacts-detail-modal__body{display:flex;flex-direction:column;gap:1.35rem;padding:1.15rem 1.4rem 1.45rem}.pbx-contacts-detail-modal__header{align-items:flex-start;background:#0a0e138c;border-bottom:1px solid rgba(255,255,255,.06);display:flex;flex-shrink:0;gap:1rem;justify-content:space-between;padding:1.15rem 1.4rem 1rem;position:sticky;top:0;z-index:1}.pbx-contacts-detail-modal__title{color:#f8fafc;font-size:1.55rem;font-weight:800;letter-spacing:-.02em;margin:0}.pbx-contacts-detail-modal__subtitle{color:#94a3b8;font-size:.92rem;margin:.35rem 0 0}.pbx-contacts-detail-modal__badges{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}.pbx-contacts-detail-modal__actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.pbx-contacts-detail-modal__top-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-contacts-detail-modal__panel{background:#0a0e136b;border:1px solid rgba(36,48,64,.85);border-radius:12px;padding:1rem 1.05rem}.pbx-contacts-detail-modal__link-row{margin-top:.85rem}.pbx-contacts-detail-modal__history{border-top:1px solid rgba(255,255,255,.06);padding-top:1.1rem}.pbx-contacts-detail-modal__section-title{color:#c5d4e6;font-size:.8rem;font-weight:800;letter-spacing:.05em;margin:0 0 .65rem;text-transform:uppercase}.pbx-contacts-detail-meta{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-contacts-detail-meta__item{background:#0a0e138c;border:1px solid rgba(36,48,64,.85);border-radius:10px;display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem}.pbx-contacts-detail-meta__item--full{grid-column:1 / -1}.pbx-contacts-detail-meta__item span{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pbx-contacts-detail-meta__item strong{color:#e2e8f0;font-size:.9rem;font-weight:700;word-break:break-word}.pbx-contacts-detail-notes{background:#0a0e138c;border:1px solid rgba(36,48,64,.85);border-radius:10px;color:#cbd5e1;font-size:.86rem;line-height:1.45;margin-top:.65rem;padding:.75rem .85rem}.pbx-contacts-detail-stats{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-contacts-detail-stat--wide{grid-column:1 / -1}.pbx-contacts-detail-stat{background:#0a0e138c;border:1px solid rgba(36,48,64,.85);border-radius:10px;display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem}.pbx-contacts-detail-stat span{color:#64748b;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pbx-contacts-detail-stat strong{color:#f1f5f9;font-size:1.1rem;font-weight:800}.pbx-contacts-detail-stat__compact{font-size:.92rem!important;line-height:1.25}.pbx-contacts-detail-history__head{align-items:center;display:flex;gap:.65rem;justify-content:space-between;margin-bottom:.55rem}.pbx-contacts-history-link{align-items:center;color:#c4b5fd;display:inline-flex;font-size:.8rem;font-weight:700;gap:.3rem;text-decoration:none}.pbx-contacts-history-link:hover{color:#ddd6fe}.pbx-contacts-history-table .data-table th{color:#94a3b8;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.pbx-contacts-history-table .data-table td{font-size:.82rem;vertical-align:middle}.pbx-contacts-history-table .pbx-table-wrap{overflow-x:auto;overflow-y:visible}.pbx-contacts-history-loading,.pbx-contacts-history-empty{color:#64748b;font-size:.84rem;margin:0}.pbx-contacts-delete-dialog{background:linear-gradient(180deg,#12161efc,#0c1016fa);border:1px solid rgba(248,113,113,.28);border-radius:14px;box-shadow:0 20px 60px #00000073;max-width:460px;padding:1.15rem 1.25rem 1.2rem;width:100%}.pbx-contacts-delete-dialog h3{color:#f8fafc;font-size:1.05rem;margin:0 0 .55rem}.pbx-contacts-delete-dialog p{color:#94a3b8;font-size:.9rem;line-height:1.45;margin:0 0 1rem}.pbx-contacts-delete-dialog__actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.pbx-contacts-delete-dialog__actions .danger-button{background:#f8717124;border:1px solid rgba(248,113,113,.35);border-radius:10px;color:#fecaca;cursor:pointer;font-size:.88rem;font-weight:700;padding:.5rem .9rem}.pbx-contacts-delete-dialog__actions .danger-button:hover{background:#f8717138;border-color:#f8717180}@media(max-width:1100px){.pbx-contacts-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.pbx-contacts-overview__item:nth-child(3){border-right:none}.pbx-contacts-overview__item:nth-child(n+4){border-top:1px solid rgba(255,255,255,.05)}.pbx-contacts-detail-modal__top-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:820px){.pbx-contacts-desktop-table{display:none}.pbx-contacts-mobile-list{display:flex}.pbx-contacts-detail-modal__header{flex-direction:column}.pbx-contacts-detail-modal__actions{justify-content:flex-start;width:100%}}@media(max-width:560px){.pbx-contacts-overview{grid-template-columns:minmax(0,1fr)}.pbx-contacts-overview__item{border-bottom:1px solid rgba(255,255,255,.05);border-right:none}.pbx-contacts-overview__item:last-child{border-bottom:none}.pbx-contacts-detail-meta,.pbx-contacts-detail-stats{grid-template-columns:minmax(0,1fr)}.pbx-contacts-modal-backdrop{padding:.5rem}.pbx-contacts-detail-modal{max-height:92vh}.pbx-contacts-detail-modal__header{position:static}}.pbx-page--audio{--pbx-audio-accent: #5eead4;--pbx-audio-accent-soft: rgba(94, 234, 212, .12);--pbx-audio-accent-border: rgba(94, 234, 212, .35);--pbx-audio-surface: #1c232b;--pbx-audio-surface-hover: #24303c;--pbx-audio-border: #2c3946;--pbx-audio-text: #d5dee8;--pbx-audio-text-muted: #8fa3b8;--pbx-audio-active-bg: rgba(15, 118, 110, .42)}.pbx-page--audio .pbx-audio-page-header{margin-bottom:1rem}.pbx-page--audio .pbx-audio-page-header h1{background:linear-gradient(135deg,#f0f6ff 0%,var(--pbx-audio-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2.1rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0}.pbx-page--audio .pbx-audio-eyebrow{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pbx-audio-accent);font-weight:800}.pbx-page--audio .pbx-audio-lead{margin:.45rem 0 0;color:var(--pbx-audio-text);max-width:52rem;line-height:1.55;font-size:.98rem}.pbx-audio-subnav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.pbx-audio-subnav-item{padding:.45rem .85rem;border-radius:999px;border:1px solid var(--pbx-audio-border);background:var(--pbx-audio-surface);color:var(--pbx-audio-text);text-decoration:none;font-size:.92rem;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease}.pbx-audio-subnav-item:hover{background:var(--pbx-audio-surface-hover);border-color:var(--pbx-audio-accent-border);color:#fff}.pbx-audio-subnav-item.active{background:var(--pbx-audio-active-bg);border-color:var(--pbx-audio-accent);color:#fff;font-weight:700;box-shadow:0 0 0 1px #5eead41f}.pbx-audio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.pbx-audio-toolbar-meta{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.pbx-audio-meta-badge{align-items:center;background:#8bd3c71f;border:1px solid rgba(139,211,199,.28);border-radius:999px;color:#8bd3c7;display:inline-flex;font-size:.76rem;font-weight:700;letter-spacing:.06em;line-height:1.3;padding:.24rem .65rem;text-transform:uppercase;white-space:nowrap}.pbx-audio-meta-badge--time{background:var(--pbx-audio-surface);border-color:var(--pbx-audio-border);color:var(--pbx-audio-text);font-weight:600;letter-spacing:.02em;text-transform:none}.pbx-audio-meta-badge--mode{background:#5eead41f;border-color:#5eead452;color:var(--pbx-audio-accent)}.pbx-audio-meta-badge--success{background:#34d39924;border-color:#34d39959;color:#6ee7b7}.pbx-audio-meta-badge--neutral{background:#67b7ff1f;border-color:#67b7ff47;color:#93c5fd}.pbx-audio-meta-badge--muted{background:#64748b24;border-color:#64748b59;color:#94a3b8;text-transform:none}.pbx-audio-refresh-btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--pbx-audio-border);background:var(--pbx-audio-surface);color:var(--pbx-audio-text);border-radius:.65rem;padding:.45rem .85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.pbx-audio-refresh-btn:hover:not(:disabled){background:var(--pbx-audio-surface-hover);border-color:var(--pbx-audio-accent-border);color:#fff}.pbx-audio-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}.pbx-audio-health-panel{grid-column:1 / -1}.pbx-audio-health-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.pbx-audio-health-eyebrow{margin:0;font-size:.85rem;color:var(--text-muted, #64748b)}.pbx-audio-health-value{font-size:2.4rem;font-weight:700;line-height:1.1}.pbx-audio-health-value span{font-size:1.2rem;margin-left:.15rem}.pbx-audio-health-progress{height:.55rem;border-radius:999px;background:#0f172a14;overflow:hidden;margin-bottom:1rem}.pbx-audio-health-progress-bar{height:100%;background:var(--pbx-audio-accent)}.pbx-audio-grade-a .pbx-audio-health-progress-bar{background:#059669}.pbx-audio-grade-b .pbx-audio-health-progress-bar{background:#0f766e}.pbx-audio-grade-c .pbx-audio-health-progress-bar{background:#d97706}.pbx-audio-grade-d .pbx-audio-health-progress-bar{background:#dc2626}.pbx-audio-health-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.45rem 1rem}.pbx-audio-health-checklist li{display:flex;align-items:center;gap:.45rem}.pbx-audio-health-row-ok .pbx-audio-health-check-icon{color:#059669}.pbx-audio-health-row-warning .pbx-audio-health-check-icon{color:#d97706}.pbx-audio-health-row-error .pbx-audio-health-check-icon{color:#dc2626}.pbx-audio-summary-card h2,.pbx-audio-future-panel h2,.pbx-audio-placeholder h2{margin:0 0 .75rem;font-size:1.05rem}.pbx-audio-dl{margin:0;display:grid;gap:.65rem}.pbx-audio-dl dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #64748b)}.pbx-audio-dl dd{margin:.15rem 0 0}.pbx-audio-muted{color:var(--text-muted, #64748b)}.pbx-audio-security-link-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem}.pbx-audio-security-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--pbx-audio-accent);text-decoration:none;font-weight:600}.pbx-audio-security-badge{display:inline-flex;padding:.15rem .55rem;border-radius:999px;font-size:.82rem;font-weight:600}.pbx-audio-security-badge.ok{background:#0596691f;color:#047857}.pbx-audio-security-badge.warn{background:#d977061f;color:#b45309}.pbx-audio-transport-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.pbx-audio-transport-source{margin-left:.35rem;font-size:.82rem;color:var(--text-muted, #64748b)}.pbx-audio-future-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.85rem}.pbx-audio-future-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.pbx-audio-future-badge{display:inline-flex;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.pbx-audio-future-badge-planned{background:#3b82f61f;color:#1d4ed8}.pbx-audio-future-badge-partial{background:#d977061f;color:#b45309}.pbx-audio-future-badge-off{background:#64748b1f;color:#475569}.pbx-audio-future-badge-warn{background:#dc26261a;color:#b91c1c}.pbx-audio-alert{padding:.75rem 1rem;border-radius:.75rem;margin-bottom:1rem}.pbx-audio-alert-error{background:#dc262614;color:#b91c1c}.pbx-audio-alert-warning{background:#d9770614;color:#92400e}.pbx-audio-loading{color:var(--text-muted, #64748b)}.pbx-audio-placeholder-note{margin-top:1rem;color:var(--text-muted, #64748b)}.pbx-audio-inline-link{display:inline-block;margin-top:.75rem;color:var(--pbx-audio-accent);font-weight:600;text-decoration:none}.pbx-audio-page-stack{display:grid;gap:1rem}.pbx-audio-section-card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.pbx-audio-section-card-head h2{margin:0}.pbx-audio-table-wrap{overflow-x:auto}.pbx-audio-table{width:100%;border-collapse:collapse;font-size:.92rem}.pbx-audio-table th,.pbx-audio-table td{padding:.55rem .65rem;border-bottom:1px solid rgba(15,23,42,.08);text-align:left;vertical-align:top}.pbx-audio-table-row-warning{background:#d977060f}.pbx-audio-table-row-highlight{background:#0f766e0f}.pbx-audio-filter-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.pbx-audio-filter-btn{border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:999px;padding:.35rem .75rem;cursor:pointer}.pbx-audio-filter-btn.active{background:var(--pbx-audio-accent-soft);border-color:#0f766e40;color:var(--pbx-audio-accent);font-weight:600}.pbx-audio-select{width:100%;max-width:28rem;padding:.5rem .65rem;border-radius:.55rem;border:1px solid rgba(15,23,42,.12)}.pbx-audio-cli-details{margin-top:.75rem}.pbx-audio-cli-details summary{cursor:pointer;font-weight:600;color:var(--pbx-audio-accent)}.pbx-audio-cli-pre{margin-top:.5rem;padding:.75rem;border-radius:.55rem;background:#0f172a;color:#e2e8f0;overflow-x:auto;font-size:.78rem;white-space:pre-wrap}.pbx-audio-delta-list{margin:0 0 1rem;padding-left:1.1rem;color:#92400e}.pbx-audio-compat-badge{display:inline-flex;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.pbx-audio-compat-badge-ok{background:#0596691f;color:#047857}.pbx-audio-compat-badge-warning{background:#d977061f;color:#b45309}.pbx-audio-compat-badge-unknown{background:#64748b1f;color:#475569}.pbx-audio-current-config-panel{border:1px solid rgba(15,118,110,.2)}.pbx-audio-dl-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.pbx-audio-profile-detail{padding:.75rem 0}.pbx-audio-table-nested{margin-top:.75rem}.pbx-audio-notes-list{margin:.5rem 0 1rem;padding-left:1.1rem;color:var(--text-muted, #64748b)}.pbx-audio-roadmap-panel{background:#3b82f60a}.pbx-audio-warnings-inline{margin:.35rem 0 0;padding-left:1rem;font-size:.82rem;color:#92400e}.pbx-audio-alert-success{background:#0596691f;border:1px solid rgba(5,150,105,.25);color:#047857}.pbx-audio-policy-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.pbx-audio-policy-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.pbx-audio-policy-apply-btn{display:inline-flex;align-items:center;gap:.45rem;opacity:.65;cursor:not-allowed}.pbx-audio-policy-apply-btn.is-ready{opacity:1;cursor:pointer}.pbx-media-config-apply-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172ab8}.pbx-audio-policy-apply-btn.is-dev.is-ready{border-color:#60a5fa73}.pbx-audio-meta-badge--dev{background:#60a5fa2e;color:#93c5fd}.pbx-audio-meta-badge--prod{background:#34d3992e;color:#6ee7b7}.pbx-media-config-dry-run-badge{display:inline-flex;margin-bottom:.35rem;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;background:#60a5fa33;color:#93c5fd}.pbx-media-config-dry-run-notice{margin-top:.35rem}.pbx-media-config-dry-run-excluded{color:#fca5a5}.pbx-media-config-apply-modal.is-dev-dry-run{border-color:#60a5fa47}.pbx-media-config-apply-modal.is-prod-apply{border-color:#34d39938}.pbx-media-config-apply-modal{width:min(42rem,100%);max-height:90vh;overflow:auto;border-radius:.75rem;border:1px solid rgba(94,234,212,.18);background:var(--pbx-audio-surface, #1c232b);padding:1rem 1.1rem}.pbx-media-config-apply-head,.pbx-media-config-apply-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.pbx-media-config-apply-footer{margin-top:1rem;justify-content:flex-end}.pbx-media-config-apply-section{margin-top:.85rem}.pbx-media-config-apply-file{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid rgba(148,163,184,.12)}.pbx-media-config-apply-file-meta{display:flex;gap:.35rem}.pbx-media-config-apply-steps{margin-top:.85rem}.pbx-media-config-apply-step{display:grid;gap:.15rem;padding:.35rem 0;font-size:.88rem}.pbx-media-config-apply-step.is-completed{color:#34d399}.pbx-media-config-apply-step.is-failed{color:#f87171}.pbx-media-config-apply-step.is-skipped{color:#94a3b8}.pbx-media-config-backups{margin-top:1rem;padding:.85rem 1rem;border-radius:.65rem;border:1px solid rgba(94,234,212,.12)}.pbx-media-config-backups.is-empty{padding-bottom:1rem}.pbx-media-config-backups-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.pbx-media-config-backups-head h3{margin:0 0 .25rem}.pbx-media-config-backups-head-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pbx-media-config-backups-badge{display:inline-flex;min-width:1.75rem;justify-content:center;padding:.15rem .45rem;border-radius:999px;font-size:.78rem;background:#5eead41f;color:#5eead4}.pbx-media-config-backups-toggle{white-space:nowrap}.pbx-media-config-backups-collapsed{margin-top:.75rem;padding:.65rem .75rem;border-radius:.5rem;background:#0f172a59}.pbx-media-config-backups-collapsed-preview{display:grid;gap:.15rem}.pbx-media-config-backups-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}.pbx-media-config-backups-item{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(148,163,184,.12)}.pbx-media-config-backups-item>div{display:grid;gap:.15rem}.pbx-media-config-backups-actions{display:flex;gap:.5rem;flex-shrink:0}.pbx-media-config-backups-delete-btn{color:#fca5a5}.pbx-media-config-delete-backup-warning{margin:.75rem 0 0;padding:.65rem .75rem;border-radius:.5rem;background:#fbbf241f;color:#fcd34d}.pbx-audio-policy-phase-badge{display:inline-flex;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;background:#64748b2e;color:#475569}.pbx-audio-policy-section,.pbx-audio-policy-intro,.pbx-audio-policy-preview{border:1px solid rgba(94,234,212,.12)}.pbx-audio-policy-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem 1rem;margin-top:.75rem}.pbx-audio-policy-form-grid label{display:grid;gap:.35rem;font-size:.88rem}.pbx-audio-policy-form-grid input[type=text],.pbx-audio-policy-form-grid input[type=number]{width:100%;padding:.45rem .6rem;border-radius:.45rem;border:1px solid var(--pbx-audio-border, #334155);background:var(--pbx-audio-surface, #1c232b);color:var(--pbx-audio-text, #e2e8f0)}.pbx-audio-policy-checkbox{display:flex!important;align-items:center;gap:.5rem}.pbx-audio-policy-codec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.5rem;margin:.75rem 0}.pbx-audio-policy-codec-option{display:flex;align-items:center;gap:.45rem;padding:.45rem .6rem;border-radius:.45rem;border:1px solid rgba(148,163,184,.18);background:#0f172a59}.pbx-audio-policy-priority-list{margin:.75rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}.pbx-audio-policy-priority-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pbx-audio-policy-priority-actions{display:inline-flex;gap:.25rem}.pbx-audio-policy-hint{margin:.35rem 0 0;font-size:.84rem;color:#b45309}.pbx-audio-policy-validation{display:grid;gap:.5rem;margin:.75rem 0}.pbx-audio-policy-preview-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}.pbx-audio-policy-preview-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.75rem;margin-top:.75rem}.pbx-audio-policy-diff{max-height:24rem}.pbx-media-config-page{display:grid;gap:1rem}.pbx-media-config-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-radius:.85rem;border:1px solid rgba(94,234,212,.14);background:linear-gradient(135deg,#0f172ab8,#1c232beb)}.pbx-media-config-eyebrow{margin:0 0 .25rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pbx-audio-accent, #5eead4)}.pbx-media-config-title{margin:0 0 .35rem;font-size:1.55rem;background:linear-gradient(90deg,#f8fafc,#5eead4);-webkit-background-clip:text;background-clip:text;color:transparent}.pbx-media-config-header-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:flex-start}.pbx-media-config-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}.pbx-media-config-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,34%);gap:1rem;align-items:start}.pbx-media-config-main{min-width:0;border:1px solid rgba(94,234,212,.12);border-radius:.85rem;background:#0f172a59;overflow:hidden}.pbx-media-config-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.75rem;border-bottom:1px solid rgba(148,163,184,.12);background:#1c232ba6}.pbx-media-config-tab{padding:.5rem .85rem;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--pbx-audio-text-muted, #94a3b8);font-weight:600;cursor:pointer}.pbx-media-config-tab.active{color:#0f172a;background:var(--pbx-audio-accent, #5eead4);border-color:#5eead459}.pbx-media-config-tab-content{padding:1rem}.pbx-media-config-tab-panel{display:grid;gap:1rem}.pbx-media-config-section{padding:1rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.12);background:#1c232b8c}.pbx-media-config-section-head h3{margin:0 0 .25rem;font-size:1.05rem}.pbx-media-config-section-head p{margin:0 0 .75rem}.pbx-media-config-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);gap:1rem}.pbx-media-config-main-col,.pbx-media-config-side-col{display:grid;gap:1rem;align-content:start}.pbx-media-config-stack{display:grid;gap:.75rem}.pbx-media-config-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.65rem}.pbx-media-config-scope-card{display:grid;gap:.25rem;padding:.75rem;border-radius:.65rem;border:1px solid rgba(148,163,184,.16);background:#0f172a73;text-align:left;cursor:pointer;color:inherit}.pbx-media-config-scope-card.active{border-color:#5eead473;box-shadow:inset 0 0 0 1px #5eead440}.pbx-media-config-scope-title{font-weight:700}.pbx-media-config-scope-desc{font-size:.82rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-codec-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.65rem}.pbx-media-config-codec-card{padding:.75rem;border-radius:.65rem;border:1px solid rgba(148,163,184,.14);background:#0f172a59}.pbx-media-config-codec-card.is-enabled{border-color:#5eead459}.pbx-media-config-codec-card-head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;margin-bottom:.35rem}.pbx-media-config-codec-check{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.pbx-media-config-codec-check strong{display:block}.pbx-media-config-codec-sub{display:block;font-size:.78rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-status-badge{display:inline-flex;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.pbx-media-config-status-badge--available{background:#05966924;color:#047857}.pbx-media-config-status-badge--unavailable,.pbx-media-config-status-badge--unknown{background:#64748b29;color:#64748b}.pbx-media-config-status-badge--license{background:#d9770624;color:#b45309}.pbx-media-config-priority-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.pbx-media-config-priority-list li{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;padding:.55rem .65rem;border-radius:.55rem;background:#0f172a73}.pbx-media-config-priority-rank{width:1.75rem;height:1.75rem;border-radius:999px;display:grid;place-items:center;background:#5eead429;color:var(--pbx-audio-accent, #5eead4);font-weight:700}.pbx-media-config-priority-copy span{display:block;font-size:.78rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-priority-actions{display:inline-flex;gap:.25rem}.pbx-media-config-yesno{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.65rem 0;border-bottom:1px solid rgba(148,163,184,.08)}.pbx-media-config-yesno:last-child{border-bottom:none}.pbx-media-config-field-label{font-weight:600}.pbx-media-config-field-desc{display:block;margin-top:.15rem;font-size:.82rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-yesno-buttons{display:inline-flex;gap:.35rem}.pbx-media-config-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem}.pbx-media-config-field-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-media-config-field{display:grid;gap:.35rem}.pbx-media-config-field input{width:100%;padding:.5rem .65rem;border-radius:.45rem;border:1px solid var(--pbx-audio-border, #334155);background:var(--pbx-audio-surface, #1c232b);color:var(--pbx-audio-text, #e2e8f0)}.pbx-media-config-recommend-box{padding:.85rem;border-radius:.65rem;border:1px solid rgba(59,130,246,.22);background:#3b82f60f}.pbx-media-config-recommend-box h4{margin:0 0 .5rem}.pbx-media-config-recommend-box ul{margin:0 0 .65rem;padding:0;list-style:none;display:grid;gap:.35rem}.pbx-media-config-recommend-box li{display:flex;justify-content:space-between;gap:.5rem;font-size:.88rem}.pbx-media-config-callout{padding:.75rem .85rem;border-radius:.65rem;font-size:.88rem}.pbx-media-config-callout strong{display:block;margin-bottom:.25rem}.pbx-media-config-callout--info{background:#3b82f614;border:1px solid rgba(59,130,246,.18);color:#bfdbfe}.pbx-media-config-callout--warning{background:#d977061a;border:1px solid rgba(217,119,6,.22);color:#fde68a}.pbx-media-config-radio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.55rem}.pbx-media-config-radio-card{display:grid;gap:.2rem;padding:.7rem;border-radius:.6rem;border:1px solid rgba(148,163,184,.16);background:#0f172a59;text-align:left;cursor:pointer;color:inherit}.pbx-media-config-radio-card.active{border-color:#5eead473;background:#5eead414}.pbx-media-config-radio-title{font-weight:700}.pbx-media-config-radio-desc{font-size:.78rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-binary-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.pbx-media-config-binary-option{display:grid;gap:.2rem;padding:.75rem;border-radius:.65rem;border:1px solid rgba(148,163,184,.16);background:#0f172a59;text-align:left;cursor:pointer;color:inherit}.pbx-media-config-binary-option.active{border-color:#5eead473}.pbx-media-config-binary-option span{font-size:.8rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-toggle{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.65rem 0}.pbx-media-config-toggle-label{display:block;font-weight:600}.pbx-media-config-toggle-desc{display:block;margin-top:.15rem;font-size:.82rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-toggle-control{position:relative;width:2.75rem;height:1.5rem;flex-shrink:0}.pbx-media-config-toggle-control input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.pbx-media-config-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#475569;transition:background .15s ease}.pbx-media-config-toggle-track:after{content:"";position:absolute;top:.15rem;left:.15rem;width:1.2rem;height:1.2rem;border-radius:999px;background:#f8fafc;transition:transform .15s ease}.pbx-media-config-toggle-control input:checked+.pbx-media-config-toggle-track{background:#14b8a6}.pbx-media-config-toggle-control input:checked+.pbx-media-config-toggle-track:after{transform:translate(1.25rem)}.pbx-media-config-subpanel{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(148,163,184,.1)}.pbx-media-config-future-note{margin:.65rem 0 0}.pbx-media-config-mode-placeholder{margin-top:.75rem}.pbx-media-config-mode-options{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}.pbx-media-config-mode-chip{padding:.25rem .55rem;border-radius:999px;font-size:.78rem;background:#64748b29;color:#94a3b8}.pbx-media-config-webrtc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.55rem}.pbx-media-config-webrtc-card{display:grid;gap:.35rem;padding:.65rem;border-radius:.55rem;border:1px dashed rgba(148,163,184,.22);background:#0f172a40;text-align:center}.pbx-media-config-webrtc-badge{font-size:.72rem;color:#64748b}.pbx-media-config-preview-panel{position:sticky;top:1rem;display:grid;gap:.75rem;padding:1rem;border-radius:.85rem;border:1px solid rgba(94,234,212,.14);background:#0f172a8c;max-height:calc(100vh - 6rem);overflow:auto}.pbx-media-config-preview-head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.pbx-media-config-preview-head h2{margin:0 0 .2rem;font-size:1.05rem}.pbx-media-config-preview-empty{padding:1rem;border-radius:.65rem;border:1px dashed rgba(148,163,184,.22);color:var(--pbx-audio-text-muted, #94a3b8);font-size:.88rem}.pbx-media-config-preview-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.pbx-media-config-preview-body{display:grid;gap:.5rem}.pbx-media-config-preview-validation{margin:0;padding-left:1rem;display:grid;gap:.35rem;font-size:.82rem}.pbx-media-config-validation-details{margin:.75rem 0 0;padding:.65rem .75rem;border:1px solid rgba(148,163,184,.25);border-radius:.5rem;background:#0f172a59}.pbx-media-config-validation-details summary{cursor:pointer;font-weight:600}.pbx-media-config-validation-group{margin-top:.65rem}.pbx-media-config-validation-group code{font-size:.75rem;opacity:.85}.pbx-media-config-preview-validation .is-error{color:#fca5a5}.pbx-media-config-preview-validation .is-warning{color:#fcd34d}.pbx-media-config-preview-validation .is-info{color:#93c5fd}.pbx-media-config-preview-note{padding:.55rem .65rem;border-radius:.45rem;font-size:.82rem}.pbx-media-config-preview-note--ok{background:#0596691f;color:#6ee7b7}.pbx-media-config-diff{max-height:16rem}@media(max-width:1100px){.pbx-media-config-layout{grid-template-columns:1fr}.pbx-media-config-preview-panel{position:static;max-height:none}.pbx-media-config-two-col{grid-template-columns:1fr}}.pbx-media-config-workflow{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.75rem 1rem;border-radius:.75rem;border:1px solid rgba(94,234,212,.12);background:#0f172a73;overflow-x:auto}.pbx-media-config-workflow-item-wrap{display:flex;align-items:center;gap:.35rem}.pbx-media-config-workflow-arrow{width:1rem;height:1px;background:#94a3b859}.pbx-media-config-workflow-item{display:grid;gap:.1rem;padding:.45rem .65rem;border-radius:.55rem;border:1px solid rgba(148,163,184,.14);min-width:7.5rem}.pbx-media-config-workflow-item.is-active{border-color:#5eead473;background:#5eead414}.pbx-media-config-workflow-item.is-warn{border-color:#d9770659;background:#d9770614}.pbx-media-config-workflow-item.is-error{border-color:#ef444459;background:#ef444414}.pbx-audio-soft-note{margin:0;padding:.65rem .85rem;border-radius:.55rem;border:1px solid rgba(148,163,184,.18);background:#94a3b80f}.pbx-audio-policy-apply-btn.is-synced{opacity:.85;cursor:default}.pbx-media-config-workflow-item.is-success{border-color:#22c55e73;background:#22c55e1a}.pbx-media-config-workflow-item.is-success .pbx-media-config-workflow-dot{background:#22c55ef2;box-shadow:0 0 0 3px #22c55e2e}.pbx-media-config-workflow-item.is-disabled,.pbx-media-config-workflow-item.is-pending{opacity:.55}.pbx-media-config-workflow-label{font-size:.78rem;font-weight:700}.pbx-media-config-workflow-detail{font-size:.72rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-health-card{padding:1rem;border-radius:.75rem;border:1px solid rgba(94,234,212,.12);background:#1c232b8c}.pbx-media-config-health-head{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.pbx-media-config-health-head h3{margin:0 0 .2rem;font-size:1rem}.pbx-media-config-health-overall{display:grid;justify-items:end;padding:.45rem .65rem;border-radius:.55rem}.pbx-media-config-health-overall.is-ok{background:#05966924;color:#6ee7b7}.pbx-media-config-health-overall.is-warn{background:#d9770624;color:#fcd34d}.pbx-media-config-health-overall.is-bad{background:#ef444424;color:#fca5a5}.pbx-media-config-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem}.pbx-media-config-health-item{display:grid;gap:.25rem;padding:.55rem;border-radius:.5rem;background:#0f172a59;font-size:.82rem}.pbx-media-config-health-bar{height:.35rem;border-radius:999px;background:#94a3b829;overflow:hidden}.pbx-media-config-health-bar span{display:block;height:100%;border-radius:inherit;background:var(--pbx-audio-accent, #5eead4)}.pbx-media-config-health-item.is-warn .pbx-media-config-health-bar span{background:#fbbf24}.pbx-media-config-health-item.is-bad .pbx-media-config-health-bar span{background:#f87171}.pbx-media-config-preview-levels{display:flex;flex-wrap:wrap;gap:.35rem}.pbx-media-config-summary{display:grid;gap:.65rem;font-size:.86rem}.pbx-media-config-summary h3{margin:0;font-size:.95rem}.pbx-media-config-summary-block{padding:.55rem .65rem;border-radius:.5rem;background:#0f172a59}.pbx-media-config-summary-block h4{margin:0 0 .35rem;font-size:.82rem;color:var(--pbx-audio-accent, #5eead4)}.pbx-media-config-summary-row{display:flex;justify-content:space-between;gap:.5rem;padding:.15rem 0}.pbx-media-config-summary-list{margin:.25rem 0 0;padding-left:1rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-preview-hint{font-size:.8rem;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-diff-readable{max-height:18rem;color:#cbd5e1}.pbx-media-config-scope-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem}.pbx-media-config-scope-overview-item{padding:.55rem .65rem;border-radius:.5rem;background:#0f172a59;font-size:.82rem}.pbx-media-config-scope-overview-item span{display:block;color:var(--pbx-audio-text-muted, #94a3b8)}.pbx-media-config-cheapnet-order{padding:.85rem;border-radius:.65rem;border:1px solid rgba(217,119,6,.22);background:#d977060f}.pbx-media-config-cheapnet-order h4{margin:0 0 .45rem}.pbx-media-config-cheapnet-order ol{margin:0 0 .65rem;padding-left:1.1rem}.pbx-media-config-cheapnet-ok{margin:0;color:#6ee7b7;font-size:.84rem}.pbx-media-config-recommend-box--match li.is-match{color:#6ee7b7}.pbx-media-config-recommend-box--match li.is-mismatch{color:#fcd34d}.pbx-media-config-recommend-media{padding:.85rem;border-radius:.65rem;border:1px solid rgba(59,130,246,.22);background:#3b82f60f}.pbx-media-config-recommend-media h4{margin:0 0 .55rem}.pbx-media-config-recommend-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.65rem}.pbx-media-config-recommend-media-group ul{margin:.35rem 0 0;padding:0;list-style:none;display:grid;gap:.25rem;font-size:.82rem}.pbx-media-config-recommend-media-group li{display:flex;justify-content:space-between;gap:.35rem}.pbx-media-config-recommend-media-group li.is-match{color:#6ee7b7}.pbx-media-config-recommend-media-group li.is-mismatch{color:#fcd34d}.pbx-media-config-recommend-media-group li.is-future{color:#94a3b8}.pbx-media-config-encryption-status{padding:.85rem;border-radius:.65rem;border:1px solid rgba(94,234,212,.18);background:#0f172a73}.pbx-media-config-encryption-overview{padding:1rem;border-radius:.65rem;border:1px solid rgba(94,234,212,.22);background:#0f172a80}.pbx-media-config-encryption-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.pbx-media-config-encryption-overview-head h3{margin:0 0 .2rem}.pbx-media-config-encryption-mode-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.pbx-media-config-encryption-mode-badge.is-active{background:#22c55e26;color:#4ade80}.pbx-media-config-encryption-mode-badge.is-muted{background:#94a3b826;color:#94a3b8}.pbx-media-config-encryption-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.75rem}.pbx-media-config-encryption-overview-item strong.is-ok{color:#4ade80}.pbx-media-config-encryption-overview-item strong.is-pending{color:#fcd34d}.pbx-media-config-encryption-runtime-hint{margin:.75rem 0 0;font-size:.82rem}.pbx-media-config-advanced-toggle{margin:.35rem 0 .15rem}.pbx-media-config-encryption-raw-data,.pbx-media-config-encryption-diagnostics{margin-top:.65rem}.pbx-media-config-encryption-raw-data pre,.pbx-media-config-encryption-diagnostics pre{max-height:18rem;overflow:auto;font-size:.75rem}.pbx-media-config-encryption-status h4{margin:0 0 .55rem}.pbx-media-config-encryption-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.65rem}.pbx-media-config-encryption-status-label{display:block;font-size:.78rem;color:var(--pbx-audio-text-muted, #94a3b8);margin-bottom:.15rem}.pbx-media-config-cert-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem}.pbx-media-config-cert-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.pbx-media-config-cert-badge--ok{background:#22c55e26;color:#4ade80}.pbx-media-config-cert-badge--warning{background:#fbbf2426;color:#fbbf24}.pbx-media-config-cert-badge--missing,.pbx-media-config-cert-badge--error{background:#f8717126;color:#f87171}.pbx-media-config-cert-badge--unknown{background:#94a3b826;color:#94a3b8}.pbx-media-config-cert-badge--neutral{background:#94a3b81f;color:#cbd5e1}.pbx-cert-panel .pbx-media-config-section-head h3{margin-bottom:.2rem}.pbx-cert-header{margin-bottom:1rem}.pbx-cert-header-badges{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.pbx-cert-sections{display:grid;gap:1rem;margin-bottom:1rem}.pbx-cert-section h4{margin:0 0 .65rem;font-size:.92rem;color:var(--pbx-audio-accent)}.pbx-cert-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem}.pbx-cert-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.pbx-cert-field--wide{grid-column:span 1}.pbx-cert-field--full{grid-column:1 / -1}.pbx-cert-field-label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--pbx-audio-text-muted)}.pbx-cert-field-value{display:block;color:var(--pbx-audio-text)}.pbx-cert-field-value strong{font-weight:600;line-height:1.45}.pbx-cert-san-list{margin:0;padding:.65rem .85rem;list-style:none;border-radius:.55rem;border:1px solid var(--pbx-audio-border);background:#0f172a59;display:grid;gap:.35rem}.pbx-cert-san-list li{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;color:#e2e8f0}.pbx-cert-fingerprint{display:block;max-width:100%;padding:.7rem .85rem;border-radius:.55rem;border:1px solid var(--pbx-audio-border);background:#0f172a73;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.55;word-break:break-all;white-space:pre-wrap;color:#cbd5e1}.pbx-cert-path{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;word-break:break-all;color:#cbd5e1}.pbx-cert-section--actions{margin-top:.25rem;padding-top:.85rem;border-top:1px solid var(--pbx-audio-border)}.pbx-cert-actions{display:grid;gap:.85rem}.pbx-cert-action-group{padding:.85rem .95rem;border-radius:.65rem;border:1px solid var(--pbx-audio-border);background:var(--pbx-audio-surface)}.pbx-cert-action-group--danger{border-color:#f8717140;background:#7f1d1d14}.pbx-cert-action-group-head strong{display:block;margin-bottom:.2rem}.pbx-cert-action-group-head p{margin:0 0 .65rem;font-size:.82rem}.pbx-cert-action-group-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.pbx-btn-danger-outline{border:1px solid rgba(248,113,113,.45);background:transparent;color:#fca5a5}.pbx-btn-danger-outline:hover:not(:disabled){background:#f871711f}.pbx-media-config-cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;margin-bottom:.75rem}.pbx-media-config-cert-path{display:block;font-size:.78rem;word-break:break-all}.pbx-media-config-cert-errors{display:grid;gap:.5rem;margin-bottom:.75rem}.pbx-media-config-cert-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pbx-media-config-tls-preview{margin:.75rem 0}.pbx-media-config-diff-block{max-height:14rem;overflow:auto;padding:.65rem;border-radius:.5rem;background:#0f172aa6;font-size:.78rem;white-space:pre-wrap}.pbx-provisioning-header-card{border:1px solid rgba(94,234,212,.22);background:linear-gradient(135deg,#0f766e1f,#1c232bf2 55%)}.pbx-provisioning-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.pbx-provisioning-header h2{margin:0 0 .35rem}.pbx-provisioning-lead{margin:0;max-width:42rem;color:var(--pbx-audio-text)}.pbx-provisioning-header-badges{display:flex;flex-wrap:wrap;gap:.45rem;align-content:flex-start}.pbx-provisioning-overview-grid,.pbx-provisioning-override-grid,.pbx-provisioning-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem}.pbx-provisioning-overview-item,.pbx-provisioning-override-stat,.pbx-provisioning-status-item{display:flex;flex-direction:column;gap:.2rem;padding:.85rem .95rem;border-radius:.65rem;border:1px solid var(--pbx-audio-border);background:var(--pbx-audio-surface)}.pbx-provisioning-overview-item span,.pbx-provisioning-override-stat span,.pbx-provisioning-status-item span{font-size:.78rem;color:var(--pbx-audio-text-muted)}.pbx-provisioning-overview-item strong,.pbx-provisioning-override-stat strong{font-size:1.15rem;color:var(--pbx-audio-accent)}.pbx-provisioning-vendor-table code.pbx-provisioning-renderer{font-size:.74rem;color:#cbd5e1;word-break:break-word}.pbx-provisioning-check{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#22c55e26;color:#4ade80;font-weight:700;font-size:.82rem}.pbx-provisioning-override-label{font-size:.82rem;color:var(--pbx-audio-text)}.pbx-provisioning-validation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;margin-top:.85rem}.pbx-provisioning-validation-item{padding:.85rem;border-radius:.65rem;border:1px solid var(--pbx-audio-border);background:var(--pbx-audio-surface)}.pbx-provisioning-validation-item header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.pbx-provisioning-validation-checks{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.pbx-provisioning-validation-checks li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem;color:var(--pbx-audio-text-muted)}.pbx-provisioning-status-card{border:1px solid rgba(34,197,94,.22)}.pbx-provisioning-status-item{align-items:flex-start}.pbx-media-engine-panel{display:flex;flex-direction:column;gap:1rem}.pbx-media-engine-header-card,.pbx-media-engine-overview-card,.pbx-media-engine-validation-card,.pbx-media-engine-future-card{margin:0}.pbx-media-engine-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1rem}.pbx-media-engine-header h2{margin:.25rem 0 .5rem}.pbx-media-engine-lead{max-width:46rem;margin:0}.pbx-media-engine-header-badges,.pbx-media-engine-header-meta{display:flex;flex-wrap:wrap;gap:.5rem}.pbx-media-engine-header-meta{padding-top:.75rem;border-top:1px solid var(--pbx-border, rgba(148, 163, 184, .25))}.pbx-media-engine-header-meta-item{display:flex;flex-direction:column;gap:.15rem;min-width:8rem;padding:.5rem .75rem;border-radius:.5rem;background:#94a3b814}.pbx-media-engine-header-meta-item span{font-size:.75rem;color:var(--pbx-muted, #94a3b8)}.pbx-media-engine-overview-grid,.pbx-media-engine-validation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem}.pbx-media-engine-overview-item,.pbx-media-engine-validation-item{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;border-radius:.65rem;border:1px solid var(--pbx-border, rgba(148, 163, 184, .25));background:#0f172a59}.pbx-media-engine-overview-item span,.pbx-media-engine-validation-item header span{font-size:.78rem;color:var(--pbx-muted, #94a3b8)}.pbx-media-engine-validation-item header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pbx-media-engine-dtmf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem}.pbx-media-engine-dtmf-card{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem;border-radius:.65rem;border:1px solid var(--pbx-border, rgba(148, 163, 184, .25));background:#0f172a59;text-align:left;cursor:pointer}.pbx-media-engine-dtmf-card.active{border-color:#22c55e8c;box-shadow:inset 0 0 0 1px #22c55e40}.pbx-media-engine-dtmf-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pbx-media-engine-dtmf-meta{display:flex;flex-wrap:wrap;gap:.35rem}.pbx-media-engine-tag,.pbx-media-engine-policy-badge,.pbx-media-engine-planned-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600}.pbx-media-engine-tag{background:#94a3b826;color:var(--pbx-muted, #cbd5e1)}.pbx-media-engine-tag--ok{background:#22c55e26;color:#86efac}.pbx-media-engine-policy-badge{background:#3b82f62e;color:#93c5fd}.pbx-media-engine-planned-badge{background:#a855f72e;color:#d8b4fe}.pbx-media-engine-routing-card{padding:1rem 1.1rem;border-radius:.65rem;border:1px solid var(--pbx-border, rgba(148, 163, 184, .25));background:#0f172a59;margin-bottom:.85rem}.pbx-media-engine-routing-card.is-anchored{border-color:#22c55e59}.pbx-media-engine-routing-card.is-direct{border-color:#f59e0b59}.pbx-media-engine-routing-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.pbx-media-engine-routing-card h4{margin:.15rem 0 0}.pbx-media-engine-future-list{display:grid;gap:.75rem}.pbx-media-engine-future-item{padding:.85rem 1rem;border-radius:.65rem;border:1px dashed rgba(168,85,247,.35);background:#a855f70f}.pbx-media-engine-future-item header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.pbx-media-config-summary-list--info{opacity:.85;font-size:.92rem}.pbx-cert-active-card{padding:1rem 1.1rem;border-radius:.65rem;border:1px solid var(--pbx-border, rgba(148, 163, 184, .25));background:#0f172a59;margin-bottom:1rem}.pbx-cert-active-card--ok{border-color:#22c55e59}.pbx-cert-active-card--internal{border-color:#3b82f659}.pbx-cert-active-card--error{border-color:#ef444459}.pbx-cert-active-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.pbx-cert-active-card-kicker{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pbx-muted, #94a3b8)}.pbx-cert-active-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.pbx-cert-active-badge--ok{background:#22c55e26;color:#86efac}.pbx-cert-active-badge--internal{background:#3b82f62e;color:#93c5fd}.pbx-cert-active-badge--error{background:#ef444426;color:#fca5a5}.pbx-cert-active-badge--muted{background:#94a3b826;color:var(--pbx-muted, #cbd5e1)}.pbx-cert-active-dot{width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.pbx-cert-active-card-meta p{margin:.25rem 0}.pbx-cert-diagnostics{margin-top:1rem;padding:1rem 1.1rem;border-radius:.65rem;border:1px solid var(--pbx-border, rgba(148, 163, 184, .25));background:#0f172a40}.pbx-cert-diagnostics-head h3{margin:0 0 .25rem}.pbx-cert-diagnostics-grid{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.pbx-cert-diagnostic-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.pbx-cert-diagnostic-badge--ok{background:#22c55e26;color:#86efac}.pbx-cert-diagnostic-badge--error{background:#ef444426;color:#fca5a5}.pbx-cert-diagnostic-badge--muted{background:#94a3b826;color:var(--pbx-muted, #cbd5e1)}.pbx-cert-diagnostics-warning{margin:.75rem 0 0;color:#fcd34d;font-size:.9rem}.pbx-cert-source-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:1rem 0}.pbx-cert-source-fields label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.pbx-cert-action-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.pbx-cert-switch-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#020617b8}.pbx-cert-switch-dialog{width:min(100%,420px);padding:1.25rem 1.35rem;border-radius:.75rem;border:1px solid var(--pbx-border, rgba(148, 163, 184, .25));background:var(--pbx-panel, #0f172a);box-shadow:0 18px 48px #00000059}.pbx-cert-switch-dialog h3{margin:0 0 .5rem}.pbx-cert-switch-dialog-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.pbx-softphone-page{--softphone-accent: #38bdf8;--softphone-ok: #34d399;--softphone-warn: #fbbf24;--softphone-error: #f87171}.pbx-softphone-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem;align-items:start}.pbx-softphone-stack{display:grid;gap:1rem}@media(max-width:1100px){.pbx-softphone-grid{grid-template-columns:1fr}}.pbx-softphone-form-grid{display:grid;gap:.75rem}.pbx-softphone-form-grid label{display:grid;gap:.35rem;font-size:.82rem;color:var(--pbx-muted, #94a3b8)}.pbx-softphone-form-grid input{width:100%;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:#0f172aa6;color:#e2e8f0;padding:.55rem .7rem;font:inherit}.pbx-softphone-form-grid input:focus{outline:2px solid rgba(56,189,248,.35);border-color:#38bdf88c}.pbx-softphone-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pbx-softphone-actions button{display:inline-flex;align-items:center;gap:.35rem}.pbx-softphone-call-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.pbx-softphone-call-row input{min-width:120px;flex:1 1 140px;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:#0f172aa6;color:#e2e8f0;padding:.55rem .7rem;font:inherit}.pbx-softphone-diagnostics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.pbx-softphone-diag-item{border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:.65rem .75rem;background:#0f172a73}.pbx-softphone-diag-item span{display:block;font-size:.72rem;color:#94a3b8;margin-bottom:.2rem}.pbx-softphone-diag-item strong{font-size:.92rem;color:#e2e8f0;word-break:break-word}.pbx-softphone-diag-item.ok strong{color:var(--softphone-ok)}.pbx-softphone-diag-item.warn strong{color:var(--softphone-warn)}.pbx-softphone-diag-item.error strong{color:var(--softphone-error)}.pbx-softphone-log{max-height:320px;overflow:auto;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#0206178c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45}.pbx-softphone-log-entry{display:grid;grid-template-columns:72px 72px 1fr;gap:.5rem;padding:.35rem .65rem;border-bottom:1px solid rgba(148,163,184,.08)}.pbx-softphone-log-entry:last-child{border-bottom:none}.pbx-softphone-log-time{color:#64748b}.pbx-softphone-log-level{text-transform:uppercase;font-weight:600}.pbx-softphone-log-level.info{color:#38bdf8}.pbx-softphone-log-level.success{color:#34d399}.pbx-softphone-log-level.warn{color:#fbbf24}.pbx-softphone-log-level.error{color:#f87171}.pbx-softphone-log-message{color:#cbd5e1;white-space:pre-wrap;word-break:break-word}.pbx-softphone-audio-panel{display:grid;gap:.5rem}.pbx-softphone-audio-panel audio{width:100%}.pbx-softphone-note{margin:0;font-size:.82rem;color:#94a3b8}.pbx-softphone-banner{border-radius:12px;padding:.75rem .9rem;border:1px solid rgba(56,189,248,.25);background:#38bdf814;color:#bae6fd;font-size:.86rem}.pbx-softphone-banner strong{color:#e0f2fe}.pbx-softphone-notice{border-radius:12px;padding:.75rem .9rem;border:1px solid rgba(251,191,36,.28);background:#fbbf2414;color:#fde68a;font-size:.86rem;line-height:1.45;margin-bottom:1rem}.pbx-softphone-field-help{display:block;margin-top:.35rem;font-size:.78rem;color:#94a3b8;line-height:1.4}.pbx-softphone-manual-call-label{display:block;margin-bottom:.35rem;font-size:.82rem;color:var(--pbx-muted, #94a3b8)}.pbx-softphone-header-badges{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.pbx-softphone-presence-badge{border-radius:999px;padding:.35rem .85rem;font-size:.82rem;font-weight:600;border:1px solid rgba(148,163,184,.25);background:#0f172a8c;color:#94a3b8}.pbx-softphone-presence-badge.online{border-color:#34d39959;background:#34d3991f;color:var(--softphone-ok)}.pbx-softphone-presence-badge.offline{border-color:#94a3b840;background:#0f172a8c;color:#94a3b8}.pbx-softphone-presence-badge.call{border-color:#38bdf859;background:#38bdf81f;color:#7dd3fc}.pbx-softphone-settings,.pbx-softphone-advanced{overflow:hidden}.pbx-softphone-settings-summary,.pbx-softphone-advanced-summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.pbx-softphone-settings-summary::-webkit-details-marker,.pbx-softphone-advanced-summary::-webkit-details-marker{display:none}.pbx-softphone-settings-chevron{color:#94a3b8;transition:transform .2s ease}.pbx-softphone-settings[open] .pbx-softphone-settings-chevron,.pbx-softphone-advanced[open] .pbx-softphone-settings-chevron{transform:rotate(180deg)}.pbx-softphone-primary-status{border-radius:999px;padding:.35rem .85rem;font-size:.82rem;font-weight:600;border:1px solid rgba(148,163,184,.25);background:#0f172a8c;color:#cbd5e1}.pbx-softphone-primary-status.ok{border-color:#34d39959;background:#34d3991f;color:var(--softphone-ok)}.pbx-softphone-primary-status.warn{border-color:#fbbf2459;background:#fbbf241f;color:var(--softphone-warn)}.pbx-softphone-primary-status.error{border-color:#f8717159;background:#f871711f;color:var(--softphone-error)}.pbx-softphone-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem}.pbx-softphone-health-item{border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:.65rem .75rem;background:#0f172a73}.pbx-softphone-health-item span{display:block;font-size:.72rem;color:#94a3b8;margin-bottom:.2rem}.pbx-softphone-health-item strong{font-size:.92rem}.pbx-softphone-health-item.ok strong{color:var(--softphone-ok)}.pbx-softphone-health-item.error strong{color:var(--softphone-error)}.pbx-softphone-health-message{margin:.35rem 0 0;font-size:.75rem;color:#fca5a5}.pbx-softphone-log-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.pbx-softphone-media-ok{color:var(--softphone-ok)}.pbx-softphone-media-warn{color:var(--softphone-warn)}.pbx-softphone-media-error{color:var(--softphone-error)}.pbx-softphone-assigned-badge{margin-bottom:.75rem}.pbx-softphone-ringtone-warning{margin-top:.75rem}.pbx-softphone-ringing-indicator{display:inline-flex;align-items:center;gap:.45rem;margin:.75rem 0 0;padding:.45rem .7rem;border-radius:999px;background:#38bdf81f;border:1px solid rgba(56,189,248,.35);color:#bae6fd;font-size:.86rem}.pbx-softphone-ringing-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--softphone-accent);box-shadow:0 0 #38bdf88c;animation:pbx-softphone-ring-pulse 1.2s ease-in-out infinite}@keyframes pbx-softphone-ring-pulse{0%{box-shadow:0 0 #38bdf88c;opacity:1}70%{box-shadow:0 0 0 .45rem #38bdf800;opacity:.55}to{box-shadow:0 0 #38bdf800;opacity:1}}.sysbak-page .spin{animation:sysbak-spin .9s linear infinite}@keyframes sysbak-spin{to{transform:rotate(360deg)}}.sysbak-header .pbx-page-subtitle{max-width:42rem}.sysbak-header-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.sysbak-meta-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .65rem;border-radius:999px;border:1px solid rgba(45,212,191,.35);background:#2dd4bf1a;color:#5eead4;font-size:.75rem;font-weight:600;letter-spacing:.02em}.sysbak-kpi-grid,.sysbak-card{margin-bottom:1rem}.sysbak-card .pbx-card-title h2{margin:0;font-size:1.05rem}.sysbak-muted{color:#e2e8f0a6;margin:0}.sysbak-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.sysbak-create-group{min-width:0;padding:.85rem;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:#0f172a59}.sysbak-create-group__title{margin:0 0 .75rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8f2}.sysbak-option-list{display:flex;flex-direction:column;gap:.45rem}.sysbak-option-row{display:grid;grid-template-columns:auto auto 1fr;align-items:start;gap:.55rem .65rem;padding:.55rem .6rem;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sysbak-option-row:hover{background:#2dd4bf0f;border-color:#2dd4bf2e}.sysbak-option-row.is-checked{background:#2dd4bf14;border-color:#2dd4bf47}.sysbak-option-row.is-disabled{opacity:.55;cursor:not-allowed}.sysbak-option-row__control{position:relative;width:2.2rem;height:1.2rem;margin-top:.15rem;flex-shrink:0}.sysbak-option-row__input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:inherit;z-index:1}.sysbak-option-row__switch{display:block;width:2.2rem;height:1.2rem;border-radius:999px;background:#475569e6;border:1px solid rgba(148,163,184,.35);position:relative}.sysbak-option-row__switch:after{content:"";position:absolute;top:2px;left:2px;width:.85rem;height:.85rem;border-radius:50%;background:#e2e8f0;transition:transform .15s ease,background .15s ease}.sysbak-option-row.is-checked .sysbak-option-row__switch{background:#0d9488f2;border-color:#2dd4bf8c}.sysbak-option-row.is-checked .sysbak-option-row__switch:after{transform:translate(1rem);background:#ecfeff}.sysbak-option-row__icon{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;margin-top:.05rem;border-radius:8px;color:#5eead4;background:#2dd4bf1a;border:1px solid rgba(45,212,191,.2)}.sysbak-option-row__text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.sysbak-option-row__title{font-size:.9rem;font-weight:600;color:#f8fafc}.sysbak-option-row__desc{font-size:.78rem;line-height:1.35;color:#cbd5e1c7}.sysbak-field{display:flex;flex-direction:column;gap:.35rem;margin-top:.85rem}.sysbak-field>span:first-child{font-size:.8rem;font-weight:600;color:#cbd5e1e6}.sysbak-field input{width:100%;border-radius:10px;border:1px solid rgba(148,163,184,.28);background:#02061773;color:#f8fafc;padding:.6rem .75rem}.sysbak-estimate{margin-top:.9rem;padding:.7rem .75rem;border-radius:10px;border:1px solid rgba(148,163,184,.22);background:#02061759}.sysbak-estimate__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8f2}.sysbak-estimate__value{margin-top:.25rem;font-size:1.05rem;font-weight:700;color:#5eead4}.sysbak-estimate__warn,.sysbak-estimate__warnings{margin:.45rem 0 0;color:#fbbf24;font-size:.8rem}.sysbak-estimate__warnings{padding-left:1.1rem}.sysbak-password-card{width:100%}.sysbak-password-warning{padding:.75rem .85rem;border-radius:10px;border:1px solid rgba(251,191,36,.4);background:#fbbf2414;color:#fde68a;margin-bottom:.9rem}.sysbak-password-warning strong{display:block;margin-bottom:.35rem;color:#fef3c7}.sysbak-password-warning p{margin:0;font-size:.85rem;line-height:1.4;color:#fef3c7e0}.sysbak-password-form{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}.sysbak-password-form .sysbak-field{margin-top:0}.sysbak-password-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.sysbak-create-btn{min-width:14rem}.sysbak-password-length-hint{font-size:.78rem;color:#94a3b8f2}.sysbak-password-length-hint.tone-warning{color:#fbbf24}.sysbak-password-length-hint.tone-ok{color:#34d399}.sysbak-strength{font-size:.78rem}.sysbak-strength.tone-danger{color:#f87171}.sysbak-strength.tone-warning{color:#fbbf24}.sysbak-page .danger-button{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(244,63,94,.55);background:#f43f5e29;color:#fecdd3;border-radius:10px;padding:.55rem .9rem;cursor:pointer}.sysbak-page .danger-button:hover:not(:disabled){background:#f43f5e47}.sysbak-page .danger-button:disabled{opacity:.5;cursor:not-allowed}.sysbak-strength.tone-ok{color:#34d399}.sysbak-progress-card{border-color:#2dd4bf59}.sysbak-progress-body{display:flex;align-items:center;gap:.9rem}.sysbak-progress-title{margin:0;font-size:1rem}.sysbak-progress-status{margin:.2rem 0 0;color:#5eead4;font-weight:600}.sysbak-progress-id{margin:.25rem 0 0;font-size:.85rem;color:#cbd5e1cc}.system-backups-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.system-backups-grid{width:100%;min-width:72rem;display:flex;flex-direction:column;gap:0}.system-backups-row{display:grid;align-items:center;column-gap:.75rem;row-gap:.15rem;padding:.7rem .55rem;border-bottom:1px solid rgba(148,163,184,.14);min-width:0}.system-backups-row--head{border-bottom:1px solid rgba(148,163,184,.28);padding-top:.35rem;padding-bottom:.55rem}.system-backups-row--head .system-backups-cell{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8f2}.system-backups-cell{min-width:0;overflow:hidden}.system-backups-col-date,.system-backups-date{white-space:nowrap}.system-backups-col-status{display:flex;align-items:center;justify-content:flex-start}.system-backups-col-size{white-space:nowrap}.system-backups-col-protection{display:flex;align-items:center;justify-content:center}.system-backups-col-actions{display:flex;align-items:center;justify-content:flex-end;overflow:visible}.system-backups-verify-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;padding:.75rem .9rem;border-radius:10px;font-size:.9rem;line-height:1.4}.system-backups-verify-banner--success{border:1px solid rgba(52,211,153,.4);background:#10b9811f;color:#a7f3d0}.system-backups-verify-banner--danger{border:1px solid rgba(244,63,94,.4);background:#f43f5e1f;color:#fecdd3}.system-backups-verify-banner__close{flex-shrink:0;border:0;background:transparent;color:inherit;cursor:pointer;font-size:.8rem;text-decoration:underline;opacity:.85}.system-backups-verify-meta{margin-top:.25rem;font-size:.7rem;color:#94a3b8e6;white-space:normal;line-height:1.3}.system-backups-id,.system-backups-sha__value{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.system-backups-sha{display:flex;align-items:center;gap:.35rem;min-width:0;width:100%}.system-backups-sha__value{flex:1 1 auto;min-width:0}.system-backups-sha__copy{flex-shrink:0;width:1.75rem;height:1.75rem;padding:0}.system-backups-components{min-width:0;max-width:100%}.system-backups-components .sysbak-chip-row{flex-wrap:nowrap;overflow:hidden}.system-backups-protection{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap;flex-shrink:0}.system-backups-protection--on{color:#6ee7b7;border:1px solid rgba(52,211,153,.45);background:#10b98124}.system-backups-protection--off{color:#cbd5e1;border:1px solid rgba(148,163,184,.35);background:#33415559}.system-backups-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.35rem;flex-shrink:0;width:100%}.system-backups-action-button{flex:0 0 2.1rem;width:2.1rem;height:2.1rem;padding:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.system-backups-action-button:focus-visible{outline:2px solid rgba(45,212,191,.75);outline-offset:2px}.system-backups-action-button--download{border-color:#2dd4bf73;background:#2dd4bf1f;color:#5eead4}.system-backups-action-button--download:hover:not(:disabled){background:#2dd4bf38;color:#99f6e4}.system-backups-action-button--protected{border-color:#34d39973;color:#6ee7b7}.system-backups-actions-menu-wrap{position:relative;display:flex;justify-content:flex-end;width:100%}.system-backups-actions-trigger{white-space:nowrap;padding:.35rem .55rem;font-size:.78rem}.system-backups-actions-popover{right:0;left:auto;min-width:12rem}.sysbak-modal-progress{display:flex;align-items:center;gap:.55rem;margin-top:.75rem;color:#5eead4;font-weight:600}.sysbak-modal-result--ok{border-color:#34d39966;background:#10b9811f;color:#a7f3d0}.sysbak-modal-result--error{border-color:#f43f5e66;background:#f43f5e1f;color:#fecdd3}.sysbak-modal-hint{margin-top:.55rem}.sysbak-status-badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid rgba(148,163,184,.35);color:#e2e8f0;background:#33415573;white-space:nowrap}.sysbak-status-badge--ok{color:#6ee7b7;border-color:#34d39966;background:#10b9811f}.sysbak-status-badge--wait{color:#fde68a;border-color:#fbbf2466;background:#f59e0b1f}.sysbak-status-badge--danger{color:#fda4af;border-color:#f43f5e66;background:#f43f5e1f}.sysbak-chip-row{display:flex;flex-wrap:nowrap;gap:.28rem;min-width:0}.sysbak-chip{display:inline-flex;padding:.12rem .4rem;border-radius:999px;border:1px solid rgba(45,212,191,.25);background:#2dd4bf14;color:#99f6e4;font-size:.68rem;font-weight:600;max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.sysbak-chip--more{color:#cbd5e1;border-color:#94a3b84d;background:#47556959}.sysbak-row-actions{display:flex;flex-wrap:nowrap;gap:.3rem;justify-content:flex-end}.system-backups-mobile-list{display:flex;flex-direction:column;gap:.75rem}.system-backups-mobile-card{padding:.85rem;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#0f172a66}.system-backups-mobile-card__head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.system-backups-mobile-card__date{font-size:.8rem;color:#cbd5e1cc;margin-bottom:.2rem}.system-backups-mobile-card__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0 0}.system-backups-mobile-card__meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8e6}.system-backups-mobile-card__meta dd{margin:.15rem 0 0;font-size:.85rem}.system-backups-mobile-card__components{margin-top:.75rem}.system-backups-mobile-card__label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8e6;margin-bottom:.35rem}.system-backups-mobile-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.85rem}.system-backups-mobile-download,.system-backups-mobile-delete{grid-column:1 / -1;justify-content:center}.system-backups-mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:#020617b8}.system-backups-mobile-menu-panel{width:min(24rem,100%);border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#0f172afa;padding:.35rem;box-shadow:0 16px 32px #0006}.sysbak-mobile-list{display:flex;flex-direction:column;gap:.75rem}.sysbak-mobile-card{padding:.85rem;border-radius:12px;border:1px solid rgba(148,163,184,.2);background:#0f172a66}.sysbak-mobile-card__head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.sysbak-mobile-card__date{font-size:.8rem;color:#cbd5e1cc;margin-bottom:.2rem}.sysbak-mobile-card__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.75rem 0 0}.sysbak-mobile-card__meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8e6}.sysbak-mobile-card__meta dd{margin:.15rem 0 0;font-size:.85rem}.sysbak-mobile-card__components{margin-top:.75rem}.sysbak-mobile-card__label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8e6;margin-bottom:.35rem}.sysbak-mobile-card__actions{position:relative;margin-top:.85rem}.sysbak-action-menu{position:absolute;left:0;right:0;top:calc(100% + .35rem);z-index:4;border-radius:10px;border:1px solid rgba(148,163,184,.25);background:#0f172afa;box-shadow:0 12px 28px #02061773;padding:.35rem}.sysbak-action-menu__list{display:flex;flex-direction:column}.sysbak-action-menu__list button{text-align:left;border:0;background:transparent;color:#e2e8f0;padding:.55rem .65rem;border-radius:8px;cursor:pointer}.sysbak-action-menu__list button:hover:not(:disabled){background:#2dd4bf1a}.sysbak-action-menu__list button.danger{color:#fda4af}.sysbak-action-menu__list button:disabled{opacity:.45;cursor:not-allowed}.sysbak-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:#020617b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sysbak-modal{width:min(32rem,100%);border-radius:14px;border:1px solid rgba(148,163,184,.25);background:#0f172a;box-shadow:0 24px 48px #00000073;outline:none}.sysbak-modal__head,.sysbak-modal__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem}.sysbak-modal__head h3{margin:0 0 .3rem;font-size:1.05rem}.sysbak-modal__body{padding:0 1.1rem 1rem}.sysbak-modal--wide{width:min(920px,96vw)}.sysbak-modal--restore{width:min(1040px,96vw);max-height:88vh;display:flex;flex-direction:column}.sysbak-modal--restore-execute{width:min(820px,96vw);max-height:85vh}.sysbak-modal--restore .sysbak-modal__head{position:sticky;top:0;z-index:2;flex-shrink:0;background:#0f172a;border-bottom:1px solid rgba(148,163,184,.16)}.sysbak-modal--restore .sysbak-modal__body{overflow-y:auto;flex:1;min-height:0;padding:1rem 1.15rem}.sysbak-modal--restore .sysbak-modal__footer{position:sticky;bottom:0;z-index:2;flex-shrink:0;background:#0f172a}.sysbak-modal__footer--restore{flex-direction:column;align-items:stretch;gap:.65rem;padding-top:.85rem;padding-bottom:.95rem}.sysbak-modal__footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.sysbak-modal__footer-actions .primary-button,.sysbak-modal__footer-actions .secondary-button{min-height:2.4rem;padding-inline:1.1rem}.sysbak-modal__footer-note{margin:0;color:#94a3b8;font-size:.82rem;line-height:1.4;text-align:left}.sysbak-restore-execute__prod-badge{margin-left:.5rem;vertical-align:middle}.sysbak-restore-select{display:grid;gap:1rem}.sysbak-restore-select__legend,.sysbak-restore-select__hint{margin:0;color:#94a3b8;font-size:.86rem;line-height:1.4}.sysbak-restore-mode-cards{margin:0;padding:0;border:0;display:grid;gap:.7rem}.sysbak-restore-mode-cards>legend{padding:0;margin-bottom:.55rem}.sysbak-restore-mode-card{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;margin:0;padding:.9rem 1rem;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:#0f172a8c;cursor:pointer;transition:border-color .15s ease,background .15s ease}.sysbak-restore-mode-card:hover{border-color:#94a3b866}.sysbak-restore-mode-card.is-selected{border-color:#38bdf88c;background:#0ea5e914}.sysbak-restore-mode-card--danger.is-selected{border-color:#fb923ca6;background:#f973161a}.sysbak-restore-mode-card input{margin:.2rem 0 0;width:1.05rem;height:1.05rem;flex-shrink:0;accent-color:#38bdf8}.sysbak-restore-mode-card__content{display:grid;gap:.3rem;min-width:0}.sysbak-restore-mode-card__title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.sysbak-restore-mode-card__title{font-size:.98rem;font-weight:650;color:#f8fafc;line-height:1.3}.sysbak-restore-mode-card__desc{color:#94a3b8;font-size:.86rem;line-height:1.45}.sysbak-restore-mode-card__badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:650;letter-spacing:.02em;color:#cbd5e1;background:#94a3b824;border:1px solid rgba(148,163,184,.28);white-space:nowrap}.sysbak-restore-mode-card__badge--safe{color:#99f6e4;background:#2dd4bf1f;border-color:#2dd4bf4d}.sysbak-restore-mode-card__badge--danger{color:#fed7aa;background:#f9731624;border-color:#f9731659}.sysbak-restore-prod-warning{margin:0;padding:.8rem .95rem;border-radius:10px;border:1px solid rgba(249,115,22,.45);background:linear-gradient(180deg,#ef444424,#f973161f);color:#ffedd5;font-size:.9rem;line-height:1.45;font-weight:550}.sysbak-restore-comp-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.sysbak-restore-comp-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem .9rem;align-items:start;margin:0;padding:.8rem .9rem;border-radius:10px;border:1px solid rgba(148,163,184,.18);background:#1e293b59;cursor:pointer}.sysbak-restore-comp-row.is-selected{border-color:#38bdf873;background:#0ea5e912}.sysbak-restore-comp-row.is-disabled{opacity:.72;cursor:not-allowed;background:#0f172a59}.sysbak-restore-comp-row.is-disabled .sysbak-restore-comp-row__title,.sysbak-restore-comp-row.is-disabled .sysbak-restore-comp-row__desc{color:#cbd5e1}.sysbak-restore-comp-row input{margin:.22rem 0 0;width:1.05rem;height:1.05rem;flex-shrink:0;accent-color:#38bdf8}.sysbak-restore-comp-row__text{display:grid;gap:.2rem;min-width:0}.sysbak-restore-comp-row__title{font-size:.95rem;font-weight:600;color:#f8fafc;line-height:1.35;overflow-wrap:anywhere}.sysbak-restore-comp-row__desc{font-size:.84rem;color:#94a3b8;line-height:1.4}.sysbak-restore-comp-row__badge{justify-self:end;align-self:start;display:inline-flex;align-items:center;max-width:9.5rem;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:650;line-height:1.2;text-align:center;white-space:nowrap;color:#e2e8f0;background:#64748b38;border:1px solid rgba(148,163,184,.35)}.sysbak-restore-confirm{display:grid;gap:.35rem}.sysbak-restore-confirm .sysbak-check{align-items:flex-start;gap:.65rem}.sysbak-restore-confirm .sysbak-check input{margin-top:.2rem;flex-shrink:0}.sysbak-restore-progress__phases{margin:.85rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem}.sysbak-restore-progress__phase--done{color:#99f6e4}.sysbak-restore-progress__phase--active{color:#f8fafc;font-weight:600}.sysbak-restore-preview__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:0 0 1rem}.sysbak-restore-preview__meta dt{font-size:.78rem;color:#94a3b8}.sysbak-restore-components__list{display:grid;gap:.75rem}.sysbak-restore-component{border:1px solid rgba(148,163,184,.18);border-radius:10px;padding:.85rem;display:grid;gap:.55rem}.sysbak-restore-component__title{margin:0;font-size:.98rem;line-height:1.3}.sysbak-restore-component__badges{display:flex;flex-wrap:wrap;gap:.45rem}.sysbak-restore-badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;font-size:.76rem;font-weight:600;letter-spacing:.01em}.sysbak-restore-badge--present{color:#99f6e4;background:#2dd4bf1f;border:1px solid rgba(45,212,191,.28)}.sysbak-restore-badge--absent{color:#cbd5e1;background:#94a3b81f;border:1px solid rgba(148,163,184,.24)}.sysbak-restore-badge--restorable{color:#bfdbfe;background:#3b82f61f;border:1px solid rgba(59,130,246,.28)}.sysbak-restore-badge--unsupported{color:#fecaca;background:#ef44441a;border:1px solid rgba(239,68,68,.24)}.sysbak-restore-component__meta{display:flex;flex-wrap:wrap;gap:.85rem;color:#94a3b8;font-size:.85rem}.sysbak-restore-global-issues{display:grid;gap:.85rem;margin-bottom:1rem}.sysbak-restore-issues{display:grid;gap:.35rem}.sysbak-restore-issues h4{margin:0;font-size:.82rem;color:#cbd5e1;text-transform:uppercase;letter-spacing:.04em}.sysbak-restore-issues ul{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}.sysbak-restore-issues--component{margin-top:.15rem}.sysbak-restore-issue--info{color:#cbd5e1}.sysbak-restore-issue--danger{color:#fecaca}.sysbak-restore-issue--warn{color:#fde68a}.sysbak-restore-continue{margin-top:1rem;display:grid;gap:.5rem}@media(max-width:720px){.sysbak-modal--restore,.sysbak-modal--restore-execute{width:100%;max-height:92vh;border-radius:12px 12px 0 0}.sysbak-restore-mode-card,.sysbak-restore-comp-row{grid-template-columns:auto minmax(0,1fr)}.sysbak-restore-comp-row__badge{grid-column:2;justify-self:start;max-width:none}.sysbak-modal__footer-actions{justify-content:stretch}.sysbak-modal__footer-actions .primary-button,.sysbak-modal__footer-actions .secondary-button{flex:1 1 auto}}.sysbak-maintenance-banner{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(251,191,36,.4);background:#fbbf241f;color:#fde68a}.sysbak-restore-select__list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.45rem}.sysbak-restore-select__list label{display:flex;align-items:center;gap:.55rem}.sysbak-restore-select__list label.is-disabled{opacity:.55}.sysbak-restore-select__list em{margin-left:auto;font-size:.78rem;color:#94a3b8}.sysbak-check{display:flex;gap:.55rem;align-items:flex-start;margin:.75rem 0}.sysbak-modal-warning{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.85rem;padding:.65rem .75rem;border-radius:8px;border:1px solid rgba(251,191,36,.35);background:#fbbf2414;color:#fde68a;font-size:.88rem}.sysbak-modal__footer{border-top:1px solid rgba(148,163,184,.16);justify-content:flex-end}.sysbak-modal-result{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;border:1px solid rgba(45,212,191,.3);background:#2dd4bf14;color:#99f6e4;font-size:.88rem}.sysbak-delete-meta{display:grid;gap:.65rem;margin:0 0 .85rem}.sysbak-delete-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8e6}.sysbak-delete-meta dd{margin:.2rem 0 0}.sysbak-delete-protected{padding:.75rem;border-radius:10px;border:1px solid rgba(251,191,36,.4);background:#f59e0b1a;color:#fde68a}.sysbak-delete-protected p{margin:0 0 .65rem}.sysbak-confirm-check{display:flex;gap:.55rem;align-items:flex-start;color:#fef3c7;font-size:.88rem}@media(max-width:1100px){.system-backups-grid{min-width:58rem}.sysbak-create-grid,.sysbak-password-form{grid-template-columns:1fr}.sysbak-password-actions{justify-content:stretch}.sysbak-create-btn{width:100%}.sysbak-mobile-card__meta{grid-template-columns:1fr 1fr}}@media(max-width:768px){.system-backups-mobile-card__meta{grid-template-columns:1fr 1fr}}:root{color:#e8eef8;background:#101418;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(139,211,199,.14),transparent 30%),linear-gradient(135deg,#101418,#151b22 54%,#101418)}button,input,select,textarea{font:inherit}button{align-items:center;background:#dbeafe;border:1px solid #dbeafe;border-radius:8px;color:#101418;cursor:pointer;display:inline-flex;font-weight:800;gap:.5rem;justify-content:center;padding:.75rem 1rem}button:disabled{cursor:wait;opacity:.7}input,select,textarea{background:#151b22;border:1px solid #303946;border-radius:8px;color:#e8eef8;padding:.8rem .9rem;width:100%}textarea{min-height:96px;resize:vertical}input[type=checkbox]{accent-color:#8bd3c7;height:18px;padding:0;width:18px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none}label{color:#b6c5d8;display:grid;font-size:.94rem;gap:.42rem}h1,h2,p{margin-top:0}h1{font-size:2rem;line-height:1.12;margin-bottom:.45rem}h2{font-size:1rem;margin-bottom:.15rem}.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.sidebar{background:#0e1217eb;border-right:1px solid #26313c;display:flex;flex-direction:column;gap:2rem;padding:1.45rem}.brand-block{align-items:center;display:flex;gap:.8rem}.brand-icon{align-items:center;background:#8bd3c7;border-radius:8px;color:#101418;display:grid;flex:0 0 auto;height:42px;place-items:center;width:42px}.brand-icon.large{height:52px;width:52px}.brand{font-size:1.22rem;font-weight:900}.brand-subtitle,.muted{color:#8fa0b5}.nav{display:grid;gap:.45rem}.nav a{align-items:center;border-radius:8px;color:#d9e5f5;display:flex;gap:.65rem;padding:.72rem .85rem;text-decoration:none}.nav a.active,.nav a:hover,.secondary-button:hover{background:#26313c}.sidebar-footer{display:grid;gap:.8rem;margin-top:auto}.sidebar-label{color:#8fa0b5;display:block;font-size:.78rem;font-weight:800;text-transform:uppercase}.user-email{color:#d9e5f5;overflow-wrap:anywhere}.secondary-button{background:transparent;border-color:#303946;color:#e8eef8}.icon-button{background:transparent;border-color:#303946;color:#e8eef8;flex:0 0 auto;height:42px;padding:0;width:42px}.icon-button--compact{height:30px;width:30px}.file-input-hidden{display:none}.main-panel{padding:2rem}.login-page{align-items:center;display:grid;min-height:100vh;padding:1.25rem}.login-panel{background:#13181ef5;border:1px solid #303946;border-radius:8px;display:grid;gap:1.6rem;margin:0 auto;max-width:460px;padding:2rem;width:100%}.login-heading{align-items:center;display:flex;gap:1rem}.login-form{display:grid;gap:1rem}.eyebrow{color:#8bd3c7;font-size:.78rem;font-weight:900;letter-spacing:0;margin-bottom:.25rem;text-transform:uppercase}.page-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.4rem}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-end}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.pbx-kpi-grid{display:grid;gap:.55rem;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:.85rem}.pbx-kpi-card{align-items:flex-start;background:#13181ee0;border:1px solid #2d3744;border-radius:7px;display:flex;gap:.55rem;min-height:0;padding:.6rem .7rem}.pbx-kpi-card--ok{border-color:#8bd3c738}.pbx-kpi-card--ok .pbx-kpi-card__value{color:#9fd9cf}.pbx-kpi-card--wait .pbx-kpi-card__value{color:#a8b4c4;font-size:.9rem;font-weight:700}.pbx-kpi-card__icon{align-items:center;background:#dbeafe0f;border-radius:6px;color:#9eb0c8;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.pbx-kpi-card--ok .pbx-kpi-card__icon{background:#8bd3c71a;color:#8bd3c7}.pbx-kpi-card__body{display:flex;flex:1;flex-direction:column;gap:.08rem;min-width:0}.pbx-kpi-card__label{color:#8fa0b5;font-size:.72rem;font-weight:600;letter-spacing:.02em;line-height:1.2}.pbx-kpi-card__value{font-size:1.15rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.pbx-kpi-card__detail{color:#6d7d92;font-size:.68rem;line-height:1.25}.pbx-stat-strip{background:#13181ee0;border:1px solid #2d3744;border-radius:7px;display:grid;gap:0;grid-template-columns:repeat(8,minmax(0,1fr));margin-bottom:.55rem;overflow:hidden;padding:0}.pbx-stat-item{align-items:center;display:flex;flex-direction:column;gap:.1rem;justify-content:center;min-height:52px;padding:.4rem .35rem;position:relative;text-align:center}.pbx-stat-item:not(:last-child):after{background:#3a45526b;content:"";height:58%;position:absolute;right:0;top:21%;width:1px}.pbx-stat-label{color:#7f91a8;font-size:.68rem;font-weight:700;letter-spacing:.03em;line-height:1.1;text-transform:uppercase}.pbx-stat-value{color:#edf3fc;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.metric-card,.dashboard-section{background:#13181ee6;border:1px solid #303946;border-radius:8px}.metric-card{display:grid;gap:1rem;grid-template-columns:44px 1fr;min-height:150px;padding:1.2rem}.metric-icon{align-items:center;background:#dbeafe1a;border-radius:8px;color:#dbeafe;display:grid;height:44px;place-items:center;width:44px}.metric-ok .metric-icon{background:#8bd3c724;color:#8bd3c7}.metric-value{font-size:1.55rem;font-weight:900;line-height:1.2;overflow-wrap:anywhere}.metric-card p,.dashboard-section p{color:#8fa0b5;margin-bottom:0}.dashboard-section{margin-top:1rem;padding:1.2rem}.section-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.status-badge{align-items:center;background:#8bd3c71f;border:1px solid rgba(139,211,199,.25);border-radius:999px;color:#8bd3c7;display:inline-flex;font-weight:800;gap:.4rem;padding:.35rem .7rem}.status-badge--compact{font-size:.78rem;font-weight:700;gap:.3rem;padding:.28rem .55rem}.details-grid{display:grid;gap:.8rem;grid-template-columns:repeat(5,minmax(0,1fr))}.details-grid div{background:#151b22;border:1px solid #26313c;border-radius:8px;display:grid;gap:.25rem;min-height:76px;padding:.8rem}.details-grid span{color:#8fa0b5;font-size:.8rem}.details-grid strong{overflow-wrap:anywhere}.asterisk-sync-grid{grid-template-columns:2fr 1fr 1fr;margin-bottom:1rem}.ami-events-list{display:grid;gap:.55rem;margin:1rem 0}.ami-event-row{align-items:center;background:#151b22;border:1px solid #26313c;border-radius:8px;display:grid;gap:.7rem;grid-template-columns:1.2fr repeat(4,minmax(0,1fr));padding:.75rem}.ami-event-row span{min-width:0;overflow-wrap:anywhere}.chart-wrap{height:240px;min-width:0}.error-message,.error-banner,.success-banner,.warning-banner{background:#f7768e24;border:1px solid rgba(247,118,142,.35);border-radius:8px;color:#ffc2cc;padding:.8rem}.error-banner,.success-banner,.warning-banner{margin-bottom:1rem}.success-banner{background:#8bd3c724;border-color:#8bd3c759;color:#b7f1e8}.warning-banner{background:#ffcc661f;border-color:#ffcc6652;color:#ffd98a}.sip-password-box{background:#dbeafe1a;border:1px solid rgba(219,234,254,.28);border-radius:8px;display:grid;gap:1rem;margin-bottom:1rem;padding:1.1rem}.sip-password-box h2{font-size:1.05rem;margin-bottom:0}.sip-password-grid{display:grid;gap:.8rem;grid-template-columns:150px 180px minmax(220px,1fr)}.sip-password-grid div{background:#151b22;border:1px solid #303946;border-radius:8px;display:grid;gap:.25rem;min-width:0;padding:.8rem}.sip-password-grid span{color:#8fa0b5;font-size:.78rem;font-weight:800;text-transform:uppercase}.sip-password-grid strong,.sip-password-grid code{color:#e8eef8;overflow-wrap:anywhere}.sip-password-grid code{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.95rem}.extension-form-section{margin-bottom:1rem}.extension-form{align-items:end;display:grid;gap:.9rem;grid-template-columns:180px minmax(220px,1fr) auto}.contact-form{display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-notes-field,.contact-actions{grid-column:1 / -1}.form-actions{align-items:center;display:flex;gap:.7rem;justify-content:flex-end}.filters-form{align-items:end;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.filters-actions{min-width:180px}.settings-form{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.toggle-row{align-items:center;background:#151b22;border:1px solid #303946;border-radius:8px;display:flex;gap:.7rem;min-height:48px;padding:.8rem .9rem}.settings-actions{grid-column:1 / -1}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;min-width:760px;width:100%}.data-table th,.data-table td{border-bottom:1px solid #26313c;padding:.85rem;text-align:left;vertical-align:middle}.data-table th{color:#8fa0b5;font-size:.78rem;font-weight:900;text-transform:uppercase}.data-table td{color:#d9e5f5}.data-table tbody tr:hover{background:#dbeafe0a}.state-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:900;min-width:92px;padding:.32rem .62rem;justify-content:center}.state-enabled{background:#8bd3c724;border:1px solid rgba(139,211,199,.28);color:#8bd3c7}.state-disabled{background:#ffcc661f;border:1px solid rgba(255,204,102,.28);color:#ffd98a}.favorite-badge,.muted-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:900;justify-content:center;min-width:86px;padding:.32rem .62rem}.favorite-badge{background:#ffcc661f;border:1px solid rgba(255,204,102,.28);color:#ffd98a}.muted-badge{background:#dbeafe14;border:1px solid #303946;color:#b6c5d8}.row-actions{display:flex;gap:.45rem}.empty-state{color:#8fa0b5;padding:1rem 0;text-align:center}.direction-badge,.call-status-badge,.active-status-badge,.live-status-badge,.provider-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:900;gap:.35rem;justify-content:center;min-width:86px;padding:.32rem .62rem}.inline-icon-text,.remote-contact{align-items:center;display:inline-flex;gap:.35rem}.remote-contact{align-items:flex-start;display:grid;gap:.1rem;min-width:160px}.remote-contact span,.subtle-line{color:#8fa0b5;display:block;font-size:.82rem}.direction-inbound{background:#8bd3c724;border:1px solid rgba(139,211,199,.28);color:#8bd3c7}.direction-outbound{background:#dbeafe1f;border:1px solid rgba(219,234,254,.28);color:#dbeafe}.direction-internal{background:#c792ea24;border:1px solid rgba(199,146,234,.28);color:#d9b6f4}.call-status-answered{background:#8bd3c724;border:1px solid rgba(139,211,199,.28);color:#8bd3c7}.call-status-missed,.call-status-failed{background:#f7768e24;border:1px solid rgba(247,118,142,.32);color:#ffc2cc}.call-status-busy{background:#ffcc661f;border:1px solid rgba(255,204,102,.28);color:#ffd98a}.active-status-active,.live-status-online{background:#8bd3c724;border:1px solid rgba(139,211,199,.28);color:#8bd3c7}.active-status-ringing,.live-status-ringing{background:#dbeafe1f;border:1px solid rgba(219,234,254,.28);color:#dbeafe}.active-status-held,.live-status-busy{background:#ffcc661f;border:1px solid rgba(255,204,102,.28);color:#ffd98a}.active-status-ended,.live-status-offline,.live-status-unknown{background:#dbeafe14;border:1px solid #303946;color:#b6c5d8}.provider-pill{background:#dbeafe14;border:1px solid #303946;color:#d9e5f5;min-width:auto}.loading-screen{align-items:center;display:grid;min-height:100vh;place-items:center}@media(max-width:1080px){.metric-grid,.pbx-kpi-grid,.details-grid,.sip-password-grid,.filters-form,.settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #26313c;border-right:0}.main-panel{padding:1rem}.extension-form,.sip-password-grid,.filters-form,.settings-form,.contact-form,.ami-event-row{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions button{flex:1}}@media(max-width:900px){.pbx-stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.pbx-stat-item:nth-child(4):after,.pbx-stat-item:nth-child(8):after{display:none}.pbx-stat-item:nth-child(-n+4){border-bottom:1px solid rgba(38,49,60,.65)}}@media(max-width:560px){.page-header,.section-header,.login-heading{align-items:stretch;flex-direction:column}.metric-grid,.pbx-kpi-grid,.details-grid{grid-template-columns:1fr}.pbx-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-stat-item:after{display:none}.pbx-stat-item:nth-child(-n+6){border-bottom:1px solid rgba(38,49,60,.65)}.pbx-stat-item:nth-child(odd){border-right:1px solid rgba(38,49,60,.45)}.call-logs-panel-header{align-items:flex-start;flex-direction:column}.call-logs-toolbar{align-items:stretch}.call-logs-nav{justify-content:stretch;width:100%}.call-logs-nav__btn{flex:1}.header-actions{justify-content:stretch}.header-actions button{flex:1}}.debug-section{margin-top:1rem}.debug-section summary{cursor:pointer;font-weight:600;color:#dbeafe}.debug-section-note{margin:.75rem 0 1rem;color:#dbeafeb8;font-size:.92rem}.asterisk-include-cell{grid-column:span 2}.asterisk-include-hint{display:block;margin-top:.35rem;padding:.45rem .6rem;border-radius:8px;background:#0f172a8c;border:1px solid rgba(148,163,184,.18);color:#dbeafe;font-size:.85rem;word-break:break-all}.info-banner{margin-top:.85rem;padding:.85rem 1rem;border-radius:10px;background:#3b82f61f;border:1px solid rgba(59,130,246,.28);color:#bfdbfe;font-size:.92rem}.info-banner code{color:#e0f2fe}.pbx-call-toast{position:fixed;right:1.25rem;bottom:1.25rem;width:min(360px,calc(100vw - 2rem));padding:1rem;border-radius:14px;background:#0f172af5;border:1px solid rgba(148,163,184,.24);box-shadow:0 18px 40px #02061773;z-index:40}.pbx-call-toast-header,.pbx-call-toast-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pbx-call-toast-title{display:flex;align-items:center;gap:.5rem}.pbx-call-toast-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.9rem 0 1rem}.pbx-call-toast-body span{display:block;color:#dbeafead;font-size:.82rem}.call-modal-section label{display:block;margin-top:1rem}.call-destination-mode{margin-top:1rem;border:1px solid rgba(148,163,184,.24);border-radius:12px;padding:.85rem 1rem}.call-destination-mode legend{padding:0 .35rem;color:#dbeafed1}.call-logs-page .page-header{margin-bottom:.75rem}.call-logs-page .dashboard-section{margin-top:.5rem;padding:.75rem .9rem}.call-log-filters__header{margin-bottom:.55rem}.call-log-filters__header h2{font-size:1rem;margin:0}.call-log-filters__form{gap:.65rem}.call-logs-panel{margin-top:.5rem}.call-logs-panel-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.55rem}.call-logs-panel-title h2{font-size:1rem;line-height:1.2;margin:0}.call-logs-panel-meta{color:#8fa0b5;font-size:.8rem;line-height:1.3;margin:.15rem 0 0}.call-logs-panel-meta-sep{margin:0 .3rem}.call-logs-toolbar{align-items:center;border-bottom:1px solid #26313c;display:flex;flex-wrap:wrap;gap:.45rem .75rem;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.call-logs-page-size{align-items:center;display:inline-flex;gap:.45rem;margin:0;width:auto}.call-logs-page-size__label{color:#8fa0b5;font-size:.8rem;font-weight:600;white-space:nowrap}.call-logs-page-size select{min-width:4.2rem;padding:.38rem .55rem;width:auto}.call-logs-nav{align-items:center;display:flex;gap:.4rem}.call-logs-nav__btn{font-size:.82rem;min-height:0;padding:.38rem .7rem}.call-logs-table-wrap{margin-top:0}.call-logs-table{min-width:720px}.call-logs-table th,.call-logs-table td{padding:.48rem .55rem;vertical-align:middle}.call-logs-table th{font-size:.72rem;padding-top:.42rem;padding-bottom:.42rem}.call-logs-table td{font-size:.88rem}.call-logs-table th:first-child,.call-logs-table td:first-child{padding-left:.45rem;padding-right:.25rem;text-align:center;width:2.2rem}.call-logs-table th:last-child,.call-logs-table td.call-logs-table__actions{padding-left:.25rem;padding-right:.35rem;text-align:center;width:2.5rem}.call-logs-table input[type=checkbox]{display:block;height:16px;margin:0 auto;width:16px}.call-logs-table .remote-contact{gap:.06rem;min-width:0}.call-logs-table .remote-contact strong{font-size:.88rem;font-weight:700;line-height:1.2}.call-logs-table .remote-contact span{font-size:.74rem;line-height:1.2}.call-logs-table .direction-badge,.call-logs-table .call-status-badge{font-size:.74rem;min-width:0;padding:.22rem .48rem}.call-logs-table .provider-pill{font-size:.76rem;padding:.22rem .45rem}.call-logs-table .empty-state{padding:1.25rem .5rem}.radio-option{display:flex;align-items:center;gap:.55rem;margin-top:.55rem}
