.login-page{position:fixed;inset:0;display:flex;flex-direction:row;height:100vh;overflow:hidden;z-index:10}.login-panel-left{width:50%;height:100%;flex-shrink:0;background-image:url(/images/login/LEFT.png);background-size:cover;background-position:top center;background-repeat:no-repeat}.login-panel-right{position:relative;width:50%;height:100%;flex-shrink:0;background-image:url(/images/login/white-texture-background.png);background-size:cover;background-position:center;background-repeat:repeat;display:flex;align-items:center;justify-content:center;padding:2rem;box-sizing:border-box;overflow:auto}.login-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0;pointer-events:none}.login-logo img{max-width:640px;width:100%;height:auto;object-fit:contain;opacity:.1}.login-form-wrap{position:relative;z-index:1;width:100%;max-width:380px;background:transparent;padding:2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.login-form-wrap h1,.login-form-wrap label,.login-form-wrap p,.login-form-wrap a,.login-form-wrap input,.login-form-wrap button{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.login-form-wrap h1{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.35em}.login-form-wrap h1.login-heading-signup{font-size:1.75rem}.login-form-wrap h1,.login-form-wrap label,.login-form-wrap p,.login-form-wrap a{color:var(--color-text)}.login-form-wrap input{background:var(--color-surface)}.login-form-wrap button[type=submit]{width:100%;background:var(--color-primary);border-color:var(--color-primary)}.login-form-wrap button[type=submit]:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.login-success-message{color:var(--color-success);font-size:.875rem;margin:0 0 .75rem}.login-signup-prompt{color:var(--color-text-muted);opacity:.6;font-size:.875rem}.login-signup-prompt a,.login-mode-link{color:var(--color-text-muted);background:none;border:none;padding:0;font:inherit;cursor:pointer;text-decoration:none;min-height:unset}.login-signup-prompt a:hover,.login-mode-link:hover{color:var(--color-text-muted);background:transparent!important;border-color:transparent!important;box-shadow:none!important}.login-password-wrap{position:relative}.login-password-wrap input{padding-right:48px}.login-password-requirements{list-style:none;padding:0;margin:.25rem 0 0;font-size:.75rem;color:var(--color-text-muted);opacity:.7}.login-password-requirements li{margin-bottom:.125rem}.login-password-requirements li.login-password-requirement-met{color:var(--color-success);opacity:.9}.login-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;border:1px solid transparent;background:transparent;color:var(--color-text-muted);opacity:.6;cursor:pointer;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;min-height:unset;outline:none}.login-password-toggle:hover,.login-password-toggle:focus,.login-password-toggle:active{color:var(--color-text-muted);background:transparent!important;border-color:transparent!important;box-shadow:none!important;outline:none}.login-password-toggle:hover{opacity:.85}@media(max-width:767px){.login-page{flex-direction:column}.login-panel-left{width:100%;min-height:40vh}.login-panel-right{width:100%;min-height:auto;flex:1;padding:1.5rem}.login-form-wrap{max-width:100%}}.app-layout{position:fixed;inset:0;display:flex;background:var(--color-bg);z-index:5;font-family:var(--font-body)}.app-sidebar{width:200px;flex-shrink:0;background:var(--sidebar-background);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;position:relative;z-index:20;transition:width .2s ease}.app-sidebar.app-sidebar--collapsed{width:64px}.app-sidebar-header{height:56px;min-height:56px;padding:0 1.25rem;flex-shrink:0;display:flex;align-items:center;position:relative}.app-sidebar.app-sidebar--collapsed .app-sidebar-header{padding:0 .75rem;justify-content:center}.app-sidebar-close{display:none;position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--sidebar-foreground-muted);padding:.25rem;min-height:unset}.app-sidebar-close:hover{color:var(--sidebar-foreground);background:transparent!important;border:none!important}.app-sidebar-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.app-sidebar-brand-logo{flex-shrink:0;width:48px;height:48px;min-width:48px;min-height:48px;object-fit:contain;display:block}.app-sidebar.app-sidebar--collapsed .app-sidebar-brand{justify-content:center}.app-sidebar.app-sidebar--collapsed .app-sidebar-brand-logo{width:40px;height:40px;min-width:40px;min-height:40px}.app-sidebar-nav{flex:1;padding:0 0 1rem;display:flex;flex-direction:column;gap:.25rem}.app-sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.625rem 1.25rem;color:var(--sidebar-foreground);text-decoration:none;font-size:.875rem;font-weight:300;transition:background .15s ease,color .15s ease}.app-sidebar.app-sidebar--collapsed .app-sidebar-link{justify-content:center;padding:.625rem}.app-sidebar-link svg{flex-shrink:0}.app-sidebar-link-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar.app-sidebar--collapsed .app-sidebar-link-text{display:none}.app-sidebar-link:hover{background:var(--sidebar-accent);color:var(--sidebar-foreground)}.app-sidebar-link.active{background:var(--sidebar-active);color:var(--sidebar-foreground);font-weight:400}.app-sidebar-footer{padding:.75rem 1rem;border-top:1px solid var(--sidebar-border);margin-top:auto;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.app-sidebar.app-sidebar--collapsed .app-sidebar-footer{padding:.5rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem}.app-sidebar-user-dropdown{position:relative}.app-sidebar-user-trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none!important;background:none!important;box-shadow:none!important;border-radius:var(--radius);color:var(--sidebar-foreground);font-size:.875rem;font-weight:400;cursor:pointer;min-height:unset;transition:background .15s ease;text-align:left}.app-sidebar-user-trigger:hover{background:var(--sidebar-accent)!important;border:none!important;box-shadow:none!important}.app-sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff1a;color:var(--sidebar-foreground-muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.app-sidebar-user-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.app-sidebar-user-email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sidebar-foreground-muted);font-size:.8125rem}.app-sidebar-user-trigger svg:last-child{flex-shrink:0;color:var(--sidebar-foreground-muted)}.app-sidebar-user-menu{position:absolute;bottom:100%;left:0;right:0;margin-bottom:.25rem;min-width:100%;padding:.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:50}.app-sidebar-user-menu-head{padding:.5rem .75rem;font-size:.8125rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-user-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none!important;background:none!important;box-shadow:none!important;border-radius:4px;font-size:.875rem;color:var(--color-text);text-decoration:none;cursor:pointer;min-height:unset;text-align:left;transition:background .15s ease}.app-sidebar-user-menu-item:hover{background:#0000000f!important;box-shadow:none!important}.app-sidebar-user-menu-item svg{flex-shrink:0;width:16px;height:16px;color:var(--color-text-muted)}.app-sidebar-user-menu-logout{color:var(--color-primary);font-weight:500}.app-sidebar-user-menu-logout:hover{background:#0000000f!important;box-shadow:none!important}.app-sidebar.app-sidebar--collapsed .app-sidebar-user-trigger{justify-content:center;padding:.5rem}.app-sidebar.app-sidebar--collapsed .app-sidebar-user-email{display:none}.app-sidebar.app-sidebar--collapsed .app-sidebar-user-menu{left:0;right:auto;min-width:200px}.app-sidebar-collapse{display:flex;align-items:center;justify-content:center;width:100%;padding:.5rem;background:none;border:none;color:var(--sidebar-foreground-muted);cursor:pointer;min-height:unset;border-radius:4px}.app-sidebar-collapse:hover{color:var(--sidebar-foreground);background:var(--sidebar-accent)}.app-main-wrap{flex:1;display:flex;flex-direction:column;min-width:0}.app-topbar{flex-shrink:0;height:56px;border-bottom:1px solid var(--sidebar-border);background:var(--sidebar-background);display:flex;align-items:center;padding:0 1.25rem;gap:1rem}.app-sidebar-toggle{display:none;background:transparent!important;border:none!important;font-size:1.25rem;cursor:pointer;padding:.5rem;color:var(--sidebar-foreground);min-height:unset;box-shadow:none!important}.app-sidebar-toggle:hover{background:var(--sidebar-accent)!important;border:none!important}.app-topbar-title{margin:0;font-family:var(--font-body);font-size:1.25rem;font-weight:600;color:var(--sidebar-foreground);flex:1;min-width:0;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}.app-topbar-calendar-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}@keyframes app-topbar-calendar-dot-pulse{0%,to{opacity:0}50%{opacity:1}}.app-topbar-calendar-dot[data-connected=true]{background:#00ff48;animation:app-topbar-calendar-dot-pulse 2s ease-in-out infinite}.app-topbar-calendar-dot[data-connected=false]{background:var(--color-error)}.app-topbar-calendar-dot[data-connected=unknown]{background:var(--color-text-muted)}.app-topbar-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.app-topbar-new-message{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--color-primary);color:#fff;text-decoration:none;font-size:.875rem;font-weight:500;border-radius:6px;transition:opacity .15s ease}.app-topbar-new-message:hover{opacity:.9;color:#fff}.app-topbar-brand{display:flex;flex-direction:row;align-items:center;gap:.5rem;text-decoration:none;color:inherit;margin-left:.75rem;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.2)}.app-topbar-brand-logo{flex-shrink:0;width:32px;height:32px;object-fit:contain;display:block}.app-topbar-brand-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.app-topbar-brand-line{font-weight:700;font-size:.75rem;color:var(--sidebar-foreground);text-transform:uppercase;letter-spacing:.08em;line-height:1.15}.app-topbar-brand-line:first-child{font-size:.875rem;letter-spacing:.12em}.app-main{flex:1;min-height:0;overflow:auto;padding:0;display:flex;flex-direction:column}.app-main .inbox-root{flex:1;min-height:0}@media(max-width:767px){.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:260px!important;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-md)}.app-sidebar.app-sidebar--open{transform:translate(0)}.app-sidebar.app-sidebar--collapsed .app-sidebar-link-text{display:block}.app-sidebar.app-sidebar--collapsed .app-sidebar-link{justify-content:flex-start;padding:.625rem 1.25rem}.app-sidebar-close{display:block}.app-sidebar-collapse{display:none}.app-sidebar-toggle{display:block}.app-topbar-new-message span,.app-topbar-brand{display:none}.app-sidebar-overlay{position:fixed;inset:0;background:#0000004d;z-index:15}}.app-incoming-call-toast{position:fixed;bottom:1.25rem;right:1.25rem;z-index:1000;width:100%;max-width:320px;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px #00000026,0 0 0 2px #22c55e40;color:var(--color-text);animation:app-incoming-call-toast-in .25s ease-out}@keyframes app-incoming-call-toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.app-incoming-call-toast-title{margin:0 0 .25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.app-incoming-call-toast-caller{margin:0 0 .75rem;font-size:1.125rem;font-weight:700;color:var(--color-primary);letter-spacing:.02em}.app-incoming-call-toast-error{margin:0 0 .5rem;font-size:.8125rem;color:var(--color-missed)}.app-incoming-call-toast-hint{margin:0 0 .5rem;font-size:.8125rem;color:var(--color-text-muted)}.app-incoming-call-toast-actions{display:flex;gap:.5rem;margin-top:.5rem}.app-incoming-call-toast-btn{flex:1;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid transparent;font-family:var(--font-body)}.app-incoming-call-toast-answer{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.app-incoming-call-toast-answer:hover:not(:disabled){filter:brightness(1.05)}.app-incoming-call-toast-answer:disabled{opacity:.7;cursor:not-allowed}.app-incoming-call-toast-decline{background:var(--color-bg-subtle);color:var(--color-text);border-color:var(--color-border)}.app-incoming-call-toast-decline:hover:not(:disabled){background:var(--color-border)}.app-incoming-call-toast-decline:disabled{opacity:.7;cursor:not-allowed}.inbox-root{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--color-border);overflow:hidden}.inbox-layout{display:flex;flex:1;overflow:hidden;flex-direction:column}@media(min-width:768px){.inbox-layout{flex-direction:row}}.inbox-list{width:100%;border-right:none;border-bottom:1px solid var(--color-border);overflow:hidden;flex-shrink:0;min-height:200px;background:var(--color-surface);display:flex;flex-direction:column}@media(min-width:768px){.inbox-list{width:18rem;min-height:0;border-bottom:none;border-right:1px solid var(--color-border)}}@media(max-width:767px){.inbox-layout--thread-open .inbox-list{display:none}}.inbox-list-toolbar{padding:.5rem .625rem;border-bottom:1px solid var(--color-border);display:flex;flex-direction:row;align-items:center;gap:.375rem;flex-shrink:0}.inbox-search-wrap{position:relative;flex:1;min-width:0}.inbox-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.inbox-search-input{width:100%;padding:.375rem .5rem .375rem 2rem;font-size:.8125rem;min-height:32px;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-text);font-family:var(--font-body);box-sizing:border-box}.inbox-search-input::placeholder{color:var(--color-text-muted)}.inbox-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #12121233}.inbox-btn{min-height:44px;padding:.5rem 1rem;cursor:pointer;font-family:var(--font-body);font-weight:600;border-radius:var(--radius);border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;transition:background .15s ease,border-color .15s ease}.inbox-btn:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.inbox-btn-new{flex-shrink:0;width:32px;height:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:opacity .15s ease}.inbox-btn-new:hover:not(:disabled){opacity:.9;background:var(--color-primary);border-color:var(--color-primary)}.inbox-conversation-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0}.inbox-list-item{padding:.875rem 1rem;cursor:pointer;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:.25rem;color:var(--color-text);transition:background .12s ease}.inbox-list-item:hover{background:var(--color-bg)}.inbox-list-item.active{background:#1212120a;font-weight:500}.inbox-list-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.inbox-list-item-contact{font-weight:600;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-list-item-time{font-size:.6875rem;color:var(--color-text-muted);flex-shrink:0}.inbox-list-item-preview{font-size:.8125rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.inbox-thread-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:var(--color-surface)}.inbox-empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-muted);text-align:center;font-size:.9375rem}.inbox-back-btn{display:none;background:none;border:none;padding:.5rem;margin-right:.5rem;cursor:pointer;color:var(--color-primary);font-size:.875rem;font-weight:500;min-height:unset}.inbox-back-btn:hover{text-decoration:underline}@media(max-width:767px){.inbox-back-btn{display:inline-block}}.inbox-thread-bar{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:.5rem;background:#fff;flex-shrink:0}.inbox-thread-bar-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.inbox-thread-bar-name{font-weight:600;font-size:1rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-thread-bar-meta{font-size:.75rem;color:var(--color-text-muted)}.inbox-thread-bar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.inbox-btn-appointment{font-size:.8125rem;font-weight:500;padding:.35rem .6rem;min-height:auto;text-decoration:none;color:var(--color-primary);background:transparent;border:1px solid var(--color-border)}.inbox-btn-appointment:hover{background:#0000000f;border-color:var(--color-border);color:var(--color-primary)}.inbox-icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius);color:var(--color-text-muted);font-size:1.125rem;cursor:default}.inbox-icon-btn:not(:disabled):hover{background:var(--color-bg);color:var(--color-text)}.inbox-icon-btn:disabled{opacity:.6;cursor:not-allowed}.inbox-thread-content{flex:1;overflow:auto;padding:1rem;min-height:0}.inbox-thread-error{margin-bottom:.75rem}.inbox-loading{padding:1rem}.inbox-message-list{display:flex;flex-direction:column;gap:.5rem}.inbox-msg{margin-bottom:.25rem;text-align:left}.inbox-msg.outbound{text-align:right}.inbox-msg-bubble{display:inline-block;max-width:70%;padding:.625rem .875rem;border-radius:12px;font-size:.9375rem;line-height:1.4}.inbox-msg-bubble.outbound{background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.inbox-msg-bubble.inbound{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-bottom-left-radius:4px}.inbox-msg-body{word-break:break-word}.inbox-msg-media{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.375rem}.inbox-msg-media-link{color:inherit;text-decoration:underline;display:inline-block}.inbox-msg-media-link:hover{opacity:.9}.inbox-msg-media-preview{max-width:200px;max-height:200px;border-radius:8px;object-fit:cover;display:block}.inbox-msg-bubble.outbound .inbox-msg-media-link{color:#ffffffe6}.inbox-msg-meta{font-size:.6875rem;margin-top:.375rem;color:var(--color-text-muted);font-weight:inherit;line-height:1.2}.inbox-msg-bubble.outbound .inbox-msg-meta{color:#ffffffd9}.inbox-msg-meta.failed{color:var(--color-error);font-weight:500}.inbox-empty-hint{padding:1rem;color:var(--color-text-muted);font-size:.875rem}.inbox-compose-footer{padding:1rem;border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.inbox-compose-error{margin-bottom:.5rem;font-size:.875rem}.inbox-compose-form{display:flex;flex-direction:column;gap:.75rem}.inbox-compose-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.inbox-compose-from-to{display:flex;flex-wrap:wrap;gap:1rem}.inbox-compose-field{display:flex;align-items:center;gap:.5rem;min-width:0}.inbox-compose-field label{font-size:.875rem;font-weight:600;color:var(--color-text);flex-shrink:0}.inbox-compose-field select,.inbox-compose-field input{padding:.375rem .5rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);min-width:140px;transition:border-color .15s ease,box-shadow .15s ease}.inbox-compose-field select:focus,.inbox-compose-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #12121233}.inbox-compose-to-value{font-size:.875rem;color:var(--color-text)}.inbox-compose-send-row{display:flex;align-items:center;gap:.5rem}.inbox-compose-input-bar{flex:1;min-width:0;display:flex;align-items:center;gap:0;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;min-height:32px}.inbox-compose-input-bar:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #12121233}.inbox-compose-file-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.inbox-compose-attach{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none!important;background:none!important;padding:0;cursor:pointer;min-height:unset;border-radius:var(--radius) 0 0 var(--radius);box-shadow:none!important;color:#000}.inbox-compose-attach:hover,.inbox-compose-attach:focus{background:none!important;border:none!important;box-shadow:none!important}.inbox-compose-attach svg{display:block}.inbox-compose-textarea{flex:1;min-width:0;padding:.25rem .5rem;font-size:.875rem;border:none;border-radius:0;background:transparent;color:var(--color-text);font-family:var(--font-body);resize:none;min-height:28px;max-height:100px;transition:none}.inbox-compose-textarea::placeholder{color:var(--color-text-muted)}.inbox-compose-textarea:focus{outline:none;box-shadow:none}.inbox-btn-send{flex-shrink:0;width:32px;height:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:none!important;box-shadow:none!important;color:var(--color-primary)}.inbox-btn-send:hover:not(:disabled){background:#0000000f!important;border:none!important;box-shadow:none!important}.inbox-btn-send:disabled{opacity:.5}.inbox-btn-send svg{display:block}.inbox-compose-filename{margin:.25rem 0 0;font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-compose-filename--error{color:var(--color-error)}.inbox-retry-btn{margin-top:.5rem;padding:.5rem 1rem;cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-primary);font-weight:600;font-size:.875rem}.inbox-retry-btn:hover{background:var(--color-bg);border-color:var(--color-primary)}.inbox-context-menu{position:fixed;z-index:1000;min-width:8rem;padding:.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.inbox-context-menu-item{display:block;width:100%;padding:.5rem .75rem;text-align:left;border:none;background:none;font-size:.875rem;color:var(--color-text);cursor:pointer;border-radius:calc(var(--radius) - 2px)}.inbox-context-menu-item:hover{background:var(--color-bg)}.settings-profile-picture-section .settings-section-desc{margin-bottom:1rem}.settings-profile-picture-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.25rem}.settings-profile-picture-preview-wrap{flex-shrink:0;width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--color-bg-subtle);border:1px solid var(--color-border)}.settings-profile-picture-preview{width:100%;height:100%;object-fit:cover;display:block}.settings-profile-picture-placeholder{width:100%;height:100%;background:var(--color-border);opacity:.5}.settings-profile-picture-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.settings-profile-picture-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.settings-profile-picture-error{margin-top:.75rem;font-size:.875rem}.settings-2fa-status{margin-bottom:1rem}.settings-2fa-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:6px;margin-bottom:.5rem}.settings-2fa-item:last-child{margin-bottom:0}.settings-2fa-badge{font-size:.8125rem;font-weight:600}.settings-2fa-badge-enabled{color:var(--color-success)}.settings-2fa-detail{font-size:.875rem;color:var(--color-text-muted)}.settings-2fa-disable{margin-left:auto;font-size:.8125rem;padding:.25rem .5rem}.settings-2fa-none{font-size:.875rem;color:var(--color-text-muted);margin:0 0 .5rem}.settings-2fa-links{margin-top:.25rem}.settings-usage-block p{margin:.35rem 0;font-size:.9375rem}.fax-page{flex:1;display:flex;flex-direction:column;overflow:auto}.fax-content-wrap{flex:1;padding:2rem}.fax-tabs{display:inline-flex;background:#0000000f;border-radius:10px;padding:4px;margin-bottom:1.5rem}.fax-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:8px;font-family:var(--font-body);font-size:.875rem;font-weight:500;background:none;color:var(--color-text-muted);cursor:pointer;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.fax-tab:hover{color:var(--color-text)}.fax-tab.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow)}.fax-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem;min-height:400px;display:flex;flex-direction:column}.fax-tab-content{flex:1;display:flex;flex-direction:column}.fax-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.fax-empty-icon{width:3rem;height:3rem;border-radius:50%;background:#0000000f;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--color-text-muted)}.fax-empty-title{font-size:.875rem;font-weight:500;color:var(--color-text);margin:0 0 .25rem}.fax-empty-subtitle{font-size:.75rem;color:var(--color-text-muted);margin:0}.fax-error-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:300px}.fax-error-wrap{margin-top:.75rem;display:flex;align-items:center;gap:.75rem}.fax-retry-btn{font-family:var(--font-body);font-size:.875rem;padding:.4rem .75rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.fax-retry-btn:hover{opacity:.9}.fax-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.5rem}.fax-list-item{padding:1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem}.fax-list-meta{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.fax-list-from,.fax-list-to{font-size:.9375rem;color:var(--color-text)}.fax-list-subject{font-size:.875rem;color:var(--color-text-muted)}.fax-list-cover{font-size:.8125rem;color:var(--color-text-muted);font-style:italic}.fax-list-date{font-size:.8125rem;color:var(--color-text-muted)}.fax-list-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0}.fax-status-badge{font-size:.75rem;font-weight:500;padding:.2rem .5rem;border-radius:4px;text-transform:lowercase}.fax-status-delivered{background:var(--color-mint);color:var(--color-success)}.fax-status-queued,.fax-status-sending{background:#4f86e826;color:var(--color-messages)}.fax-status-failed,.fax-status-delivery_failed,.fax-status-sending_failed{background:#e06a6a26;color:var(--color-missed)}.fax-list-actions{display:flex;gap:1rem;flex-shrink:0}.fax-action-link{font-size:.875rem;color:var(--color-primary);text-decoration:none}.fax-action-link:hover{text-decoration:underline}.fax-action-btn{background:none;border:none;padding:0;cursor:pointer;font:inherit}.fax-action-disabled{font-size:.875rem;color:var(--color-text-muted)}.fax-success{color:var(--color-success);margin:.75rem 0 0}.fax-form-error{margin-top:.75rem}.fax-send-form{margin-top:1rem;display:flex;flex-direction:column;gap:1.25rem}.fax-form-field{display:flex;flex-direction:column;gap:.35rem}.fax-form-field label{font-size:.875rem;font-weight:500;color:var(--color-text)}.fax-required{color:var(--color-missed)}.fax-document-modal-desc{margin:0 0 1rem;font-size:.9375rem;color:var(--color-text-muted)}.fax-form-field input[type=text],.fax-form-field input[type=password],.fax-form-field textarea{font-family:var(--font-body);font-size:.9375rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-text)}.fax-form-field input[type=text]:focus,.fax-form-field input[type=password]:focus,.fax-form-field textarea:focus{outline:none;border-color:var(--color-primary)}.fax-form-field textarea{resize:vertical;min-height:4rem}.fax-file-attach-wrap{display:flex;align-items:center;gap:.75rem}.fax-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.fax-file-attach-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-background);color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .15s ease}.fax-file-attach-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:#00000005;transform:translateY(-1px)}.fax-file-attach-btn:active{transform:translateY(0)}.fax-file-attach-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.fax-file-attach-icon{width:1.125rem;height:1.125rem;flex-shrink:0;transition:transform .2s ease}.fax-file-attach-btn:hover .fax-file-attach-icon{transform:rotate(-15deg)}.fax-file-attach-wrap.is-disabled .fax-file-attach-btn{opacity:.5;cursor:not-allowed;pointer-events:none}.fax-file-attach-wrap.is-disabled .fax-file-attach-btn:hover{color:var(--color-text-muted);border-color:var(--color-border);background:var(--color-background);transform:none}.fax-file-attach-wrap.is-disabled .fax-file-attach-icon{transform:none}.fax-file-hint{font-size:.8125rem;color:var(--color-text-muted);margin:.25rem 0 0}.fax-file-selected{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.875rem}.fax-clear-file{font-size:.8125rem;padding:.25rem .5rem;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;cursor:pointer}.fax-clear-file:hover:not(:disabled){color:var(--color-text)}.fax-submit-btn{font-family:var(--font-body);font-size:.9375rem;font-weight:500;padding:.6rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;align-self:flex-start}.fax-submit-btn:hover:not(:disabled){opacity:.9}.fax-submit-btn:disabled{opacity:.6;cursor:not-allowed}.fax-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.fax-modal-backdrop{position:absolute;inset:0;background:#0006;cursor:pointer}.fax-modal{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:28rem;width:100%;max-height:90vh;overflow:auto}.fax-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.fax-modal-title{margin:0;font-size:1.125rem;font-weight:600}.fax-modal-close{font-size:1.5rem;line-height:1;padding:.25rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.fax-modal-close:hover{color:var(--color-text)}.fax-modal-body{padding:1.5rem}.fax-modal-actions{display:flex;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.fax-modal-cancel{font-family:var(--font-body);font-size:.9375rem;padding:.6rem 1.25rem;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:6px;cursor:pointer}.fax-modal-cancel:hover:not(:disabled){color:var(--color-text)}.fax-modal-actions .fax-submit-btn{align-self:flex-start}.call-dial-pad-left-identity{margin-bottom:1rem}.call-dial-pad-left-avatar{width:2rem;height:2rem;border-radius:50%;background:var(--color-border);margin-bottom:.75rem;overflow:hidden;display:flex;align-items:center;justify-content:center}.call-dial-pad-left-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.call-dial-pad-left-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted);margin:0 0 .25rem}.call-dial-pad-left-number{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.call-dial-pad-left-controls{margin-top:1.25rem;display:flex;flex-direction:column;gap:.5rem}.call-dial-pad-left-btn{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-family:var(--font-body);font-size:.875rem;color:var(--color-text);background:none;border:none;cursor:pointer;transition:color .15s}.call-dial-pad-left-btn:hover:not(:disabled){color:var(--color-primary)}.call-dial-pad-left-btn:disabled{opacity:.5;cursor:not-allowed}.call-dial-pad-left-btn svg{width:1rem;height:1rem;flex-shrink:0}.call-dial-pad-left-main{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.call-dial-pad-identity-section{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.call-dial-pad-dial-section{flex:1;min-height:0;margin-top:.25rem;display:flex;align-items:center;justify-content:center}.call-dial-pad-left-record-wrap{margin-top:auto;padding-top:.75rem;flex-shrink:0}.call-dial-pad-left-record-btn{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-family:var(--font-body);font-size:.875rem;color:var(--color-text);background:none;border:none;cursor:pointer;transition:color .15s}.call-dial-pad-left-record-btn:hover:not(:disabled){color:var(--color-primary)}.call-dial-pad-left-record-btn.recording{color:var(--color-missed)}.call-dial-pad-left-record-btn:disabled{opacity:.6;cursor:not-allowed}.call-dial-pad-left-record-btn svg{width:.875rem;height:.875rem;flex-shrink:0}.call-dial-pad-center-inner{width:100%;max-width:280px;display:flex;flex-direction:column;align-items:center}.call-dial-pad{max-width:100%;padding:0;border:none;border-radius:0;background:transparent}.call-dial-pad-error-wrap{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.call-dial-pad-error{margin:0;font-size:.875rem}.call-dial-pad-retry-btn{font-family:var(--font-body);font-size:.875rem;padding:.4rem .75rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.call-dial-pad-retry-btn:hover{opacity:.9}.call-dial-pad-display-wrap{margin-bottom:.75rem}.call-dial-pad-display{width:100%;font-family:var(--font-body);font-size:1.25rem;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-subtle);color:var(--color-text);box-sizing:border-box}.call-dial-pad-display::placeholder{color:var(--color-text-muted)}.call-dial-pad-from{margin-bottom:1rem}.call-dial-pad-from label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.25rem}.call-dial-pad-select{width:100%;font-family:var(--font-body);font-size:.875rem;padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.call-dial-pad-duration-inline{font-size:.8125rem;color:var(--color-text);margin:0;font-variant-numeric:tabular-nums}.call-dial-pad-dtmf-hint{color:var(--color-text-muted);font-weight:400}.call-dial-pad-display-wrap-compact{margin-bottom:.25rem}.call-dial-pad-display-wrap-compact .call-dial-pad-display{padding:.3rem .45rem;font-size:.875rem}.call-dial-pad-error-wrap-compact{margin-bottom:.25rem}.call-dial-pad-error-wrap-compact .call-dial-pad-error{font-size:.8125rem}.call-dial-pad-grid{margin-bottom:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;max-width:240px;width:100%}.call-dial-pad-grid-compact{margin-bottom:.4rem;max-width:100%;gap:.12rem}.call-dial-pad-grid-compact .call-dial-pad-key{min-height:0;aspect-ratio:1;font-size:.8125rem;padding:.2rem;border-radius:4px}.call-dial-pad-numpad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr) 1fr;gap:.25rem;width:90%;height:90%;max-width:100%;max-height:100%}.call-dial-pad-numpad-tiny .call-dial-pad-key-tiny{width:100%;height:100%;min-width:0;min-height:0;padding:0;font-size:.75rem;border-radius:4px;font-weight:600}.call-dial-pad-numpad-actions-row{grid-column:1 / -1;display:flex;gap:.25rem;min-height:0}.call-dial-pad-numpad-call{flex:1;min-width:0;min-height:0;padding:.35rem .5rem;font-size:.8125rem}.call-dial-pad-btn-backspace{flex-shrink:0;min-width:2.25rem;padding:.35rem .5rem;font-size:1rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.call-dial-pad-btn-backspace:hover:not(:disabled){background:var(--color-bg-subtle)}.call-dial-pad-row{display:contents}.call-dial-pad-key{aspect-ratio:1;min-height:2.5rem;font-family:var(--font-body);font-size:1.125rem;font-weight:600;border:none;border-radius:6px;background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background .15s ease;display:flex;align-items:center;justify-content:center}.call-dial-pad-key:hover:not(:disabled){background:var(--color-bg-subtle)}.call-dial-pad-key:disabled{opacity:.6;cursor:not-allowed}.call-dial-pad-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.call-dial-pad-actions-in-call{margin-top:.25rem}.call-dial-pad-duration{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:500;color:var(--color-text);margin-right:.5rem}.call-dial-pad-btn{font-family:var(--font-body);font-size:.875rem;padding:.5rem 1rem;border:none;border-radius:8px;cursor:pointer;font-weight:500}.call-dial-pad-btn:disabled{opacity:.6;cursor:not-allowed}.call-dial-pad-btn-call{background:var(--color-primary);color:#fff;width:100%}.call-dial-pad-btn-call:hover:not(:disabled){opacity:.9}.call-dial-pad-btn-hangup{background:var(--color-missed);color:#fff}.call-dial-pad-btn-hangup:hover{opacity:.9}.call-dial-pad-btn-answer{background:var(--color-primary);color:#fff}.call-dial-pad-btn-answer:hover{opacity:.9}.call-dial-pad-btn-decline{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border)}.call-dial-pad-btn-decline:hover{background:var(--color-border)}.call-dial-pad-btn-mute,.call-dial-pad-btn-hold{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border)}.call-dial-pad-btn-mute:hover:not(:disabled),.call-dial-pad-btn-hold:hover:not(:disabled){background:var(--color-border)}.call-dial-pad-btn-mute.active,.call-dial-pad-btn-hold.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.call-dial-pad-incoming{margin-bottom:1rem;padding:.75rem;border:1px solid var(--color-primary);border-radius:8px;background:var(--color-mint)}.call-dial-pad-incoming-label{font-size:.875rem;margin:0 0 .5rem;color:var(--color-text)}.call-dial-pad-incoming-actions{display:flex;gap:.5rem}.call-dial-pad-outgoing{margin-bottom:1rem;padding:.75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-subtle)}.call-dial-pad-outgoing-compact{margin-bottom:.5rem;padding:.5rem}.call-dial-pad-outgoing-compact .call-dial-pad-outgoing-label{font-size:.8125rem;margin-bottom:.35rem}.call-dial-pad-actions-compact{margin-top:.25rem}.call-dial-pad-outgoing-label{font-size:.875rem;margin:0 0 .5rem;color:var(--color-text)}.call-dial-pad-outgoing-actions{display:flex;gap:.5rem}.call-dial-pad-btn-cancel{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border)}.call-dial-pad-btn-cancel:hover{background:var(--color-border)}.call-dial-pad-btn-record{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border)}.call-dial-pad-btn-record:hover:not(:disabled){background:var(--color-border)}.call-dial-pad-btn-record.recording{background:var(--color-missed);color:#fff;border-color:var(--color-missed)}.call-dial-pad-record-error{font-size:.75rem;color:var(--color-missed)}.call-dial-pad-keypad-hint{font-size:.75rem;color:var(--color-text-muted);margin-left:auto}@media(max-width:768px){.call-dial-pad{max-width:100%;padding:.75rem;box-sizing:border-box}.call-dial-pad-grid{margin-bottom:.75rem}.call-dial-pad-row{gap:.4rem;margin-bottom:.4rem}.call-dial-pad-key{width:2.75rem;height:2.75rem;font-size:1.1rem;min-width:2.75rem}.call-dial-pad-actions{gap:.4rem}.call-dial-pad-actions-in-call{flex-wrap:wrap}.call-dial-pad-btn{padding:.5rem .75rem;font-size:.8125rem;min-height:2.5rem}.call-dial-pad-duration{width:100%;margin-right:0;margin-bottom:.25rem}}.app-page.calls-page{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;max-width:none}.calls-layout-wrap{width:100%}.calls-layout{display:flex;flex:1;min-height:0;width:100%;gap:0;border-radius:12px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface)}.calls-col-left{flex:0 0 32.2%;width:32.2%;min-width:184px;max-width:386px;display:flex;flex-direction:column;justify-content:space-between;padding:1rem 1.25rem;background:var(--color-bg-subtle);border-right:1px solid var(--color-border);min-height:0}.calls-col-right{flex:1;min-width:0;padding:1.25rem;background:var(--color-bg-subtle);border-left:1px solid var(--color-border);overflow-y:auto}.calls-incoming-notification{width:100%;max-width:56rem;margin-bottom:1.5rem;padding:1rem 1.25rem;border-radius:12px;border:2px solid var(--color-primary);background:linear-gradient(135deg,#1f8a701f,#1f8a700f);box-shadow:0 4px 20px #00000014;animation:calls-incoming-pulse 1.5s ease-in-out infinite}@keyframes calls-incoming-pulse{0%,to{box-shadow:0 4px 20px #00000014}50%{box-shadow:0 4px 24px #1f8a7040}}.calls-incoming-notification-inner{display:flex;flex-direction:column;gap:.5rem}.calls-incoming-notification-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.calls-incoming-notification-caller{font-size:1.25rem;font-weight:700;color:var(--color-primary);margin:0;letter-spacing:.02em}.calls-incoming-notification-actions{display:flex;gap:.75rem;margin-top:.5rem}.calls-incoming-notification-btn{font-family:var(--font-body);font-size:1rem;font-weight:600;padding:.65rem 1.5rem;border:none;border-radius:8px;cursor:pointer;transition:transform .1s,opacity .15s}.calls-incoming-notification-btn:hover{opacity:.95}.calls-incoming-notification-btn:active{transform:scale(.98)}.calls-incoming-notification-accept{background:var(--color-primary);color:#fff}.calls-incoming-notification-accept:hover{background:var(--color-primary-hover)}.calls-incoming-notification-decline{background:var(--color-bg-subtle);color:var(--color-text);border:1px solid var(--color-border)}.calls-incoming-notification-decline:hover{background:var(--color-border)}.calls-col-right h3{font-size:.875rem;font-weight:500;color:var(--color-text);margin:0 0 1rem}.calls-history-list{display:flex;flex-direction:column;gap:.5rem}.calls-history-item{display:flex;flex-direction:column;gap:.35rem;padding:.6rem .75rem;border-radius:6px;background:var(--color-surface);border:1px solid var(--color-border);font-size:.75rem}.calls-history-item-row{display:flex;align-items:baseline;gap:.5rem}.calls-history-item-label{flex-shrink:0;min-width:2.25rem;font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.calls-history-item-number{font-variant-numeric:tabular-nums;color:var(--color-text);word-break:break-all}.calls-history-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.1rem}.calls-history-item-meta .calls-direction-badge{font-size:.65rem;text-transform:uppercase}.calls-history-item-date{color:var(--color-text-muted);font-size:.7rem}.calls-history-item-duration{font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--color-text-muted)}.calls-history-item-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--color-border)}.calls-history-btn{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg-subtle);color:var(--color-text);cursor:pointer;font-weight:500}.calls-history-btn:hover:not(:disabled){background:var(--color-border)}.calls-history-btn:disabled{opacity:.6;cursor:not-allowed}.calls-history-btn-play{text-decoration:underline;background:transparent;border-color:transparent}.calls-history-btn-appointment{text-decoration:none;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}.calls-history-btn-appointment:hover{color:var(--color-text)}.calls-history-btn-callback,.calls-history-btn-call-again{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.calls-history-btn-callback:hover:not(:disabled),.calls-history-btn-call-again:hover:not(:disabled){filter:brightness(1.1)}.calls-section{max-width:56rem}.calls-section-dial{margin-bottom:2rem}.calls-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.calls-filter-label{font-size:.875rem;color:var(--color-text-muted)}.calls-filter-select{font-family:var(--font-body);font-size:.875rem;padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.calls-placeholder{color:var(--color-text-muted);margin-top:.5rem}.calls-error-wrap{margin-top:.75rem;display:flex;align-items:center;gap:.75rem}.calls-retry-btn{font-family:var(--font-body);font-size:.875rem;padding:.4rem .75rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.calls-retry-btn:hover{opacity:.9}.calls-table-wrap{overflow-x:auto;margin-top:.5rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.calls-table{width:100%;border-collapse:collapse;font-size:.875rem}.calls-table th,.calls-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}.calls-table th{font-weight:600;color:var(--color-text-muted);background:var(--color-bg-subtle)}.calls-table tbody tr:last-child td{border-bottom:none}.calls-table tbody tr:hover{background:var(--color-bg-subtle)}.calls-number{white-space:nowrap;font-variant-numeric:tabular-nums}.calls-date{white-space:nowrap;color:var(--color-text-muted)}.calls-duration{font-variant-numeric:tabular-nums}.calls-direction-badge,.calls-status-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.calls-direction-inbound{background:#22c55e26;color:var(--color-text)}.calls-direction-outbound{background:#3b82f626;color:var(--color-text)}.calls-direction-unknown{background:var(--color-bg-subtle);color:var(--color-text-muted)}.calls-status-initiated,.calls-status-ringing{background:#eab30833;color:var(--color-text)}.calls-status-answered{background:#22c55e26;color:var(--color-text)}.calls-status-ended{background:var(--color-bg-subtle);color:var(--color-text-muted)}.calls-status-badge:not([class*=calls-status-initiated]):not([class*=calls-status-answered]):not([class*=calls-status-ended]):not([class*=calls-status-ringing]){background:var(--color-bg-subtle);color:var(--color-text-muted)}.calls-pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem}.calls-pagination-btn{font-family:var(--font-body);font-size:.875rem;padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.calls-pagination-btn:hover:not(:disabled){background:var(--color-bg-subtle)}.calls-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.calls-pagination-info{font-size:.875rem;color:var(--color-text-muted)}.calls-recording{white-space:nowrap}.calls-recording-link{color:var(--color-primary);text-decoration:none}.calls-recording-link:hover{text-decoration:underline}@media(max-width:768px){.calls-page{padding:.5rem}.calls-layout{flex-direction:column;min-height:400px}.calls-col-left{width:100%;min-width:0;max-width:none;border-right:none;border-bottom:1px solid var(--color-border)}.call-dial-pad-left-record-wrap{margin-top:.75rem}.calls-col-right{width:100%;min-width:0;border-left:none;border-top:1px solid var(--color-border);max-height:40vh}.calls-section{max-width:100%}.calls-controls{flex-wrap:wrap}.calls-pagination{flex-wrap:wrap;gap:.5rem}}.reminders-page{flex:1;display:flex;flex-direction:column;overflow:auto}.reminders-content-wrap{flex:1;padding:2rem}.reminders-tabs{display:inline-flex;background:#0000000f;border-radius:10px;padding:4px;margin-bottom:1.5rem}.reminders-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:8px;font-family:var(--font-body);font-size:.875rem;font-weight:500;background:none;color:var(--color-text-muted);cursor:pointer;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.reminders-tab:hover{color:var(--color-text)}.reminders-tab.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow)}.reminders-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem;min-height:400px;display:flex;flex-direction:column}.reminders-tab-content{flex:1;display:flex;flex-direction:column}.reminders-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.reminders-empty-icon{width:3rem;height:3rem;border-radius:50%;background:#0000000f;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--color-text-muted)}.reminders-empty-title{font-size:.875rem;font-weight:500;color:var(--color-text);margin:0 0 .25rem}.reminders-empty-subtitle{font-size:.75rem;color:var(--color-text-muted);margin:0 0 1rem}.reminders-create-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;text-decoration:none;font-size:.875rem;font-weight:500;border-radius:6px;margin-top:.5rem;transition:opacity .15s ease}.reminders-create-btn:hover{opacity:.9;color:#fff}.reminders-list-header{margin-bottom:1rem}.reminders-create-btn-sm{padding:.4rem .75rem;font-size:.8125rem}.reminders-error-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:300px}.reminders-retry-btn{font-family:var(--font-body);font-size:.875rem;padding:.4rem .75rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.reminders-retry-btn:hover{opacity:.9}.reminders-skeleton{display:flex;flex-direction:column;gap:.5rem}.reminders-skeleton-row{height:2.75rem;background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;animation:reminders-skeleton-shine 1.2s ease-in-out infinite;border-radius:6px}@keyframes reminders-skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.reminders-list{list-style:none;margin:0;padding:0}.reminders-list-item{padding:1rem 0;border-bottom:1px solid var(--color-border)}.reminders-list-item:last-child{border-bottom:none}.reminders-list-meta{display:flex;flex-direction:column;gap:.25rem}.reminders-list-name{font-size:.875rem;font-weight:600;color:var(--color-text)}.reminders-list-recipients{font-size:.75rem;color:var(--color-text-muted)}.reminders-list-preview{font-size:.8125rem;color:var(--color-text);line-height:1.4}.reminders-list-date{font-size:.75rem;color:var(--color-text-muted)}.reminders-modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.reminders-modal-backdrop{position:absolute;inset:0;background:#0006;cursor:pointer}.reminders-modal{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow);max-width:480px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.reminders-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.reminders-modal-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.reminders-modal-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--color-text-muted);padding:.25rem}.reminders-modal-close:hover{color:var(--color-text)}.reminders-modal-body{padding:1.5rem;overflow-y:auto}.reminders-form-success{color:var(--color-success);font-size:.875rem;margin:0 0 1rem}.reminders-form-error{margin:0 0 1rem}.reminders-form{display:flex;flex-direction:column;gap:1rem}.reminders-form-field{display:flex;flex-direction:column;gap:.25rem}.reminders-form-field label{font-size:.875rem;font-weight:500;color:var(--color-text)}.reminders-required{color:var(--color-error)}.reminders-field-hint{font-size:.75rem;color:var(--color-text-muted);margin:0}.reminders-form-field input[type=text],.reminders-form-field input[type=date],.reminders-form-field input[type=time],.reminders-form-field select,.reminders-form-field textarea{font-family:var(--font-body);font-size:.9375rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.reminders-form-field textarea{resize:vertical;min-height:4rem}.reminders-recipient-actions{display:flex;gap:.5rem}.reminders-btn-secondary{font-family:var(--font-body);font-size:.8125rem;padding:.35rem .6rem;background:#0000000f;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;color:var(--color-text)}.reminders-btn-secondary:hover:not(:disabled){background:#00000014}.reminders-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.reminders-recipient-list{max-height:120px;overflow-y:auto;border:1px solid var(--color-border);border-radius:6px;padding:.5rem}.reminders-loading-hint{font-size:.8125rem;color:var(--color-text-muted);margin:0}.reminders-recipient-item{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.875rem;cursor:pointer}.reminders-recipient-item input{flex-shrink:0}.reminders-recipient-opted-out{opacity:.7;color:var(--color-text-muted)}.reminders-opted-out-badge{margin-left:.35rem;padding:.1rem .4rem;font-size:.6875rem;font-weight:500;background:#9ca3af40;color:var(--color-text-muted);border-radius:4px}.reminders-opted-out-badge-sm{margin-left:.25rem;padding:.05rem .3rem;font-size:.625rem}.reminders-tag-opted-out{border:1px dashed var(--color-border)}.reminders-manual-add{display:flex;gap:.5rem;margin-top:.5rem}.reminders-manual-add input{flex:1;font-family:var(--font-body);font-size:.9375rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px}.reminders-selected-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.reminders-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:#0000000f;border-radius:4px;font-size:.75rem}.reminders-tag button{background:none;border:none;cursor:pointer;padding:0;font-size:1rem;line-height:1;color:var(--color-text-muted)}.reminders-tag button:hover{color:var(--color-text)}.reminders-form-row{display:flex;gap:1rem}.reminders-form-row .reminders-form-field{flex:1}.reminders-modal-actions{display:flex;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.reminders-modal-cancel{font-family:var(--font-body);font-size:.9375rem;padding:.5rem 1rem;background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;color:var(--color-text-muted)}.reminders-modal-cancel:hover:not(:disabled){color:var(--color-text)}.reminders-submit-btn{font-family:var(--font-body);font-size:.9375rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.reminders-submit-btn:hover:not(:disabled){opacity:.9}.reminders-submit-btn:disabled{opacity:.7;cursor:not-allowed}.reminders-table-wrap{overflow-x:auto}.reminders-table{width:100%;border-collapse:collapse;font-size:.875rem}.reminders-table th,.reminders-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.reminders-table th{font-weight:600;color:var(--color-text-muted)}.reminders-table tbody tr:hover{background:#00000005}.reminders-cell-name{font-weight:500;color:var(--color-text)}.reminders-cell-preview{max-width:200px;color:var(--color-text)}.reminders-status-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.reminders-status-scheduled{background:#22c55e26;color:#16a34a}.reminders-status-recurring{margin-left:.25rem;background:#3b82f626;color:#2563eb;text-transform:capitalize}.reminders-actions{display:flex;gap:.5rem}.reminders-action-btn{font-family:var(--font-body);font-size:.8125rem;padding:.35rem .6rem;background:#0000000f;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;color:var(--color-text)}.reminders-action-btn:hover:not(:disabled){background:#00000014}.reminders-action-cancel{color:var(--color-error);border-color:#dc262666}.reminders-action-cancel:hover:not(:disabled){background:#dc262614}.reminders-view-link{font-size:.8125rem;color:var(--color-primary);text-decoration:none}.reminders-view-link:hover{text-decoration:underline}.reminders-confirm-modal{max-width:360px}.reminders-confirm-text{margin:0 0 1rem;font-size:.9375rem;color:var(--color-text)}:root{--font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-primary: #1F8A70;--color-primary-hover: #176A57;--color-mint: #DDF3EC;--color-bg: #F7F7F9;--color-bg-subtle: #EEEEF1;--color-surface: #FFFFFF;--color-text: #1C1C1F;--color-text-muted: #6B6B75;--color-border: #E7E7EC;--color-header: #121214;--color-link: #1F8A70;--color-link-hover: #176A57;--color-messages: #4F86E8;--color-calls: #1F8A70;--color-missed: #E06A6A;--color-fax: #D8A94A;--color-premium: #C8A96B;--color-neutral: #8C8C96;--color-calendar-personal: #4F86E8;--color-calendar-meeting: #1F8A70;--color-calendar-class: #D8A94A;--color-calendar-work: #176A57;--color-error: #E06A6A;--color-success: #1F8A70;--color-amber: #D8A94A;--color-blue: #4F86E8;--color-danger: #E06A6A;--color-background: #F7F7F9;--radius: 6px;--radius-lg: 10px;--shadow: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--sidebar-background: #121214;--sidebar-foreground: #FFFFFF;--sidebar-foreground-muted: rgba(255, 255, 255, .7);--sidebar-border: rgba(255, 255, 255, .12);--sidebar-accent: rgba(255, 255, 255, .1);--sidebar-active: rgba(255, 255, 255, .06);font-family:var(--font-body);font-size:16px;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;max-width:1200px;margin:0 auto;padding:1.5rem}@media(min-width:768px){#root{padding:2rem}}h1,h2,h3{font-family:var(--font-heading);font-weight:600;color:var(--color-text);margin:0 0 .5em;letter-spacing:-.02em}h1{font-size:1.875rem;line-height:1.2}h2{font-size:1.375rem}h3{font-size:1.125rem}p{margin:0 0 .75em;color:var(--color-text)}a{color:var(--color-link);font-weight:500;text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-link-hover)}button,.app-btn{font-family:var(--font-body);font-size:.9375rem;font-weight:600;padding:.625rem 1.25rem;min-height:44px;border-radius:var(--radius);border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;box-shadow:var(--shadow)}button:hover:not(:disabled),.app-btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary,.app-btn-secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}button.secondary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-primary)}input,select,textarea{font-family:var(--font-body);font-size:1rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.625rem .75rem;min-height:44px;width:100%;max-width:100%;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.8}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1f8a7033}textarea{min-height:80px;resize:vertical}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;min-height:0;padding:0;flex-shrink:0}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235a5a5a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.app-page{max-width:720px;margin:0 auto}.app-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--color-border);padding:1.5rem;margin-bottom:1.5rem}@media(min-width:768px){.app-card{padding:2rem}}.app-form-group{margin-bottom:1rem}.app-form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.375rem}.app-message-error{color:var(--color-error);font-size:.875rem;margin:.5rem 0}.app-message-success{color:var(--color-success);font-size:.875rem;margin:.5rem 0}.app-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:1rem 0;align-items:center}.app-nav a{font-weight:500}.app-divider{height:1px;background:var(--color-border);margin:1.5rem 0;border:0}.app-section-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;margin:0 0 .75rem;color:var(--color-text)}.app-list-plain{list-style:none;padding:0;margin:0}.app-list-item{padding:.75rem 0;border-bottom:1px solid var(--color-border);color:var(--color-text)}.app-list-item:last-child{border-bottom:none}.app-loading{padding:2rem;color:var(--color-text-muted);text-align:center}.placeholder-page-desc{color:var(--color-text-muted);margin:0;font-size:.9375rem}.settings-section{margin-bottom:1.5rem}.settings-section:last-child{margin-bottom:0}.settings-account-email{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.9375rem}.settings-section-desc{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.875rem}.calendar-layout{max-width:none;margin:0;flex:1;min-height:0;display:flex;flex-direction:row;gap:0;background:var(--color-surface)}.calendar-sidebar{width:280px;flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-surface);padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto}.calendar-sidebar-date{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.calendar-sidebar-today-btn{font-weight:600;color:var(--color-text);background:transparent;border:none;padding:.35rem .5rem;cursor:pointer}.calendar-sidebar-today-btn.app-btn:hover{background:#0000000f;color:var(--color-text);border-color:transparent;box-shadow:none}.calendar-sidebar-select-label{display:block;margin-bottom:.35rem;font-weight:500;font-size:.875rem;color:var(--color-text)}.calendar-sidebar-select{width:100%;padding:.5rem 2rem .5rem .75rem;font-size:.875rem;font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%235a5a5a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;transition:border-color .15s ease,box-shadow .15s ease}.calendar-sidebar-select:hover:not(:disabled){border-color:var(--color-text-muted)}.calendar-sidebar-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #1f8a7033}.calendar-sidebar-select:disabled{opacity:.7;cursor:not-allowed}.calendar-sidebar-date-label{font-size:.875rem;color:var(--color-text-muted)}.mini-calendar{border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem;background:var(--color-bg);width:100%;max-width:100%;max-height:280px;overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;min-height:180px}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;padding:0 .15rem;flex-shrink:0}.mini-calendar-month-year{font-size:.875rem;font-weight:600;color:var(--color-text)}.mini-calendar-nav{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);background:transparent;color:var(--color-text);cursor:pointer;font-size:1.1rem;line-height:1}.mini-calendar-nav:hover{background:var(--color-primary);color:var(--color-surface)}.mini-calendar--other-month .mini-calendar-nav{box-shadow:0 1px 3px #00000014}.mini-calendar--other-month .mini-calendar-nav:hover{box-shadow:0 2px 6px #0000001f}.mini-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;flex-shrink:0}.mini-calendar-weekday{font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-align:center}.mini-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:2px;flex:1;min-height:0}.mini-calendar-day{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);background:transparent;color:var(--color-text);font-size:.75rem;font-weight:500;cursor:pointer}.mini-calendar-day:hover,.mini-calendar-day--selected{background:var(--color-primary);color:var(--color-surface)}.mini-calendar-day--selected:hover{background:var(--color-primary-hover);color:var(--color-surface)}.mini-calendar-day--today:not(.mini-calendar-day--selected){box-shadow:0 0 0 2px var(--color-primary)}.mini-calendar-day--outside{opacity:.5;color:var(--color-text-muted)}.mini-calendar-day--outside:hover{opacity:.8;color:var(--color-text)}.calendar-filters{margin-top:.25rem}.calendar-filters-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.calendar-filters-title{font-family:var(--font-body);font-size:.6875rem;font-weight:700;letter-spacing:.05em;color:var(--color-text-muted);margin:0;text-transform:uppercase}.calendar-filters-reset{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.calendar-filters-reset:hover{background:var(--color-border);color:var(--color-text)}.calendar-filters-list{display:flex;flex-direction:column;gap:.6rem}.calendar-filter-field{display:flex;flex-direction:column;gap:.25rem}.calendar-filter-label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);display:block}.calendar-filter-select{width:100%;height:32px;padding:0 .5rem 0 .6rem;font-size:.8125rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;appearance:auto}.calendar-filter-select:hover{border-color:var(--color-primary)}.calendar-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #1f8a7033}.calendar-main{flex:1;min-width:0;min-height:0;padding:1.5rem;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface)}.calendar-main-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.calendar-main-header-title{font-family:var(--font-body)}.calendar-header-create-btn{flex-shrink:0}.calendar-header-filter-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem}.calendar-header-filter-btn svg{flex-shrink:0}.calendar-header-filter-btn.app-btn-secondary:hover{background:#0000000f;border-color:var(--color-border);box-shadow:none}.calendar-disconnect-btn:hover:not(:disabled){background:#0000000f;border-color:var(--color-border);box-shadow:none}.calendar-create-event-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.calendar-create-event-btn svg{flex-shrink:0}.calendar-create-event-btn:hover{background:#0000000f;border-color:var(--color-border);color:var(--color-text);box-shadow:none}.calendar-filters-overlay{position:fixed;inset:0;z-index:100;background:#00000059;display:flex;align-items:flex-start;justify-content:flex-end;padding:4rem 1rem 1rem}.calendar-filters-popup{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.25rem;max-width:320px;width:100%;max-height:calc(100vh - 6rem);overflow-y:auto}.calendar-filters-popup .calendar-filters{margin-top:0}.calendar-filters-popup-close{width:100%;margin-top:1rem}.calendar-appt-skeleton{flex:1;min-height:8rem;display:flex;flex-direction:column;gap:.5rem}.calendar-appt-skeleton-row{height:2.5rem;background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;animation:calendar-skeleton-shine 1.2s ease-in-out infinite;border-radius:var(--radius)}@keyframes calendar-skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.calendar-error-wrap{margin-bottom:1rem}.calendar-appt-cards{display:none;flex-direction:column;gap:.75rem;flex:1;min-height:0;overflow-y:auto}.calendar-appt-card{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:background .15s ease}.calendar-appt-card:hover{background:var(--color-bg)}.calendar-appt-card-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8125rem;color:var(--color-text-muted)}.calendar-appt-card .calendar-appt-patient-btn{display:block;margin-top:.25rem}.calendar-sync-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.calendar-sync-refresh{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.calendar-sync-refresh:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.calendar-sync-refresh:disabled{opacity:.6;cursor:not-allowed}.calendar-sync-dot{font-size:.5rem;vertical-align:middle}.calendar-appt-empty-wrap{flex:1;min-height:8rem;display:flex;align-items:center;justify-content:center}.calendar-appt-empty{text-align:center;margin:0}.calendar-appt-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius);margin-top:.5rem}.calendar-appt-table{width:100%;border-collapse:collapse;font-size:.875rem}.calendar-appt-th{position:sticky;top:0;z-index:10;background:var(--color-bg);color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.calendar-appt-th--time{width:1%;white-space:nowrap}.calendar-appt-th--patient{min-width:120px}.calendar-appt-th--status{white-space:nowrap}.calendar-appt-th--provider{min-width:80px}.calendar-appt-th--type{max-width:180px}.calendar-appt-th--location{min-width:80px}.calendar-appt-th--actions{width:1%;white-space:nowrap}.calendar-appt-row{border-bottom:1px solid var(--color-border);transition:background .15s ease}.calendar-appt-row:hover{background:var(--color-bg)}.calendar-appt-td{padding:.5rem .6rem;vertical-align:middle;border-bottom:1px solid var(--color-border)}.calendar-appt-td--time{white-space:nowrap}.calendar-appt-time-cell{display:inline-flex;align-items:center;gap:.35rem}.calendar-appt-time-dot{width:6px;height:6px;border-radius:50%;border:1px solid var(--color-text-muted);flex-shrink:0}.calendar-appt-patient-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--color-primary);font-weight:500;text-align:left;text-decoration:none;transition:color .15s ease,text-decoration .15s ease}.calendar-appt-patient-btn:hover{text-decoration:underline;background:#0000000a!important;border-color:transparent;box-shadow:none}.calendar-appt-td--provider,.calendar-appt-td--type,.calendar-appt-td--location{font-size:.8125rem;color:var(--color-text-muted)}.calendar-appt-td--type{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-appt-status-wrap{position:relative;display:inline-block}.calendar-appt-status-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;margin:-.15rem -.35rem;border:none;background:var(--color-bg);border-radius:var(--radius);cursor:pointer;font:inherit;font-size:.8125rem;color:var(--color-text);transition:background .15s ease,color .15s ease}.calendar-appt-status-btn .calendar-appt-status-btn-inner{display:inline-flex;align-items:center;gap:.25rem}.calendar-appt-status-btn:hover:not(:disabled){background:var(--color-border)}.calendar-appt-status-btn:disabled{opacity:.8;cursor:wait}.calendar-appt-status-dropdown{position:absolute;left:0;top:100%;margin-top:.25rem;min-width:10rem;padding:.35rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:20;display:flex;flex-direction:column;gap:.125rem}.calendar-appt-status-dropdown--card{left:auto;right:0}.calendar-appt-status-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;border:none;border-radius:var(--radius);background:transparent;color:var(--color-text);text-align:left;font-size:.875rem;cursor:pointer;transition:background .15s ease}.calendar-appt-status-option .calendar-appt-status-option-dot{flex-shrink:0;font-size:.625rem;line-height:1}.calendar-appt-status-option .calendar-appt-status-option-label{color:var(--color-text)}.calendar-appt-status-wrap .calendar-appt-status-option:hover{background:#0000000a;border-color:transparent;box-shadow:none}.calendar-appt-status-option[aria-selected=true]{font-weight:600;background:#00000014}.calendar-appt-status-option[aria-selected=true] .calendar-appt-status-option-label{color:var(--color-text)}.calendar-appt-view-btn{padding:.25rem .5rem;font-size:.8125rem}.calendar-appt-view-btn:hover:not(:disabled){background:#0000000f;border-color:var(--color-border);box-shadow:none}.calendar-event-detail-page{padding:1rem 0 2rem}.calendar-event-detail-card{padding:1.75rem 2rem;max-width:640px;margin:0 auto}.calendar-event-detail-back{margin-bottom:1.25rem}.calendar-event-detail-back-link{font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:var(--color-primary);text-decoration:none;transition:color .15s ease}.calendar-event-detail-back-link:hover{color:var(--color-primary-hover)}.calendar-event-detail-heading{font-family:var(--font-body);font-size:1.25rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 1.5rem;padding-bottom:.5rem}.calendar-event-detail-message{font-family:var(--font-body);font-size:.9375rem;margin:0 0 .75rem}.calendar-event-detail-message--error{color:var(--color-error)}.calendar-event-detail-message--cancelled{margin-bottom:1rem}.calendar-event-detail-content{font-family:var(--font-body)}.calendar-event-detail-section{margin-bottom:2rem}.calendar-event-detail-section:last-of-type{margin-bottom:0}.calendar-event-detail-event-title{font-family:var(--font-body);font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0 0 1.25rem;line-height:1.3}.calendar-event-detail-fields{display:flex;flex-direction:column;gap:.75rem;margin:0}.calendar-event-detail-field{display:grid;grid-template-columns:7rem 1fr;gap:.5rem 1rem;align-items:baseline}.calendar-event-detail-field dt{font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--color-text-muted);margin:0}.calendar-event-detail-field dd{font-family:var(--font-body);font-size:.9375rem;color:var(--color-text);margin:0}.calendar-event-detail-field--block dd{align-self:start}.calendar-event-detail-field--block dd ul{margin:.25rem 0 0;padding-left:1.25rem}.calendar-event-detail-section-title{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 .75rem}.calendar-event-detail-section--overlay{padding-top:1.5rem;border-top:1px solid var(--color-border)}.calendar-event-detail-section--edit-overlay{padding-top:1.5rem;border-top:1px solid var(--color-border);margin-top:1.5rem}.calendar-event-detail-list{font-size:.9375rem;color:var(--color-text);margin:0;padding-left:1.25rem}.calendar-event-detail-list--audit{font-size:.875rem;color:var(--color-text-muted)}.calendar-event-detail-link{font-family:var(--font-body);color:var(--color-primary);text-decoration:none;font-weight:500}.calendar-event-detail-link:hover{text-decoration:underline}.calendar-event-detail-links,.calendar-event-detail-meet{margin:.75rem 0 0}.calendar-event-detail-links .calendar-event-detail-link:not(:last-child){margin-right:1rem}.calendar-event-detail-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.calendar-event-detail-confirm{margin-top:1.5rem;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.calendar-event-detail-confirm-text{font-family:var(--font-body);font-size:.9375rem;color:var(--color-text);margin:0 0 1rem}.calendar-event-detail-confirm-actions{display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:480px){.calendar-event-detail-card{padding:1.25rem 1rem}.calendar-event-detail-field{grid-template-columns:1fr;gap:.25rem}}@media(max-width:767px){.calendar-layout{flex-direction:column;height:auto}.calendar-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-border);max-height:50vh}.calendar-main{min-height:40vh}.calendar-appt-table-wrap--desktop{display:none}.calendar-appt-cards{display:flex}}
