:root{--primary: #006bff;--primary-light: #e6f0ff;--primary-dark: #0056cc;--text-main: #1a1a1a;--text-muted: #666666;--border: #e8e8e8;--bg: #f8f9fa;--white: #ffffff;--radius-lg: 24px;--radius-md: 14px;--radius-sm: 8px;--radius-pill: 50px;--success: #16a34a;--success-light: #ecfdf3;--success-border: #bbf7d0;--success-dark: #15803d}*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{background-color:var(--bg);color:var(--text-main);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}.portal-logo-image{max-height:32px;max-width:140px;object-fit:contain;vertical-align:middle}h1,h2,h3,h4,h5,h6{margin:0}button,input,textarea{font-family:inherit}.App{width:100%}.app-landing{min-height:100vh}.app-booking{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.booking-topbar{width:100%;max-width:1060px;margin-bottom:8px}.booking-home-link{display:inline-flex;align-items:center;gap:10px;background:none;border:none;font-size:1.05rem;font-weight:800;color:var(--text-main);cursor:pointer;padding:4px 0;transition:color .2s}.booking-home-link:hover{color:var(--primary)}.booking-home-link .logo-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--primary);color:#fff;border-radius:6px;font-size:1rem;font-weight:700}.info-panel{flex:0 0 380px;padding:40px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--white)}.info-panel.placeholder-state .profile-pic,.info-panel.placeholder-state .physio-name,.info-panel.placeholder-state .meeting-title,.info-panel.placeholder-state .meeting-meta{opacity:.3;filter:grayscale(1)}.back-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:24px;transition:all .2s}.back-btn:hover{background:var(--bg);border-color:var(--text-muted)}.profile-pic{width:72px;height:72px;border-radius:50%;background:#f0f0f0;margin-bottom:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000000d}.profile-pic img{width:100%;height:100%;object-fit:cover}.physio-name{color:var(--text-muted);font-size:1rem;font-weight:600;margin-bottom:8px}.meeting-title{font-size:1.6rem;font-weight:800;margin-bottom:24px;line-height:1.2}.meeting-meta{color:var(--text-muted);font-size:.95rem;display:flex;flex-direction:column;gap:16px}.meta-item{display:flex;align-items:center;gap:12px;font-weight:500}.meta-item svg{width:22px;height:22px;opacity:.7;flex-shrink:0}.meta-item.selection-summary{color:var(--primary);font-weight:700}@media(max-width:800px){.info-panel{flex:0 0 auto;border-right:none;border-bottom:1px solid var(--border);padding:30px}}.availability-calendar{margin-bottom:30px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-month-label{font-size:1rem;font-weight:700;color:var(--text-main)}.calendar-nav-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--text-main);font-size:1.25rem;line-height:1;cursor:pointer;transition:border-color .2s,background .2s}.calendar-nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.calendar-nav-btn:disabled{opacity:.35;cursor:not-allowed}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-muted);padding:4px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;padding:6px 4px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:default;transition:background .15s,border-color .15s}.calendar-day.empty{pointer-events:none}.calendar-day-number{font-size:.9rem;font-weight:600;line-height:1.2}.calendar-day-slots{font-size:.65rem;font-weight:600;color:var(--success);margin-top:2px;line-height:1}.calendar-day-full{font-size:.6rem;font-weight:600;color:var(--text-muted);margin-top:2px;line-height:1}.calendar-day.available{cursor:pointer;background:var(--success-light);border-color:var(--success-border)}.calendar-day.available:hover{background:#d4f5e4;border-color:var(--success)}.calendar-day.available .calendar-day-number{color:var(--success-dark)}.calendar-day.unavailable{background:#f3f3f3;border-color:var(--border)}.calendar-day.unavailable .calendar-day-number{color:var(--text-muted);text-decoration:line-through}.calendar-day.past{opacity:.35}.calendar-day.past .calendar-day-number{color:var(--text-muted)}.calendar-day.loading{background:var(--bg);animation:calendarPulse 1.2s ease-in-out infinite}.calendar-day.selected{background:var(--primary)!important;border-color:var(--primary)!important}.calendar-day.selected .calendar-day-number,.calendar-day.selected .calendar-day-slots{color:#fff!important}.calendar-day.today:not(.selected){box-shadow:inset 0 0 0 2px var(--primary)}.calendar-legend{display:flex;gap:20px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-muted)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-item.available .legend-dot{background:var(--success)}.legend-item.unavailable .legend-dot{background:#d0d0d0}@keyframes calendarPulse{0%,to{opacity:1}50%{opacity:.5}}.datetime-selection{width:100%}.date-picker-wrapper{margin-bottom:30px}.date-picker-wrapper label{display:block;font-size:.9rem;font-weight:700;margin-bottom:6px}.date-picker-hint{font-size:.85rem;color:var(--text-muted);margin-bottom:16px}.selected-date-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:20px;padding:12px 14px;background:var(--primary-light);border-radius:var(--radius-sm)}.selected-date-label{font-weight:700;font-size:.9rem}.selected-date-slots{font-size:.85rem;font-weight:600;color:var(--success-dark);white-space:nowrap}.available-times-label{font-weight:700;margin-bottom:16px;font-size:.95rem}.time-selection-container{display:grid;grid-template-columns:1fr;gap:12px}.slot-container{display:flex;gap:12px}.time-btn{flex:1;padding:16px;border:1px solid var(--primary);color:var(--primary);background:transparent;border-radius:var(--radius-md);font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.time-btn:hover{background:var(--primary-light);border-width:2px}.confirm-btn{display:none;flex:1;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;cursor:pointer;animation:slideIn .3s ease}.slot-container.active .time-btn{flex:0 0 45%;background:#555;color:#fff;border-color:#555}.slot-container.active .confirm-btn{display:block}@keyframes slideIn{0%{transform:translate(15px);opacity:0}to{transform:translate(0);opacity:1}}.loading-slots,.no-slots{text-align:center;padding:40px;color:var(--text-muted)}.gabinet-booking{width:100%}.gabinet-booking-hint{color:var(--text-muted);font-size:.9rem;margin:-12px 0 24px;line-height:1.5}.gabinet-team-tabs{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.gabinet-team-tab{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s}.gabinet-team-tab:hover{border-color:var(--primary)}.gabinet-team-tab.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:var(--primary-light)}.gabinet-team-tab-img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.gabinet-team-tab-info{display:flex;flex-direction:column;gap:2px}.gabinet-team-tab-info strong{font-size:.95rem;color:var(--text-main)}.gabinet-team-tab-info small{font-size:.8rem;color:var(--text-muted)}.gabinet-calendar-section{margin-bottom:20px}.gabinet-calendar-title{font-size:1rem;font-weight:700;margin-bottom:12px;color:var(--text-main)}.gabinet-team-description{margin:-4px 0 16px;font-size:.9rem;line-height:1.5;color:var(--text-muted);white-space:pre-wrap}.gabinet-continue-btn{width:100%;margin-top:20px;padding:14px 20px;border:none;border-radius:var(--radius-md);background:var(--primary);color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s}.gabinet-continue-btn:hover{background:var(--primary-dark, #0056cc)}.booking-form{max-width:440px}.form-group{margin-bottom:24px}.form-group label{display:block;font-weight:700;font-size:.9rem;margin-bottom:10px}.form-group input,.form-group textarea{width:100%;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.form-group textarea{resize:vertical;min-height:100px}.form-error{padding:12px;background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:#c00;margin-bottom:16px;font-size:.9rem}.submit-btn{background:var(--primary);color:#fff;border:none;padding:14px 32px;border-radius:var(--radius-pill);font-weight:700;cursor:pointer;font-size:1rem;transition:all .2s}.submit-btn:hover:not(:disabled){background:var(--primary-dark)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.success-content{text-align:center;padding:40px 0}.success-icon{font-size:48px;margin-bottom:20px}.success-content h2{font-size:2rem;margin-bottom:12px;font-weight:800}.success-message{color:var(--text-muted);font-size:1rem;margin-bottom:32px}.physio-highlight{color:var(--primary);font-weight:700}.success-divider{margin:32px 0;border:0;border-top:1px solid var(--border)}.success-details{text-align:left;background:var(--bg);padding:20px;border-radius:var(--radius-md);margin-bottom:40px}.session-title{font-weight:700;margin-bottom:8px;font-size:1rem}.session-time{color:var(--text-muted);font-size:.95rem;margin:0}.back-home-btn{margin-top:40px;background:transparent;border:1px solid var(--primary);color:var(--primary);padding:14px 32px;border-radius:var(--radius-pill);font-weight:700;cursor:pointer;font-size:1rem;transition:all .2s}.back-home-btn:hover{background:var(--primary);color:#fff}.calendly-card{background:var(--white);width:100%;max-width:1060px;min-height:640px;border-radius:var(--radius-lg);box-shadow:0 10px 40px #0000000f;display:flex;overflow:hidden;border:1px solid var(--border);transition:all .3s ease}.scheduler-panel{flex:1;padding:40px;overflow-y:auto}@media(max-width:800px){.calendly-card{flex-direction:column;max-width:500px;border-radius:var(--radius-md)}}.landing{width:100%;min-height:100vh;background:var(--bg)}.landing-container{width:100%;max-width:960px;margin:0 auto;padding:0 24px}.landing-header{background:var(--white);border-bottom:1px solid var(--border)}.landing-header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.landing-header-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.landing-logo{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:800;color:var(--text-main)}.landing-admin-link{font-size:.92rem;font-weight:600;color:var(--text-muted);text-decoration:none;padding:8px 12px;border-radius:var(--radius-sm);transition:color .2s,background .2s}.landing-admin-link:hover{color:var(--primary);background:var(--primary-light)}.logo-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:1.1rem;font-weight:700}.landing-hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:56px 0 64px}.landing-hero-inner{max-width:720px}.landing-hero-eyebrow{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-bottom:12px}.landing-hero h1{font-size:clamp(1.85rem,4vw,2.5rem);font-weight:800;line-height:1.15;margin-bottom:14px}.landing-hero-subtitle{font-size:1.05rem;line-height:1.6;opacity:.92;margin-bottom:32px;max-width:540px}.landing-hero-filters{display:flex;flex-wrap:wrap;gap:12px}.landing-hero-filters .search-box,.landing-hero-filters .location-filter{background:var(--white);border:none;box-shadow:0 4px 24px #0000001f}.landing-hero-filters .search-box:focus-within,.landing-hero-filters .location-filter:focus-within{box-shadow:0 4px 24px #0000001f,0 0 0 2px #fff6}.landing-hero-search{flex:1;min-width:220px}.location-filter{display:flex;align-items:center;gap:10px;padding:0 16px;min-width:200px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);transition:border-color .2s,box-shadow .2s}.location-filter svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.location-filter select{flex:1;border:none;outline:none;padding:14px 0;font-size:.95rem;background:transparent;color:var(--text-main);cursor:pointer;appearance:none}.landing-main{padding:32px 0 60px}.landing-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap}.landing-results-count{font-size:.92rem;font-weight:600;color:var(--text-muted)}.search-box{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s}.search-box:focus-within{border-color:var(--primary)}.search-box svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.search-box input{flex:1;border:none;outline:none;padding:14px 0;font-size:.95rem;background:transparent}.view-toggle{display:flex;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.view-toggle button{padding:12px 18px;border:none;background:transparent;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.view-toggle button.active{background:var(--primary-light);color:var(--primary)}.landing-status{text-align:center;padding:48px 0;color:var(--text-muted)}.landing-error{text-align:center;padding:40px;color:var(--text-muted)}.landing-error button{margin-top:12px;padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer}.physio-directory.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.physio-directory.list{display:flex;flex-direction:column;gap:16px}.directory-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}.directory-card:hover{border-color:var(--primary);box-shadow:0 4px 16px #006bff14}.physio-directory.grid .directory-card{display:flex;flex-direction:column}.physio-directory.grid .directory-card:hover{transform:translateY(-2px)}.physio-directory.grid .directory-card-img{width:100%;height:180px;object-fit:cover}.physio-directory.grid .directory-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.physio-directory.list .directory-card{display:flex;align-items:center;padding:20px;gap:20px}.physio-directory.list .directory-card-img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0}.physio-directory.list .directory-card-body{flex:1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.directory-card-body h2{font-size:1.1rem;font-weight:700;margin-bottom:4px}.physio-directory.list .directory-card-body h2{margin-bottom:0;flex:1;min-width:160px}.directory-card-specialty{font-size:.85rem;color:var(--text-muted);margin-bottom:8px}.physio-directory.list .directory-card-specialty{margin-bottom:0;flex:1;min-width:140px}.directory-card-location{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-muted);margin-bottom:16px}.directory-card-location svg{width:14px;height:14px;flex-shrink:0;color:var(--primary)}.physio-directory.list .directory-card-location{margin-bottom:0;flex:1;min-width:120px}.book-btn{padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:.9rem;cursor:pointer;transition:background .2s;align-self:flex-start}.physio-directory.list .book-btn{margin-left:auto;flex-shrink:0}.book-btn:hover{background:var(--primary-dark)}@media(max-width:600px){.landing-hero{padding:40px 0 48px}.landing-hero-filters{flex-direction:column}.location-filter{width:100%}.physio-directory.list .directory-card{flex-direction:column;align-items:flex-start}.physio-directory.list .directory-card-body{width:100%;flex-direction:column;align-items:flex-start}.physio-directory.list .book-btn{margin-left:0;width:100%}}.calendar-admin{min-height:100vh;background:var(--bg)}.calendar-admin-container{width:100%;max-width:880px;margin:0 auto;padding:0 24px}.calendar-admin-header{background:var(--white);border-bottom:1px solid var(--border)}.calendar-admin-header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.calendar-admin-logo{display:inline-flex;align-items:center;gap:10px;background:none;border:none;font-size:1.05rem;font-weight:800;color:var(--text-main);cursor:pointer;padding:0}.calendar-admin-logo:hover{color:var(--primary)}.calendar-admin-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--primary-light);padding:6px 10px;border-radius:var(--radius-pill)}.calendar-admin-header-actions{display:flex;align-items:center;gap:12px}.calendar-admin-nav-link{font-size:.875rem;font-weight:600;color:var(--text-muted);text-decoration:none}.calendar-admin-nav-link:hover{color:var(--primary)}.calendar-admin-user{font-size:.8rem;color:var(--text-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-admin-signout{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:.8rem;font-weight:600;color:var(--text-main);cursor:pointer}.calendar-admin-signout:hover{border-color:var(--primary);color:var(--primary)}.calendar-admin-main{padding:36px 0 60px}.calendar-admin-intro{margin-bottom:24px}.calendar-admin-intro h1{font-size:1.75rem;font-weight:800;margin-bottom:8px}.calendar-admin-intro p{color:var(--text-muted)}.calendar-admin-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--radius-md);margin-bottom:20px}.calendar-admin-banner p{margin:0;font-size:.95rem}.calendar-admin-banner button{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;color:inherit;opacity:.7}.calendar-admin-banner-success{background:var(--success-light);border:1px solid var(--success-border);color:var(--success-dark)}.calendar-admin-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;margin-bottom:20px}.calendar-admin-card h2{font-size:1.1rem;font-weight:700;margin-bottom:8px}.calendar-admin-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.calendar-admin-card-header h2{margin-bottom:0}.calendar-admin-help,.calendar-admin-note,.calendar-admin-status{color:var(--text-muted);font-size:.95rem}.calendar-admin-note{margin-top:12px}.calendar-admin-warning code,.calendar-admin-help-card code{display:inline-block;margin-top:6px;padding:2px 6px;background:var(--bg);border-radius:4px;font-size:.85rem;word-break:break-all}.calendar-admin-warning ul{margin:12px 0;padding-left:20px;color:var(--text-muted)}.calendar-admin-connect-row{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:16px}.calendar-admin-connect-row label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.calendar-admin-connect-row select{min-width:260px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-size:.95rem}.calendar-admin-btn{padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--text-main);font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s}.calendar-admin-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.calendar-admin-btn:disabled{opacity:.55;cursor:not-allowed}.calendar-admin-btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.calendar-admin-btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.calendar-admin-btn-danger{color:#b91c1c}.calendar-admin-btn-danger:hover:not(:disabled){border-color:#fca5a5;color:#991b1b}.calendar-admin-list{display:flex;flex-direction:column;gap:12px}.calendar-admin-item{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.calendar-admin-item h3{font-size:1rem;margin-bottom:10px}.calendar-admin-item dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 16px}.calendar-admin-item dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:2px}.calendar-admin-item dd{font-size:.92rem;margin:0}.calendar-admin-item-actions{display:flex;flex-direction:column;gap:8px;min-width:120px}.calendar-admin-help-card ol{margin-top:12px;padding-left:20px;color:var(--text-muted)}.calendar-admin-help-card li+li{margin-top:8px}@media(max-width:640px){.calendar-admin-connect-row select,.calendar-admin-btn{width:100%}.calendar-admin-item-actions{width:100%;flex-direction:row}.calendar-admin-item-actions .calendar-admin-btn{flex:1}}.admin-dashboard-container{max-width:1100px}.admin-dashboard-header-inner{max-width:1100px;margin:0 auto;padding:0 24px}.admin-dashboard-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:0}.admin-dashboard-tabs button{position:relative;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 16px;font-size:.95rem;font-weight:700;color:var(--text-muted);cursor:pointer}.admin-dashboard-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-tab-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--primary);vertical-align:middle}.admin-schedule-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:start}.admin-schedule-calendar{margin-bottom:0}.admin-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-calendar-header h2{margin:0;font-size:1.15rem}.calendar-nav-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-size:1.25rem;line-height:1;cursor:pointer}.calendar-nav-btn:hover{border-color:var(--primary);color:var(--primary)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.admin-calendar-day{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:8px 4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);cursor:pointer}.admin-calendar-day.empty{border:none;background:transparent;cursor:default}.admin-calendar-day.today{border-color:var(--primary)}.admin-calendar-day.selected{background:var(--primary-light);border-color:var(--primary)}.admin-calendar-day.has-appointments .admin-calendar-day-number{font-weight:800}.admin-calendar-day-number{font-size:.95rem}.admin-calendar-day-count{font-size:.7rem;font-weight:700;color:var(--primary);background:var(--primary-light);border-radius:var(--radius-pill);padding:2px 7px}.admin-day-appointments h2{margin-top:0;font-size:1.05rem}.admin-appointment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-appointment-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);text-align:left;cursor:pointer}.admin-appointment-item:hover,.admin-appointment-item.selected{border-color:var(--primary);background:var(--primary-light)}.admin-appointment-time{font-weight:800;font-size:.9rem;white-space:nowrap}.admin-appointment-patient{font-weight:600}.admin-appointment-status{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:4px 8px;border-radius:var(--radius-pill);white-space:nowrap}.admin-appointment-status.status-confirmed{color:#166534;background:#dcfce7}.admin-appointment-status.status-pending_payment,.admin-appointment-status.status-pending{color:#92400e;background:#fef3c7}.admin-appointment-status.status-cancelled{color:#991b1b;background:#fee2e2}.admin-appointment-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.admin-appointment-detail-header h2{margin:0}.admin-appointment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0}.admin-appointment-fields div{display:flex;flex-direction:column;gap:4px}.admin-appointment-fields dt{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.admin-appointment-fields dd{margin:0;font-weight:600}.admin-appointment-fields a{color:var(--primary)}.admin-appointment-notes{grid-column:1 / -1}@media(max-width:900px){.admin-schedule-layout,.admin-appointment-fields{grid-template-columns:1fr}}.checkout-page{min-height:100vh;background:var(--bg)}.checkout-header{background:var(--white);border-bottom:1px solid var(--border);padding:16px 24px}.checkout-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-main);font-weight:800}.checkout-main{display:flex;justify-content:center;padding:40px 24px}.checkout-card{width:100%;max-width:480px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:32px}.checkout-card h1{font-size:1.5rem;margin-bottom:8px}.checkout-subtitle{color:var(--text-muted);margin-bottom:24px}.checkout-summary{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:20px}.checkout-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:.95rem}.checkout-row+.checkout-row{border-top:1px solid var(--border)}.checkout-total strong{font-size:1.1rem;color:var(--primary)}.checkout-mock-card{background:var(--bg);border-radius:var(--radius-sm);padding:16px;margin-bottom:20px}.checkout-mock-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:10px}.checkout-mock-fields input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);margin-bottom:8px}.checkout-mock-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checkout-mock-row input{margin-bottom:0}.checkout-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:var(--radius-sm);font-weight:600;text-decoration:none;border:none;cursor:pointer;font-size:.95rem}.checkout-btn-primary{background:var(--primary);color:#fff;width:100%}.checkout-btn-primary:hover:not(:disabled){background:var(--primary-dark)}.checkout-btn-primary:disabled{opacity:.6;cursor:not-allowed}.checkout-btn-secondary{background:var(--white);border:1px solid var(--border);color:var(--text-main)}.checkout-pay-btn{margin-top:4px}.checkout-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.checkout-success-icon{width:56px;height:56px;border-radius:50%;background:var(--success-light);color:var(--success-dark);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin-bottom:16px}.checkout-badge{font-size:.8rem;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:var(--radius-pill)}.checkout-badge-paid{background:var(--success-light);color:var(--success-dark)}.checkout-status,.checkout-error{text-align:center;padding:40px;color:var(--text-muted)}.checkout-error{color:#b91c1c}.visits-page{min-height:100vh;background:var(--bg)}.visits-container{max-width:760px;margin:0 auto;padding:0 24px}.visits-header{background:var(--white);border-bottom:1px solid var(--border)}.visits-header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.visits-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-main);font-weight:800}.visits-admin-link{font-size:.92rem;font-weight:600;color:var(--text-muted);text-decoration:none}.visits-admin-link:hover{color:var(--primary)}.visits-main{padding:36px 0 60px}.visits-main h1{font-size:1.75rem;margin-bottom:8px}.visits-intro,.visits-policy,.visits-status{color:var(--text-muted);margin-bottom:16px}.visits-policy-tiers{margin:8px 0 0;padding-left:20px}.visits-policy-tiers li+li{margin-top:4px}.visits-search,.visits-waitlist-form{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.visits-search input,.visits-waitlist-form input{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.visits-search button,.visits-waitlist-form button,.visits-btn{padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--white);text-decoration:none;color:var(--text-main);font-size:.92rem}.visits-search button,.visits-waitlist-form button{background:var(--primary);border-color:var(--primary);color:#fff}.visits-banner{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px}.visits-banner-success{background:var(--success-light);border:1px solid var(--success-border);color:var(--success-dark)}.visits-banner-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.visits-list{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.visits-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.visits-card-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.visits-card h2{font-size:1.05rem}.visits-card p{color:var(--text-muted);font-size:.92rem}.visits-badges{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.visits-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:var(--radius-pill)}.visits-badge-success{background:var(--success-light);color:var(--success-dark)}.visits-badge-warning{background:#fef9c3;color:#854d0e}.visits-badge-muted{background:var(--bg);color:var(--text-muted)}.visits-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.visits-meta dt{font-size:.72rem;text-transform:uppercase;color:var(--text-muted)}.visits-meta dd{font-size:.92rem}.visits-card-actions{display:flex;gap:10px;flex-wrap:wrap}.visits-btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.visits-btn-danger{color:#b91c1c}.visits-waitlist{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px}.visits-waitlist h2{font-size:1.1rem;margin-bottom:8px}.payment-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:12px}.payment-admin-grid label,.payment-admin-percent label,.calendar-admin-card>label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;margin-top:12px}.payment-admin-grid input,.payment-admin-percent input,.calendar-admin-card>label input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:400}.payment-admin-hint{color:var(--text-muted);font-size:.92rem;margin-top:10px}.payment-admin-refund-options{display:flex;flex-direction:column;gap:10px;margin-top:12px}.payment-admin-radio,.payment-admin-checkbox{display:flex;align-items:center;gap:10px;font-weight:500}.payment-admin-save{margin-top:8px;margin-bottom:20px}.payment-admin-links{list-style:none;margin-top:12px}.payment-admin-links a{color:var(--primary);text-decoration:none;font-weight:600}.payment-admin-links li+li{margin-top:8px}.payment-admin-tiers{margin-top:16px}.payment-admin-tier-table{display:flex;flex-direction:column;gap:10px;margin-top:12px}.payment-admin-tier-header,.payment-admin-tier-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) auto;gap:12px;align-items:end}.payment-admin-tier-header{font-size:.8rem;font-weight:700;color:var(--text-muted)}.payment-admin-tier-row label{margin-top:0}.payment-admin-tier-label{font-size:.75rem;color:var(--text-muted)}.payment-admin-tier-remove,.payment-admin-tier-add{border:1px solid var(--border);background:#fff;border-radius:var(--radius-sm);padding:10px 12px;font-size:.85rem;cursor:pointer}.payment-admin-tier-add{margin-top:12px}.payment-admin-tier-remove:disabled{opacity:.5;cursor:not-allowed}.calendar-admin-banner-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.team-admin-container{max-width:960px}.team-admin-list{display:flex;flex-direction:column;gap:12px}.team-admin-item{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white)}.team-admin-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--bg)}.team-admin-item-body{flex:1;min-width:0}.team-admin-item-body h3{margin:0 0 4px;font-size:1rem}.team-admin-item-body p{margin:0;font-size:.85rem;color:var(--text-muted)}.team-admin-item-description{margin-top:6px!important;white-space:pre-wrap;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.team-admin-item-location{margin-top:4px!important;font-size:.82rem!important;color:var(--primary)!important}.team-admin-item-actions{display:flex;flex-wrap:wrap;gap:8px}.team-admin-modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.team-admin-modal{width:100%;max-width:440px;background:var(--white);border-radius:var(--radius-md);padding:24px;box-shadow:0 20px 40px #00000026}.team-admin-modal h2{margin:0 0 20px;font-size:1.2rem}.team-admin-modal label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:.85rem;font-weight:600}.team-admin-modal input[type=text],.team-admin-modal input[type=url],.team-admin-modal textarea{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit}.team-admin-modal textarea{resize:vertical;min-height:96px;line-height:1.5}.team-admin-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.team-admin-photo-field{margin-bottom:14px}.team-admin-photo-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:8px}.team-admin-photo-mode{display:flex;gap:8px;margin-bottom:12px}.team-admin-photo-mode-btn{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.team-admin-photo-mode-btn.active{background:color-mix(in srgb,var(--primary) 12%,white);border-color:var(--primary);color:var(--primary)}.team-admin-photo-preview{display:flex;justify-content:center;margin-bottom:12px}.team-admin-photo-preview img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.team-admin-photo-upload{display:block;padding:12px;border:1px dashed var(--border);border-radius:var(--radius-sm);text-align:center;font-size:.85rem;color:var(--text-muted);cursor:pointer}.team-admin-photo-upload input{display:none}.team-admin-photo-hint{margin:8px 0 0;font-size:.78rem;color:var(--text-muted)}.team-admin-availability-modal{max-width:620px}.team-admin-availability-help{color:var(--text-muted);font-size:.85rem;margin:-8px 0 12px}.team-admin-availability-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.team-admin-availability-count{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--text-muted)}.team-admin-availability-grid{display:grid;grid-template-columns:88px repeat(5,1fr);gap:6px;margin-bottom:16px}.team-admin-availability-header{min-height:1px}.team-admin-availability-day-btn{padding:8px 4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:.75rem;font-weight:700;color:var(--text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.team-admin-availability-day-btn.selected{background:color-mix(in srgb,var(--primary) 18%,white);border-color:var(--primary);color:var(--primary)}.team-admin-availability-day-btn.partial{background:color-mix(in srgb,var(--primary) 8%,white);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.team-admin-availability-row{display:contents}.team-admin-availability-time-btn{padding:10px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:.78rem;font-weight:600;color:var(--text-main);text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.team-admin-availability-time-btn.selected{background:color-mix(in srgb,var(--primary) 18%,white);border-color:var(--primary);color:var(--primary)}.team-admin-availability-slot{min-height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.team-admin-availability-slot:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}.team-admin-availability-slot.active{background:var(--primary);border-color:var(--primary)}.team-admin-availability-slot.active:hover{background:color-mix(in srgb,var(--primary) 85%,black)}.team-admin-availability-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;padding:12px;margin-bottom:16px;background:var(--bg);border-radius:var(--radius-sm)}.team-admin-availability-summary-day{display:flex;flex-direction:column;gap:2px;font-size:.75rem}.team-admin-availability-summary-day strong{color:var(--text-main)}.team-admin-availability-summary-day span{color:var(--text-muted);line-height:1.3}@media(max-width:640px){.team-admin-item{flex-wrap:wrap}.team-admin-item-actions{width:100%}.team-admin-availability-modal{max-width:100%}.team-admin-availability-grid{grid-template-columns:72px repeat(5,1fr);gap:4px}.team-admin-availability-count{width:100%;margin-left:0}}.domain-admin-card{margin-bottom:1.5rem}.domain-admin-form label{display:block;font-weight:600;margin-bottom:.5rem}.domain-admin-input-row{display:flex;gap:.75rem;flex-wrap:wrap}.domain-admin-input-row input{flex:1;min-width:220px;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.domain-admin-status{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.domain-admin-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.85rem;font-weight:600}.domain-admin-badge-none,.domain-admin-badge-pending_dns,.domain-admin-badge-pending_ssl{background:#fef3c7;color:#92400e}.domain-admin-badge-active{background:#d1fae5;color:#065f46}.domain-admin-badge-failed{background:#fee2e2;color:#991b1b}.domain-admin-current{font-family:ui-monospace,monospace;color:#374151}.domain-admin-dns-record{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin:1rem 0;display:grid;gap:.5rem}.domain-admin-dns-record code{background:#eef2ff;padding:.1rem .35rem;border-radius:4px}.domain-admin-actions{display:flex;gap:.75rem;flex-wrap:wrap}.branding-admin-preview{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.branding-admin-preview-logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.1rem}.branding-admin-preview-logo .portal-logo-image{max-height:40px;max-width:160px;object-fit:contain}.branding-admin-form label{display:block;font-weight:600;margin-bottom:.5rem}.branding-admin-form input[type=text],.branding-admin-form input[type=color]{width:100%;max-width:420px;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.branding-admin-form input[type=color]{width:72px;height:42px;padding:.25rem}.branding-admin-field{margin-bottom:1.25rem}.branding-admin-color-row{display:flex;align-items:center;gap:.75rem}.branding-admin-color-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#4b5563}.branding-admin-logo-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.branding-admin-logo-preview{max-height:48px;max-width:180px;object-fit:contain;border:1px solid #e5e7eb;border-radius:8px;padding:.35rem;background:#fff}.branding-admin-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.branding-admin-note{margin-top:.75rem;color:#6b7280;font-size:.95rem}.activity-admin-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.activity-admin-filters select{min-width:160px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-size:.875rem}.activity-admin-list{display:flex;flex-direction:column;gap:12px}.activity-admin-item{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.activity-admin-item-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px}.activity-admin-time{font-size:.8125rem;color:var(--text-muted)}.activity-admin-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.activity-admin-badge-channel-web{background:#e8f0fe;color:#1a56db}.activity-admin-badge-channel-sms{background:#e7f6ec;color:#0f7a3a}.activity-admin-badge-channel-voice{background:#f3e8ff;color:#7c3aed}.activity-admin-badge-outcome-success{background:#dcfce7;color:#166534}.activity-admin-badge-outcome-failed{background:#fee2e2;color:#b91c1c}.activity-admin-badge-outcome-abandoned{background:#fef3c7;color:#b45309}.activity-admin-badge-outcome-info{background:var(--primary-light);color:var(--primary)}.activity-admin-action{font-weight:700;color:var(--text-main)}.activity-admin-actor{font-size:.875rem;color:var(--text-muted)}.activity-admin-details{display:grid;gap:6px;font-size:.875rem;color:var(--text-main)}.activity-admin-message{margin-top:10px;padding:10px 12px;background:var(--bg);border-radius:var(--radius-sm);font-size:.8125rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.activity-admin-message-label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.activity-admin-empty{padding:32px;text-align:center;color:var(--text-muted);background:var(--white);border:1px dashed var(--border);border-radius:var(--radius-md)}.phone-admin-card{margin-bottom:1.5rem}.phone-admin-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.phone-admin-tab{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .9rem;font-size:.875rem;font-weight:600;color:var(--text-muted);cursor:pointer}.phone-admin-tab.is-active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.phone-admin-form label{display:block;font-weight:600;margin-bottom:.5rem}.phone-admin-input-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.phone-admin-input-row input,.phone-admin-input-row select{flex:1;min-width:160px;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem}.phone-admin-search-results{margin-top:1rem;display:grid;gap:.75rem}.phone-admin-search-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white)}.phone-admin-search-item-info{display:flex;flex-direction:column;gap:.15rem}.phone-admin-search-item-number{font-family:ui-monospace,monospace;font-weight:700}.phone-admin-search-item-meta{font-size:.85rem;color:var(--text-muted)}.phone-admin-list{display:grid;gap:.75rem;margin-top:1rem}.phone-admin-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white)}.phone-admin-list-item-body h3{font-size:1rem;margin-bottom:.25rem}.phone-admin-list-item-body p{font-size:.875rem;color:var(--text-muted)}.phone-admin-list-item-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.phone-admin-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;margin-right:.35rem}.phone-admin-badge-active{background:#d1fae5;color:#065f46}.phone-admin-badge-pending_verification{background:#fef3c7;color:#92400e}.phone-admin-badge-inactive{background:#f3f4f6;color:#4b5563}.phone-admin-badge-primary{background:var(--primary-light);color:var(--primary)}.phone-admin-badge-purchased{background:#eef2ff;color:#3730a3}.phone-admin-badge-verified{background:#e0f2fe;color:#0369a1}.phone-admin-validation-code{margin-top:.75rem;padding:.75rem 1rem;background:#f9fafb;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem}.phone-admin-validation-code strong{font-family:ui-monospace,monospace;font-size:1.1rem}.phone-admin-empty{color:var(--text-muted);font-size:.95rem;margin-top:.75rem}.phone-admin-hint{color:var(--text-muted);font-size:.9rem;margin-top:.75rem}.clients-admin-container{max-width:1100px}.clients-admin-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:24px;align-items:start}@media(max-width:768px){.clients-admin-layout{grid-template-columns:1fr}}.clients-admin-sidebar{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.clients-admin-search{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:12px}.clients-admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:520px;overflow-y:auto}.clients-admin-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.clients-admin-list-item:hover{border-color:var(--primary)}.clients-admin-list-item-active{border-color:var(--primary);background:var(--primary-light)}.clients-admin-list-name{font-weight:700;font-size:.9375rem;color:var(--text-main)}.clients-admin-list-email{font-size:.8125rem;color:var(--text-muted)}.clients-admin-list-stats{font-size:.75rem;color:var(--text-muted);margin-top:4px}.clients-admin-detail{min-height:200px}.clients-admin-detail-header{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 22px;margin-bottom:16px}.clients-admin-detail-header h2{margin:0 0 4px;font-size:1.25rem}.clients-admin-detail-header a{font-size:.875rem;color:var(--primary)}.clients-admin-summary-stats{display:flex;flex-wrap:wrap;gap:16px 24px;margin:16px 0 0}.clients-admin-summary-stats div{display:flex;flex-direction:column;gap:2px}.clients-admin-summary-stats dt{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.clients-admin-summary-stats dd{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-main)}.clients-admin-visits{display:flex;flex-direction:column;gap:12px}.clients-admin-visit-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.clients-admin-visit-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.clients-admin-visit-header h3{margin:0;font-size:1rem}.clients-admin-visit-meta{margin:4px 0 0;font-size:.8125rem;color:var(--text-muted)}.clients-admin-status-badge{display:inline-flex;padding:4px 10px;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.clients-admin-status-badge.status-confirmed{background:#dcfce7;color:#166534}.clients-admin-status-badge.status-cancelled{background:#fee2e2;color:#b91c1c}.clients-admin-status-badge.status-pending,.clients-admin-status-badge.status-pending_payment{background:#fef3c7;color:#b45309}.clients-admin-visit-fields{display:grid;gap:8px;margin:0}.clients-admin-visit-fields div{display:grid;grid-template-columns:120px 1fr;gap:8px;font-size:.875rem}.clients-admin-visit-fields dt{color:var(--text-muted);font-weight:600}.clients-admin-visit-fields dd{margin:0;color:var(--text-main)}.clients-admin-visit-notes{grid-column:1 / -1}.clients-admin-empty{padding:24px;text-align:center;color:var(--text-muted);background:var(--white);border:1px dashed var(--border);border-radius:var(--radius-md)}.recovery-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px}.recovery-card{width:100%;max-width:440px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:32px}.recovery-badge{display:inline-block;background:var(--success-light);color:var(--success-dark);font-size:.75rem;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-pill);margin-bottom:12px}.recovery-subtitle{color:var(--text-muted);margin-bottom:8px}.recovery-price{font-size:1.25rem;font-weight:700;color:var(--primary);margin-bottom:24px}.recovery-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;margin-bottom:14px}.recovery-form input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:400}.admin-setup-wizard{background:linear-gradient(135deg,var(--primary-light) 0%,#eef6ff 100%);border-bottom:1px solid var(--border)}.admin-setup-wizard-inner{max-width:880px;margin:0 auto;padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.admin-setup-wizard-summary{flex:1 1 280px;min-width:0}.admin-setup-wizard-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:10px}.admin-setup-wizard-heading strong{font-size:.95rem;color:var(--text-main)}.admin-setup-wizard-count{font-size:.85rem;font-weight:600;color:var(--primary)}.admin-setup-wizard-progress{height:8px;background:#ffffffb3;border-radius:var(--radius-pill);overflow:hidden;border:1px solid rgba(0,0,0,.06)}.admin-setup-wizard-progress-fill{height:100%;background:var(--primary);border-radius:var(--radius-pill);transition:width .25s ease}.admin-setup-wizard-next{margin:8px 0 0;font-size:.82rem;color:var(--text-muted)}.admin-setup-wizard-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-setup-wizard-btn{border:none;border-radius:var(--radius-pill);padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-setup-wizard-btn:disabled{opacity:.6;cursor:not-allowed}.admin-setup-wizard-btn-primary{background:var(--primary);color:var(--white)}.admin-setup-wizard-btn-primary:hover:not(:disabled){background:var(--primary-dark, #0066cc)}.admin-setup-wizard-btn-secondary{background:var(--white);color:var(--primary);border:1px solid var(--primary)}.admin-setup-wizard-btn-ghost{background:transparent;color:var(--text-muted)}.admin-setup-wizard-btn-ghost:hover:not(:disabled){color:var(--text-main)}.admin-setup-wizard-steps{list-style:none;margin:0;padding:0 24px 20px;max-width:880px;margin-inline:auto;display:grid;gap:12px}.admin-setup-wizard-step{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:14px 16px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md, 12px)}.admin-setup-wizard-step.is-next{border-color:var(--primary);box-shadow:0 0 0 1px #0066cc1f}.admin-setup-wizard-step.is-complete{opacity:.85}.admin-setup-wizard-step-marker{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;background:var(--bg);color:var(--text-muted)}.admin-setup-wizard-step.is-complete .admin-setup-wizard-step-marker{background:var(--primary-light);color:var(--primary)}.admin-setup-wizard-step.is-next .admin-setup-wizard-step-marker{background:var(--primary);color:var(--white)}.admin-setup-wizard-step-body h3{margin:0 0 4px;font-size:.95rem}.admin-setup-wizard-step-body p{margin:0 0 10px;font-size:.85rem;color:var(--text-muted)}.admin-setup-wizard-link{display:inline-block;font-size:.85rem;font-weight:600;color:var(--primary);text-decoration:none}.admin-setup-wizard-link:hover{text-decoration:underline}.admin-setup-wizard-done-label{font-size:.8rem;font-weight:600;color:var(--primary)}.admin-setup-wizard-profile-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-setup-wizard-profile-form input{flex:1 1 180px;min-width:0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);font-size:.9rem}.admin-setup-wizard-step-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-setup-wizard-error{width:100%;margin:0;font-size:.82rem;color:#b42318}@media(max-width:640px){.admin-setup-wizard-inner{padding:14px 16px}.admin-setup-wizard-steps{padding-inline:16px}}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.admin-login-card{width:100%;max-width:420px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:32px;box-shadow:0 8px 24px #0f172a0f}.admin-login-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-login-logo{display:inline-flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:800;color:var(--text-main);text-decoration:none}.admin-login-logo:hover{color:var(--primary)}.admin-login-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--primary-light);padding:6px 10px;border-radius:var(--radius-pill)}.admin-login-card h1{margin:0 0 8px;font-size:1.5rem}.admin-login-intro{margin:0 0 24px;color:var(--text-muted);line-height:1.5}.admin-login-form{display:flex;flex-direction:column;gap:16px}.admin-login-form label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:600;color:var(--text-main)}.admin-login-form input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem}.admin-login-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.admin-login-form button{margin-top:8px;padding:12px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:700;cursor:pointer}.admin-login-form button:disabled{opacity:.7;cursor:not-allowed}.admin-login-error{margin-bottom:16px;padding:12px 14px;border-radius:var(--radius-sm);background:#fef2f2;color:#b91c1c;font-size:.9rem}.admin-login-status{color:var(--text-muted)}.admin-login-footer{margin:24px 0 0;text-align:center;font-size:.9rem}.admin-login-footer a{color:var(--primary);text-decoration:none}.admin-login-footer a:hover{text-decoration:underline}
