.mfa-verify-step{max-width:400px;background:#fff;padding:1.5rem;border:1px solid #ddd}.mfa-verify-step h3{margin:0 0 .75rem;font-size:1rem}.mfa-method-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid #eee}.mfa-method-tab{flex:1;padding:.5rem .25rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.85rem;color:#666;font-weight:500;text-align:center;white-space:nowrap}.mfa-method-tab:hover{color:#333;background:#f9f9f9}.mfa-method-tab.active{color:#4a4a8a;border-bottom-color:#4a4a8a;font-weight:600}.mfa-code-input{width:100%;padding:.75rem;font-size:1.4rem;font-family:Fira Code,Consolas,monospace;letter-spacing:.3em;text-align:center;border:2px solid #ccc;background:#fafafa}.mfa-code-input:focus{border-color:#4a4a8a;outline:none;background:#fff}.mfa-code-input::placeholder{font-size:1rem;letter-spacing:.1em;color:#bbb}.mfa-countdown{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#666;margin-bottom:.75rem}.mfa-countdown-time{font-weight:600;font-variant-numeric:tabular-nums}.mfa-countdown.expiring,.mfa-countdown.expiring .mfa-countdown-time{color:#c44}.mfa-method-panel{margin-bottom:.75rem}.mfa-method-panel p{margin:0 0 .75rem;font-size:.9rem;color:#555}.mfa-send-code-btn{width:100%;padding:.5rem 1rem;margin-bottom:.75rem;background:#f0f4ff;color:#4a4a8a;border:1px solid #c0c8e8;cursor:pointer;font-size:.9rem;font-weight:500}.mfa-send-code-btn:hover{background:#e0e8ff}.mfa-send-code-btn:disabled{background:#eee;color:#999;border-color:#ddd;cursor:not-allowed}.mfa-verify-actions{display:flex;gap:.5rem;margin-top:.75rem}.mfa-verify-actions button{flex:1}.mfa-code-sent{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.85rem}.mfa-settings{max-width:700px}.mfa-settings h1{margin-bottom:.5rem}.mfa-section{background:#fff;border:1px solid #ddd;padding:1.25rem;margin-bottom:1rem}.mfa-section h2{font-size:1.1rem;margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.mfa-section h3{font-size:.95rem;margin:.75rem 0 .5rem}.mfa-status-table{width:100%;border-collapse:collapse;margin:.5rem 0}.mfa-status-table th,.mfa-status-table td{padding:.5rem;text-align:left;border-bottom:1px solid #eee;font-size:.9rem}.mfa-status-table th{background:#f9f9f9;font-weight:600}.mfa-badge{display:inline-block;padding:.2rem .6rem;border-radius:3px;font-size:.8rem;font-weight:600}.mfa-badge.enabled{background:#d4edda;color:#155724}.mfa-badge.disabled{background:#f8d7da;color:#721c24}.qr-code-display{background:#f9f9f9;border:1px solid #eee;padding:1rem;margin:.75rem 0;text-align:center}.qr-code-display .secret-label{font-size:.85rem;color:#666;margin-bottom:.5rem}.qr-code-display .secret-value{font-family:Fira Code,Consolas,monospace;font-size:1rem;font-weight:600;letter-spacing:.15em;color:#1a1a2e;word-break:break-all;margin-bottom:.75rem;padding:.5rem;background:#fff;border:1px solid #ddd;-webkit-user-select:all;user-select:all}.qr-code-display .qr-uri-label{font-size:.8rem;color:#888;margin-top:.75rem}.qr-code-display .qr-uri-value{font-family:Fira Code,Consolas,monospace;font-size:.75rem;color:#555;word-break:break-all;padding:.5rem;background:#fff;border:1px solid #ddd;margin-top:.25rem;-webkit-user-select:all;user-select:all}.recovery-codes-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0}.recovery-code-item{font-family:Fira Code,Consolas,monospace;font-size:.95rem;font-weight:500;padding:.5rem .75rem;background:#f4f4f4;border:1px solid #ddd;text-align:center;letter-spacing:.1em;-webkit-user-select:all;user-select:all}.recovery-codes-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:.75rem;margin:.75rem 0;font-size:.85rem}.mfa-totp-form{display:flex;gap:.5rem;align-items:flex-end;margin-top:.75rem}.mfa-totp-form .field-container{flex:1;margin-bottom:0}.mfa-totp-form .field-container label{display:block;font-weight:500;margin-bottom:.25rem;font-size:.85rem}.mfa-totp-form input{padding:.5rem;font-size:1rem;font-family:Fira Code,Consolas,monospace;letter-spacing:.15em;border:1px solid #ccc}.mfa-totp-form button{white-space:nowrap}.mfa-otp-info{font-size:.9rem;color:#555;line-height:1.6}.mfa-otp-info p{margin:.5rem 0}.mfa-section-actions{display:flex;gap:.5rem;margin-top:.75rem}.mfa-loading{color:#666;font-size:.9rem;padding:1rem 0}.mfa-step-info{font-size:.85rem;color:#888;margin-bottom:.5rem}.webauthn-platform-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:.85rem;font-weight:500;margin-bottom:12px}.webauthn-not-supported{padding:12px;background:#fff3e0;color:#e65100;border-radius:8px;font-size:.9rem}.webauthn-credentials-table{width:100%;border-collapse:collapse;margin-bottom:16px}.webauthn-credentials-table th,.webauthn-credentials-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #eee;font-size:.9rem}.webauthn-credentials-table th{font-weight:600;color:#666;font-size:.8rem;text-transform:uppercase}.webauthn-register-form{display:flex;gap:8px;align-items:center;margin-top:12px}.webauthn-register-form input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.webauthn-verify-panel{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px}.webauthn-verify-panel p{text-align:center}.webauthn-verify-btn{padding:12px 24px;background:#4a4a8a;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px}.webauthn-verify-btn:hover{background:#3a3a7a}.webauthn-verify-btn:disabled{background:#999;cursor:not-allowed}.credential-actions{display:flex;gap:4px}.credential-actions button{padding:4px 8px;font-size:.8rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.credential-actions button:hover{background:#f5f5f5}.credential-actions .btn-delete{color:#dc3545;border-color:#dc3545}.credential-actions .btn-delete:hover{background:#dc3545;color:#fff}.sessions-page{max-width:800px}.sessions-page h1{margin-bottom:.5rem}.sessions-page .subtitle{color:#666;margin-bottom:1.5rem}.sessions-actions{display:flex;gap:.5rem;margin-bottom:1rem}.sessions-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ddd}.sessions-table th,.sessions-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid #eee}.sessions-table th{background:#f9f9f9;font-weight:600;font-size:.85rem;color:#555}.sessions-table td{font-size:.9rem}.session-row:hover{background:#fafafa}.session-instance-id{font-family:Fira Code,Consolas,monospace;font-size:.85rem;color:#4a4a8a}.session-current{display:inline-block;padding:.15rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600;background:#d4edda;color:#155724}.session-revoke-btn{padding:.3rem .6rem;font-size:.8rem;background:#c44;color:#fff;border:none;cursor:pointer}.session-revoke-btn:hover{background:#d55}.session-revoke-btn:disabled{background:#ccc;cursor:not-allowed}.sessions-empty{text-align:center;padding:2rem;color:#999;background:#fff;border:1px solid #ddd}.sessions-loading{text-align:center;padding:2rem;color:#666}.sessions-feedback{margin-bottom:1rem}.magic-link-option{margin-top:1rem;border-top:1px solid #eee;padding-top:.75rem}.magic-link-toggle{background:none;border:none;color:#4a4a8a;font-size:.9rem;cursor:pointer;padding:.25rem 0;text-decoration:underline}.magic-link-toggle:hover{color:#5a5a9a}.magic-link-expanded{margin-top:.75rem;background:#fff;padding:1rem;border:1px solid #ddd}.magic-link-expanded .field-container{margin-bottom:.75rem}.magic-link-info{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:.75rem;margin-bottom:.75rem;font-size:.9rem}.magic-link-info p{margin:.25rem 0}.magic-link-actions{display:flex;gap:.5rem;margin-top:.5rem}.lockout-message{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:1rem;margin:.75rem 0}.lockout-message p{margin:.25rem 0}.lockout-title{font-weight:600;font-size:1rem;margin-bottom:.25rem}.lockout-detail{font-size:.9rem}.lockout-countdown{font-size:1.1rem;font-weight:600;color:#dc3545;margin-top:.5rem;font-variant-numeric:tabular-nums}.lockout-dismiss{margin-top:.75rem;padding:.3rem .6rem;font-size:.8rem;background:#856404;color:#fff;border:none;cursor:pointer}.lockout-dismiss:hover{background:#6d5303}.confirm-inline{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#856404}.confirm-inline button{padding:.2rem .5rem;font-size:.8rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;background:#f5f5f5;color:#333}.layout{min-height:100vh}header{background:#1a1a2e;color:#fff;padding:0 1rem}header nav{display:flex;align-items:center;max-width:1200px;margin:0 auto;height:56px}.nav-brand a{color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem}.nav-links{display:flex;list-style:none;margin-left:2rem;gap:1rem}.nav-links a{color:#ccc;text-decoration:none}.nav-links a:hover{color:#fff}.btn-logout{margin-left:auto;background:transparent;border:1px solid #666;color:#ccc;padding:.4rem .8rem;cursor:pointer}.btn-logout:hover{background:#333}main{max-width:1200px;margin:0 auto;padding:1.5rem}h1{font-size:1.5rem;margin-bottom:.5rem}h2{font-size:1.2rem;margin:1.5rem 0 .75rem;border-bottom:1px solid #ddd;padding-bottom:.25rem}h3{font-size:1rem;margin:1rem 0 .5rem}.subtitle{color:#666;margin-bottom:1rem}.page-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.page-header h1{margin-bottom:0}.header-actions{display:flex;gap:.5rem;margin-left:auto}button,.btn{background:#4a4a8a;color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.btn:hover{background:#5a5a9a}button:disabled{background:#999;cursor:not-allowed}.btn-small{padding:.25rem .5rem;font-size:.85rem;margin-right:.25rem}.btn-danger{background:#c44}.btn-danger:hover{background:#d55}.login-form,.dynamic-form{max-width:400px;background:#fff;padding:1.5rem;border:1px solid #ddd}.field-container{margin-bottom:1rem}.field-container label{display:block;font-weight:500;margin-bottom:.25rem}.field-checkbox{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:.5rem}.field-checkbox label{margin-bottom:0}.required{color:#c44;margin-left:.25rem}input,select,textarea{width:100%;padding:.5rem;border:1px solid #ccc;font-size:1rem}input[type=checkbox]{width:auto}textarea{resize:vertical;min-height:80px}select[multiple]{min-height:100px}.form-actions{display:flex;gap:.5rem;margin-top:1rem}table{width:100%;border-collapse:collapse;background:#fff;margin:.5rem 0}th,td{padding:.5rem;text-align:left;border-bottom:1px solid #eee}th{background:#f9f9f9;font-weight:600}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:3px;font-size:.8rem;font-weight:500}.status-badge.checking{background:#eee;color:#666}.status-badge.ok{background:#d4edda;color:#155724}.status-badge.error{background:#f8d7da;color:#721c24}.action-badge{display:inline-block;padding:.2rem .5rem;border-radius:3px;font-size:.75rem;font-weight:500;text-transform:uppercase}.action-badge.create{background:#d4edda;color:#155724}.action-badge.update{background:#fff3cd;color:#856404}.action-badge.delete{background:#f8d7da;color:#721c24}.error-box{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:.75rem;margin:.5rem 0}.success-box{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:.75rem;margin:.5rem 0}.error{color:#c44}.success{color:#2a2}.json-viewer{background:#1e1e1e;color:#d4d4d4;padding:1rem;margin:.5rem 0;overflow-x:auto}.json-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.json-header h4{color:#9cdcfe;margin:0}.json-viewer pre{margin:0;font-family:Fira Code,Consolas,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all}.token-input{background:#fff;padding:1rem;border:1px solid #ddd}.token-info p{margin:.25rem 0}.token-actions,.token-manual{display:flex;gap:.5rem;margin-top:.75rem}.token-manual input{flex:1}dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;background:#fff;padding:1rem;border:1px solid #ddd}dt{font-weight:600;color:#666}dd{margin:0}code{background:#f4f4f4;padding:.1rem .3rem;font-family:Fira Code,Consolas,monospace;font-size:.9em}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.timeline-list{list-style:none}.timeline-entry{padding:.75rem;background:#fff;border:1px solid #ddd;margin-bottom:.5rem}.timeline-entry .timestamp{color:#666;font-size:.85rem;margin-left:.5rem}.page-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ddd}section{margin-bottom:1.5rem}.section-header{display:flex;align-items:center;gap:1rem}.section-header h2{margin:0;border:none}.api-status table{margin-top:.5rem}.api-details{background:#fff;padding:1rem;border:1px solid #ddd;margin-top:.5rem}.quick-links ul{list-style:none;background:#fff;padding:1rem;border:1px solid #ddd}.quick-links li{margin:.25rem 0}.response-section{margin-top:1rem}.login-page{max-width:500px;margin:2rem auto;padding:0 1rem}.login-page .subtitle{color:#666;margin-bottom:1.5rem}.context-selection{background:#fff;padding:1.5rem;border:1px solid #ddd}.context-group{margin-bottom:1rem}.context-group h4{margin:0 0 .5rem;color:#333}.tenant-list{list-style:none;padding:0;margin:0}.tenant-list li{margin-bottom:.5rem}.tenant-button{width:100%;text-align:left;padding:.75rem 1rem;background:#f5f5f5;border:1px solid #ddd;cursor:pointer}.tenant-button:hover{background:#e5e5e5;border-color:#4a4a8a}.context-info{background:#f0f4ff;padding:.75rem 1rem;margin-bottom:1rem;border-left:3px solid #4a4a8a}.context-info p{margin:.25rem 0}.btn-secondary{background:#f5f5f5;color:#333;border:1px solid #ddd}.btn-secondary:hover{background:#e5e5e5}.debug-section{margin-top:2rem;padding-top:1rem;border-top:1px solid #eee}.debug-content{margin-top:1rem}.phone-status-badge{display:flex;align-items:center;gap:.3rem;margin-left:auto;margin-right:.75rem;font-size:.8rem;color:#ccc}.phone-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.phone-status-label{font-weight:500}.phone-widget{position:fixed;bottom:20px;right:20px;z-index:1000}.phone-fab{width:52px;height:52px;border-radius:50%;background:#1a1a2e;color:#fff;border:2px solid #999;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;box-shadow:0 2px 8px #0000004d;padding:0}.phone-fab:hover{background:#2a2a4e}.phone-fab-dot{position:absolute;top:4px;right:4px;width:10px;height:10px;border-radius:50%;border:2px solid #1a1a2e}.phone-panel{position:absolute;bottom:62px;right:0;width:300px;height:480px;background:#fff;border:1px solid #ddd;box-shadow:0 4px 16px #00000026;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.phone-tab-content{flex:1;overflow-y:auto;min-height:0}.phone-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;background:#1a1a2e;color:#fff;font-weight:600;font-size:.9rem}.phone-panel-close{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:0;line-height:1}.phone-panel-close:hover{opacity:.7}.phone-panel-offline,.phone-panel-connecting{padding:1rem;text-align:center;color:#666;font-size:.9rem}.phone-panel-offline button{margin-top:.5rem;padding:.4rem 1rem;font-size:.85rem}.phone-tabs{display:flex;border-bottom:1px solid #eee}.phone-tab{flex:1;padding:.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.85rem;color:#666}.phone-tab.active{color:#4a4a8a;border-bottom-color:#4a4a8a}.phone-tab:hover{background:#f9f9f9}.dialpad-view{padding:.75rem}.dialpad-input-row{display:flex;gap:.25rem;margin-bottom:.5rem}.dialpad-input{flex:1;text-align:center;font-size:1.1rem;letter-spacing:.1em;padding:.4rem;border:1px solid #ddd;border-radius:4px}.dialpad-backspace{background:#f5f5f5;border:1px solid #ddd;padding:0 .6rem;cursor:pointer;font-size:1rem;border-radius:4px;color:#333}.dialpad-backspace:hover{background:#e5e5e5}.dtmf-pad{display:flex;flex-direction:column;gap:4px}.dtmf-row{display:flex;gap:4px;justify-content:center}.dtmf-key{width:60px;height:44px;border:1px solid #ddd;background:#f9f9f9;font-size:1.1rem;font-weight:600;cursor:pointer;border-radius:4px;color:#333;padding:0}.dtmf-key:hover{background:#e5e5e5}.dtmf-key:active{background:#d5d5d5}.dialpad-call-btn{width:100%;margin-top:.5rem;padding:.6rem;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer}.dialpad-call-btn:hover{background:#43a047}.dialpad-call-btn:disabled{background:#ccc;cursor:not-allowed}.active-call-view{padding:.75rem}.call-info{text-align:center;margin-bottom:.75rem}.call-remote{font-weight:600;font-size:1rem;margin-bottom:.25rem}.call-state{color:#666;font-size:.85rem}.call-timer{font-size:1.2rem;font-weight:600;color:#4a4a8a;margin-top:.25rem}.call-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:.5rem}.call-ctrl-btn{padding:.5rem;font-size:.8rem;border:1px solid #ddd;background:#f5f5f5;cursor:pointer;border-radius:4px;color:#333}.call-ctrl-btn:hover{background:#e5e5e5}.call-ctrl-btn.active{background:#4a4a8a;color:#fff;border-color:#4a4a8a}.call-dtmf-section{margin:.5rem 0}.call-hangup-btn{width:100%;padding:.6rem;background:#f44336;color:#fff;border:none;border-radius:4px;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:.5rem}.call-hangup-btn:hover{background:#d32f2f}.incoming-call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:2000;display:flex;align-items:center;justify-content:center}.incoming-call-card{background:#fff;border-radius:12px;padding:2rem;text-align:center;min-width:300px;box-shadow:0 8px 32px #0000004d;animation:incoming-pulse 2s ease-in-out infinite}@keyframes incoming-pulse{0%,to{box-shadow:0 8px 32px #0000004d}50%{box-shadow:0 8px 32px #4caf5080}}.incoming-call-ring{width:60px;height:60px;border-radius:50%;background:#4caf50;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;animation:ring-shake .5s ease-in-out infinite}@keyframes ring-shake{0%,to{transform:rotate(0)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}.incoming-call-ring:after{content:"";width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z'/%3E%3C/svg%3E") no-repeat center;background-size:contain}.incoming-call-label{color:#666;font-size:.9rem;margin-bottom:.25rem}.incoming-call-caller{font-size:1.3rem;font-weight:600;margin-bottom:1.5rem}.incoming-call-actions{display:flex;gap:1rem;justify-content:center}.incoming-accept-btn{padding:.75rem 2rem;background:#4caf50;color:#fff;border:none;border-radius:24px;font-size:1rem;font-weight:600;cursor:pointer}.incoming-accept-btn:hover{background:#43a047}.incoming-decline-btn{padding:.75rem 2rem;background:#f44336;color:#fff;border:none;border-radius:24px;font-size:1rem;font-weight:600;cursor:pointer}.incoming-decline-btn:hover{background:#d32f2f}.transfer-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1500;display:flex;align-items:center;justify-content:center}.transfer-modal{background:#fff;border-radius:8px;padding:1.5rem;min-width:300px;box-shadow:0 4px 16px #0003}.transfer-modal h3{margin:0 0 1rem}.transfer-input{width:100%;padding:.5rem;margin-bottom:1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.transfer-actions{display:flex;gap:.5rem}.transfer-blind-btn{flex:1;padding:.5rem;background:#4a4a8a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.transfer-blind-btn:hover{background:#5a5a9a}.transfer-blind-btn:disabled{background:#ccc;cursor:not-allowed}.transfer-cancel-btn{padding:.5rem 1rem;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem}.transfer-cancel-btn:hover{background:#e5e5e5}.call-history-view{padding:.5rem}.call-history-header{display:flex;justify-content:space-between;align-items:center;padding:.25rem .25rem .5rem;font-weight:600;font-size:.85rem}.call-history-empty{padding:1.5rem;text-align:center;color:#999;font-size:.9rem}.call-history-list{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto}.call-history-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .25rem;border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:.85rem}.call-history-item:hover{background:#f9f9f9}.call-direction{font-size:1rem}.call-direction.outgoing{color:#4a4a8a}.call-direction.incoming{color:#4caf50}.call-history-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-history-meta{display:flex;gap:.4rem;color:#999;font-size:.75rem}.call-status-missed{color:#f44336}.call-status-answered{color:#4caf50}.call-status-declined{color:#ff9800}.call-volume{display:flex;align-items:center;gap:.4rem;padding:0 .5rem;margin-bottom:.5rem}.call-volume-icon{font-size:1rem;width:1.2rem;text-align:center}.call-volume-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ddd;border-radius:2px;outline:none;cursor:pointer}.call-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#4a4a8a;cursor:pointer}.call-volume-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#4a4a8a;cursor:pointer;border:none}.phone-settings-view{padding:.75rem}.audio-device-selector{display:flex;flex-direction:column;gap:.75rem}.audio-device-group{display:flex;flex-direction:column;gap:.25rem}.audio-device-label{font-size:.8rem;font-weight:600;color:#555}.audio-device-select{padding:.4rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;background:#fff;cursor:pointer}.audio-device-select:focus{border-color:#4a4a8a;outline:none}.phone-panel-header-actions{display:flex;align-items:center;gap:.4rem}.phone-header-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:3px;cursor:pointer}.phone-header-btn:hover{background:#ffffff40}.phone-header-btn.active{background:#ff9800;border-color:#ff9800;color:#fff}.phone-dnd-badge{margin-left:.4rem;background:#ff9800;color:#fff;font-size:.65rem;font-weight:700;padding:.1rem .3rem;border-radius:3px;vertical-align:middle}.dialpad-echo-btn{width:100%;margin-top:.35rem;padding:.45rem;background:#f5f5f5;color:#4a4a8a;border:1px solid #ddd;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer}.dialpad-echo-btn:hover{background:#e8e8f0;border-color:#4a4a8a}.dialpad-echo-btn:disabled{color:#ccc;cursor:not-allowed}.phone-tab-badge{display:inline-block;background:#f44336;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;margin-left:.3rem;padding:0 4px;vertical-align:middle}.phone-fab-missed-badge{position:absolute;top:-4px;left:-4px;background:#f44336;color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 4px;border:2px solid #1a1a2e}.toast-container{position:fixed;bottom:80px;left:16px;z-index:3000;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast-item{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;background:#2a2a3e;color:#e0e0e0;font-size:.85rem;border-left:4px solid #666;box-shadow:0 4px 12px #0000004d;animation:toast-slide-in .25s ease-out}.toast-item--info{border-left-color:#4a4a8a}.toast-item--success{border-left-color:#4caf50}.toast-item--warning{border-left-color:#ff9800}.toast-item--error{border-left-color:#f44336}.toast-message{flex:1}.toast-dismiss{background:none;border:none;color:#999;font-size:1.1rem;cursor:pointer;padding:0 4px;line-height:1}.toast-dismiss:hover{color:#fff}@keyframes toast-slide-in{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.phone-panel-reconnecting{background:#ff9800;color:#fff;text-align:center;padding:6px 12px;font-size:.8rem;font-weight:600;animation:reconnect-pulse 1.5s ease-in-out infinite}@keyframes reconnect-pulse{0%,to{opacity:1}50%{opacity:.6}}.call-rec-badge{display:inline-block;background:#f44336;color:#fff;font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:3px;margin-left:8px;vertical-align:middle;animation:rec-pulse 1.5s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.4}}.call-history-search{padding:4px 8px}.call-history-search-input{width:100%;padding:5px 8px;border:1px solid #444;border-radius:4px;background:#1a1a2e;color:#e0e0e0;font-size:.8rem;box-sizing:border-box}.call-history-search-input::placeholder{color:#888}.call-history-filter-panel{padding:4px 8px 8px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid #333}.call-history-filter-row{display:flex;gap:4px}.call-history-filter-row select,.call-history-filter-row input[type=date]{flex:1;padding:4px 6px;border:1px solid #444;border-radius:4px;background:#1a1a2e;color:#e0e0e0;font-size:.75rem}.call-history-export-btn{padding:4px 10px;background:#4a4a8a;color:#fff;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;margin-left:auto}.call-history-export-btn:hover{background:#5a5a9a}.compact-call-bar{position:fixed;z-index:2500;display:flex;align-items:center;gap:8px;background:#1a1a2e;color:#e0e0e0;border-radius:24px;padding:6px 12px;box-shadow:0 4px 16px #0006;min-width:200px;-webkit-user-select:none;user-select:none}.compact-drag-handle{cursor:grab;font-size:.9rem;color:#888;padding:0 4px}.compact-drag-handle:active{cursor:grabbing}.compact-caller{flex:1;cursor:pointer;display:flex;align-items:center;gap:8px;min-width:0}.compact-name{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-timer{font-size:.75rem;color:#4a4a8a;font-variant-numeric:tabular-nums}.compact-held{font-size:.6rem;font-weight:700;color:#ff9800}.compact-actions{display:flex;gap:4px}.compact-btn{width:28px;height:28px;border-radius:50%;border:1px solid #444;background:#2a2a3e;color:#e0e0e0;font-size:.7rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.compact-btn:hover{background:#3a3a4e}.compact-btn.active{background:#4a4a8a;color:#fff}.compact-btn.hangup{background:#f44336;color:#fff;border-color:#f44336}.compact-btn.hangup:hover{background:#d32f2f}
