:root{--primary-color:#06c;--primary-hover:#05a;--success-color:#28a745;--danger-color:#dc3545;--warning-color:#ffc107;--text-color:#333;--text-muted:#595959;--border-color:#ddd;--bg-color:#f5f5f5;--card-bg:#fff;--shadow:0 2px 8px #0000001a;--success-hover:#218838;--danger-hover:#c82333;--success-call-hover:#16a34a;--warning-text:#946e00;--line-idle-color:#2196f3;--line-active-color:#dc3545;--danger-bg-light:#dc35451a;--danger-bg-lighter:#dc35450d;--danger-bg-medium:#dc354526;--success-bg-light:#28a7451a;--success-bg-medium:#28a74526;--success-bg-strong:#28a74559;--primary-bg-light:#0066cc1a;--primary-bg-medium:#0066cc26;--line-idle-bg:#2196f31f;--line-active-bg:#dc35451f;--line-active-bg-strong:#dc35454d;--warning-bg-medium:#ffc10726;--error-color:#dc2626;--error-bg-light:#dc26261a;--overlay-shadow:#00000026;--shadow-color:#0000001a;--text-on-dark:#fffc;--incoming-call-bg:linear-gradient(135deg, #28a74526, #0066cc26);--banner-info-bg:#e3f2fd;--banner-info-fg:#0d47a1;--banner-info-border:#90caf9;--font-size-2xs:.5625rem;--font-size-xs:.625rem;--font-size-sm:.75rem;--font-size-md:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.375rem;--font-size-3xl:1.75rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--dialpad-key-size:4rem;--dialpad-max-width:13.75rem;--phone-button-width:7.5rem;--phone-button-height:2.5rem;--control-btn-size:4rem}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color);color:var(--text-color);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.app-with-panel{min-height:100%;position:relative}.app{background:var(--card-bg);flex-direction:column;flex-shrink:0;width:100%;max-width:500px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.app:not(.embedded)>.call-banner-stack{z-index:5;pointer-events:none;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.app:not(.embedded)>.call-banner-stack>*{pointer-events:auto}.app:not(.embedded) .app-main{padding-bottom:var(--banner-stack-height,0px)}.app.embedded{height:auto;min-height:auto;box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.app.app-layout-compact .dialer-with-buttons{display:none}.app.app-layout-compact.compact-dialpad-revealed .dialer-with-buttons{display:flex}.app.app-layout-wide{max-width:1000px}.app.app-layout-wide .app-main{padding:0}.wide-split{grid-template-columns:440px 1fr;gap:0;height:100%;min-height:0;display:grid;overflow:hidden}.wide-split>.wide-left{border-right:1px solid var(--border-color,#00000014);flex-direction:column;min-height:0;display:flex;overflow:hidden auto}.wide-split>.wide-left>.dialer-with-buttons{flex:1}.wide-split>.wide-right{min-height:0;overflow:hidden auto}.wide-left-footer{justify-content:flex-end;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border-color);background:var(--card-bg);flex-shrink:0;display:flex}@media (width<=839px){.app.app-layout-wide{max-width:500px}.wide-split{grid-template-columns:1fr}.wide-split>.wide-left{border-right:none}.wide-split>.wide-right{display:none}}.experimental-panel{top:0;left:calc(50% + 180px + var(--space-lg));width:240px;height:100dvh;padding:var(--space-lg);padding-top:var(--space-xl);background:var(--card-bg);border-left:1px solid var(--border-color);z-index:10;position:fixed;overflow-y:auto}.experimental-panel-title{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 var(--space-lg) 0;font-weight:600}.experimental-section{margin-bottom:var(--space-md)}.experimental-toggle-row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.experimental-toggle-label{flex-direction:column;min-width:0;display:flex}.experimental-toggle-name{font-size:var(--font-size-sm);color:var(--text-color);font-weight:500}.experimental-toggle-desc{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:1px}.experimental-toggle-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px}.experimental-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.toggle-track{background:var(--border-color);border-radius:10px;width:36px;height:20px;transition:background .2s;display:block;position:relative}.experimental-toggle-btn.active .toggle-track{background:var(--primary-color)}.toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.experimental-toggle-btn.active .toggle-thumb{transform:translate(16px)}.experimental-divider{background:var(--border-color);height:1px;margin:var(--space-md) 0}.experimental-group-header{align-items:center;gap:var(--space-xs);width:100%;margin-top:var(--space-sm);padding:var(--space-xs) 0;border:none;border-top:1px solid var(--border-color);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-color);text-align:left;background:0 0;font-weight:600;display:flex}.experimental-group-caret{color:var(--text-muted);font-size:10px;transition:transform .15s;display:inline-block}.experimental-group-caret.expanded{transform:rotate(90deg)}.experimental-group-title{text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-size-xs);color:var(--text-muted)}.experimental-group-body{margin-top:var(--space-xs)}.experimental-lang-selectors{margin-top:var(--space-sm);gap:var(--space-xs);flex-direction:column;display:flex}.experimental-lang-row{flex-direction:column;gap:2px;display:flex}.experimental-lang-label{font-size:var(--font-size-xs);color:var(--text-muted)}.experimental-lang-select{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);border-radius:4px;width:100%}.experimental-lang-select:disabled{opacity:.5}.experimental-slider{appearance:none;background:var(--border-color);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.experimental-slider::-webkit-slider-thumb{appearance:none;background:var(--primary-color);cursor:pointer;border-radius:50%;width:14px;height:14px}.experimental-slider::-moz-range-thumb{background:var(--primary-color);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.experimental-status{font-size:var(--font-size-xs);color:var(--success-color);margin-top:var(--space-xs);align-items:center;gap:var(--space-xs);display:flex}.experimental-status:before{content:"";background:var(--success-color);border-radius:50%;width:6px;height:6px;display:inline-block}.experimental-detected{color:var(--text-muted)}.transcript-container{margin-top:var(--space-xs);position:relative}.transcript-detach-btn{z-index:2;width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:background .15s,color .15s;display:flex;position:absolute;top:4px;right:4px}.transcript-detach-btn:hover{background:var(--border-color);color:var(--text-color)}.transcript-detached-placeholder{font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--space-sm);text-align:center;background:var(--bg-secondary,#00000008);border-radius:6px;font-style:italic}.transcript-reattach-link{color:var(--primary-color);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-style:normal;text-decoration:underline}.caption-transcript{margin-top:var(--space-xs);max-height:200px;padding:var(--space-xs);background:var(--bg-secondary,#00000008);border-radius:6px;flex-direction:column;gap:4px;display:flex;overflow-y:auto}.caption-transcript-fill{height:100%;max-height:none;margin-top:0}.caption-group{max-width:85%;font-size:var(--font-size-xs);word-wrap:break-word;border-radius:10px;padding:4px 8px;line-height:1.4}.caption-phrase+.caption-phrase{margin-top:4px}.caption-primary{line-height:1.4}.caption-foreign{opacity:.75;flex-wrap:wrap;align-items:baseline;gap:4px;margin-top:2px;font-style:italic;line-height:1.35;display:flex}.caption-foreign-symbol{font-size:10px;font-style:normal;line-height:1}.caption-foreign-code{letter-spacing:.5px;opacity:.8;font-size:9px;font-style:normal;font-weight:600}.caption-foreign-text{flex:1;min-width:0}.caption-inbound{background:var(--caption-caller-bg,#e3f2fd);color:var(--caption-caller-text,#1565c0);border-bottom-left-radius:3px;align-self:flex-start}.caption-outbound{background:var(--caption-agent-bg,#e8f5e9);color:var(--caption-agent-text,#2e7d32);border-bottom-right-radius:3px;align-self:flex-end}.caption-live{opacity:.7;font-style:italic}.experimental-hint{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-lg);font-style:italic}.preview-voice-btn{width:100%;padding:var(--space-xs) var(--space-sm);margin-top:var(--space-xs);background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);font-size:var(--font-size-sm);cursor:pointer;border-radius:6px;transition:background .15s}.preview-voice-btn:hover:not(:disabled){background:var(--border-color)}.preview-voice-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=864px){.experimental-panel{display:none}}.login-screen{background:var(--bg-color);min-height:100dvh;padding:var(--space-lg);justify-content:center;align-items:center;display:flex}.login-form{background:var(--card-bg);width:400px;max-width:90vw;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;padding:2rem;display:flex}.login-header{text-align:center;margin-bottom:var(--space-2xl)}.login-header .login-logo{max-width:80%;max-height:56px;margin:0 auto var(--space-lg);object-fit:contain;display:block}.login-loading{border:3px solid var(--color-border,#ccc);border-top-color:var(--color-primary,#0078d4);width:28px;height:28px;margin:var(--space-xl) auto;border-radius:50%;align-self:center;animation:.8s linear infinite login-loading-spin}@keyframes login-loading-spin{to{transform:rotate(360deg)}}.login-header h1{font-size:var(--font-size-base);color:var(--text-color);margin-bottom:var(--space-sm);font-weight:600}.login-header p{color:var(--text-muted)}.form-group{margin-bottom:1.25rem}.form-group label{font-weight:500;font-size:var(--font-size-md);margin-bottom:.375rem;display:block}.form-group input{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--border-color);font-size:var(--font-size-base);background:var(--card-bg);color:var(--text-color);border-radius:8px;transition:border-color .2s}.form-group input:focus{border-color:var(--primary-color);outline:none}.form-group input:disabled{background:var(--bg-color);cursor:not-allowed}.login-form button[type=submit]{background:var(--primary-color);color:#fff;width:100%;font-size:var(--font-size-base);cursor:pointer;margin-top:var(--space-md);border:none;border-radius:8px;padding:.875rem;font-weight:600;transition:background .2s}.login-form button[type=submit]:hover:not(:disabled){background:var(--primary-hover)}.login-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-form .oidc-signin{background:var(--card-bg);width:100%;color:var(--text-color);border:1px solid var(--border-color);font-size:var(--font-size-base);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.625rem;padding:.875rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.login-form .oidc-signin:hover:not(:disabled){background:var(--bg-color);box-shadow:0 1px 2px var(--shadow-color)}.login-form .oidc-signin:active:not(:disabled){background:var(--bg-color);filter:brightness(.97)}.login-form .oidc-signin:disabled{opacity:.6;cursor:not-allowed}.login-form .oidc-different-account{width:100%;padding:var(--space-xs,4px) 0;margin:var(--space-xs,4px) 0 0;color:var(--accent,#0078d4);text-align:center;cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline;display:block}.login-form .oidc-different-account:hover:not(:disabled){color:var(--accent-hover,#005a9e)}.login-form .oidc-different-account:disabled{opacity:.5;cursor:not-allowed}.login-form .oidc-signin .ms-logo{flex-shrink:0;width:18px;height:18px}.login-form .login-divider{text-align:center;margin:var(--space-md) 0;color:var(--text-muted,#6b7280);font-size:var(--font-size-sm,.875rem);text-transform:lowercase;letter-spacing:.05em;align-items:center;display:flex}.login-form .login-divider:before,.login-form .login-divider:after{content:"";background:var(--border-color,#e5e7eb);flex:1;height:1px}.login-form .login-divider:before{margin-right:.75rem}.login-form .login-divider:after{margin-left:.75rem}.error-message{color:var(--danger-color);font-size:var(--font-size-md);background:var(--danger-bg-light);margin-bottom:var(--space-md);border-radius:6px;padding:.625rem}.active-call-warning{padding:var(--space-md)}.active-call-warning .warning-message{color:var(--warning-text);font-size:var(--font-size-md);background:var(--warning-bg-medium);margin-bottom:var(--space-md);border-radius:6px;padding:.625rem;line-height:1.4}.active-call-warning .warning-actions{gap:var(--space-sm);display:flex}.active-call-warning .warning-actions button{border:1px solid var(--border-color);font-size:var(--font-size-md);cursor:pointer;background:var(--bg-color);color:var(--text-color);border-radius:6px;flex:1;padding:.75rem}.active-call-warning .warning-actions button.force-login{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.active-call-warning .warning-actions button.force-login:hover:not(:disabled){background:var(--primary-hover)}.active-call-warning .warning-actions button:disabled{opacity:.6;cursor:not-allowed}.loading{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2.5rem;display:flex}.spinner{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:3rem;height:3rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading p{margin-top:var(--space-lg);color:var(--text-muted)}.app-header{padding:var(--space-sm) var(--space-lg);background:var(--card-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:var(--space-sm);padding-bottom:0;display:flex}.header-note{font-size:var(--font-size-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;align-self:flex-end;padding-bottom:.125rem;overflow:hidden}.user-info{align-items:center;gap:var(--space-sm);display:flex}.user-name{font-weight:600}.user-ext{color:var(--text-muted);font-size:.8125rem}.status-indicator{background:var(--warning-color);border-radius:50%;width:10px;height:10px}.status-indicator.registered{background:var(--success-color)}.status-indicator.busy{background:var(--danger-color)}.status-indicator.disconnected{background:var(--text-muted)}.mwi-indicator{background:var(--danger-color);color:#fff;min-width:1rem;height:1rem;margin-left:var(--space-xs);border-radius:8px;justify-content:center;align-items:center;padding:0 .25rem;font-size:.625rem;font-weight:600;display:flex}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.7}}@keyframes presence-pulse{0%,to{opacity:1}50%{opacity:.6}}.presence-dot.on-the-phone{animation:1.5s ease-in-out infinite presence-pulse}.logout-btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--border-color);font-size:var(--font-size-md);cursor:pointer;background:0 0;border-radius:6px;transition:background .2s}.logout-btn:hover{background:var(--bg-color)}.app-main{min-height:0;padding:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.error-banner{padding:var(--space-md) var(--space-lg);background:var(--danger-bg-light);color:var(--danger-color);margin-bottom:var(--space-lg);font-size:var(--font-size-md);border-radius:8px;justify-content:space-between;align-items:center;display:flex}.error-banner button{font-size:var(--font-size-lg);cursor:pointer;padding:0 var(--space-xs);background:0 0;border:none}.warning-banner{padding:var(--space-md) var(--space-lg);background:var(--warning-bg-medium);color:var(--warning-text);margin-bottom:var(--space-lg);border-radius:8px;justify-content:space-between;align-items:center;font-size:.8125rem;line-height:1.4;display:flex}.warning-banner button{font-size:var(--font-size-lg);cursor:pointer;padding:0 var(--space-xs);color:var(--warning-text);margin-left:var(--space-md);background:0 0;border:none;flex-shrink:0}.warning-action-btn{white-space:nowrap;text-decoration:underline;font-size:var(--font-size-sm)!important}.dialer{flex-direction:column;flex:1;align-items:center;display:flex}.dialer-display{width:100%;margin-bottom:var(--space-lg);align-items:center;display:flex;position:relative}.dialer-display input{width:100%;padding:var(--space-md);font-size:var(--font-size-xl);text-align:center;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);border-radius:8px}.dialer-display input:focus{border-color:var(--primary-color);outline:none}.dialpad{gap:var(--space-sm);width:100%;max-width:var(--dialpad-max-width);flex-direction:column;display:flex}.dialpad-row{justify-content:space-between;gap:var(--space-sm);display:flex}.dialpad-key{width:var(--dialpad-key-size);height:var(--dialpad-key-size);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);cursor:pointer;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-family:inherit;transition:all .15s;display:flex}.dialpad-key:hover{background:var(--bg-color)}.dialpad-key:active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:scale(.95)}.key-digit{font-size:var(--font-size-2xl);font-weight:500;line-height:1}.key-label{font-size:var(--font-size-xs);color:var(--text-muted);letter-spacing:1px;margin-top:2px}.dialpad-key:active .key-label{color:var(--text-on-dark)}.call-actions{margin-top:var(--space-lg);width:100%;max-width:var(--dialpad-max-width)}.call-btn{width:100%;padding:var(--space-md);background:var(--success-color);color:#fff;font-size:var(--font-size-base);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-sm);border:none;border-radius:40px;font-weight:600;transition:background .2s;display:flex}.call-btn:hover:not(:disabled){background:var(--success-hover)}.call-btn:disabled{opacity:.5;cursor:not-allowed}.call-icon{font-size:var(--font-size-2xl)}.call-controls{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--card-bg);border-top:1px solid var(--border-color);box-shadow:0 -2px 8px var(--shadow-color);display:flex}.call-info{flex:1;min-width:0}.call-remote{font-size:var(--font-size-base);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.call-number{color:var(--text-muted);font-size:.8125rem}.call-status{font-size:var(--font-size-sm)}.status-held{color:var(--warning-color)}.status-duration{color:var(--success-color);font-family:monospace;font-size:.8125rem}.control-buttons{gap:var(--space-sm);flex-shrink:0;display:flex}.conference-roster{border-left:1px solid var(--border-color);min-width:0;max-height:7.5rem;padding-left:var(--space-md);flex:2;overflow-y:auto}.conference-roster-header{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-xs);font-weight:600}.conference-roster-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.conference-roster-member{align-items:center;gap:var(--space-xs);font-size:.8125rem;line-height:1.4;display:flex}.conference-roster-member .member-avatar{background:var(--accent-bg,#7f7f7f26);height:1.25rem;color:var(--text-color);border-radius:50%;flex:0 0 1.25rem;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;display:inline-flex}.conference-roster-member .member-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.conference-roster-member .member-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:#7f7f7f26;border-radius:.5rem;flex-shrink:0;padding:0 .375rem;font-size:.625rem}.conference-roster-member.is-self .member-name{font-weight:600}.conference-roster-member.is-moderator .moderator-badge{background:var(--success-color,#2e7d32);color:#fff}.conference-roster-member.is-active-speaker{border-left:2px solid var(--accent-color,#1976d2);margin-left:-6px;padding-left:4px}.conference-roster-member.is-active-speaker .member-avatar{background:var(--accent-color,#1976d2);color:#fff}.control-btn{border:1px solid var(--border-color);background:var(--card-bg);width:2.75rem;height:2.75rem;color:var(--text-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.control-btn:hover{background:var(--bg-color)}.control-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.control-btn.hangup-btn{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.control-btn.hangup-btn:hover{background:var(--danger-hover)}.control-btn.join-btn{background:var(--success-color);color:#fff;border-color:var(--success-color)}.control-btn.join-btn:hover{background:var(--success-hover)}.btn-icon{font-size:var(--font-size-lg);line-height:1}.btn-label{display:none}.incoming-call{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2.5rem 1.25rem;display:flex}.incoming-animation{margin-bottom:var(--space-2xl);position:relative}.ring-animation{background:linear-gradient(135deg, var(--success-color), var(--primary-color));border-radius:50%;width:7.5rem;height:7.5rem;animation:1.5s ease-in-out infinite ring}@keyframes ring{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.caller-info{margin-bottom:2.5rem}.caller-avatar{background:var(--bg-color);width:5rem;height:5rem;margin:0 auto var(--space-lg);border-radius:50%;justify-content:center;align-items:center;font-size:2.25rem;display:flex}.caller-name{margin-bottom:var(--space-xs);font-size:1.5rem;font-weight:600}.caller-number{font-size:var(--font-size-lg);color:var(--text-muted);margin-bottom:var(--space-sm)}.caller-redirect{font-size:var(--font-size-md);color:var(--text-muted);margin-bottom:var(--space-sm);font-style:italic}.call-type{font-size:var(--font-size-md);color:var(--text-muted)}.incoming-actions{gap:3rem;display:flex}.incoming-actions button{cursor:pointer;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;transition:transform .2s;display:flex}.incoming-actions button:hover{transform:scale(1.1)}.reject-btn{background:var(--danger-color);color:#fff}.answer-btn{background:var(--success-color);color:#fff}.incoming-actions .btn-icon{font-size:var(--font-size-3xl)}.incoming-actions .btn-label{margin-top:2px;font-size:.6875rem}.settings-container{align-items:center;gap:var(--space-xs);display:flex;position:relative}.settings-toggle{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:all .15s;display:flex}.settings-toggle:hover{background:var(--bg-color);color:var(--text-color)}.settings-toggle.active{background:var(--primary-color);color:#fff}.settings-toggle.armed{color:#d33030;animation:1.4s ease-in-out infinite diag-capture-pulse}.settings-toggle.armed:hover{color:#d33030;background:#d330301f}@keyframes diag-capture-pulse{0%,to{opacity:1}50%{opacity:.55}}.verification-badge{vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:1.1em;height:1.1em;margin-left:.35em;font-size:.7em;font-weight:700;line-height:1;display:inline-flex}.verification-badge.verified{background:var(--success-color,#28a745);color:#fff}.verification-badge.partially_verified{background:var(--warning-color,#ffc107);color:#333}.verification-badge.failed{background:var(--danger-color,#dc3545);color:#fff}.history-name .verification-badge{font-size:.6em}.error-indicator-container{position:relative}.error-indicator-toggle{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--warning-color);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:all .15s;display:flex}.error-indicator-toggle:hover{background:var(--warning-bg-medium)}.error-dropdown{margin-top:var(--space-sm);background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow);z-index:100;border-radius:8px;min-width:220px;max-width:300px;max-height:200px;position:absolute;top:100%;right:0;overflow-y:auto}.error-item{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--danger-color);border-bottom:1px solid var(--border-color);display:flex}.error-item:last-child{border-bottom:none}.error-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.error-item span{word-break:break-word}.error-item-time{font-size:var(--font-size-xs);color:var(--text-muted)}.error-item button{cursor:pointer;color:var(--text-muted);font-size:var(--font-size-base);background:0 0;border:none;flex-shrink:0;padding:0;line-height:1}.error-item button:hover{color:var(--text-color)}.device-group{margin-bottom:var(--space-md)}.device-group:last-child{margin-bottom:0}.device-group label{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-xs);font-weight:500;display:block}.device-group select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);font-size:var(--font-size-md);background:var(--card-bg);color:var(--text-color);border-radius:6px}.tuning-separator{border-top:1px solid var(--border-color);margin:var(--space-md) 0}.audio-mode-status{align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);font-size:var(--font-size-sm);border-radius:4px;padding:6px 8px;line-height:1.3;display:flex}.audio-mode-status.loading{background:var(--info-bg,#2196f314);color:var(--info-text,var(--text-color))}.audio-mode-status.failed{background:var(--warning-bg,#ff98001a);color:var(--warning-text,var(--text-color))}.audio-mode-status__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.8s linear infinite audio-mode-status-spin}@keyframes audio-mode-status-spin{to{transform:rotate(360deg)}}.device-row{align-items:center;gap:8px;display:flex}.device-row select{flex:1}.device-test-btn{border:1px solid var(--border-color);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-color);white-space:nowrap;background:0 0;border-radius:6px;padding:6px 12px}.device-test-btn:disabled{opacity:.5;cursor:default}.device-name{font-size:var(--font-size-md);color:var(--text-color);margin-top:2px;font-weight:500}.device-caps{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:2px}.device-link-status{font-size:var(--font-size-sm);color:var(--text-muted);align-items:center;gap:6px;margin-top:4px;display:inline-flex}.device-link-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.device-link-status[data-linked=true]{color:var(--text-color)}.device-link-status[data-linked=true] .device-link-dot{background:var(--success-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--success-color) 25%, transparent)}.device-actions{margin-top:var(--space-sm);justify-content:space-between;align-items:center;gap:8px;display:flex}.device-toggle{align-items:center;gap:6px;color:var(--text-color)!important;margin-bottom:0!important;font-weight:400!important;display:inline-flex!important}.device-error{font-size:var(--font-size-sm);color:var(--error-color,#d32f2f);margin-top:4px}.mic-level-meter{gap:2px;height:8px;margin-top:6px;display:flex}.mic-level-meter .seg{background:var(--border-color);border-radius:2px;flex:1;transition:background 60ms linear}.mic-level-meter .seg.lit{background:var(--success-color)}.mic-level-meter .seg.lit-mid{background:#f0ad4e}.mic-level-meter .seg.lit-hot{background:#d9534f}.tuning-slider{appearance:none;background:var(--border-color);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.tuning-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary-color);cursor:pointer;border-radius:50%;width:16px;height:16px}.tuning-slider::-moz-range-thumb{background:var(--primary-color);cursor:pointer;border:none;border-radius:50%;width:16px;height:16px}.tuning-slider:disabled{opacity:.4;cursor:default}.tuning-range-labels{font-size:var(--font-size-xs);color:var(--text-muted);justify-content:space-between;margin-top:2px;display:flex}.checkbox-label{align-items:center;gap:var(--space-sm);cursor:pointer;display:flex}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.tab-bar{border-bottom:1px solid var(--border-color);background:var(--card-bg);justify-content:space-around;display:flex}.tab-btn{padding:var(--space-md) 1.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.tab-btn:hover{background:var(--bg-color);color:var(--text-color)}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-icon{font-size:var(--font-size-2xl)}.tab-activity-dot{background:var(--success-color);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse;position:absolute;top:6px;right:10px}.tab-badge{background:var(--primary-color);color:#fff;font-size:var(--font-size-xs);text-align:center;border-radius:8px;min-width:16px;padding:1px 5px;position:absolute;top:6px;right:10px}.call-history{flex:1;overflow-y:auto}.call-history.empty{justify-content:center;align-items:center;display:flex}.empty-state{text-align:center;color:var(--text-muted)}.empty-icon{margin-bottom:var(--space-md);opacity:.5;font-size:3rem;display:block}.empty-state p{font-size:var(--font-size-base)}.history-list{margin:0;padding:0;list-style:none}.history-item{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);cursor:pointer;align-items:center;transition:background .15s;display:flex}.history-item:hover{background:var(--bg-color)}.history-item:active{background:var(--primary-bg-light)}.call-icon{background:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.625rem;display:flex;position:absolute;bottom:-2px;left:-2px}.call-icon.incoming{color:#fff;background:#28a745d9}.call-icon.outgoing{color:#fff;background:#0066ccd9}.call-icon.missed{color:#fff;background:#dc3545d9}.history-details{flex:1;min-width:0}.history-name{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;margin-bottom:1px;font-weight:500;overflow:hidden}.history-meta{font-size:var(--font-size-sm);color:var(--text-muted);align-items:center;gap:var(--space-xs);display:flex}.history-redirect{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-style:italic;overflow:hidden}.history-missed-reason{white-space:nowrap}.history-number{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.meta-separator{color:var(--border-color)}.history-duration{white-space:nowrap}.history-time-container{margin-left:var(--space-sm);flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.history-principal{font-size:var(--font-size-xs);color:var(--warning-text);white-space:nowrap}.history-time{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap}.dialer-with-buttons{gap:var(--space-md);flex-direction:column;align-items:center;width:100%;display:flex}.buttons-top{flex-direction:column;gap:.375rem;width:100%;max-width:28rem;display:flex}.buttons-top-row{gap:var(--space-sm);display:flex}.buttons-top .phone-button{flex:1;width:auto;min-width:0}.dialer-bottom-section{gap:var(--space-md);justify-content:center;width:100%;max-width:28rem;display:flex}.dialer-section{flex-direction:column;flex:2;align-items:center;display:flex}.feature-buttons-section{flex-direction:column;flex:1;display:flex}.feature-buttons-section .buttons-side{flex-direction:column;gap:.375rem;display:flex}.feature-buttons-section .phone-button{width:100%}.buttons-side{flex-direction:column;gap:.375rem;display:flex;position:relative}.side-buttons-handle{border:1px solid var(--border-color);background:var(--card-bg);width:16px;height:44px;color:var(--text-muted);cursor:pointer;z-index:6;border-radius:0 6px 6px 0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;top:50%;right:-10px;transform:translateY(-50%)}.side-buttons-handle:hover{background:var(--bg-color);color:var(--text-color);border-color:var(--text-muted)}.side-buttons-handle.open{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.side-buttons-handle-chevron{font-size:14px;font-weight:700;line-height:1}.side-buttons-handle-count{font-size:8px;font-weight:700;line-height:1}.side-buttons-drawer-wrapper{pointer-events:none;z-index:100;position:fixed;overflow:hidden}.side-buttons-drawer{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:4px 0 12px var(--shadow-color);pointer-events:auto;border-left:none;border-radius:0 8px 8px 0;flex-direction:column;animation:.22s ease-out side-buttons-drawer-slide-out;display:flex;position:absolute;inset:0}@keyframes side-buttons-drawer-slide-out{0%{transform:translate(-100%)}to{transform:translate(0)}}.side-buttons-drawer-list{padding:var(--space-sm);flex-direction:column;flex:1;gap:.375rem;display:flex;overflow-y:auto}.side-buttons-drawer-list .phone-button{width:100%}.dialer-actions{justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-md);width:100%;max-width:var(--dialpad-max-width);display:flex}.dialer-action-btn{border:1px solid var(--border-color);background:var(--card-bg);width:3rem;height:3rem;color:var(--text-color);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.dialer-action-btn:hover{background:var(--bg-color)}.dialer-action-btn:active{transform:scale(.95)}.dialer-action-btn.call-btn{background:var(--success-color);border-color:var(--success-color);color:#fff;border-radius:1.5rem;flex:1;width:auto}.dialer-action-btn.call-btn:hover:not(:disabled){filter:brightness(1.1)}.dialer-action-btn.call-btn.disabled,.dialer-action-btn.call-btn:disabled{background:var(--text-muted);border-color:var(--text-muted);cursor:not-allowed;opacity:.6}.dialer-action-btn.clear-btn:hover{color:var(--danger-color);border-color:var(--danger-color)}.dialer-action-btn.backspace-btn:hover{color:var(--warning-color);border-color:var(--warning-color)}.phone-button{width:var(--phone-button-width);height:var(--phone-button-height);min-height:var(--phone-button-height);max-height:var(--phone-button-height);border:1px solid var(--border-color);background:var(--card-bg);padding:0 var(--space-sm);cursor:pointer;border-radius:8px;flex-direction:row;justify-content:flex-start;align-items:center;gap:.375rem;transition:all .15s;display:flex;position:relative;overflow:hidden}.phone-button:hover:not(:disabled){background:var(--bg-color);border-color:var(--primary-color)}.phone-button:active:not(:disabled){transform:scale(.98)}.phone-button.mirrored{flex-direction:row-reverse}.phone-button.mirrored .button-label,.phone-button.mirrored .button-label-two-line{text-align:right;align-items:flex-end}.phone-button.mirrored .remote-party-info{align-items:flex-end}.phone-button.mirrored.line-button{border-left:1px solid var(--border-color);border-right:4px solid var(--line-idle-color)}.phone-button.mirrored.line-button.status-idle{border-left:1px solid var(--border-color);border-right:4px solid var(--line-idle-color);background:linear-gradient(to left, var(--line-idle-bg), transparent 60%)}.phone-button.mirrored.line-button.status-ready{border-right-color:var(--line-active-color);background:linear-gradient(to left, var(--line-active-bg), transparent 60%)}.phone-button.mirrored.line-button.status-ringing{border-right-color:var(--line-active-color);animation:.6s ease-in-out infinite line-ringing-mirrored}@keyframes line-ringing-mirrored{0%,to{background:linear-gradient(to left, var(--line-active-bg), transparent 60%)}50%{background:linear-gradient(to left, var(--line-active-bg-strong), transparent 60%)}}.phone-button.mirrored.line-button.status-on-call,.phone-button.mirrored.line-button.status-busy{border-right-color:var(--line-active-color);background:linear-gradient(to left, var(--line-active-bg), transparent 60%)}.phone-button.mirrored.feature-button{border-left:1px solid var(--border-color);border-right:4px solid var(--line-idle-color);background:linear-gradient(to left, var(--line-idle-bg), transparent 60%)}.button-icon{font-size:var(--font-size-base);flex-shrink:0;line-height:1}.button-label{font-size:var(--font-size-sm);color:var(--text-color);text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.button-label-two-line{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:.0625rem;min-width:0;display:flex;overflow:hidden}.button-label-primary{font-size:var(--font-size-sm);color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;overflow:hidden}.button-label-secondary{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.placeholder-button{background:var(--bg-color);border-color:var(--border-color);cursor:default;opacity:.5}.placeholder-button:hover{background:var(--bg-color);border-color:var(--border-color)}.line-button.status-idle{border-left:4px solid var(--line-idle-color);background:linear-gradient(to right, var(--line-idle-bg), transparent 60%)}.line-button.status-ringing{border-left:4px solid var(--line-active-color);animation:.6s ease-in-out infinite line-ringing}@keyframes line-ringing{0%,to{background:linear-gradient(to right, var(--line-active-bg), transparent 60%)}50%{background:linear-gradient(to right, var(--line-active-bg-strong), transparent 60%)}}.line-button.status-ready,.line-button.status-on-call,.line-button.status-busy{border-left:4px solid var(--line-active-color);background:linear-gradient(to right, var(--line-active-bg), transparent 60%)}.remote-party-info{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:.0625rem;min-width:0;display:flex;overflow:hidden}.remote-party-name{font-size:var(--font-size-xs);color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;overflow:hidden}.remote-party-number{font-size:var(--font-size-2xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.voicemail-button{border-left:4px solid var(--line-idle-color);background:linear-gradient(to right, var(--line-idle-bg), transparent 60%)}.voicemail-button.has-messages{border-left-color:var(--danger-color);background:var(--danger-color);color:#fff}.voicemail-button.has-messages .button-icon,.voicemail-button.has-messages .button-label{color:#fff}.mwi-badge{background:var(--danger-color);color:#fff;font-size:var(--font-size-xs);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.toggle-button.status-idle{border-left:4px solid var(--line-idle-color);background:linear-gradient(to right, var(--line-idle-bg), transparent 60%)}.toggle-button.status-on-call{border-left:4px solid var(--line-active-color);background:linear-gradient(to right, var(--line-active-bg), transparent 60%)}.toggle-button.status-on-call .button-icon{filter:none}.toggle-button.status-on-call .button-label{color:var(--line-active-color);font-weight:500}.toggle-badge{background:var(--line-active-color);color:#fff;font-size:var(--font-size-2xs);letter-spacing:.5px;border-radius:8px;justify-content:center;align-items:center;min-width:20px;height:16px;padding:0 4px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.feature-button{border-left:4px solid var(--line-idle-color);background:linear-gradient(to right, var(--line-idle-bg), transparent 60%)}@media (width<=400px){.dialer-bottom-section{flex-direction:column;align-items:center}.dialer-section,.feature-buttons-section{flex:none;width:100%}.feature-buttons-section .buttons-side{padding-top:var(--space-md);flex-flow:wrap;justify-content:center}}@media (width<=360px){.app-main{padding:var(--space-sm)}.extension-trigger{padding:.25rem var(--space-sm);font-size:var(--font-size-sm)}.tab-btn{padding:var(--space-sm) var(--space-md)}.history-item{padding:var(--space-xs) var(--space-sm)}}@media (width<=320px){:root{--dialpad-key-size:3.5rem;--phone-button-width:6.25rem;--phone-button-height:2.25rem}.app-main{padding:var(--space-sm)}.key-digit{font-size:var(--font-size-lg)}.button-label{font-size:var(--font-size-2xs)}}.input-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--card-bg);display:flex;position:relative}.search-input-container{flex:1;position:relative}.search-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);border-radius:8px;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .2s}.search-input:focus{border-color:var(--primary-color);background:var(--card-bg);outline:none}.search-input:disabled{background:var(--bg-color);cursor:not-allowed;opacity:.6}.suggestions-dropdown{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow);z-index:100;border-radius:8px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestion-item{width:100%;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;padding:.625rem .875rem;font-family:inherit;transition:background .15s;display:flex}.suggestion-item:hover,.suggestion-item.selected{background:var(--bg-color)}.suggestion-item:first-child{border-radius:8px 8px 0 0}.suggestion-item:last-child{border-radius:0 0 8px 8px}.suggestion-item:only-child{border-radius:8px}.suggestion-icon{width:1.5rem;height:1.5rem;font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.suggestion-icon.outgoing{background:var(--primary-bg-medium);color:var(--primary-color)}.suggestion-icon.incoming{background:var(--success-bg-medium);color:var(--success-color)}.suggestion-icon.missed{background:var(--danger-bg-medium);color:var(--danger-color)}.suggestion-info{flex-direction:column;min-width:0;display:flex}.suggestion-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.suggestion-number{font-size:var(--font-size-sm);color:var(--text-muted)}.extension-trigger{cursor:pointer;font-weight:500;font-size:var(--font-size-md);color:var(--text-color);background:0 0;border:none;border-radius:8px;outline:none;align-items:center;gap:.375rem;padding:.25rem;transition:all .15s;display:flex}.extension-trigger:hover{background:var(--card-bg)}.extension-trigger:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.user-avatar-container{flex-shrink:0;width:3rem;height:3rem;position:relative}.user-avatar-container .dropdown-arrow{font-size:var(--font-size-sm);color:var(--text-muted);background:var(--bg-color);border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;line-height:1;display:flex;position:absolute;bottom:-2px;right:-2px}.user-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.user-avatar-fallback{background:var(--bg-color);opacity:.6;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.25rem;display:flex}.user-presence-badge{position:absolute;top:-2px;right:-2px}.presence-note-label{color:var(--text-color);font-weight:600}.extension-menu{top:100%;left:var(--space-lg);background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 4px 16px var(--overlay-shadow);z-index:300;border-radius:12px;min-width:220px;margin-top:4px;position:absolute;overflow:hidden}.extension-menu-header{padding:.875rem var(--space-lg);background:var(--bg-color)}.extension-menu-name{margin-bottom:2px;font-size:.9375rem;font-weight:600}.extension-menu-ext{color:var(--text-muted);font-size:.8125rem}.extension-menu-divider{background:var(--border-color);height:1px}.extension-menu-section{padding:var(--space-sm) 0}.extension-menu-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:var(--space-sm) var(--space-lg);font-size:.6875rem;font-weight:600}.extension-menu-item{width:100%;padding:.625rem var(--space-lg);color:var(--text-color);cursor:pointer;text-align:left;font-family:inherit;font-size:var(--font-size-md);background:0 0;border:none;align-items:center;gap:.625rem;transition:background .15s;display:flex}.extension-menu-item:hover{background:#ffffff0f}.extension-menu-item.active{background:var(--success-bg-light)}.extension-menu-item.logout{color:var(--danger-color)}.extension-menu-item.logout:hover{background:var(--danger-bg-light)}.menu-item-icon{font-size:var(--font-size-base);text-align:center;width:20px}.menu-item-text{flex:1}.menu-item-toggle{background:var(--border-color);color:var(--text-color);border-radius:4px;padding:2px 6px;font-size:.6875rem;font-weight:600}.extension-menu-item.active .menu-item-toggle{background:var(--success-color);color:#fff}.extension-menu-footer{color:var(--text-muted);text-align:center;border-top:1px solid var(--border-color);padding:8px 12px;font-size:.6875rem}.mwi-light{border:1px solid var(--border-color);background:var(--card-bg);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.mwi-light:disabled{cursor:default;opacity:.5}.mwi-icon{width:1.25rem;height:1.25rem}.mwi-light.has-messages{border-color:var(--danger-color);background:var(--danger-color);color:#fff}.mwi-light:not(:disabled):hover{background:var(--bg-color);border-color:var(--primary-color);color:var(--primary-color)}.mwi-count{background:var(--danger-color);color:#fff;font-size:var(--font-size-xs);border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-weight:600;display:flex;position:absolute;top:-6px;right:-6px}.incoming-call-compact{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--incoming-call-bg);border-top:1px solid var(--border-color);box-shadow:0 -2px 8px var(--shadow-color);display:flex}.incoming-call-compact .ring-animation-compact{background:linear-gradient(135deg, var(--success-color), var(--primary-color));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;animation:1.5s ease-in-out infinite ring;display:flex}.incoming-call-compact .caller-info-compact{flex:1;min-width:0}.incoming-call-compact .caller-name-compact{font-weight:600;font-size:var(--font-size-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.incoming-call-compact .caller-number-compact{color:var(--text-muted);font-size:.8125rem}.incoming-call-compact .caller-redirect-compact{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-style:italic;overflow:hidden}.incoming-call-compact .incoming-actions-compact{gap:var(--space-sm);display:flex}.incoming-call-compact .incoming-actions-compact button{cursor:pointer;width:3rem;height:3rem;font-size:var(--font-size-xl);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;display:flex}.incoming-call-compact .incoming-actions-compact button:hover{transform:scale(1.1)}.incoming-call-compact .reject-btn-compact{background:var(--danger-color);color:#fff}.incoming-call-compact .answer-btn-compact{background:var(--success-color);color:#fff}.app-header{position:relative}.header-left{align-items:center;gap:var(--space-sm);display:flex}.header-right{align-items:center;gap:var(--space-xs);flex-shrink:0;align-self:flex-start;display:flex}.icon-xs{width:1rem;height:1rem}.app-content{padding:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.tab-placeholder{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2.5rem;display:flex}.tab-placeholder-icon{margin-bottom:var(--space-lg);opacity:.5;font-size:3rem}.tab-placeholder-text{font-size:var(--font-size-base)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.form-group input:focus{border-color:var(--primary-color)}.form-group input:focus-visible,.search-input:focus-visible,.dialer-display input:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.icon-sm{width:1.125em;height:1.125em}.icon-md{width:1.25em;height:1.25em}.icon-lg{width:1.375em;height:1.375em}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary-color:#4d9fff;--primary-hover:#3d8fee;--success-color:#34d058;--danger-color:#f85149;--warning-color:#e3b341;--text-color:#e6edf3;--text-muted:#9eaab6;--border-color:#3d444d;--bg-color:#0d1117;--card-bg:#161b22;--shadow:0 2px 8px #0000004d;--success-hover:#2ea043;--danger-hover:#da3633;--success-call-hover:#2ea043;--warning-text:#e3b341;--line-idle-color:#3b82c4;--danger-bg-light:#f8514926;--danger-bg-lighter:#f8514914;--danger-bg-medium:#f8514933;--success-bg-light:#34d05826;--success-bg-medium:#34d05833;--success-bg-strong:#34d05866;--primary-bg-light:#4d9fff26;--primary-bg-medium:#4d9fff33;--warning-bg-medium:#e3b34133;--error-color:#f87171;--error-bg-light:#f8717126;--overlay-shadow:#0006;--shadow-color:#0000004d;--text-on-dark:#fffc;--incoming-call-bg:linear-gradient(135deg, #34d05826, #4d9fff26);--banner-info-bg:#4d9fff26;--banner-info-fg:#9ccaff;--banner-info-border:#4d9fff59}}[data-theme=dark]{--primary-color:#4d9fff;--primary-hover:#3d8fee;--success-color:#34d058;--danger-color:#f85149;--warning-color:#e3b341;--text-color:#e6edf3;--text-muted:#9eaab6;--border-color:#3d444d;--bg-color:#0d1117;--card-bg:#161b22;--shadow:0 2px 8px #0000004d;--success-hover:#2ea043;--danger-hover:#da3633;--success-call-hover:#2ea043;--warning-text:#e3b341;--line-idle-color:#3b82c4;--danger-bg-light:#f8514926;--danger-bg-lighter:#f8514914;--danger-bg-medium:#f8514933;--success-bg-light:#34d05826;--success-bg-medium:#34d05833;--success-bg-strong:#34d05866;--primary-bg-light:#4d9fff26;--primary-bg-medium:#4d9fff33;--warning-bg-medium:#e3b34133;--error-color:#f87171;--error-bg-light:#f8717126;--overlay-shadow:#0006;--shadow-color:#0000004d;--text-on-dark:#fffc;--incoming-call-bg:linear-gradient(135deg, #34d05826, #4d9fff26);--banner-info-bg:#4d9fff26;--banner-info-fg:#9ccaff;--banner-info-border:#4d9fff59}[data-theme=light]{--primary-color:#06c;--primary-hover:#05a;--success-color:#28a745;--danger-color:#dc3545;--warning-color:#ffc107;--text-color:#333;--text-muted:#595959;--border-color:#ddd;--bg-color:#f5f5f5;--card-bg:#fff;--shadow:0 2px 8px #0000001a}.brand-logo{width:36px;height:36px;margin-right:var(--space-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-logo svg{filter:drop-shadow(0 1px 3px #00000026);width:24px;height:36px}[data-theme=dark] .brand-logo svg{filter:drop-shadow(0 1px 3px #0006)brightness(1.1)}.more-menu-overlay{z-index:500;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.more-menu{background:var(--card-bg);border-radius:16px 16px 0 0;width:100%;max-width:360px;max-height:80vh;animation:.2s ease-out slide-up;overflow-y:auto}@keyframes slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.more-menu-header{padding:var(--space-lg);border-bottom:1px solid var(--border-color);font-weight:600;font-size:var(--font-size-base);justify-content:space-between;align-items:center;display:flex}.more-menu-close{background:var(--bg-color);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.more-menu-close:hover{background:var(--danger-color);color:#fff}.more-menu-actions{padding:var(--space-sm) 0}.more-menu-item{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);color:var(--text-color);font-family:inherit;font-size:var(--font-size-base);cursor:pointer;text-align:left;background:0 0;border:none;transition:background .15s;display:flex}.more-menu-item:hover{background:var(--bg-color)}.more-menu-item:active{background:var(--primary-bg-light)}.more-menu-item .menu-item-icon{font-size:var(--font-size-xl);text-align:center;width:2rem}.more-menu-item .menu-item-label{flex:1}.more-menu-item .menu-item-arrow{color:var(--text-muted);font-size:var(--font-size-xl)}.destination-input-overlay{z-index:600;padding:var(--space-lg);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.destination-input-panel{background:var(--card-bg);border-radius:16px;width:100%;max-width:320px;max-height:90vh;animation:.2s ease-out fade-scale-in;overflow-y:auto}@keyframes fade-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.destination-input-header{padding:var(--space-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.destination-input-title{font-weight:600;font-size:var(--font-size-base)}.destination-input-close{background:var(--bg-color);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.destination-input-close:hover{background:var(--danger-color);color:#fff}.destination-input-field{padding:var(--space-md) var(--space-lg);position:relative}.destination-input-field input{width:100%;padding:var(--space-md);border:1px solid var(--border-color);font-size:var(--font-size-xl);text-align:center;background:var(--bg-color);color:var(--text-color);border-radius:8px;padding-right:2.5rem;font-family:inherit}.destination-input-field input:focus{border-color:var(--primary-color);background:var(--card-bg);outline:none}.destination-clear-btn{right:calc(var(--space-lg) + var(--space-sm));width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.destination-clear-btn:hover{color:var(--danger-color)}.destination-recent{padding:0 var(--space-lg) var(--space-md)}.destination-recent-label{font-size:var(--font-size-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);display:block}.destination-recent-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.destination-recent-item{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;max-width:100%;font-family:inherit;transition:all .15s;display:flex}.destination-recent-item:hover{border-color:var(--primary-color);background:var(--primary-bg-light)}.destination-recent-item:disabled{opacity:.5;cursor:not-allowed}.recent-item-name{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-weight:500;overflow:hidden}.recent-item-number{font-size:var(--font-size-sm);color:var(--text-muted)}.destination-dialpad{padding:0 var(--space-lg);gap:var(--space-sm);flex-direction:column;align-items:center;display:flex}.destination-dialpad .dialpad-key{width:3.5rem;height:3.5rem}.destination-dialpad .key-digit{font-size:var(--font-size-xl)}.destination-actions{gap:var(--space-md);padding:var(--space-lg);justify-content:center;display:flex}.destination-backspace-btn{border:1px solid var(--border-color);background:var(--card-bg);width:3rem;height:3rem;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.destination-backspace-btn:hover:not(:disabled){background:var(--warning-color);border-color:var(--warning-color);color:#fff}.destination-backspace-btn:disabled{opacity:.4;cursor:not-allowed}.destination-action-btn{max-width:160px;padding:var(--space-md) var(--space-lg);background:var(--success-color);color:#fff;font-family:inherit;font-size:var(--font-size-base);cursor:pointer;border:none;border-radius:24px;flex:1;font-weight:600;transition:all .15s}.destination-action-btn:hover:not(:disabled){background:var(--success-hover)}.destination-action-btn:disabled{background:var(--border-color);color:var(--text-muted);cursor:not-allowed}.control-btn.more-btn{background:var(--bg-color);border-color:var(--border-color)}.control-btn.more-btn:hover{background:var(--primary-bg-light);border-color:var(--primary-color)}.consulting-banner{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--warning-bg-medium);margin-bottom:var(--space-md);border-radius:8px;display:flex}.consulting-info{flex:1;min-width:0}.consulting-label{font-size:var(--font-size-sm);color:var(--warning-text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.consulting-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.consulting-original{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:2px}.consulting-actions{gap:var(--space-sm);display:flex}.consulting-btn{padding:var(--space-sm) var(--space-md);font-family:inherit;font-size:var(--font-size-md);cursor:pointer;border:none;border-radius:6px;font-weight:500;transition:all .15s}.consulting-btn.complete{background:var(--success-color);color:#fff}.consulting-btn.complete:hover{background:var(--success-hover)}.consulting-btn.cancel{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color)}.consulting-btn.cancel:hover{background:var(--danger-bg-light);border-color:var(--danger-color);color:var(--danger-color)}.waiting-call-banner{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--incoming-call-bg);margin-bottom:var(--space-sm);border-radius:8px;animation:2s ease-in-out infinite waitingPulse;display:flex}@keyframes waitingPulse{0%,to{opacity:1}50%{opacity:.85}}.waiting-call-info{flex:1;min-width:0}.waiting-call-label{font-size:var(--font-size-sm);color:var(--success-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-weight:600}.waiting-call-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.waiting-call-number{font-size:var(--font-size-sm);color:var(--text-muted)}.waiting-call-actions{gap:var(--space-sm);display:flex}.waiting-call-btn{cursor:pointer;width:2.5rem;height:2.5rem;font-size:var(--font-size-lg);border:none;border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:transform .15s;display:flex}.waiting-call-btn:hover{transform:scale(1.1)}.waiting-call-btn.answer{background:var(--success-color);color:#fff}.waiting-call-btn.reject{background:var(--danger-color);color:#fff}.held-call-banner{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--warning-bg-medium);margin-bottom:var(--space-sm);border:1px dashed var(--warning-text);border-radius:8px;display:flex}.held-call-info{flex:1;min-width:0}.held-call-label{font-size:var(--font-size-sm);color:var(--warning-text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.held-call-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.held-call-number{font-size:var(--font-size-sm);color:var(--text-muted)}.held-call-actions{gap:var(--space-sm);display:flex}.held-call-btn{padding:var(--space-sm) var(--space-md);font-family:inherit;font-size:var(--font-size-md);cursor:pointer;border:none;border-radius:6px;font-weight:500;transition:all .15s}.held-call-btn.end{background:var(--danger-color);color:#fff}.held-call-btn.end:hover{background:var(--danger-hover)}.park-result-toast{background:var(--card-bg);border:1px solid var(--border-color);padding:var(--space-md) var(--space-lg);box-shadow:0 4px 16px var(--overlay-shadow);z-index:400;align-items:center;gap:var(--space-md);border-radius:12px;animation:.3s ease-out toast-in;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.park-result-toast.success{border-color:var(--success-color)}.park-result-toast.error{border-color:var(--danger-color)}.park-result-icon{font-size:var(--font-size-xl)}.park-result-toast.success .park-result-icon{color:var(--success-color)}.park-result-toast.error .park-result-icon{color:var(--danger-color)}.park-result-text{flex:1}.park-result-slot{font-weight:600;font-size:var(--font-size-lg)}.park-result-label{font-size:var(--font-size-sm);color:var(--text-muted)}.park-result-close{width:1.5rem;height:1.5rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.park-result-close:hover{color:var(--text-color)}.presence-indicator{align-items:center;gap:var(--space-xs);display:inline-flex}.presence-dot{flex-shrink:0}.presence-label{font-size:var(--font-size-sm);color:var(--text-muted)}.presence-selector{display:inline-block;position:relative}.presence-selector-trigger{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);color:var(--text-color);cursor:pointer;font-size:var(--font-size-sm);transition:background-color .15s,border-color .15s;display:flex}.presence-selector-trigger:hover:not(:disabled){background:var(--bg-color);border-color:var(--text-muted)}.presence-selector-trigger:disabled{opacity:.6;cursor:not-allowed}.presence-selector-label{text-align:left;flex:1}.presence-selector-menu{margin-top:var(--space-xs);padding:var(--space-xs) 0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow);z-index:100;min-width:140px;list-style:none;position:absolute;top:100%;left:0;right:0}.presence-selector-option{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;font-size:var(--font-size-sm);transition:background-color .15s;display:flex}.presence-selector-option:hover{background:var(--bg-color)}.presence-selector-option.selected{background:var(--primary-bg-light);font-weight:500}.menu-item-check{color:var(--success-color);font-size:var(--font-size-sm);margin-left:auto}.directory{flex-direction:column;flex:1;display:flex;overflow:hidden}.directory-search{gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--border-color);display:flex}.search-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.directory-search-input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-md);background:var(--card-bg);color:var(--text-color);padding-right:2rem}.directory-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-bg-light);outline:none}.search-clear-btn{padding:var(--space-xs);color:var(--text-muted);cursor:pointer;font-size:var(--font-size-sm);background:0 0;border:none;line-height:1;position:absolute;right:.5rem}.search-clear-btn:hover{color:var(--text-color)}.search-btn{padding:var(--space-sm) var(--space-md);border:1px solid var(--primary-color);border-radius:var(--radius-md);background:var(--primary-color);color:#fff;cursor:pointer;font-size:var(--font-size-md);transition:background .15s}.search-btn:hover:not(:disabled){background:var(--primary-hover)}.search-btn:disabled{opacity:.5;cursor:not-allowed}.directory-loading,.directory-empty,.directory-hint{color:var(--text-muted);padding:var(--space-xl);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.directory-loading .loading-spinner{border:2px solid var(--border-color);border-top-color:var(--primary-color);width:1.5rem;height:1.5rem;margin-bottom:var(--space-sm);border-radius:50%;animation:.8s linear infinite spin}.directory-empty .empty-icon,.directory-hint .hint-icon{margin-bottom:var(--space-md);opacity:.5;font-size:3rem;display:block}.directory-empty p,.directory-hint p{font-size:var(--font-size-base);margin:0}.directory-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.directory-item{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);cursor:pointer;align-items:center;gap:var(--space-sm);transition:background .15s;display:flex}.directory-item:hover{background:var(--bg-color)}.directory-item:active{background:var(--primary-bg-light)}.contact-avatar{background:var(--bg-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex;position:relative}.avatar-icon{opacity:.6;font-size:1.25rem}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-presence,.contact-presence{position:absolute;top:-2px;right:-2px}.avatar-count-badge{background:var(--primary-color);color:#fff;border:2px solid var(--card-bg);border-radius:.625rem;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;font-size:.625rem;font-weight:600;display:flex;position:absolute;top:-4px;left:-4px}.contact-details{flex:1;min-width:0}.contact-name{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-weight:500;overflow:hidden}.contact-phone{font-size:var(--font-size-sm);color:var(--text-muted)}.contact-email{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.contact-dept{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.contact-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.contact-call-btn{background:var(--success-bg-light);width:1.75rem;height:1.75rem;color:var(--success-color);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.85rem;transition:background .15s;display:inline-flex}.contact-call-btn:hover{background:var(--success-bg-medium)}.contact-star-btn{width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.9rem;transition:color .15s,background .15s;display:inline-flex}.contact-star-btn:hover:not(:disabled){background:var(--warning-bg-medium);color:var(--warning-text)}.contact-star-btn.favorited{color:var(--warning-text)}.contact-star-btn:disabled{cursor:default}.contact-star-btn.pending{color:var(--warning-text);animation:.8s ease-in-out infinite star-pulse}@keyframes star-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.contacts-toggle{padding:var(--space-xs) var(--space-md);background:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;gap:2px;display:flex}.contacts-toggle-btn{padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-color);color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border-radius:6px;flex:1;transition:all .15s}.contacts-toggle-btn:first-child{border-radius:6px 0 0 6px}.contacts-toggle-btn:nth-child(2){border-radius:0 6px 6px 0}.contacts-toggle-btn.active{background:var(--primary-bg-light);color:var(--primary-color);border-color:var(--primary-color);font-weight:500}.contacts-toggle-btn:hover:not(.active){background:var(--bg-color)}.contacts-add-btn{border:1px solid var(--border-color);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:1.1rem;font-weight:500;transition:all .15s;display:flex}.contacts-add-btn:hover{background:var(--primary-bg-light);color:var(--primary-color);border-color:var(--primary-color)}.favorites{flex-direction:column;flex:1;display:flex;overflow-y:auto}.favorites.empty .empty-state{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.favorites .empty-hint{font-size:var(--font-size-sm);margin-top:var(--space-sm);opacity:.8}.favorites-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.favorites-item{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);cursor:pointer;align-items:center;gap:var(--space-sm);transition:background .15s;display:flex}.favorites-item:hover{background:var(--bg-color)}.favorites-item:active{background:var(--primary-bg-light)}.favorite-details{flex:1;min-width:0}.favorite-name{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-weight:500;overflow:hidden}.favorite-phone{font-size:var(--font-size-sm);color:var(--text-muted)}.favorite-phone-extra{color:var(--text-muted);font-size:var(--font-size-xs);opacity:.8}.contact-delete-btn{background:var(--error-bg-light);width:1.75rem;height:1.75rem;color:var(--error-color);cursor:pointer;opacity:.7;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.7rem;transition:background .15s,color .15s;display:inline-flex}.contact-delete-btn:hover:not(:disabled){opacity:1}.contact-delete-btn.pending{color:var(--error-color);cursor:default;animation:.8s ease-in-out infinite star-pulse}.contact-delete-btn:disabled{cursor:default}.favorite-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.contact-detail-trigger{background:var(--bg-color);width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-base);border:none;border-radius:50%;justify-content:center;align-items:center;font-weight:700;transition:all .15s;display:flex}.contact-detail-trigger:hover{background:var(--primary-bg-light);color:var(--primary-color)}.favorite-call-btn{background:var(--success-bg-light);width:1.75rem;height:1.75rem;color:var(--success-color);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.85rem;transition:background .15s;display:inline-flex}.favorite-call-btn:hover{background:var(--success-bg-medium)}.favorite-remove-btn{background:var(--warning-bg-medium);width:1.75rem;height:1.75rem;color:var(--warning-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.85rem;transition:background .15s;display:inline-flex}.favorite-remove-btn:hover:not(:disabled){background:#ffc1074d}.favorite-remove-btn.pending{cursor:default;animation:.8s ease-in-out infinite star-pulse}.favorite-remove-btn:disabled{cursor:default}.favorite-add-btn{background:var(--bg-color);width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.85rem;transition:background .15s,color .15s;display:inline-flex}.favorite-add-btn:hover:not(:disabled){background:var(--warning-bg-medium);color:var(--warning-text)}.favorite-add-btn.pending{cursor:default;animation:.8s ease-in-out infinite star-pulse}.favorite-add-btn:disabled{cursor:default}.phone-dropdown-container{position:relative}.phone-dropdown-trigger{background:var(--bg-color);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-lg);border:none;border-radius:50%;justify-content:center;align-items:center;font-weight:700;transition:all .15s;display:flex}.phone-dropdown-trigger:hover{background:var(--primary-bg-light);color:var(--primary-color)}.phone-dropdown-menu{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow);z-index:150;white-space:nowrap;border-radius:8px;min-width:280px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden}.phone-dropdown-menu.inline{box-shadow:none;border:none;border-top:1px solid var(--border-color);background:var(--bg-color);border-radius:0;margin-top:0;position:relative;top:auto;right:auto}.phone-dropdown-menu.fixed-dropdown{box-shadow:var(--shadow);border:1px solid var(--border-color);z-index:200;border-top:none;border-radius:0 0 8px 8px;min-width:auto;position:fixed}.phone-dropdown-item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-xs) var(--space-md);color:var(--text-color);font-family:inherit;font-size:var(--font-size-md);text-align:left;background:0 0;border:none;transition:background .15s;display:flex}.phone-dropdown-item:hover{background:var(--primary-bg-light)}.phone-dropdown-type{font-size:var(--font-size-sm);color:var(--text-muted);min-width:3.5rem}.phone-dropdown-number{flex:1;font-weight:500}.phone-dropdown-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.phone-dropdown-action-btn{cursor:pointer;width:1.75rem;height:1.75rem;font-size:var(--font-size-md);color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.phone-dropdown-action-btn.sms:hover{background:var(--primary-bg-medium);color:var(--primary-color)}.phone-dropdown-action-btn.call:hover{background:var(--success-bg-medium);color:var(--success-color)}.suggestions-section{border-bottom:1px solid var(--border-color)}.suggestions-section:last-child{border-bottom:none}.suggestions-section-header{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:var(--space-sm) .875rem;background:var(--bg-color);border-bottom:1px solid var(--border-color);font-weight:600}.directory-searching{align-items:center;gap:var(--space-sm);padding:var(--space-md) .875rem;color:var(--text-muted);font-size:var(--font-size-md);display:flex}.loading-spinner-small{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}.directory-no-results{padding:var(--space-md) .875rem;color:var(--text-muted);font-size:var(--font-size-md);font-style:italic}.directory-error{padding:var(--space-md) .875rem;color:var(--danger-color);font-size:var(--font-size-md)}.suggestion-more-btn{background:var(--bg-color);width:1.75rem;height:1.75rem;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-base);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;transition:all .15s;display:flex}.suggestion-more-btn:hover{background:var(--primary-bg-light);color:var(--primary-color)}.suggestion-call-btn{padding:var(--space-xs);background:var(--success-bg-light);color:var(--success-color);cursor:pointer;font-size:var(--font-size-base);border:none;border-radius:50%;flex-shrink:0;margin-left:auto;transition:background .15s}.suggestion-call-btn:hover{background:var(--success-bg-medium)}.suggestion-star-btn{padding:var(--space-xs);color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:1rem;transition:color .15s}.suggestion-star-btn:hover:not(:disabled){color:var(--warning-text)}.suggestion-star-btn.pending{color:var(--warning-text);animation:.8s ease-in-out infinite star-pulse}.suggestion-star-filled{padding:var(--space-xs);color:var(--warning-text);flex-shrink:0;font-size:1rem}.suggestion-saved{padding:var(--space-xs);color:var(--success-color);flex-shrink:0;font-size:1rem}.search-add-dropdown-container{flex-shrink:0;position:relative}.search-add-trigger{padding:var(--space-xs);color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:.85rem;transition:color .15s}.search-add-trigger:hover:not(:disabled){color:var(--primary-color)}.search-add-trigger.pending{color:var(--primary-color);animation:.8s ease-in-out infinite star-pulse}.search-add-dropdown{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow);z-index:200;border-radius:6px;min-width:170px;margin-top:2px;position:absolute;top:100%;right:0;overflow:hidden}.search-add-option{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);color:var(--text-color);font-size:var(--font-size-sm);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;transition:background .12s;display:flex}.search-add-option:hover{background:var(--bg-color)}.search-add-option-icon{flex-shrink:0;font-size:.9rem}.contact-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;min-width:280px;max-width:90vw;padding:1.25rem;box-shadow:0 4px 20px #0000004d}.contact-modal-header{color:var(--text-color);justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:1rem;font-weight:600;display:flex}.contact-modal-close{color:var(--text-muted);cursor:pointer;padding:0 var(--space-xs);background:0 0;border:none;font-size:1.25rem;line-height:1}.contact-modal-close:hover{color:var(--text-color)}.contact-modal-body{margin-bottom:.75rem}.contact-modal-section{margin-bottom:.6rem}.contact-modal-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.7rem}.contact-modal-phone-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.contact-modal-phone-info{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.contact-modal-phone-type{font-size:var(--font-size-sm);color:var(--text-muted);min-width:3rem}.contact-modal-phone-number{font-size:var(--font-size-md);font-weight:500}.contact-modal-phone-actions{flex-shrink:0;gap:4px;display:flex}.contact-modal-action-btn{cursor:pointer;width:2rem;height:2rem;font-size:var(--font-size-md);border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.contact-modal-action-btn.sms{background:var(--primary-bg-light);color:var(--primary-color)}.contact-modal-action-btn.sms:hover{background:var(--primary-bg-medium)}.contact-modal-action-btn.call{background:var(--success-bg-light);color:var(--success-color)}.contact-modal-action-btn.call:hover{background:var(--success-bg-medium)}.contact-modal-field-value{font-size:var(--font-size-md);color:var(--text-color)}.contact-modal-footer{align-items:center;gap:var(--space-sm);border-top:1px solid var(--border-color);padding-top:.6rem;display:flex}.contact-modal-footer-spacer{flex:1}.contact-modal-delete-btn{padding:var(--space-xs) var(--space-sm);background:var(--error-bg-light);color:var(--error-color);cursor:pointer;font-size:var(--font-size-sm);border:none;border-radius:4px;transition:background .15s}.contact-modal-delete-btn:hover:not(:disabled){background:var(--danger-bg-medium)}.contact-modal-delete-btn.pending{cursor:default;animation:.8s ease-in-out infinite star-pulse}.contact-modal-fav-btn{padding:var(--space-xs) var(--space-sm);background:var(--warning-bg-medium);color:var(--warning-text);cursor:pointer;font-size:var(--font-size-sm);border:none;border-radius:4px;transition:background .15s}.contact-modal-fav-btn:hover:not(:disabled){background:#ffc1074d}.contact-modal-fav-btn.pending{cursor:default;animation:.8s ease-in-out infinite star-pulse}.modal-field{margin-bottom:.6rem}.modal-field label{color:var(--text-muted);margin-bottom:2px;font-size:.75rem;display:block}.modal-field input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:4px;padding:.4rem .6rem;font-size:.85rem}.modal-field input:focus{border-color:var(--primary-color);outline:none}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.suggestion-item.directory-item .contact-avatar{flex-shrink:0;width:2rem;height:2rem}.suggestions-dropdown{max-height:320px}.teams-app{--teams-bg:var(--bg-color);--teams-text:var(--text-color);--teams-primary:#6264a7}.app.teams-app{max-width:480px;box-shadow:none;--primary-color:var(--teams-primary);--primary-hover:#5558a3;border-radius:0;min-height:100vh;margin:0}.app.teams-app button:not(.control-btn):not(.dialpad-key),.app.teams-app input,.app.teams-app .form-group input{border-radius:4px}.app.teams-app .login-form button[type=submit],.app.teams-app .form-group button{width:100%}.app.teams-app .call-btn{min-width:140px;padding-left:var(--space-xl);padding-right:var(--space-xl)}.app.teams-app .dialpad-key{min-width:72px;min-height:56px}.app.teams-app .control-btn{min-width:56px;min-height:56px}.teams-loading{background:var(--bg-color);min-height:100vh;color:var(--text-color);flex-direction:column;justify-content:center;align-items:center;display:flex}.teams-loading p{margin-top:var(--space-lg);color:var(--text-muted)}.teams-error{background:var(--bg-color);min-height:100vh;color:var(--text-color);padding:var(--space-xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.teams-error h2{margin-bottom:var(--space-md);color:var(--danger-color)}.teams-error p{color:var(--text-muted);margin-bottom:var(--space-lg)}.teams-error button{padding:var(--space-md) var(--space-xl);background:var(--primary-color);color:#fff;cursor:pointer;font-size:var(--font-size-base);border:none;border-radius:8px}.teams-error button:hover{background:var(--primary-hover)}.teams-user-info{text-align:center;margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--primary-bg-light);font-size:var(--font-size-md);border-radius:8px}[data-teams-theme=dark]{--bg-color:#1f1f1f;--card-bg:#292929;--border-color:#3d3d3d;--text-color:#fff;--text-muted:#b3b3b3}[data-teams-theme=classic]{--bg-color:#fff;--card-bg:#fff;--border-color:#e0e0e0}[data-teams-theme=contrast]{--primary-color:#ff0;--primary-hover:#cc0;--border-color:#fff;--text-color:#fff;--text-muted:#fff;--bg-color:#000;--card-bg:#000;--success-color:#0f0;--danger-color:#f33}[data-teams-theme=contrast] .app{border:2px solid #fff}[data-teams-theme=contrast] button:focus,[data-teams-theme=contrast] input:focus,[data-teams-theme=contrast] [tabindex]:focus{outline-offset:2px;outline:3px solid #ff0}[data-teams-theme=contrast] .tab-btn.active{border-bottom-color:#ff0}[data-teams-theme=contrast] .dialpad-key:hover,[data-teams-theme=contrast] .dialpad-key:active{background:#333;border-color:#ff0}.prompt-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.prompt-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;min-width:280px;max-width:90vw;padding:1.25rem;box-shadow:0 4px 20px #0000004d}.prompt-modal-header{color:var(--text-color);margin-bottom:.75rem;font-size:1rem;font-weight:600}.prompt-modal-message{color:var(--text-muted);margin-bottom:.75rem;font-size:.875rem}.prompt-modal-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-color);box-sizing:border-box;border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.9rem}.prompt-modal-input:focus{border-color:var(--primary-color);outline:none}.prompt-modal-buttons{justify-content:flex-end;gap:.5rem;display:flex}.prompt-modal-cancel,.prompt-modal-confirm{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem}.prompt-modal-cancel{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color)}.prompt-modal-cancel:hover{background:var(--border-color)}.prompt-modal-confirm{background:var(--primary-color);color:#fff}.prompt-modal-confirm:hover{background:var(--primary-hover)}.settings-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;width:520px;max-width:92vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000004d}.settings-modal-header{color:var(--text-color);border-bottom:1px solid var(--border-color);padding:.875rem 1.25rem;font-size:1rem;font-weight:600}.settings-modal-tabs{border-bottom:1px solid var(--border-color);background:var(--card-bg);display:flex}.settings-modal-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.625rem .5rem;font-size:.875rem;font-weight:500}.settings-modal-tab:hover{color:var(--text-color)}.settings-modal-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.settings-modal-body{flex:1;min-height:min(440px,60vh);padding:1rem 1.25rem;overflow-y:auto}.settings-modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;display:flex}.tab-badge{background:var(--danger-color);color:#fff;font-size:var(--font-size-2xs);text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-weight:700;line-height:16px;position:absolute;top:2px;right:2px}.tab-btn{position:relative}.messages-tab{flex-direction:column;height:100%;display:flex;overflow:hidden}.conversation-list-header{padding:var(--space-md) var(--space-md);font-weight:600;font-size:var(--font-size-base);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.new-message-btn{color:#007aff;width:28px;height:28px;font-size:var(--font-size-lg);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;line-height:1;transition:opacity .15s;display:flex}.new-message-btn:hover{opacity:.6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .new-message-btn{color:#0b84fe}}[data-theme=dark] .new-message-btn{color:#0b84fe}.conversation-list{flex:1;overflow-y:auto}.conversation-item{width:100%;padding:10px var(--space-md);border:none;border-bottom:1px solid var(--border-color);background:var(--card-bg);cursor:pointer;text-align:left;flex-direction:column;gap:2px;font-family:inherit;transition:background .15s;display:flex}.conversation-item:hover,.conversation-item:active{background:var(--bg-color)}.conversation-item.unread{font-weight:600}.conversation-info{justify-content:space-between;align-items:center;display:flex}.conversation-number{font-size:var(--font-size-md);color:var(--text-color);font-weight:500}.conversation-item.unread .conversation-number{font-weight:700}.conversation-time{font-size:var(--font-size-sm);color:#8e8e93}.conversation-item.unread .conversation-time{color:#007aff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .conversation-time{color:#98989d}:root:not([data-theme=light]) .conversation-item.unread .conversation-time{color:#0b84fe}}[data-theme=dark] .conversation-time{color:#98989d}[data-theme=dark] .conversation-item.unread .conversation-time{color:#0b84fe}.conversation-preview{justify-content:space-between;align-items:center;margin-top:1px;display:flex}.conversation-body{font-size:var(--font-size-md);color:#8e8e93;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.conversation-item.unread .conversation-body{color:var(--text-color)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .conversation-body{color:#98989d}}[data-theme=dark] .conversation-body{color:#98989d}.unread-badge{color:#fff;text-align:center;min-width:20px;height:20px;margin-left:var(--space-sm);background:#007aff;border-radius:10px;padding:0 6px;font-size:10px;font-weight:700;line-height:20px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .unread-badge{background:#0b84fe}}[data-theme=dark] .unread-badge{background:#0b84fe}.messages-loading,.messages-empty{padding:var(--space-xl);text-align:center;color:var(--text-muted);font-size:var(--font-size-md)}.conversation-thread{flex-direction:column;height:100%;display:flex;overflow:hidden}.thread-header{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--card-bg);backdrop-filter:blur(20px);font-weight:600;display:flex}.back-btn{cursor:pointer;padding:var(--space-xs);color:#007aff;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;line-height:1;transition:opacity .15s;display:flex}.back-btn:hover{opacity:.6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .back-btn{color:#0b84fe}}[data-theme=dark] .back-btn{color:#0b84fe}.thread-number{font-size:var(--font-size-md)}.thread-messages{padding:var(--space-md) var(--space-md);background:var(--bg-color);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.thread-loading,.thread-load-more{text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--space-sm)}.message-bubble{max-width:70%;font-size:var(--font-size-md);word-wrap:break-word;overflow-wrap:break-word;border-radius:18px;padding:8px 12px;line-height:1.35;position:relative}.message-sent{color:#fff;background:#007aff;border-bottom-right-radius:4px;align-self:flex-end;margin-left:20%}.message-received{color:#000;background:#e9e9eb;border-bottom-left-radius:4px;align-self:flex-start;margin-right:20%}.message-received.message-unread{border-left:3px solid #007aff;padding-left:9px;font-weight:500}[data-theme=dark] .message-received.message-unread,:root:not([data-theme=light]) .message-received.message-unread{border-left-color:#0b84fe}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .message-sent{background:#0b84fe}:root:not([data-theme=light]) .message-received{color:#e6edf3;background:#26252a}}[data-theme=dark] .message-sent{background:#0b84fe}[data-theme=dark] .message-received{color:#e6edf3;background:#26252a}.message-body{white-space:pre-wrap}.message-meta{justify-content:flex-end;align-items:center;gap:4px;margin-top:2px;display:flex}.message-time{font-size:10px}.message-sent .message-time{color:#ffffffb3}.message-received .message-time{color:#8e8e93}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .message-received .message-time{color:#98989d}}[data-theme=dark] .message-received .message-time{color:#98989d}.message-status{font-size:var(--font-size-xs)}.message-sent .message-status{color:#ffffffb3}.message-status-failed{color:#f44!important}.channel-badge{letter-spacing:.02em;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:9px;font-weight:600}.channel-rcs{color:#007aff}.message-sent .channel-rcs{color:#ffffffb3}.channel-whatsapp{color:#25d366}.message-sent .channel-whatsapp{color:#ffffffb3}.message-failed{opacity:.85}.message-failed-notice{color:#ff3b30;align-items:center;gap:6px;margin-top:4px;font-size:10px;font-weight:500;display:flex}.message-sent.message-failed .message-failed-notice{color:#ffffffe6}.message-retry-btn{color:inherit;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #fff6;border-radius:10px;padding:2px 10px;font-size:10px;font-weight:500;transition:background .15s}.message-retry-btn:hover{background:#ffffff59}.message-received.message-failed .message-retry-btn{color:#ff3b30;background:#0000000f;border-color:#ff3b30}.message-received.message-failed .message-retry-btn:hover{background:#ff3b301a}.media-preview{margin-top:var(--space-xs)}.media-image{border-radius:8px;max-width:100%;max-height:200px}.media-clickable{cursor:pointer;transition:opacity .15s}.media-clickable:hover{opacity:.85}.media-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.media-overlay-content{align-items:center;gap:var(--space-md);flex-direction:column;max-width:90vw;max-height:90vh;display:flex}.media-overlay-image{object-fit:contain;border-radius:8px;max-width:90vw;max-height:80vh}.media-overlay-actions{gap:var(--space-sm);display:flex}.media-overlay-btn{padding:var(--space-xs) var(--space-md);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;font-size:14px}.media-overlay-btn:hover{background:#fff3}.media-audio{min-width:200px;max-width:100%;margin-top:var(--space-xs);border-radius:8px}.media-overlay-audio{min-width:300px}.media-placeholder{background:var(--bg-secondary);border-radius:8px;width:200px;height:120px;animation:1.5s ease-in-out infinite pulse}.media-file-link{padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);color:var(--text-primary);margin-top:var(--space-xs);border-radius:6px;font-size:13px;text-decoration:none;display:inline-block}.media-file-link:hover{opacity:.8}.channel-selector{padding:4px var(--space-md) 0;border-top:1px solid var(--border-color);background:var(--card-bg);gap:4px;display:flex}.channel-selector-btn{font-size:var(--font-size-xs);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:12px;padding:3px 10px;font-weight:500;transition:all .15s}.channel-selector-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.channel-selector-active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.channel-selector-active:hover{background:var(--primary-hover);color:#fff}.first-message-disclosure{color:var(--text-muted);font-size:var(--font-size-xs);border-top:1px solid var(--border-color);padding:6px var(--space-md);background:var(--card-bg);font-style:italic}.thread-delete-btn{background:var(--error-bg-light);width:1.75rem;height:1.75rem;color:var(--error-color,#dc2626);cursor:pointer;opacity:.7;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:.7rem;transition:color .15s,background .15s;display:inline-flex}.thread-delete-btn:hover{opacity:1}.opt-in-warning{padding:10px var(--space-md);background:#fef2f2;border-top:1px solid #fca5a5}.opt-in-warning-text{font-size:var(--font-size-xs);color:#991b1b;margin-bottom:8px;line-height:1.4}.opt-in-warning-actions{gap:var(--space-sm);justify-content:flex-end;display:flex}.opt-in-warning-cancel{border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;background:var(--card-bg);color:var(--text-color);border:1px solid #0000;border-color:var(--border-color);padding:4px 12px;font-weight:600}.opt-in-warning-confirm{border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;color:#fff;background:#991b1b;border:1px solid #991b1b;padding:4px 12px;font-weight:600}.message-input{border-top:1px solid var(--border-color);background:var(--card-bg);align-items:flex-end;gap:6px;padding:6px 8px;display:flex}.message-text-input{border:1px solid var(--border-color);font-size:var(--font-size-md);background:var(--bg-color);color:var(--text-color);border-radius:20px;outline:none;flex:1;padding:8px 14px;font-family:inherit;transition:border-color .15s}.message-text-input:focus{border-color:#007aff}.message-send-btn{color:#fff;cursor:pointer;background:#007aff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;transition:background .15s,transform .1s;display:flex}.message-send-btn:disabled{opacity:.35;cursor:default}.message-send-btn:not(:disabled):hover{background:#0071e3}.message-send-btn:not(:disabled):active{transform:scale(.92)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .message-text-input:focus{border-color:#0b84fe}:root:not([data-theme=light]) .message-send-btn{background:#0b84fe}:root:not([data-theme=light]) .message-send-btn:not(:disabled):hover{background:#409cff}}[data-theme=dark] .message-text-input:focus{border-color:#0b84fe}[data-theme=dark] .message-send-btn{background:#0b84fe}[data-theme=dark] .message-send-btn:not(:disabled):hover{background:#409cff}.message-attach-btn{cursor:pointer;color:#007aff;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;transition:opacity .15s;display:flex}.message-attach-btn:hover:not(:disabled){opacity:.7}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .message-attach-btn{color:#0b84fe}}[data-theme=dark] .message-attach-btn{color:#0b84fe}.message-attach-btn:disabled{opacity:.4;cursor:default}.attachment-preview{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-top:1px solid var(--border-color);background:var(--card-bg);display:flex}.attachment-thumb{object-fit:cover;border:1px solid var(--border-color);border-radius:6px;width:60px;height:60px}.attachment-remove{font-size:var(--font-size-md);cursor:pointer;color:var(--text-muted);padding:var(--space-xs);background:0 0;border:none;border-radius:50%;line-height:1;transition:color .15s}.attachment-remove:hover{color:#dc3545}.attachment-uploading{padding:2px var(--space-md);font-size:var(--font-size-xs);color:var(--text-muted);background:var(--card-bg)}.attachment-error{padding:2px var(--space-md);font-size:var(--font-size-xs);color:#dc3545;background:var(--card-bg)}.new-message-form{gap:var(--space-sm);padding:var(--space-md);display:flex}.new-message-input{border:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-md);background:var(--bg-color);color:var(--text-color);border-radius:8px;outline:none;flex:1;font-family:inherit}.new-message-input:focus{border-color:var(--primary-color)}.new-message-start-btn{background:var(--primary-color);color:#fff;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-md);cursor:pointer;border:none;border-radius:8px}.new-message-start-btn:disabled{opacity:.5;cursor:default}.new-message-start-btn:not(:disabled):hover{background:var(--primary-hover)}.favorite-sms-btn,.contact-sms-btn,.suggestion-sms-btn{background:var(--primary-bg-light);width:1.75rem;height:1.75rem;color:var(--primary-color);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.85rem;transition:background .15s;display:inline-flex}.favorite-sms-btn:hover,.contact-sms-btn:hover,.suggestion-sms-btn:hover{background:#06c3}.suggestion-sms-btn{width:1.5rem;height:1.5rem;font-size:.8rem}.conversation-item{align-items:center;gap:var(--space-sm);flex-direction:row}.conversation-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.thread-header-info{flex-direction:column;min-width:0;display:flex}.thread-name{font-size:var(--font-size-md);font-weight:600;line-height:1.2}.thread-header-info .thread-number{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:400;line-height:1.2}
