@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600&display=swap";:root{color:#24302d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7f5;font-family:DM Sans,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{cursor:pointer}button:disabled{cursor:not-allowed}.admin-page{min-height:100vh;color:var(--ink);background:#f4f6f5}.admin-header{border-bottom:1px solid var(--line);background:#fff}.admin-header-content,.admin-title-band,.admin-workspace,.admin-view-tabs,.settings-workspace{max-width:1440px;margin:0 auto}.admin-header-content{align-items:center;gap:11px;height:62px;padding:0 24px;display:flex}.admin-brand,.public-link,.detail-section a{color:inherit;align-items:center;text-decoration:none;display:flex}.admin-brand{gap:9px;font-size:16px;font-weight:700}.admin-brand-mark{color:#fff;background:var(--green);border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.admin-divider{background:var(--line);width:1px;height:22px;margin-left:7px}.admin-product{color:var(--muted);font-size:13px;font-weight:600}.public-link{color:var(--green-dark);gap:6px;margin-left:auto;font-size:12px;font-weight:700}.admin-account{border-left:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding-left:10px;font-size:12px;font-weight:700;display:flex}.admin-account button{border:1px solid var(--line);width:30px;height:30px;color:var(--green-dark);background:#fff;border-radius:5px;place-items:center;display:grid}.admin-account button:hover{background:var(--soft)}.admin-title-band{justify-content:space-between;align-items:flex-end;gap:24px;padding:30px 24px 22px;display:flex}.admin-eyebrow{color:var(--green);letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:700}.admin-title-band h1,.admin-status-page h1{letter-spacing:0;margin:0;font-family:Fraunces,Georgia,serif;font-size:32px;font-weight:600}.admin-title-band p:last-child{color:var(--muted);margin:5px 0 0;font-size:13px}.admin-stats{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;min-height:44px;display:flex;overflow:hidden}.admin-stats>div{border-right:1px solid var(--line);flex-direction:column;min-width:98px;padding:8px 13px;display:flex}.admin-stats>div:last-child{border-right:0}.admin-stats strong{font-size:16px}.admin-stats span{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:9px;font-weight:700}.admin-view-tabs{gap:18px;padding:0 24px 16px;display:flex}.admin-view-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 0 8px;font-size:12px;font-weight:700;display:inline-flex}.admin-view-tabs button:hover,.admin-view-tabs button.active{border-bottom-color:var(--green);color:var(--green-dark)}.admin-workspace{grid-template-columns:minmax(0,1fr) minmax(318px,350px);gap:18px;padding:0 24px 52px;display:grid}.settings-workspace{padding:0 24px 52px}.settings-columns{grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);gap:18px;margin-top:18px;display:grid}.settings-policy-section{grid-column:1/-1}.settings-section{border:1px solid var(--line);background:#fff;overflow:hidden}.settings-section-header{justify-content:space-between;align-items:flex-start;gap:15px;padding:16px;display:flex}.settings-section-title{align-items:flex-start;gap:10px;display:flex}.settings-section-title>svg{color:var(--green);flex:none;margin-top:2px}.settings-section h2{margin:0;font-size:15px}.settings-section-header p,.settings-empty{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.settings-add-button{border:1px solid var(--green);color:#fff;background:var(--green);border-radius:5px;flex:none;align-items:center;gap:5px;min-height:32px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.settings-add-button:hover{background:var(--green-dark)}.settings-list{border-top:1px solid var(--line)}.settings-row,.exception-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;display:flex}.settings-row:last-child,.exception-row:last-child{border-bottom:0}.settings-row.archived{background:#f7f8f7}.settings-row.archived .settings-row-main{opacity:.7}.settings-row-main{min-width:0}.settings-row-title,.settings-row-actions,.hours-day-heading,.hours-window,.settings-form-actions{align-items:center;display:flex}.settings-row-title{gap:7px}.settings-row-main strong,.exception-row strong{font-size:13px}.settings-row-main p,.exception-row p{color:var(--muted);margin:4px 0 3px;font-size:12px}.settings-row-main>span,.exception-row span{color:var(--muted);font-size:11px}.settings-badge{color:#6d7874;letter-spacing:0;text-transform:uppercase;background:#edf0ef;border-radius:10px;padding:3px 5px;font-size:8px;font-weight:700}.settings-badge.active{color:var(--green-dark);background:var(--green-soft)}.settings-row-actions{flex:none;gap:5px}.settings-row-actions button,.exception-row>button,.hours-day-heading button,.hours-window button{border:1px solid var(--line);width:29px;height:29px;color:var(--muted);background:#fff;border-radius:5px;place-items:center;display:grid}.settings-row-actions button:hover,.exception-row>button:hover,.hours-day-heading button:hover,.hours-window button:hover{color:var(--green-dark);background:var(--soft)}.settings-form{border-top:1px solid var(--line);background:#f8fbfa;flex-direction:column;gap:11px;padding:14px 16px;display:flex}.settings-form-grid{gap:9px;display:grid}.service-fields{grid-template-columns:minmax(140px,1.7fr) repeat(4,minmax(82px,.55fr))}.rule-fields{grid-template-columns:minmax(112px,1fr) 95px 95px}.exception-fields{grid-template-columns:minmax(132px,1fr) minmax(148px,1.2fr)}.policy-fields{grid-template-columns:repeat(4,minmax(140px,1fr))}.booking-policy-options{align-items:center;gap:18px;display:flex}.booking-policy-options .action-primary{margin-left:auto}.settings-form label{color:var(--ink);flex-direction:column;gap:5px;font-size:11px;font-weight:700;display:flex}.settings-form input,.settings-form select,.settings-form textarea{border:1px solid var(--line-strong);min-width:0;min-height:34px;color:var(--ink);font:inherit;background:#fff;border-radius:5px;padding:6px 8px;font-weight:500}.settings-form textarea{resize:vertical}.settings-form .settings-checkbox{flex-direction:row;align-items:center;gap:7px}.settings-checkbox input{min-height:auto}.settings-form-actions{justify-content:flex-end;gap:7px}.hours-list{border-top:1px solid var(--line)}.hours-day{border-bottom:1px solid var(--line);grid-template-columns:93px minmax(0,1fr);gap:8px;min-height:55px;padding:10px 13px;display:grid}.hours-day:last-child{border-bottom:0}.hours-day-heading{color:var(--ink);justify-content:space-between;gap:5px;font-size:11px}.hours-day-heading button{width:24px;height:24px}.hours-windows{flex-direction:column;gap:5px;min-width:0;display:flex}.hours-closed{color:var(--faint);align-self:center;font-size:11px}.hours-window{gap:6px;min-height:28px}.hours-window.inactive strong{color:var(--faint);text-decoration:line-through}.hours-window strong{color:var(--ink);margin-right:auto;font-size:11px}.hours-window button{width:24px;height:24px}.settings-toggle{flex:none;display:inline-flex}.settings-toggle input{opacity:0;pointer-events:none;position:absolute}.settings-toggle span{background:#b7c1bd;border-radius:10px;width:27px;height:16px;position:relative}.settings-toggle span:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px;transition:transform .14s;position:absolute;top:3px;left:3px}.settings-toggle input:checked+span{background:var(--green)}.settings-toggle input:checked+span:after{transform:translate(11px)}.exception-row{align-items:flex-start}.exception-row>div{flex-direction:column;gap:3px;display:flex}.exception-row p{margin:0}.settings-empty{padding:14px 16px}.settings-state{max-width:1440px;color:var(--muted);margin:0 auto;padding:0 24px;font-size:13px}.admin-calendar-area{min-width:0}.calendar-shell{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden;box-shadow:0 12px 28px #2d4a420d}.calendar-command-bar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:10px 13px;display:flex}.week-navigation{align-items:center;gap:7px;min-width:0;display:flex}.toolbar-group{align-items:center;gap:7px;display:flex}.calendar-mode-toggle{border:1px solid var(--line);background:#f8fbfa;border-radius:5px;display:inline-flex;overflow:hidden}.calendar-mode-toggle button{border:0;border-right:1px solid var(--line);min-height:34px;color:var(--muted);background:0 0;padding:0 10px;font-size:11px;font-weight:700}.calendar-mode-toggle button:last-child{border-right:0}.calendar-mode-toggle button:hover,.calendar-mode-toggle button.active{color:#fff;background:var(--green)}.week-label{flex-direction:column;gap:1px;min-width:0;margin-left:5px;display:flex}.week-label strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.week-label span{color:var(--muted);font-size:11px}.admin-icon-button,.today-button,.action-primary,.action-secondary,.action-danger{border-radius:5px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.admin-icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);background:#fff}.admin-icon-button:hover:not(:disabled),.today-button:hover,.action-secondary:hover:not(:disabled){background:var(--soft)}.admin-icon-button:disabled{opacity:.55}.today-button{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#fff;padding:0 12px;font-size:12px}.status-filter{color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.status-filter select{border:1px solid var(--line);height:34px;color:var(--ink);background:#fff;border-radius:5px;padding:0 28px 0 9px;font-size:12px}.admin-error{color:var(--error);background:var(--error-soft);border:1px solid #efd2cf;margin:0;padding:9px 11px;font-size:12px}.calendar-brief{border-bottom:1px solid var(--line);background:#f8fbfa;grid-template-columns:minmax(100px,.55fr) minmax(100px,.55fr) minmax(220px,1.4fr);display:grid}.calendar-brief>div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:58px;padding:11px 14px;display:flex}.calendar-brief>div:last-child{border-right:0}.calendar-brief span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.calendar-brief strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.next-appointment strong{font-size:13px}.scheduler-frame{background:#fff;min-height:520px;max-height:min(760px,100vh - 250px);overflow:auto}.scheduler-grid{grid-template-columns:64px minmax(924px,1fr);min-width:988px;display:grid}.scheduler-corner{z-index:5;border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:72px;color:var(--muted);background:#fbfcfb;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:sticky;top:0;left:0}.scheduler-corner span{font-size:10px;font-weight:700}.scheduler-day-headers{z-index:4;background:#fff;grid-template-columns:repeat(7,minmax(132px,1fr));display:grid;position:sticky;top:0}.scheduler-day-headers header{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:72px;color:var(--muted);background:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex}.scheduler-day-headers header:last-child{border-right:0}.scheduler-day-headers header.today{color:var(--green-dark);box-shadow:inset 0 3px 0 var(--green);background:#eaf5f1}.scheduler-day-headers span,.scheduler-day-headers small{text-transform:uppercase;font-size:10px;font-weight:700}.scheduler-day-headers strong{color:var(--ink);font-size:20px;line-height:1.1}.scheduler-day-headers header.today strong{color:var(--green-dark)}.time-ruler{z-index:3;border-right:1px solid var(--line);background:#fbfcfb;grid-column:1;position:sticky;left:0}.time-ruler span{height:72px;color:var(--muted);text-align:center;padding-top:7px;font-size:10px;font-weight:700;display:block}.scheduler-days{grid-column:2;grid-template-columns:repeat(7,minmax(132px,1fr));display:grid}.scheduler-day{border-right:1px solid var(--line);background:#fff;position:relative}.scheduler-day:last-child{border-right:0}.scheduler-hour-lines{pointer-events:none;position:absolute;inset:0}.scheduler-hour-lines span{border-bottom:1px solid #ebf0ee;height:72px;display:block}.calendar-booking{z-index:2;border:1px solid #cbdcd7;border-left:3px solid var(--green);min-width:0;color:var(--ink);text-align:left;background:#f7fcfa;border-radius:5px;flex-direction:column;gap:2px;padding:9px 8px;display:flex;position:absolute;left:7px;right:7px;overflow:hidden}.calendar-booking:hover,.calendar-booking.selected{border-color:#76a99c;box-shadow:0 4px 12px #2d4a421f}.calendar-booking.status-pending{background:#fffaf1;border-left-color:#b98133}.calendar-booking.status-cancelled,.calendar-booking.status-no_show{opacity:.74;background:#f5f7f6;border-left-color:#9ca7a3}.calendar-booking.status-completed{background:#f2f7fa;border-left-color:#587c95}.calendar-booking span,.calendar-booking small{color:var(--muted);font-size:10px}.calendar-booking strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.no-bookings{color:#a4afab;text-align:center;background:#f8fbfac7;border:1px dashed #d5dedb;border-radius:5px;margin:14px 10px 0;padding:9px 8px;font-size:10px;display:block}.day-loading{background:var(--soft);border-radius:5px;width:calc(100% - 14px);height:55px;animation:1.2s ease-in-out infinite pulse}.scheduler-loading{position:absolute;top:12px;left:7px}.now-line{z-index:3;background:#d75a49;height:2px;position:absolute;left:0;right:0}.now-line:before{content:"";background:#d75a49;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.month-frame{background:#fff;min-height:520px;max-height:min(760px,100vh - 250px);overflow:auto}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(126px,1fr));min-width:882px;display:grid}.month-weekdays{z-index:4;border-bottom:1px solid var(--line);background:#fbfcfb;position:sticky;top:0}.month-weekdays span{border-right:1px solid var(--line);min-height:38px;color:var(--muted);text-align:center;text-transform:uppercase;padding:12px 10px 0;font-size:10px;font-weight:700}.month-weekdays span:last-child{border-right:0}.month-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:138px;padding:8px}.month-cell.today{box-shadow:inset 0 3px 0 var(--green);background:#f2faf7}.month-cell.outside-month{background:#fbfcfb}.month-cell.outside-month .month-cell-date,.month-cell.outside-month .month-empty{opacity:.58}.month-cell-date{width:100%;min-height:28px;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.month-cell-date span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.month-cell-date strong{font-size:16px}.month-bookings,.year-bookings{flex-direction:column;gap:5px;min-width:0;margin-top:8px;display:flex}.month-booking,.year-booking{border:1px solid #d5e3df;border-left:3px solid var(--green);min-height:27px;color:var(--ink);text-align:left;background:#f7fcfa;border-radius:5px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:0 7px;display:grid}.month-booking:hover,.month-booking.selected,.year-booking:hover,.year-booking.selected{border-color:#76a99c;box-shadow:0 4px 12px #2d4a421a}.month-booking.status-pending,.year-booking.status-pending{background:#fffaf1;border-left-color:#b98133}.month-booking.status-cancelled,.month-booking.status-no_show,.year-booking.status-cancelled,.year-booking.status-no_show{opacity:.74;background:#f5f7f6;border-left-color:#9ca7a3}.month-booking.status-completed,.year-booking.status-completed{background:#f2f7fa;border-left-color:#587c95}.month-booking span,.year-booking span{color:var(--muted);font-size:9px;font-weight:700}.month-booking strong,.year-booking strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.month-empty,.more-bookings{color:#a4afab;font-size:10px}.more-bookings{font-weight:700}.month-loading{width:100%;margin-top:8px;display:block}.year-frame{background:#f8fbfa;min-height:520px;max-height:min(760px,100vh - 250px);padding:14px;overflow:auto}.year-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;display:grid}.year-month{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:0;overflow:hidden}.year-month-title{border:0;border-bottom:1px solid var(--line);width:100%;min-height:54px;color:var(--ink);text-align:left;background:#fff;justify-content:space-between;align-items:flex-start;gap:8px;padding:12px;display:flex}.year-month-title:hover{background:#f2faf7}.year-month-title strong{font-size:14px}.year-month-title span{color:var(--muted);flex:none;font-size:10px;font-weight:700}.year-month-stats{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.year-month-stats span{border-right:1px solid var(--line);min-width:0;color:var(--muted);padding:8px 7px;font-size:10px;font-weight:700}.year-month-stats span:last-child{border-right:0}.year-bookings{min-height:96px;margin:0;padding:10px}.year-loading{width:100%}.booking-detail{border:1px solid var(--line);background:#fff;border-radius:7px;align-self:start;min-height:320px;padding:18px;position:sticky;top:14px;box-shadow:0 10px 24px #2d4a420d}.detail-title-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.detail-title-row h2{margin:0;font-size:19px}.status-badge{color:var(--green-dark);background:var(--green-soft);letter-spacing:0;text-transform:uppercase;border-radius:20px;flex:none;padding:4px 7px;font-size:9px;font-weight:700}.status-badge.status-pending{color:#895d1d;background:#fff2da}.status-badge.status-cancelled,.status-badge.status-no_show{color:#6d7874;background:#edf0ef}.status-badge.status-completed{color:#3f6680;background:#e9f2f7}.detail-schedule{border:1px solid var(--line);background:#f8fbfa;border-radius:6px;gap:8px;margin-top:16px;padding:11px;display:grid}.detail-schedule div,.detail-section a{align-items:center;gap:7px;display:flex}.detail-schedule svg,.detail-section a svg{color:var(--green);flex:none}.detail-schedule span{font-size:12px;font-weight:600}.detail-section{border-bottom:1px solid var(--line);padding:13px 0}.detail-section h3{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:9px}.detail-section div{color:var(--ink);flex-direction:column;gap:3px;font-size:12px;line-height:1.55;display:flex}.detail-section span{color:var(--muted)}.detail-section a{color:var(--green-dark)}.booking-audit-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.booking-audit-list li{grid-template-columns:9px minmax(0,1fr);gap:8px;display:grid}.booking-audit-list li>div{gap:2px;display:grid}.booking-audit-list strong{color:var(--ink);font-size:11px}.booking-audit-list small{color:var(--muted);font-size:10px}.booking-audit-dot{background:var(--green);border-radius:50%;width:7px;height:7px;margin-top:5px}.detail-actions{flex-wrap:wrap;gap:7px;padding-top:14px;display:flex}.action-primary,.action-secondary,.action-danger{border:1px solid var(--line);gap:5px;min-height:34px;padding:0 10px;font-size:11px}.action-primary{border-color:var(--green);color:#fff;background:var(--green)}.action-primary:hover:not(:disabled){background:var(--green-dark)}.action-secondary{color:var(--ink);background:#fff}.action-secondary.danger{color:var(--error)}.action-danger{border-color:var(--error);color:#fff;background:var(--error)}.terminal-status{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.cancellation-form{background:var(--error-soft);border:1px solid #efd2cf;border-radius:6px;margin-top:14px;padding:11px}.cancellation-form label{color:var(--error);flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.cancellation-form textarea{background:#fff;min-height:68px}.cancellation-form>div{justify-content:flex-end;gap:7px;margin-top:8px;display:flex}.detail-empty,.admin-status-page{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.detail-empty{min-height:280px}.detail-empty h2{margin:12px 0 5px;font-size:16px}.detail-empty p{max-width:220px;margin:0;font-size:12px;line-height:1.55}.admin-status-page{gap:8px;min-height:100vh}.admin-status-page h1{margin-top:7px}.admin-status-page p,.admin-status-page span{margin:0;font-size:13px}.admin-login-page{min-height:100vh;color:var(--ink);background:#f4f6f5;place-items:center;padding:24px;display:grid}.admin-login-panel{border:1px solid var(--line);background:#fff;border-radius:7px;width:min(100%,390px);padding:25px;box-shadow:0 16px 36px #2d4a4214}.admin-login-brand{align-items:center;gap:9px;font-size:16px;font-weight:700;display:flex}.admin-login-heading{padding:35px 0 24px}.admin-login-heading svg{color:var(--green);margin-bottom:13px}.admin-login-heading h1{letter-spacing:0;margin:0;font-family:Fraunces,Georgia,serif;font-size:29px;font-weight:600;line-height:1.12}.admin-login-heading p:last-child{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.5}.admin-login-form,.admin-login-form label{flex-direction:column;display:flex}.admin-login-form{gap:14px}.admin-login-form label{color:var(--ink);gap:6px;font-size:12px;font-weight:700}.admin-login-form input{border:1px solid var(--line-strong);min-height:42px;color:var(--ink);background:#fff;border-radius:5px;padding:0 11px}.admin-login-form input:focus{border-color:var(--green);outline:2px solid #286b5c26}.admin-dev-accounts{gap:9px;display:grid}.admin-login-form .admin-dev-account{border:1px solid var(--line);cursor:pointer;background:#fbfcfb;border-radius:6px;grid-template-columns:34px 1fr;gap:10px;padding:11px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.admin-login-form .admin-dev-account:hover{border-color:#9cb9b1;transform:translateY(-1px)}.admin-login-form .admin-dev-account:focus-within{outline-offset:2px;outline:2px solid #286b5c40}.admin-login-form .admin-dev-account[data-selected=true]{border-color:var(--green);background:#f1f7f5;box-shadow:0 0 0 2px #286b5c1a}.admin-dev-account input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.admin-dev-avatar{width:34px;height:34px;color:var(--green);background:#e2efeb;border-radius:50%;place-items:center;display:grid}.admin-dev-account-copy{gap:3px;min-width:0;display:grid}.admin-dev-account-copy strong{font-size:13px}.admin-dev-account-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.admin-dev-workspace{color:#4c665f;align-items:center;gap:5px;margin-top:4px;font-size:11px;font-weight:600;display:flex}.admin-dev-workspace span{color:var(--green-dark);letter-spacing:.05em;text-transform:uppercase;background:#dcebe7;border-radius:3px;margin-left:auto;padding:2px 5px;font-size:9px}.admin-dev-loading{border:1px dashed var(--line-strong);min-height:64px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.admin-login-empty{border:1px dashed var(--line-strong);color:var(--muted);text-align:center;border-radius:6px;margin:0;padding:12px;font-size:12px;line-height:1.5}.admin-google-signin{justify-content:center;min-height:44px;display:flex}.admin-google-signin[aria-busy=true]{opacity:.55;pointer-events:none}.admin-password-fallback{margin-top:4px}.admin-login-divider{color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.admin-login-divider:before,.admin-login-divider:after{background:var(--line);content:"";flex:1;height:1px}.admin-login-error{color:var(--error);background:var(--error-soft);border:1px solid #efd2cf;border-radius:5px;margin:0;padding:9px 10px;font-size:12px}.admin-login-button{border:1px solid var(--green);color:#fff;background:var(--green);border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:42px;margin-top:3px;font-size:13px;font-weight:700;display:inline-flex}.admin-login-button:hover:not(:disabled){background:var(--green-dark)}.admin-login-button:disabled{opacity:.65}@keyframes pulse{50%{opacity:.5}}@media (width<=980px){.admin-workspace,.settings-columns{grid-template-columns:1fr}.service-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-detail{position:static}.calendar-brief{grid-template-columns:repeat(2,minmax(0,1fr))}.year-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.next-appointment{border-top:1px solid var(--line);grid-column:1/-1}}@media (width<=620px){.admin-header-content,.admin-title-band,.admin-workspace,.admin-view-tabs,.settings-workspace{padding-left:16px;padding-right:16px}.admin-divider,.admin-product{display:none}.public-link{font-size:11px}.admin-account span{display:none}.admin-title-band{flex-direction:column;align-items:stretch;gap:15px;padding-top:23px}.admin-title-band h1{font-size:28px}.settings-section-header{flex-direction:column;align-items:stretch}.settings-add-button{align-self:flex-start}.service-fields,.rule-fields,.exception-fields,.policy-fields{grid-template-columns:1fr 1fr}.booking-policy-options{flex-direction:column;align-items:stretch;gap:10px}.booking-policy-options .action-primary{align-self:flex-start;margin-left:0}.service-fields label:first-child{grid-column:1/-1}.hours-day{grid-template-columns:1fr}.admin-stats>div{flex:1;min-width:0}.calendar-command-bar{flex-direction:column;align-items:stretch;gap:8px}.week-navigation{flex-wrap:wrap}.week-label{flex:160px}.toolbar-group{flex-wrap:wrap;justify-content:space-between}.calendar-mode-toggle{width:100%}.calendar-mode-toggle button{flex:1;min-width:0;padding:0 6px}.status-filter,.status-filter select{flex:1}.calendar-brief{grid-template-columns:1fr}.calendar-brief>div{border-right:0;border-bottom:1px solid var(--line)}.calendar-brief>div:last-child{border-bottom:0}.scheduler-frame{min-height:430px;max-height:620px}.scheduler-grid{grid-template-columns:56px minmax(840px,1fr);min-width:896px}.scheduler-day-headers,.scheduler-days{grid-template-columns:repeat(7,minmax(120px,1fr))}.month-frame,.year-frame{min-height:430px;max-height:620px}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(108px,1fr));min-width:756px}.month-cell{min-height:126px}.year-grid{grid-template-columns:1fr}.year-month-title{flex-direction:column;align-items:stretch}.year-month-title span{flex:0 auto}}:root{--sf-bg:#fff3ed;--sf-bg-strong:#ffe4d9;--sf-card:#fffffff0;--sf-card-solid:#fff;--sf-ink:#151515;--sf-muted:#74706d;--sf-soft:#f7f4f2;--sf-line:#eee7e2;--sf-line-strong:#e2d8d1;--sf-red:#ff343d;--sf-red-dark:#e7222d;--sf-red-soft:#ffe4e2;--sf-blue:#2f74c0;--sf-blue-soft:#eaf3ff;--sf-green:#2f8c45;--sf-green-soft:#e8f7e9;--sf-orange:#bd7b20;--sf-orange-soft:#fff1d8;--sf-purple:#8755c8;--sf-purple-soft:#f0e7ff;--sf-pink:#e84364;--sf-pink-soft:#ffe5eb;color:var(--sf-ink)}.slotflow-page{background:linear-gradient(115deg, #ffffffa3 0%, #fff0 42%), linear-gradient(145deg, #fffaf6 0%, var(--sf-bg) 54%, #ffe1d5 100%);min-width:320px;min-height:100vh;position:relative;overflow-x:auto}.slotflow-page:before{z-index:0;content:"";pointer-events:none;background-image:radial-gradient(circle,#ee8f7a8c 1.5px,#0000 2px);background-size:18px 18px;width:118px;height:90px;position:fixed;bottom:220px;right:134px}.slotflow-page:after{z-index:0;clip-path:polygon(0 60%,18% 46%,35% 62%,54% 22%,72% 44%,100% 20%,100% 100%,0 100%);content:"";pointer-events:none;background:#fdc2b16b;width:640px;height:360px;position:fixed;bottom:-80px;right:-90px}button,input,textarea{font:inherit}button{border:0}.showcase-canvas{z-index:1;grid-template:"dashboard booking profile"640px"schedule phone."420px/minmax(1040px,1242px) 344px 366px;gap:20px;width:min(100%,2048px);min-height:1132px;margin:0 auto;padding:20px 22px 12px;display:grid;position:relative;overflow:hidden}.panel{background:var(--sf-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #ffffffbd;border-radius:22px;box-shadow:0 20px 58px #693e2c1c}.admin-app-shell{z-index:1;grid-template-columns:260px minmax(0,1fr);gap:20px;width:min(100%,1600px);min-height:calc(100vh - 40px);margin:0 auto;padding:20px;display:grid;position:relative}.admin-app-shell>.sidebar{background:var(--sf-card);border:1px solid #ffffffbd;border-radius:22px;align-self:start;min-height:calc(100vh - 40px);position:sticky;top:20px;box-shadow:0 20px 58px #693e2c1c}.admin-route-panel{min-width:0}.admin-route-panel>.panel{min-height:calc(100vh - 40px)}.admin-route-panel .dashboard-panel{grid-area:auto;grid-template-columns:none;display:block}.admin-route-panel .booking-drawer,.admin-route-panel .client-profile,.admin-route-panel .schedule-panel,.admin-route-panel .settings-panel{grid-area:auto;width:100%}.admin-route-panel .booking-drawer{max-width:520px;height:auto;min-height:0}.admin-route-panel .client-profile{max-width:620px;height:auto;min-height:680px}.admin-route-panel .schedule-panel{min-height:720px}.admin-route-panel .settings-panel{grid-area:auto;padding:0 0 24px}.admin-route-panel .settings-add-button{border-color:var(--sf-red);color:#fff;background:var(--sf-red);box-shadow:0 8px 18px #ff343d33}.admin-route-panel .settings-add-button:hover{border-color:var(--sf-red-dark);background:var(--sf-red-dark)}.admin-route-panel .settings-add-button:focus-visible{outline-offset:2px;outline:3px solid #ff343d33}.dashboard-panel{grid-area:dashboard;grid-template-columns:220px minmax(0,1fr);display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--sf-line);background:#ffffffb3;flex-direction:column;min-width:0;padding:26px 22px 24px;display:flex}.brand,.owner-card,.side-nav a,.side-nav button,.dashboard-actions,.calendar-toolbar,.period-controls,.month-selector,.view-toggle,.select-button,.input-card,.date-input,.client-input,.profile-topbar,.profile-actions,.history-item,.schedule-header,.schedule-controls,.schedule-toolbar,.mini-header,.employee-list button,.phone-heading,.phone-service{align-items:center;display:flex}.brand{color:var(--sf-ink);gap:12px;font-size:18px;font-weight:700;text-decoration:none}.brand-mark{color:#fff;background:linear-gradient(135deg,#ff4149,#ee2731);border-radius:9px;place-items:center;width:32px;height:32px;font-size:18px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff52,0 8px 18px #ff343d3d}.side-nav{gap:12px;margin-top:36px;display:grid}.side-nav a,.side-nav button{color:#332f2d;text-align:left;background:0 0;border-radius:10px;gap:13px;width:100%;min-height:50px;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none}.side-nav a:hover,.side-nav a.active,.side-nav button:hover,.side-nav button.active{color:var(--sf-red);background:var(--sf-red-soft)}.side-nav svg{flex:none}.owner-card{width:100%;color:var(--sf-ink);text-align:left;background:0 0;gap:10px;margin-top:auto;padding:0}.owner-card>span{flex-direction:column;flex:1;min-width:0;display:flex}.owner-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.owner-card small{color:var(--sf-muted);font-size:11px}.avatar{object-fit:cover;background:#f3d2c9;border:2px solid #fff;border-radius:50%;flex:none;width:36px;height:36px;box-shadow:0 6px 14px #30221b1f}.dashboard-content{flex-direction:column;min-width:0;padding:24px 20px 22px;display:flex}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.dashboard-header h1,.schedule-header h2{color:var(--sf-ink);margin:0;font-size:25px;font-weight:800;line-height:1.2}.dashboard-actions{gap:12px}.icon-button,.roundless-icon{width:38px;height:38px;color:var(--sf-ink);background:#fff;flex:none;place-items:center;display:grid}.icon-button{border:1px solid var(--sf-line);border-radius:9px;box-shadow:0 8px 20px #3e281e0d}.roundless-icon{border-radius:7px}.roundless-icon.disabled{color:#c8bfba}.icon-button:hover,.roundless-icon:hover,.ghost-button:hover,.select-button:hover{background:#fff7f4}.primary-action,.confirm-button,.phone-button{color:#fff;background:linear-gradient(#ff424b 0%,#ee2731 100%);border-radius:10px;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex;box-shadow:0 12px 22px #ee273138}.primary-action{min-height:40px;padding:0 17px;font-size:13px}.calendar-toolbar{grid-template-columns:auto minmax(160px,1fr) auto auto;gap:18px;margin-top:26px;display:grid}.period-controls{gap:8px}.ghost-button{border:1px solid var(--sf-line);min-height:38px;color:var(--sf-muted);background:#fff;border-radius:9px;padding:0 19px;font-size:12px;font-weight:700}.month-selector{min-height:38px;color:var(--sf-ink);background:0 0;justify-self:center;gap:6px;font-size:17px;font-weight:800}.view-toggle{border:1px solid var(--sf-line);background:#f7f4f2;border-radius:10px;overflow:hidden}.view-toggle button{min-width:74px;min-height:38px;color:var(--sf-muted);background:0 0;padding:0 13px;font-size:12px;font-weight:700}.view-toggle button.active{color:var(--sf-red);background:#fff;border:1px solid #ffd0ce;border-radius:9px}.calendar-zone{flex:1;grid-template-columns:170px minmax(520px,1fr) 240px;gap:16px;min-height:0;margin-top:20px;display:grid}.calendar-rail{flex-direction:column;gap:14px;min-height:0;display:flex}.mini-calendar,.filter-card,.month-card,.upcoming-card,.schedule-details{border:1px solid var(--sf-line);background:#fff;border-radius:11px}.mini-calendar{padding:15px 12px 12px}.mini-calendar-title,.filter-card h2,.upcoming-card h2,.upcoming-group h3,.employee-list h2,.schedule-details h3,.phone-section h2{color:var(--sf-ink);margin:0;font-size:13px;font-weight:800}.mini-calendar-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.mini-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px 4px;display:grid}.mini-weekday{color:#938b86;text-align:center;font-size:10px}.mini-grid button{color:#3d3734;background:0 0;border-radius:50%;place-items:center;width:100%;min-width:0;height:20px;font-size:10px;font-weight:600;display:grid}.mini-grid button.muted{color:#bbb2ad}.mini-grid button.active{color:#fff;background:var(--sf-red)}.filter-card{padding:14px 12px}.filter-card h2{font-size:14px}.filter-card-header{justify-content:space-between;align-items:center;gap:8px;min-height:24px;margin-bottom:10px;display:flex}.filter-card-header button{color:var(--sf-red);background:0 0;padding:3px 0;font-size:10px;font-weight:800}.filter-card-header button:hover{color:var(--sf-red-dark)}.filter-field{color:var(--sf-muted);gap:5px;margin-bottom:10px;font-size:10px;font-weight:800;display:grid}.filter-select{display:block;position:relative}.filter-select select{border:1px solid var(--sf-line);width:100%;min-height:38px;color:var(--sf-ink);appearance:none;background:#fff;border-radius:8px;outline:0;padding:0 34px 0 11px;font-size:11px;font-weight:700}.filter-select select:hover{border-color:var(--sf-line-strong)}.filter-select select:focus{border-color:#ffb9b8;box-shadow:0 0 0 3px #ff343d1a}.filter-select svg{color:var(--sf-muted);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.filter-result{color:var(--sf-muted);margin:2px 0 0;font-size:10px;font-weight:700}.filter-toggle{position:relative}.filter-toggle.open,.filter-toggle.active{color:var(--sf-red);background:var(--sf-red-soft);border-color:#ffb9b8}.filter-toggle>span{color:#fff;background:var(--sf-red);border:2px solid #fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;font-weight:900;display:grid;position:absolute;top:-6px;right:-6px}.select-button{border:1px solid var(--sf-line);width:100%;min-height:38px;color:var(--sf-ink);background:#fff;border-radius:8px;justify-content:space-between;margin-bottom:10px;padding:0 12px;font-size:11px;font-weight:700}.select-button.wide{width:210px}.select-button.small{width:90px}.checkbox-row{color:var(--sf-ink);align-items:center;gap:7px;margin-top:2px;font-size:10px;font-weight:700;display:flex}.checkbox-row input{width:14px;height:14px;accent-color:var(--sf-red)}.month-card{flex-direction:column;min-width:0;display:flex;overflow:hidden}.agenda-card{border:1px solid var(--sf-line);background:#fff;border-radius:11px;min-width:0;overflow:auto}.agenda-grid{min-width:760px;min-height:654px;display:grid}.agenda-card.mode-day .agenda-grid{min-width:0}.agenda-day{border-right:1px solid var(--sf-line);background:#fff;flex-direction:column;min-width:0;display:flex}.agenda-day:last-child{border-right:0}.agenda-day.selected{background:snow}.agenda-day-header{border-bottom:1px solid var(--sf-line);width:100%;min-height:78px;color:var(--sf-ink);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:12px;display:flex}.agenda-day-header:hover{background:#fff7f4}.agenda-day-header span,.agenda-day-header small{color:var(--sf-muted);font-size:10px;font-weight:800}.agenda-day-header strong{font-size:24px;line-height:1}.agenda-day.selected .agenda-day-header strong{color:#fff;background:var(--sf-red);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.agenda-time-grid{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:576px;position:relative}.agenda-hour-line{border-top:1px solid var(--sf-line);pointer-events:none;display:block;position:absolute;left:0;right:0}.agenda-hour-label{color:#8f8680;background:#fff;padding:0 4px;font-size:10px;font-weight:800;position:absolute;top:-7px;left:8px}.agenda-day:not(:first-child) .agenda-hour-label{display:none}.agenda-event{z-index:2;min-width:0;min-height:42px;color:var(--sf-ink);text-align:left;border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex;position:absolute;left:8px;right:8px;box-shadow:0 8px 20px #3e281e0d}.agenda-event:hover,.agenda-event.selected{box-shadow:0 0 0 2px #ff343d29,0 8px 20px #3e281e14}.agenda-event.blue{background:var(--sf-blue-soft);border:1px solid #b7d4f7}.agenda-event.green{background:var(--sf-green-soft);border:1px solid #b8dfbf}.agenda-event.orange{background:var(--sf-orange-soft);border:1px solid #f4c878}.agenda-event.pink{background:var(--sf-pink-soft);border:1px solid #f5b6c3}.agenda-event.purple{background:var(--sf-purple-soft);border:1px solid #d5bdf4}.agenda-event strong,.agenda-event span,.agenda-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agenda-event strong,.agenda-event small{color:#5f5853;font-size:11px;font-weight:700}.agenda-event span{font-size:12px;font-weight:800}.agenda-empty{z-index:1;color:#a29a95;pointer-events:none;border:1px dashed #eadfd8;border-radius:8px;place-items:center;min-height:46px;font-size:11px;font-weight:800;display:grid;position:absolute;top:16px;left:12px;right:12px}.agenda-selection{z-index:3;min-height:28px;color:var(--sf-red);pointer-events:none;background:#ff343d1f;border:1px solid #ff343db8;border-radius:8px;flex-direction:column;justify-content:center;gap:1px;padding:6px 10px;display:flex;position:absolute;left:8px;right:8px;box-shadow:0 8px 18px #ff343d1f}.agenda-selection strong,.agenda-selection small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agenda-selection strong{font-size:11px;font-weight:900}.agenda-selection small{font-size:10px;font-weight:800}.month-weekdays{border-bottom:1px solid var(--sf-line);grid-template-columns:repeat(7,minmax(0,1fr));min-height:40px;display:grid}.month-weekdays span{color:var(--sf-ink);place-items:center;font-size:12px;font-weight:800;display:grid}.month-grid{flex:1;grid-template-rows:repeat(5,minmax(70px,1fr));grid-template-columns:repeat(7,minmax(74px,1fr));display:grid}.month-cell{border-right:1px solid var(--sf-line);border-bottom:1px solid var(--sf-line);background:#fff;min-width:0;padding:9px 8px 6px;position:relative}.month-cell:nth-child(7n){border-right:0}.month-cell:nth-last-child(-n+7){border-bottom:0}.month-cell.muted{color:#b5aca7;background:#fbfaf9}.date-pill{width:24px;height:24px;color:inherit;background:0 0;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.date-pill.active{color:#fff;background:var(--sf-red);box-shadow:0 8px 18px #ff343d3d}.event-chip{width:min(82px,100%);min-height:42px;color:var(--sf-ink);text-align:left;border-radius:7px;flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px;padding:7px 8px;display:flex}.event-chip strong,.event-chip span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.event-chip strong{font-size:11px;font-weight:800}.event-chip span{font-size:11px;font-weight:600}.event-chip.blue,.timeline-event.blue{background:var(--sf-blue-soft);border:1px solid #b7d4f7}.event-chip.green,.timeline-event.green{background:var(--sf-green-soft);border:1px solid #b8dfbf}.event-chip.orange,.timeline-event.orange{background:var(--sf-orange-soft);border:1px solid #f4c878}.event-chip.pink,.timeline-event.pink{background:var(--sf-pink-soft);border:1px solid #f5b6c3}.event-chip.purple,.timeline-event.purple{background:var(--sf-purple-soft);border:1px solid #d5bdf4}.upcoming-card{padding:20px 17px}.upcoming-card h2{margin-bottom:26px}.upcoming-group{border-bottom:1px solid var(--sf-line);padding:0 0 18px}.upcoming-group+.upcoming-group{padding-top:18px}.upcoming-group h3{margin-bottom:14px;font-size:12px}.upcoming-item{width:100%;color:var(--sf-ink);text-align:left;background:0 0;grid-template-columns:12px minmax(0,1fr);gap:9px;padding:0;display:grid}.upcoming-item+.upcoming-item{margin-top:16px}.upcoming-item strong,.upcoming-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.upcoming-item strong{font-size:12px;font-weight:800}.upcoming-item small{color:var(--sf-muted);margin-top:4px;font-size:11px}.status-dot{border-radius:50%;width:8px;height:8px;margin-top:5px}.status-dot.purple{background:#9c3cf2}.status-dot.red{background:var(--sf-red)}.status-dot.orange{background:#f5a400}.status-dot.blue{background:#367ccd}.text-link,.inline-link,.inline-add{color:var(--sf-red);background:0 0;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.text-link{margin-top:18px}.text-link.centered{justify-content:center;width:100%;display:flex}.booking-drawer{grid-area:booking;align-self:start;height:690px;padding:23px 22px 18px;overflow:hidden}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.drawer-header h2,.client-profile h2{color:var(--sf-ink);margin:0;font-size:20px;font-weight:800}.drawer-form{flex-direction:column;gap:12px;display:flex}.form-field,.note-field{color:var(--sf-ink);flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex;position:relative}.input-card,.date-input,.client-input,.note-field textarea{border:1px solid var(--sf-line);width:100%;min-height:48px;color:var(--sf-ink);background:#fff;border-radius:9px}.input-card{text-align:left;justify-content:flex-start;gap:11px;padding:0 12px}.input-card>span:nth-child(2),.client-input>span,.phone-service>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.input-card strong,.client-input strong,.phone-service strong{font-size:12px;font-weight:800}.input-card small,.client-input small,.phone-service small{color:var(--sf-muted);margin-top:2px;font-size:11px;font-weight:600}.input-icon{width:32px;height:32px;color:var(--sf-red);background:#fff5f3;border-radius:9px;flex:none;place-items:center;display:grid}.date-input{justify-content:space-between;padding:0 12px;font-size:12px;font-weight:800}.date-input svg{color:#6e6864}.time-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.time-options button,.phone-times button{border:1px solid var(--sf-line);min-width:0;min-height:32px;color:var(--sf-ink);background:#fff;border-radius:8px;font-size:12px;font-weight:800}.time-options button.active,.phone-times button.active,.phone-dates button.active{border-color:var(--sf-red);color:#fff;background:var(--sf-red);box-shadow:0 8px 18px #ff343d2e}.inline-link{align-self:flex-start;margin-top:6px}.client-input{gap:10px;padding:6px 10px}.client-input button{color:#9d9590;background:0 0;width:24px;height:24px}.inline-add{align-self:flex-end;margin-top:6px}.note-field textarea{resize:none;outline:0;min-height:50px;padding:12px}.note-field textarea::placeholder{color:#9f9792}.note-field small{color:#9f9792;font-size:10px;position:absolute;bottom:8px;right:10px}.drawer-total{color:var(--sf-ink);justify-content:space-between;align-items:center;font-size:12px;font-weight:700;display:flex}.drawer-total strong{font-size:16px;font-weight:800}.confirm-button{width:100%;min-height:40px;font-size:13px}.client-profile{grid-area:profile;align-self:start;height:690px;padding:24px 0 22px;overflow:hidden}.profile-topbar{justify-content:space-between;padding:0 24px}.profile-topbar>div{gap:6px;display:flex}.profile-main{grid-template-columns:106px minmax(0,1fr);gap:20px;padding:14px 34px 0;display:grid}.profile-avatar{width:96px;height:96px}.loyalty-badge{color:#e83f68;background:#ffe5f0;border-radius:6px;margin-top:8px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.profile-meta{color:#675f5a;gap:8px;margin:15px 0 0;padding:0;list-style:none;display:grid}.profile-meta li{align-items:center;gap:9px;min-width:0;font-size:12px;font-weight:600;display:flex}.profile-meta svg{color:#8f8782}.profile-actions{justify-content:space-between;margin-top:34px;padding:0 27px}.action-circle{width:70px;color:var(--sf-ink);background:0 0;flex-direction:column;align-items:center;gap:9px;font-size:10px;font-weight:700;display:flex}.action-circle span{width:52px;height:52px;color:var(--sf-ink);background:#f6f2f0;border-radius:50%;place-items:center;display:grid}.action-circle.active{color:var(--sf-red)}.action-circle.active span{color:var(--sf-red);background:var(--sf-red-soft)}.profile-tabs{border-bottom:1px solid var(--sf-line);grid-template-columns:repeat(3,1fr);margin-top:23px;padding:0 20px;display:grid}.profile-tabs button{color:#5c5652;background:0 0;border-bottom:2px solid #0000;min-height:42px;font-size:12px;font-weight:700}.profile-tabs button.active{border-bottom-color:var(--sf-red);color:var(--sf-red)}.history-list{padding:0 20px;display:grid}.history-item{border-bottom:1px solid var(--sf-line);grid-template-columns:10px minmax(0,1fr) auto;gap:10px;padding:14px 0;display:grid}.history-marker{border-radius:50%;width:7px;height:7px;margin-top:10px}.history-marker.red{background:var(--sf-red)}.history-marker.green{background:#28bd65}.history-marker.peach{background:#df927f}.history-item time,.history-item small{color:#8a827d;font-size:11px;font-weight:600;display:block}.history-item strong{color:var(--sf-ink);font-size:12px;font-weight:800;display:block}.history-item>div:last-child{text-align:right;min-width:78px}.history-item>div:last-child span{color:#37a85a;background:#dcf6df;border-radius:5px;margin-top:8px;padding:5px 7px;font-size:10px;font-weight:800;display:inline-flex}.schedule-panel{grid-area:schedule;grid-template-columns:210px minmax(0,1fr) 278px;display:grid;overflow:hidden}.schedule-sidebar{border-right:1px solid var(--sf-line);background:#ffffffb8;padding:18px 16px}.mini-header{justify-content:space-between;margin-bottom:12px}.mini-header strong{font-size:12px;font-weight:800}.schedule-sidebar .mini-calendar{background:0 0;border:0;border-radius:0;padding:0}.schedule-sidebar .mini-calendar-title{display:none}.employee-list{gap:10px;margin-top:26px;display:grid}.employee-list h2{margin-bottom:3px;font-size:12px}.employee-list button{min-height:36px;color:var(--sf-ink);text-align:left;background:0 0;border-radius:8px;gap:9px;padding:0;font-size:11px;font-weight:800}.employee-list button.active{background:var(--sf-red-soft);padding:4px 8px 4px 4px}.employee-check{color:#fff;background:var(--sf-red);border-radius:50%;place-items:center;width:20px;height:20px;margin-left:auto;display:grid}.schedule-main{min-width:0;padding:22px 22px 18px;position:relative}.schedule-header{justify-content:space-between;gap:18px}.schedule-controls{gap:10px}.schedule-toolbar{gap:8px;margin:17px 0 0 60px}.timeline-layout{grid-template-columns:52px minmax(560px,1fr);margin-top:8px;display:grid;overflow:auto}.timeline-hours{color:#5f5853;grid-template-rows:repeat(10,37px);padding-top:1px;font-size:11px;font-weight:700;display:grid}.timeline-grid{border-left:1px solid var(--sf-line);min-width:640px;height:372px;position:relative}.timeline-line{border-top:1px solid var(--sf-line);height:37px;display:block}.timeline-event{min-height:60px;color:var(--sf-ink);text-align:left;border-radius:7px;flex-direction:column;gap:3px;padding:10px 12px;display:flex;position:absolute;box-shadow:0 8px 20px #3e281e0d}.timeline-event strong,.timeline-event span,.timeline-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-event strong,.timeline-event small{color:#5f5853;font-size:11px;font-weight:700}.timeline-event span{font-size:12px;font-weight:800}.schedule-details{align-self:center;min-height:342px;margin:0 20px 0 0;padding:22px}.schedule-details h3{margin-bottom:25px;font-size:15px}.schedule-details dl{gap:18px;margin:0;display:grid}.schedule-details dl div{grid-template-columns:78px minmax(0,1fr);gap:10px;display:grid}.schedule-details dt,.schedule-details dd{margin:0;font-size:12px;font-weight:700}.schedule-details dt{color:#5d5651}.schedule-details dd span{color:#8a5c13;background:#fff1d5;border-radius:7px;padding:5px 8px;font-size:11px;display:inline-flex}.secondary-action,.danger-action{border:1px solid var(--sf-line);background:#fff;border-radius:8px;width:100%;min-height:38px;font-size:13px;font-weight:800}.secondary-action{color:var(--sf-ink);margin-top:28px}.danger-action{color:var(--sf-red);border-color:#ffb9b8;margin-top:12px}.phone-preview{grid-area:phone;place-self:start center;margin-top:44px}.phone-shell{background:#151312;border:6px solid #2b2725;border-radius:42px;width:342px;height:560px;padding:12px;box-shadow:0 20px 44px #2f1e1642}.phone-screen{background:linear-gradient(#fffaf7 0%,#fff4ee 58%,#fff 100%);border-radius:30px;height:100%;padding:12px 17px 18px;overflow:hidden}.phone-status{min-height:20px;color:var(--sf-ink);justify-content:space-between;align-items:center;font-size:13px;font-weight:800;display:flex}.phone-heading{width:100%;color:var(--sf-ink);text-align:left;background:0 0;justify-content:space-between;margin-top:18px}.phone-heading span{flex-direction:column;display:flex}.phone-heading small,.phone-heading em{color:#7b736e;font-style:normal;font-weight:700}.phone-heading small{font-size:10px}.phone-heading strong{font-size:26px;font-weight:800;line-height:1.05}.phone-heading em{margin-top:4px;font-size:12px}.phone-section{margin-top:22px}.phone-section h2{margin-bottom:10px;font-size:12px}.phone-service{width:100%;min-height:58px;color:var(--sf-ink);text-align:left;background:#fff;border-radius:12px;gap:10px;padding:0 12px;box-shadow:0 10px 24px #4d302412}.phone-dates,.phone-times{gap:9px;display:grid}.phone-dates{grid-template-columns:repeat(5,minmax(0,1fr))}.phone-dates button{border:1px solid var(--sf-line);color:#655d58;background:#fff;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:54px;font-size:11px;font-weight:800;display:flex}.phone-dates button strong{color:var(--sf-ink);font-size:14px}.phone-dates button.active strong{color:#fff}.phone-times{grid-template-columns:repeat(4,minmax(0,1fr))}.phone-button{width:100%;min-height:46px;margin-top:22px;font-size:14px}.primary-action,.phone-heading,.phone-button{text-decoration:none}.dashboard-subtitle{color:var(--sf-muted);margin:8px 0 0;font-size:12px;font-weight:700}.owner-stack{gap:10px;margin-top:auto;display:grid}.owner-stack .owner-card{margin-top:0}.logout-button{min-height:30px;color:var(--sf-muted);background:0 0;border-radius:7px;align-self:flex-start;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.logout-button:hover{color:var(--sf-red);background:var(--sf-red-soft)}.mini-grid button.has-booking:not(.active):after{background:var(--sf-red);content:"";border-radius:50%;width:4px;height:4px;margin-top:-2px}.event-chip.selected,.timeline-event.selected{box-shadow:0 0 0 2px #ff343d2e,0 8px 20px #3e281e14}.more-count,.empty-copy,.inline-state{color:var(--sf-muted);font-size:12px;font-weight:700}.selection-hint{color:var(--sf-red);background:var(--sf-red-soft);border:1px solid #ff343d2e;border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:11px;font-weight:800}.more-count{margin-top:5px;display:inline-flex}.confirm-button:disabled{cursor:not-allowed;opacity:.58}.select-card{position:relative}.select-card select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.date-input-control,.client-fields input{border:1px solid var(--sf-line);width:100%;min-height:42px;color:var(--sf-ink);background:#fff;border-radius:9px;outline:0;padding:0 12px;font-size:12px;font-weight:700}.date-input-control:focus,.client-fields input:focus,.note-field textarea:focus{border-color:#ffb9b8;box-shadow:0 0 0 3px #ff343d1a}.client-fields{grid-template-columns:1fr;gap:8px;display:grid}.client-fields label{color:var(--sf-ink);flex-direction:column;gap:5px;font-size:11px;font-weight:800;display:flex}.form-error-red{color:var(--sf-red-dark);background:#fff2f1;border:1px solid #ffc1c0;border-radius:8px;margin:0;padding:9px 10px;font-size:12px;font-weight:700;line-height:1.35}.empty-profile{color:var(--sf-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.empty-profile h2{margin:14px 0 6px}.empty-profile p{max-width:230px;margin:0;font-size:13px;line-height:1.5}.profile-status-actions{gap:8px;margin:18px 24px 0;display:flex}.profile-status-actions button{border:1px solid var(--sf-line);min-height:34px;color:var(--sf-ink);background:#fff;border-radius:8px;flex:1;font-size:11px;font-weight:800}.profile-status-actions button:hover{background:#fff7f4}.profile-status-actions button.danger{color:var(--sf-red);border-color:#ffb9b8}.metric-dot{background:var(--sf-red-soft);border-radius:50%;width:28px;height:28px;display:grid}.metric-dot.pending{background:var(--sf-orange-soft)}.metric-dot.done{background:var(--sf-green-soft)}.settings-panel{grid-area:1/2/3/4;padding:10px 0 24px;overflow:auto}.placeholder-page{color:var(--sf-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px;display:flex}.placeholder-page span{width:64px;height:64px;color:var(--sf-red);background:var(--sf-red-soft);border-radius:18px;place-items:center;display:grid}.placeholder-page h1{color:var(--sf-ink);margin:18px 0 8px;font-size:30px}.placeholder-page p{max-width:420px;margin:0;font-size:14px;font-weight:700;line-height:1.55}.booking-drawer{overflow:auto}.month-weekdays,.month-grid{min-width:0}.history-marker.blue{background:var(--sf-blue)}.history-marker.purple{background:var(--sf-purple)}.history-marker.orange{background:#f5a400}.history-marker.pink{background:var(--sf-pink)}.app-status-page,.public-booking-page{background:linear-gradient(115deg, #ffffffa3 0%, #fff0 42%), linear-gradient(145deg, #fffaf6 0%, var(--sf-bg) 54%, #ffe1d5 100%);min-height:100vh;display:grid}.app-status-page{color:var(--sf-muted);text-align:center;align-content:center;justify-items:center;padding:24px}.app-status-page h1{color:var(--sf-ink);margin:18px 0 8px}.app-status-page p{margin:0;font-weight:700}.public-booking-page{place-items:center;padding:28px}.public-booking-shell{grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);width:min(100%,1040px);display:grid;overflow:hidden}.public-booking-copy{border-right:1px solid var(--sf-line);background:#ffffff8a;flex-direction:column;padding:36px;display:flex}.public-booking-copy .brand{margin-bottom:56px}.overline{color:var(--sf-red);text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:800}.public-booking-copy h1{color:var(--sf-ink);margin:0;font-size:42px;line-height:1.05}.public-booking-copy p:not(.overline){color:var(--sf-muted);margin:16px 0 0;font-size:15px;font-weight:700;line-height:1.55}.timezone-pill{color:var(--sf-red);background:var(--sf-red-soft);border-radius:999px;align-self:flex-start;margin-top:24px;padding:8px 11px;font-size:12px;font-weight:800}.public-booking-form{background:#fff;flex-direction:column;gap:18px;padding:32px;display:flex}.verified-email-field{border:1px solid var(--sf-line);min-height:42px;color:var(--sf-ink);background:#faf8f6;border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:flex}.verified-email-field strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.verified-email-field button{color:var(--sf-red);background:0 0;margin-left:auto;font-size:11px;font-weight:800}.booking-google-option{border:1px dashed var(--sf-line);background:#faf8f6;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.booking-google-option>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.booking-google-option strong{color:var(--sf-ink);font-size:12px}.booking-google-option span{color:var(--sf-muted);font-size:10px;font-weight:650}.booking-google-option .admin-google-signin{min-height:40px}.booking-google-option .form-error-red{grid-column:1/-1}.booking-google-dev{min-height:38px;color:var(--sf-red);background:var(--sf-red-soft);border-radius:9px;padding:0 13px;font-size:11px;font-weight:800}.public-date-section{margin-top:0}.booking-assistant{background:linear-gradient(145deg,#fff8f4 0%,#fff 100%);border:1px solid #f2c7b8;border-radius:16px;gap:14px;padding:18px;display:grid}.booking-assistant-heading{align-items:flex-start;gap:11px;display:flex}.booking-assistant-heading .overline{margin-bottom:4px;font-size:10px}.booking-assistant-heading h2{color:var(--sf-ink);margin:0;font-size:17px}.booking-assistant-heading p:not(.overline){color:var(--sf-muted);margin:5px 0 0;font-size:12px;font-weight:650;line-height:1.45}.booking-assistant-icon{width:36px;height:36px;color:var(--sf-red);background:var(--sf-red-soft);border-radius:11px;flex:none;place-items:center;display:grid}.booking-preferences{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.booking-preferences button{border:1px solid var(--sf-line);min-height:38px;color:var(--sf-muted);background:#fff;border-radius:10px;font-size:12px;font-weight:800}.booking-preferences button.active{border-color:var(--sf-red);color:#fff;background:var(--sf-red)}.booking-assistant-action{min-height:42px;color:var(--sf-red);background:var(--sf-red-soft);border-radius:10px;font-size:12px;font-weight:800}.booking-assistant-action:disabled{cursor:wait;opacity:.62}.booking-recommendations{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.booking-recommendation{border:1px solid var(--sf-line);min-width:0;min-height:66px;color:var(--sf-ink);text-align:left;background:#fff;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.booking-recommendation.active{border-color:var(--sf-red);box-shadow:0 8px 20px #d44a301f}.booking-recommendation>span:not(.recommendation-rank){flex-direction:column;min-width:0;display:flex}.booking-recommendation strong{font-size:14px}.booking-recommendation small{color:var(--sf-muted);margin-top:3px;font-size:9px;font-weight:700;line-height:1.25;overflow:hidden}.booking-recommendation svg{color:var(--sf-red)}.recommendation-rank{width:22px;height:22px;color:var(--sf-red);background:var(--sf-red-soft);border-radius:7px;place-items:center;font-size:10px;font-weight:900;display:grid}.booking-assistant-state{color:var(--sf-muted);margin:0;font-size:11px;font-weight:700;line-height:1.4}.public-client-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.public-client-fields label:first-child{grid-column:1/-1}.booking-confirmation{width:min(100%,460px);color:var(--sf-muted);text-align:center;flex-direction:column;align-items:center;padding:34px;display:flex}.booking-confirmation svg{color:var(--sf-red)}.booking-confirmation h1{color:var(--sf-ink);margin:16px 0 10px}.booking-confirmation p{margin:0 0 22px;line-height:1.55}.booking-confirmation .confirm-button{margin-top:8px;text-decoration:none}.booking-management-card{background:#fff;gap:22px;width:min(100%,720px);padding:32px;display:grid}.booking-management-card>.brand{justify-self:start}.booking-management-card>h1{color:var(--sf-ink);margin:0}.booking-management-card>p{color:var(--sf-muted);margin:0;font-weight:650;line-height:1.5}.booking-management-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.booking-management-heading .overline{margin-bottom:6px}.booking-management-heading h1{color:var(--sf-ink);margin:0;font-size:30px}.booking-management-card .status-badge{color:#925f16;background:#fff0c9;border-radius:999px;flex:none;align-items:center;min-height:28px;padding:0 10px;font-size:10px;font-weight:850;display:inline-flex}.booking-management-card .status-badge.status-confirmed,.booking-management-card .status-badge.status-completed{color:#21745c;background:#ddf5ec}.booking-management-card .status-badge.status-cancelled,.booking-management-card .status-badge.status-no_show{color:var(--sf-red-dark);background:var(--sf-red-soft)}.booking-management-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.booking-management-details div{border:1px solid var(--sf-line);background:#faf8f6;border-radius:11px;padding:13px}.booking-management-details dt{color:var(--sf-muted);text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800}.booking-management-details dd{overflow-wrap:anywhere;color:var(--sf-ink);margin:0;font-size:13px;font-weight:800}.booking-history{gap:10px;display:grid}.booking-history h2{color:var(--sf-ink);margin:0;font-size:15px}.booking-history ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.booking-history li{grid-template-columns:10px minmax(0,1fr);gap:10px;display:grid}.booking-history-marker{background:var(--sf-green);width:8px;height:8px;box-shadow:0 0 0 1px var(--sf-green);border:2px solid #fff;border-radius:50%;margin-top:5px}.booking-history li>div{gap:3px;display:grid}.booking-history strong{color:var(--sf-ink);font-size:12px}.booking-history span,.booking-history small{color:var(--sf-muted);font-size:11px;line-height:1.4}.booking-policy-note{color:#6f5a2b;background:#fff7dc;border-radius:10px;margin:0;padding:11px 13px;font-size:11px;font-weight:750;line-height:1.45}.booking-policy-note.warning{color:var(--sf-red-dark);background:var(--sf-red-soft)}.booking-reschedule{border:1px solid var(--sf-line);background:#fffaf7;border-radius:14px;gap:15px;padding:18px;display:grid}.booking-reschedule h2{color:var(--sf-ink);margin:0;font-size:17px}.booking-management-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.booking-management-actions .confirm-button,.booking-management-actions .secondary-action,.booking-management-actions .danger-action{justify-content:center;align-items:center;gap:7px;width:100%;min-height:42px;display:inline-flex}.booking-management-actions button:disabled{cursor:not-allowed;opacity:.5}.rotating{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1840px){.showcase-canvas{grid-template:"dashboard booking""schedule profile""phone profile"/minmax(960px,1fr) 344px}.client-profile{min-height:0}}@media (width<=1380px){.showcase-canvas{flex-direction:column;min-height:0;display:flex;overflow:visible}.dashboard-panel,.schedule-panel,.booking-drawer,.client-profile{width:100%}.booking-drawer{min-height:0}.phone-preview{align-self:center;margin-top:0}}@media (width<=1060px){.admin-app-shell{grid-template-columns:220px minmax(0,1fr)}.dashboard-panel{grid-template-columns:190px minmax(0,1fr)}.calendar-zone{grid-template-columns:170px minmax(640px,1fr) 240px;overflow-x:auto}.schedule-panel{grid-template-columns:190px minmax(760px,1fr);overflow-x:auto}.schedule-details{grid-column:1/-1;margin:0 20px 20px}}@media (width<=780px){.admin-app-shell{padding:14px;display:block}.admin-app-shell>.sidebar{min-height:0;margin-bottom:14px;position:static}.showcase-canvas{gap:14px;padding:14px}.panel{border-radius:18px}.dashboard-panel{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--sf-line)}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.owner-card{margin-top:22px}.dashboard-content{padding:20px 14px}.dashboard-header,.schedule-header{flex-direction:column;align-items:stretch}.calendar-toolbar{grid-template-columns:1fr;gap:10px}.month-selector,.view-toggle{justify-self:start}.calendar-zone{grid-template-columns:minmax(680px,1fr)}.calendar-rail,.upcoming-card{width:240px}.schedule-panel{display:block}.schedule-sidebar{border-right:0;border-bottom:1px solid var(--sf-line)}.schedule-controls,.schedule-toolbar{flex-wrap:wrap}.schedule-toolbar{margin-left:0}.timeline-layout{grid-template-columns:52px minmax(640px,1fr)}.schedule-details{margin:0 14px 18px}.profile-main{text-align:center;grid-template-columns:1fr}.profile-avatar{justify-self:center}.profile-meta li{justify-content:center}.profile-actions{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.action-circle{justify-self:center}.phone-shell{width:min(342px,100vw - 36px)}.public-booking-page{padding:14px}.public-booking-shell{grid-template-columns:1fr;width:100%}.public-booking-copy{border-right:0;border-bottom:1px solid var(--sf-line);padding:28px}.public-booking-copy .brand{margin-bottom:34px}.public-booking-copy h1{font-size:36px}.public-booking-form{padding:24px}.public-client-fields{grid-template-columns:1fr}.booking-management-card{padding:24px}.booking-management-heading{flex-direction:column;align-items:flex-start}.booking-management-details,.booking-management-actions{grid-template-columns:1fr}.booking-google-option{grid-template-columns:1fr;align-items:stretch}.booking-google-option .admin-google-signin{justify-content:flex-start}.phone-dates{grid-template-columns:repeat(3,minmax(0,1fr))}.phone-times,.booking-preferences{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-recommendations{grid-template-columns:1fr}}
