.lifecycle-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px;margin-bottom:20px;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-md);background:var(--cf-color-surface);font-size:14px}.lifecycle-banner a{font-weight:700}.lifecycle-card{background:var(--cf-color-surface);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-lg);padding:24px;margin:20px 0}.lifecycle-card h2,.lifecycle-card h3{margin:0 0 12px}.lifecycle-card label,.support-page label{display:grid;grid-gap:7px;gap:7px;font-size:14px;font-weight:600;margin:14px 0}.lifecycle-card .action-primary,.lifecycle-card .action-secondary{margin:8px 8px 0 0}.lifecycle-card p,.privacy-section p{line-height:1.6;color:var(--cf-color-muted)}.privacy-section>section{padding:20px 0;border-top:1px solid var(--cf-color-border)}.privacy-section h4{margin:0 0 10px}.privacy-section button{margin:10px 0}.privacy-acknowledgement{display:flex;gap:10px;align-items:flex-start;margin:18px 0}.privacy-acknowledgement input{width:20px;min-height:20px;flex:0 0 20px}.support-request{border-bottom:1px solid var(--cf-color-border);padding:18px 0}.support-request summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.support-request article{padding:14px;border-left:3px solid var(--cf-color-border)}.support-filters{display:flex;gap:16px}.trial-badge{display:inline-flex;padding:7px 12px;border-radius:99px;background:#e8efe5;color:#36563c;font-size:13px;font-weight:700}.trial-explanation{padding:18px;background:var(--cf-color-surface);border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-md);margin:20px 0}.trial-explanation p{line-height:1.6}.google-sign-in .button{width:100%}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--cf-color-muted)}.auth-divider:after,.auth-divider:before{content:"";height:1px;background:var(--cf-color-border);flex:1 1}.form-hint{font-size:13px;color:var(--cf-color-muted)}@media(max-width:600px){.lifecycle-banner{align-items:flex-start;flex-direction:column}.lifecycle-card{padding:18px}.support-filters{flex-direction:column;gap:0}.support-request summary{align-items:flex-start;flex-direction:column}}:root{--cf-space-0:0;--cf-space-1:.5rem;--cf-space-2:1rem;--cf-space-3:1.5rem;--cf-space-4:2.25rem;--cf-space-5:2rem;--cf-space-6:3rem;--cf-control-height:2.75rem;--cf-control-radius:.7rem;--cf-focus-ring:0 0 0 3px var(--cf-color-primary-soft);--cf-container-app:1440px;--cf-color-canvas:#ffffff;--cf-color-surface:#ffffff;--cf-color-surface-subtle:#f8faf7;--cf-color-ink:#25372b;--cf-color-muted:#728071;--cf-color-primary:#66835e;--cf-color-primary-hover:#516d4b;--cf-color-primary-soft:#e6eee2;--cf-color-border:#e4e9df;--cf-color-success:#3f7b59;--cf-color-danger:#b94e4e;--cf-color-on-primary:#ffffff;--cf-color-accent-soft:#dcead5;--cf-color-accent-faint:#edf3e9;--cf-color-surface-overlay:rgba(255,255,255,.92);--cf-font-display:"Plus Jakarta Sans",sans-serif;--cf-font-body:"DM Sans",sans-serif;--cf-radius-sm:.625rem;--cf-radius-md:1rem;--cf-radius-lg:1.5rem;--cf-shadow-soft:0 18px 44px rgba(53,77,48,.1);--cf-shadow-action:0 8px 18px rgba(82,111,75,.2);--cf-shadow-card:0 6px 20px rgba(53,77,48,.04);--cf-container-wide:1600px;--cf-container-standard:1200px;--cf-container-narrow:720px;--cf-container-reading:800px;--cf-container-marketing:1200px;--cf-space-form:.75rem;--cf-page-gutter:clamp(1rem,3vw,2.25rem);--cf-card-padding:var(--cf-space-2);--cf-section-gap:var(--cf-space-3);--cf-text-small:.75rem;--cf-control-padding:.65rem 1rem;--cf-color-danger-soft:#fff8f8;--cf-color-danger-border:#efd1d1;--cf-layer-popover:80;--cf-layer-drawer:100;--cf-layer-dialog:120;--cf-shadow-popover:0 18px 55px rgb(36 53 40/16%);--cf-feedback-success-ink:#21603b;--cf-feedback-success-bg:#edf7ef;--cf-feedback-success-border:#b9d9c2;--cf-feedback-error-ink:#9f3038;--cf-feedback-error-bg:#fff1f2;--cf-feedback-error-border:#edc1c7;--cf-feedback-warning-ink:#805300;--cf-feedback-warning-bg:#fff8e6;--cf-feedback-warning-border:#e7d29d;--cf-feedback-info-ink:#175a8a;--cf-feedback-info-bg:#eef6ff;--cf-feedback-info-border:#bcd5ed}.dashboard-content{max-width:var(--cf-container-app)}.dashboard-content>*+*{margin-top:var(--cf-space-4)}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--cf-focus-ring)}.action-danger,.action-primary,.action-secondary,.mobile-menu-button,.new-appointment{min-height:var(--cf-control-height);border-radius:var(--cf-control-radius);transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.action-primary:hover,.new-appointment:hover{filter:brightness(.96);transform:translateY(-1px)}.action-secondary:hover{border-color:var(--cf-color-primary);color:var(--cf-color-primary-hover);background:var(--cf-color-accent-faint)}.dashboard-sidebar{padding-top:var(--cf-space-5)}.dashboard-nav{gap:.25rem}.dashboard-nav .nav-disabled,.dashboard-nav a{min-height:2.45rem;display:flex;align-items:center;gap:.7rem}.dashboard-nav a .nav-icon{flex:0 0 1.1rem}.billing-table-wrap,.data-list,.patient-table,.request-list,.services-table-wrap,.team-table-wrap{overflow-x:auto}.data-row:hover{background:var(--cf-color-accent-faint)}.status-badge{white-space:nowrap}@media(max-width:850px){.dashboard-content{width:100%;max-width:none}.dashboard-content>*+*{margin-top:var(--cf-space-3)}}@media(max-width:560px){.dashboard-content{padding-inline:.85rem}.action-danger,.action-primary,.action-secondary{min-height:var(--cf-control-height)}}.analytics-intro,.appointments-intro,.booking-admin-intro,.calendar-intro,.patients-intro,.services-intro,.team-intro{min-height:4.5rem;align-items:flex-end}.analytics-intro h2,.appointments-intro h2,.calendar-intro h2,.patients-intro h2,.services-intro h2,.team-intro h2{line-height:1.1}.analytics-intro>button,.appointments-intro>button,.calendar-intro>button,.patients-intro>button,.services-intro>button,.team-intro>button{flex:0 0 auto}.analytics-controls,.appointment-filters,.calendar-filters,.patient-filters,.service-filters,.team-filters{gap:var(--cf-space-2);align-items:end}.analytics-card,.appointment-list-card,.billing-current,.billing-usage,.calendar-surface,.patient-list-card,.services-list-card,.team-table-wrap{margin-top:var(--cf-space-4)}.appointment-table th,.patient-table th,.services-table-wrap th,.team-table th{white-space:nowrap}.appointment-table tbody tr{cursor:pointer}.appointment-table tbody tr:hover,.patient-table tbody tr:hover,.services-table-wrap tbody tr:hover{background:var(--cf-color-accent-faint)}.appointment-dialog,.patient-form-dialog,.payment-dialog,.service-form-dialog,.settings-dialog,.team-dialog{width:min(720px,calc(100vw - 2rem));max-height:min(90vh,820px);overflow:auto;border-radius:var(--cf-radius-lg)}.appointment-dialog footer,.patient-form-dialog footer,.service-form-dialog footer,.team-dialog footer{display:flex;justify-content:flex-end;gap:var(--cf-space-2);padding-top:var(--cf-space-4);margin-top:var(--cf-space-4);border-top:1px solid var(--cf-color-border)}.calendar-navigation,.calendar-switcher{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.calendar-navigation h3{margin-inline:.5rem}.calendar-navigation button,.calendar-switcher button{min-height:2.4rem}.analytics-controls input,.analytics-controls select,.calendar-filters select,.patient-filters input,.patient-filters select,.service-filters input,.service-filters select,.team-filters input,.team-filters select{min-width:0;width:100%;min-height:var(--cf-control-height)}.billing-layout,.booking-admin-grid,.settings-layout{gap:var(--cf-space-5)}.billing-current+.billing-usage,.billing-usage+.billing-plans,.settings-panel+.settings-panel{margin-top:var(--cf-space-4)}.admin-shell>aside nav{gap:.25rem}.admin-shell>aside nav a{min-height:2.4rem;display:flex;align-items:center}.admin-content-layout{gap:var(--cf-space-5)}.admin-content-row{gap:var(--cf-space-3);padding:var(--cf-space-3)}.admin-content-row button{min-height:2.35rem}@media(max-width:760px){.analytics-intro,.appointments-intro,.booking-admin-intro,.calendar-intro,.patients-intro,.services-intro,.team-intro{align-items:flex-start;min-height:0}.analytics-card,.appointment-list-card,.billing-current,.billing-usage,.calendar-surface,.patient-list-card,.services-list-card,.team-table-wrap{margin-top:var(--cf-space-3)}.appointment-dialog,.patient-form-dialog,.payment-dialog,.service-form-dialog,.settings-dialog,.team-dialog{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);border-radius:var(--cf-radius-md)}.appointment-dialog footer,.patient-form-dialog footer,.service-form-dialog footer,.team-dialog footer{flex-wrap:wrap}.appointment-dialog footer button,.patient-form-dialog footer button,.service-form-dialog footer button,.team-dialog footer button{flex:1 1;min-width:8rem}}.booking-fields{border:0;padding:0;margin:0;min-width:0}.booking-fields:disabled{opacity:.75}.booking-admin-help{color:var(--cf-color-muted);font-size:var(--cf-text-small);margin:.75rem 0}.field-error{color:var(--cf-color-danger);font-size:var(--cf-text-small)}.logo-upload{display:grid;grid-gap:.6rem;gap:.6rem}.logo-upload-preview{width:88px;height:88px;object-fit:cover;border-radius:var(--cf-radius-md);border:1px solid var(--cf-color-border)}.logo-upload p,.logo-upload-empty{color:var(--cf-color-muted);font-size:var(--cf-text-small)}.logo-upload p{margin:0}.logo-upload>div{display:flex;gap:.5rem;flex-wrap:wrap}.booking-admin button:disabled{cursor:not-allowed;opacity:.6}.booking-settings input[aria-invalid=true]{border-color:var(--cf-color-danger)}form label:has(>input:required,>select:required,>textarea:required):not(:has(.required-mark))>span:first-child:after{content:" *";color:var(--cf-color-danger)}form label:has(>input:required,>select:required,>textarea:required):not(:has(>span,.required-mark)):before{content:"*";color:var(--cf-color-danger);float:right}.required-mark{color:var(--cf-color-danger)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--cf-color-danger)!important;box-shadow:0 0 0 1px var(--cf-color-danger)}.field-error{display:block;margin-top:.3rem;line-height:1.45}.cf-validated[aria-busy=true] button[type=submit]{opacity:.65;cursor:wait}.formatting-tools{display:grid;grid-gap:.5rem;gap:.5rem}.formatting-tools>div{display:flex;flex-wrap:wrap;gap:.5rem}.formatting-tools small{color:var(--cf-color-muted);line-height:1.6}.action-danger,.action-primary,.action-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--cf-control-height);padding:.6rem .9rem;font:700 .8125rem var(--cf-font-body);line-height:1.25;text-decoration:none;box-sizing:border-box;cursor:pointer}[aria-disabled=true],button:disabled{cursor:not-allowed;opacity:.6}.detail-dialog .appointment-actions{align-items:center;gap:.75rem;padding:1rem 0;margin-top:1rem;position:-webkit-sticky;position:sticky;bottom:0;background:var(--cf-color-surface);z-index:1}.detail-dialog .appointment-actions>a,.detail-dialog .appointment-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--cf-control-height);padding:var(--cf-control-padding);font:700 .8125rem var(--cf-font-body);line-height:1.25;border-radius:var(--cf-control-radius);box-sizing:border-box;white-space:normal;text-align:center}.appointment-actions .patient-navigation{-webkit-margin-end:auto;margin-inline-end:auto}.appointment-actions [aria-disabled=true]{pointer-events:none}.confirm-panel{gap:.75rem;flex-wrap:wrap}.confirm-panel>div{-webkit-margin-end:auto;margin-inline-end:auto}.confirm-panel h3{margin:0 0 .35rem;font-size:.9rem}.confirm-panel p{margin:0;line-height:1.5}.reschedule-panel input{width:100%;min-height:var(--cf-control-height)}.detail-dialog [role=alertdialog]:focus{outline:2px solid var(--cf-color-primary);outline-offset:2px}@media(max-width:560px){.detail-dialog .appointment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.detail-dialog .appointment-actions>a,.detail-dialog .appointment-actions>button{width:100%;min-width:0;margin:0}.confirm-panel>div{width:100%}.confirm-panel>button{flex:1 1;min-width:0}.dialog-backdrop{padding:.5rem}.detail-dialog{max-height:calc(100dvh - 1rem)}.form-grid,.settings-grid{grid-template-columns:minmax(0,1fr)}.booking-admin-intro>div:last-child{flex-wrap:wrap}}.booking-settings>.booking-admin-help{padding:1rem 1rem 0;margin:0;line-height:1.5}.booking-settings .admin-form-grid{align-items:start}.booking-settings .admin-form-grid>label{display:flex;flex-direction:column;gap:.35rem;justify-content:flex-start}.booking-settings input:not([type=checkbox]),.booking-settings select{height:2.75rem;min-height:var(--cf-control-height);box-sizing:border-box}