.breadcrumbs{display:flex;gap:11px;align-items:center;padding:24px 0;color:#637789;font-size:.84rem}.breadcrumbs a{color:var(--navy);font-weight:700}.breadcrumbs a:hover{text-decoration:underline}.business-page{background-size:cover;background-position:center;min-height:100vh;padding-bottom:82px}.business-banner{min-height:310px;border-radius:20px;position:relative;overflow:hidden;display:flex;align-items:flex-end;background-size:cover;background-position:center;color:#fff;padding:36px 42px;box-shadow:var(--shadow)}.business-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,43,73,.78),rgba(16,43,73,.1));pointer-events:none}.business-banner-content{position:relative;z-index:1;max-width:700px}.banner-kicker{color:#ead7aa;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.business-banner h1{font-size:clamp(2.3rem,4vw,4.1rem);line-height:1.06;letter-spacing:-.055em;margin:14px 0}.business-banner p{font-size:1.04rem;color:#e0e9ee;max-width:550px;margin:0}.banner-sample{position:absolute;z-index:1;right:24px;top:24px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:7px 12px;font-size:.75rem;font-weight:750}.banner-letter{right:12%;font-size:11rem;color:rgba(255,255,255,.15)}.business-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:30px;margin-top:42px}.business-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.business-intro h2,.booking-heading h1,.dashboard-head h1{font-size:clamp(2rem,3vw,2.9rem);letter-spacing:-.05em;line-height:1.1;margin:11px 0 8px;color:var(--navy)}.business-intro p,.booking-heading p{color:var(--muted);margin:0}.share-button{border:1px solid #bbcad6;background:#fff;color:var(--navy);border-radius:9px;padding:10px 13px;font-size:.8rem;font-weight:750;white-space:nowrap}.share-button:hover{border-color:var(--navy)}.service-list{display:grid;gap:14px}.service-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 1px 2px rgba(16,43,73,.03)}.service-card h3{color:var(--navy);margin:8px 0 6px;font-size:1.22rem;letter-spacing:-.03em}.service-card p{color:var(--muted);font-size:.91rem;margin:0 0 10px}.service-location{font-size:.71rem;font-weight:820;letter-spacing:.11em;text-transform:uppercase;color:#8d6a28}.service-duration{font-size:.82rem;font-weight:750;color:#486780}.service-card .button{flex:0 0 auto}.business-aside{display:grid;align-content:start;gap:15px}.side-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:15px}.side-card h3{color:var(--navy);font-size:1.17rem;margin:14px 0 7px}.side-card p{color:var(--muted);font-size:.9rem;margin:0;line-height:1.65}.side-divider{border-top:1px solid var(--line);margin:20px 0}.side-card .payment-note,.payment-note{color:var(--navy);font-weight:760}.side-card.subdued{background:#f2f5f7}.side-card.subdued p{margin-top:12px}.empty-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;color:var(--muted)}.booking-page{padding-bottom:80px}.booking-heading{margin:20px 0 28px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:24px;align-items:start}.booking-panel,.booking-summary,.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 2px 3px rgba(16,43,73,.025)}.booking-panel{padding:30px}.panel-top{display:flex;gap:15px;align-items:flex-start}.panel-top h2{margin:0;color:var(--navy);font-size:1.28rem;letter-spacing:-.03em}.panel-top p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.step-number{width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:var(--gold-soft);color:#8a6825;font-size:.73rem;font-weight:850;display:grid;place-items:center}.date-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 30px}.date-option,.time-option{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--ink);text-align:center}.date-option span{display:block;font-size:.72rem;color:var(--muted);font-weight:750}.date-option strong{display:block;margin-top:3px;font-size:.82rem}.date-option:hover,.time-option:hover,.date-option.active,.time-option.active{border-color:var(--navy);background:#eaf1f6;color:var(--navy)}.date-option.active,.time-option.active{box-shadow:inset 0 0 0 1px var(--navy)}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 30px}.time-option{font-size:.84rem;font-weight:720}.no-times{grid-column:1/-1;color:var(--muted)}.form-top{margin-top:4px}.booking-form{margin-top:18px}.booking-form label,.settings-form label,.service-form label{display:block;color:var(--ink);font-size:.84rem;font-weight:740}.booking-form input,.settings-form input:not([type=color]):not([type=checkbox]):not([type=file]),.settings-form textarea,.settings-form select,.service-form input,.service-form select,.service-form textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;min-height:44px;background:#fff;border:1px solid #cbd7e0;border-radius:9px;color:var(--ink);font-size:.92rem;font-weight:450}.booking-form>label,.settings-form>label,.service-form>label{margin-top:17px}.booking-form input:focus,.settings-form input:focus,.settings-form textarea:focus,.settings-form select:focus,.service-form input:focus,.service-form textarea:focus{outline:2px solid #b5cadd;outline-offset:1px;border-color:var(--navy)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.optional{font-weight:500;color:var(--muted);font-size:.79rem}.form-message{min-height:19px;margin:13px 0 0;color:#9e4c30;font-size:.82rem;font-weight:690}.submit-booking{margin-top:7px}.form-fine{color:var(--muted);font-size:.76rem;margin:10px 0 0}.booking-summary{padding:27px;position:sticky;top:24px}.booking-summary h2{font-size:1.27rem;color:var(--navy);margin:12px 0 18px}.summary-line{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:13px 0;font-size:.83rem}.summary-line span{color:var(--muted)}.summary-line strong{text-align:right;color:var(--ink)}.booking-summary>p{border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:.81rem}.confirmation-page{padding:90px 20px;background:#edf2f5}.confirmation-card{max-width:650px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:42px}.confirmation-mark{width:45px;height:45px;border-radius:50%;background:#e4f3ea;color:#267a47;display:grid;place-items:center;font-size:1.25rem;font-weight:850;margin-bottom:22px}.confirmation-card h1{color:var(--navy);font-size:2.25rem;letter-spacing:-.05em;line-height:1.13;margin:12px 0}.confirmation-card>p{color:var(--muted)}.confirmation-details{margin:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.confirmation-details div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.86rem}.confirmation-details div:last-child{border:0}.confirmation-details span{color:var(--muted)}.confirmation-details strong{text-align:right}.confirmation-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.dashboard-page{padding-bottom:80px}.dashboard-head{background:var(--navy);color:#fff;padding:48px 0}.dashboard-head-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.dashboard-head .eyebrow{color:#d9b971}.dashboard-head h1{color:#fff}.dashboard-head p{color:#cad7e2;margin:0}.dashboard-content{padding-top:28px}.dashboard-banner{border:1px solid #e4d6b3;background:#fbf4e4;border-radius:11px;padding:13px 17px;display:flex;gap:12px;color:#725a2b;font-size:.83rem;margin-bottom:22px}.dashboard-banner strong{white-space:nowrap}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:24px}.dashboard-primary,.dashboard-secondary{display:grid;align-content:start;gap:24px}.dashboard-card{padding:25px}.dashboard-card h2{color:var(--navy);font-size:1.45rem;letter-spacing:-.04em;margin:9px 0 0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.count-badge{background:#e7eef3;color:var(--navy);border-radius:999px;padding:5px 11px;font-weight:790;font-size:.8rem}.empty-state{border:1px dashed #cad7df;background:#f9fbfc;border-radius:11px;margin-top:20px;padding:26px;color:var(--muted)}.empty-state strong{color:var(--navy)}.empty-state p{margin:6px 0 13px;font-size:.87rem}.appointment-list{margin-top:20px}.appointment-row{border-top:1px solid var(--line);padding:15px 0;display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:14px;align-items:start}.appointment-date strong,.appointment-date span{display:block;font-size:.8rem}.appointment-date span{color:var(--muted);margin-top:3px}.appointment-row h3{font-size:.9rem;color:var(--navy);margin:0 0 4px}.appointment-row p{font-size:.81rem;color:var(--muted);margin:0}.status-tag{background:#e7eef3;border-radius:6px;color:#47667c;padding:5px 8px;font-size:.7rem;font-weight:800}.dashboard-services{margin:18px 0}.dashboard-service{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:13px 0}.dashboard-service strong,.dashboard-service span{display:block;font-size:.84rem}.dashboard-service span{color:var(--muted);font-size:.77rem;margin-top:4px}.dashboard-service button{border:0;background:none;color:#916a48;font-size:.74rem;font-weight:750;padding:6px}.service-form{border-top:1px solid var(--line);padding-top:18px}.service-form h3{font-size:.92rem;color:var(--navy);margin:0 0 14px}.service-form .button{margin-top:18px}.dashboard-intro{color:var(--muted);font-size:.86rem}.settings-form{margin-top:17px}.settings-form input[type=color]{display:block;margin-top:6px;width:100%;height:40px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px}.settings-form input[type=file]{display:block;margin-top:7px;width:100%;font-size:.78rem;color:var(--muted)}.settings-form .button{margin-top:18px}.days-field{border:0;padding:0;margin:18px 0}.days-field legend{font-size:.84rem;font-weight:740;margin-bottom:9px}.weekday-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.weekday-grid label{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:7px;padding:6px;font-size:.72rem;font-weight:650}.weekday-grid input{accent-color:var(--navy)}.missing-page{padding:100px 0}.missing-page h1{font-size:2.4rem;color:var(--navy);letter-spacing:-.05em}
@media(max-width:950px){.business-layout,.booking-layout,.dashboard-columns{grid-template-columns:1fr}.business-aside{grid-template-columns:repeat(2,1fr)}.booking-summary{position:static}.dashboard-secondary{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.business-banner{min-height:255px;padding:24px}.business-banner h1{font-size:2.6rem}.business-layout{margin-top:26px}.business-intro{align-items:flex-start;flex-direction:column}.service-card{align-items:flex-start;flex-direction:column}.service-card .button{width:100%}.business-aside,.dashboard-secondary{grid-template-columns:1fr}.booking-panel,.booking-summary,.dashboard-card{padding:20px}.date-grid,.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.dashboard-head-inner{align-items:flex-start;flex-direction:column}.dashboard-banner{flex-direction:column;gap:4px}.appointment-row{grid-template-columns:1fr auto}.appointment-date{grid-column:1/-1}.confirmation-page{padding:40px 16px}.confirmation-card{padding:25px}.confirmation-details div{display:block}.confirmation-details strong{display:block;text-align:left;margin-top:3px}}

.decision-panel{min-width:150px;max-width:290px;display:grid;justify-items:start;gap:10px}.status-pending{background:#fff3d7;color:#78591d}.status-approved{background:#e4f3ea;color:#21633d}.status-declined{background:#f8e9e7;color:#93473a}.decision-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:7px}.decision-actions button,.contact-actions a,.contact-actions button,.mark-contacted{border:1px solid #b9cbd8;background:#fff;color:var(--navy);border-radius:8px;padding:8px 10px;font:inherit;font-size:.82rem;font-weight:740;cursor:pointer;text-decoration:none}.decision-actions button:first-child,.mark-contacted{background:var(--navy);color:#fff;border-color:var(--navy)}.contact-actions button:disabled{opacity:.5;cursor:not-allowed}.contact-prompt{border:1px solid #d9e4eb;background:#f6f9fb;border-radius:10px;padding:12px;width:100%}.contact-prompt strong,.contacted-label{font-size:.82rem;color:var(--navy)}.appointment-row .contact-prompt p{margin:6px 0 10px;line-height:1.45;overflow-wrap:anywhere}.mark-contacted{margin-top:10px}.contacted-label{font-weight:740}
.status-cancelled{background:#f1e9e9;color:#813b43}
.booking-change-area{grid-column:1/-1;border-top:1px solid var(--line);padding-top:11px}
.booking-change-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.booking-change-buttons button{border:1px solid #b9cbd8;background:#edf5fb;color:#1b537d;border-radius:9px;padding:9px 12px;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}
.booking-change-buttons button[data-booking-change="cancel"]{border-color:#dfb3b4;background:#fff6f5;color:#833c43}
.booking-change-buttons button[data-confirm-booking-cancel]{background:#923e47;border-color:#923e47;color:#fff}
.booking-change-buttons button:disabled{opacity:.55;cursor:not-allowed}
.booking-change-form{border:1px solid #d7e4ed;background:#f8fbfd;border-radius:10px;padding:15px;margin-top:13px}
.booking-change-form>strong{display:block;color:var(--navy);font-size:.89rem}
.appointment-row .booking-change-form p{margin:7px 0 13px;line-height:1.45}
.booking-change-form label{font-size:.8rem;font-weight:740;color:var(--ink)}
.booking-change-form input,.booking-change-form select{display:block;width:100%;min-height:42px;margin-top:6px;border:1px solid #cbd7e0;border-radius:8px;padding:8px;background:#fff;color:var(--ink);font:inherit}
.booking-history{margin-top:13px;color:var(--muted);font-size:.78rem}
.booking-history summary{cursor:pointer;color:var(--navy);font-weight:750}
.appointment-row .booking-history p{margin:8px 0 0;line-height:1.45}
@media(max-width:680px){.appointment-row{grid-template-columns:1fr}.decision-panel{max-width:none;width:100%}}
.contact-actions{gap:9px}.contact-actions a,.contact-actions button:not([data-copy-message]){padding:10px 13px;font-size:.86rem}

.dashboard-service.is-off{opacity:.62}.service-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-service .service-toggle{border:1px solid #b9cbd8;border-radius:8px;background:#eef4f8;color:var(--navy);padding:8px 10px;font-size:.79rem}.dashboard-service.is-off .service-toggle{background:var(--navy);border-color:var(--navy);color:#fff}.dashboard-service .service-remove{color:#916a48}
@media(max-width:680px){.dashboard-service{align-items:flex-start;flex-direction:column}.service-controls{width:100%}}
.dashboard-service .service-edit{border:1px solid #a9c9df;border-radius:8px;background:#eaf4fb;color:#1b537d;padding:8px 12px;font-size:.79rem;font-weight:760}
.dashboard-service .service-edit:hover{background:#d9ebf7;border-color:#7aaccd}
.service-edit-form{border:1px solid #d6e5ef;border-radius:11px;background:#f7fbfe;padding:17px;margin:0 0 15px}
.service-edit-form h3{margin:0 0 14px}
.service-edit-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.service-edit-actions .button{margin-top:0}
.service-edit-form .form-message{margin-top:10px}

.appointments-card{margin-bottom:24px}
.appointment-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:22px}
.appointment-tabs{display:flex;flex-wrap:wrap;gap:9px}
.appointment-tabs button,.calendar-view-button,.calendar-navigation button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b9d3e6;background:#edf5fb;color:#1b537d;border-radius:10px;padding:10px 15px;font:inherit;font-size:.84rem;font-weight:760;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.appointment-tabs button{gap:9px}
.appointment-tabs button:hover,.calendar-navigation button:hover{background:#dfedf7;border-color:#84b4d5}
.appointment-tabs button.is-active{background:#225e8c;border-color:#225e8c;color:#fff;box-shadow:0 5px 12px rgba(34,94,140,.18)}
.appointment-tabs button.is-active:hover{background:#194e78}
.appointment-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#d6e8f4;color:#1b537d;padding:0 5px;font-size:.72rem;font-weight:850}
.appointment-tabs button.is-active span{background:#fff;color:#225e8c}
.calendar-view-button,.calendar-view-button.is-active{background:#225e8c;border-color:#225e8c;color:#fff;box-shadow:0 5px 12px rgba(34,94,140,.18)}
.calendar-view-button:hover,.calendar-view-button.is-active:hover{background:#194e78;border-color:#194e78;transform:translateY(-1px)}
.calendar-layout{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:18px;margin-top:20px}
.pending-sidebar,.calendar-main{min-width:0;border:1px solid #d5e4ef;border-radius:14px;padding:18px;background:#fff;box-shadow:0 2px 8px rgba(16,43,73,.04)}
.pending-sidebar{background:#f5f9fc}
.calendar-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e1eaf1}
.calendar-panel-head h3{color:var(--navy);font-size:1.2rem;letter-spacing:-.03em;margin:5px 0 0}
.calendar-panel-head h3 span{font-size:.82rem;color:var(--muted);font-weight:700}
.calendar-navigation{display:flex;align-items:center;gap:5px}
.calendar-navigation button{min-width:34px;min-height:34px;padding:6px 9px;background:#edf5fb}
.calendar-navigation button[data-calendar-today]{background:#fff}
.pending-sidebar-list{max-height:660px;overflow:auto}
.appointment-row-compact{display:grid;grid-template-columns:1fr;gap:8px}
.appointment-row-compact .appointment-date{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.appointment-row-compact .appointment-date span{margin:0}
.appointment-row-compact .decision-panel{max-width:none;width:100%}
.calendar-scroll{overflow-x:auto;border:1px solid #d9e6ef;border-radius:11px}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:560px}
.calendar-weekdays{background:#edf5fb}
.calendar-weekdays span{font-size:.7rem;font-weight:800;color:#54718a;text-align:center;padding:9px 0}
.calendar-grid{border-top:1px solid #d9e6ef}
.calendar-day{appearance:none;display:block;align-self:stretch;justify-self:stretch;min-width:0;min-height:96px;padding:6px;margin:0;border:0;border-right:1px solid #e4edf3;border-bottom:1px solid #e4edf3;border-radius:0;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.calendar-day:nth-child(7n){border-right:0}
.calendar-day.has-appointments{background:#f8fbfe}
.calendar-day:hover{background:#eaf4fb}
.calendar-day.is-selected{background:#e1f0fa;box-shadow:inset 0 0 0 2px #225e8c}
.calendar-day-empty{background:#f5f8fa}
.calendar-day-number{display:inline-grid;place-items:center;width:23px;height:23px;font-size:.76rem;font-weight:760;color:var(--navy)}
.calendar-day-today .calendar-day-number{border-radius:50%;background:#225e8c;color:#fff}
.calendar-event{display:block;width:100%;text-align:left;background:#e3f0f9;border:1px solid #b6d4e9;color:#174e78;border-radius:7px;padding:5px;margin-top:4px;font:inherit;overflow:hidden}
.calendar-event span,.calendar-event strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.69rem;line-height:1.3}
.calendar-event strong{font-weight:760}
.calendar-day.has-blocks:not(.has-appointments){background:#fffafa}
.calendar-day.has-blocks:hover{background:#fff1f1}
.calendar-block{display:block;width:100%;text-align:left;background:#fde9e9;border:1px solid #e8b6b6;color:#7b2d37;border-radius:7px;padding:5px;margin-top:4px;font:inherit;overflow:hidden}
.calendar-block span,.calendar-block strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.69rem;line-height:1.3}
.calendar-block strong{font-weight:760}
.calendar-selected{border-top:1px solid #d9e4eb;margin-top:16px;padding-top:14px}
.calendar-selected>strong{font-size:.85rem;color:var(--navy)}
.calendar-selected h4{font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:#6b7f8f;margin:17px 0 8px}
.calendar-block-detail{display:flex;justify-content:space-between;gap:12px;background:#fff4f4;border:1px solid #e8b6b6;border-radius:8px;padding:10px 12px;margin-top:7px;color:#7b2d37;font-size:.79rem}
.calendar-block-detail strong{font-weight:760}
.calendar-empty,.calendar-hint{color:var(--muted);font-size:.81rem;line-height:1.5}
.time-off-range[hidden]{display:none}
.settings-form .travel-toggle{display:flex;align-items:center;gap:9px;border:1px solid #d5e2eb;background:#f5f9fc;border-radius:9px;padding:11px 12px;cursor:pointer}
.travel-toggle input{width:18px;height:18px;accent-color:var(--navy);flex:0 0 auto}
.appointment-row .appointment-travel{color:#775b2c;font-weight:700;margin-top:5px}
.block-overlap-preview[hidden]{display:none}
.block-overlap-preview{background:#f3f7fa;border:1px solid #d0dce5;border-radius:9px;color:#3d6179;padding:12px 14px;margin-top:15px;font-size:.81rem;line-height:1.5;font-weight:650}
.block-overlap-preview.has-conflict{background:#fff0ef;border:2px solid #ce6970;color:#762d35;font-weight:760}
.time-off-conflict-badge{margin-left:auto;background:#fbe3e3;border:1px solid #df9ea4;border-radius:999px;color:#7e2e38;padding:5px 8px;white-space:nowrap;font-size:.69rem;font-weight:800}
.time-off-list{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.time-off-list h3{font-size:.89rem;color:var(--navy);margin:0 0 6px}
.time-off-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-top:1px solid var(--line);padding:12px 0}
.time-off-row strong,.time-off-row span{display:block;font-size:.82rem}
.time-off-row span{color:var(--muted);margin-top:3px}
.time-off-row button{border:1px solid #e2b0b0;background:#fff5f5;color:#87303c;border-radius:8px;padding:8px 11px;font-size:.75rem;font-weight:750;cursor:pointer}
.time-off-row button:hover{background:#fce8e8}
.time-off-conflict{color:#762d35;background:#fff0ef;border:2px solid #ce6970;border-radius:8px;padding:10px 12px;margin:9px 0 0;font-size:.79rem;line-height:1.45;font-weight:650}
.time-off-conflict strong{display:block;color:#762d35;font-size:.82rem;margin-bottom:3px}
.time-off-empty{color:var(--muted);font-size:.82rem}
.dashboard-disclosure{align-self:start}
.dashboard-section-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer}
.dashboard-section-summary::-webkit-details-marker{display:none}
.dashboard-section-summary strong{display:block;color:var(--navy);font-size:1.2rem;letter-spacing:-.03em;margin-top:8px}
.dashboard-section-summary:focus-visible,.appointment-tabs button:focus-visible,.calendar-view-button:focus-visible,.calendar-navigation button:focus-visible,.calendar-day:focus-visible{outline:2px solid var(--navy);outline-offset:3px;position:relative;z-index:1}
.disclosure-chevron{width:10px;height:10px;flex:0 0 10px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);transition:transform .15s}
.dashboard-disclosure[open] .disclosure-chevron{transform:rotate(225deg)}
.dashboard-disclosure[open] .dashboard-section-summary{padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:17px}
.owner-view-nav{display:flex;gap:9px;margin:24px 0}
.owner-view-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid #b9d3e6;border-radius:10px;background:#edf5fb;color:#1b537d;font-size:.86rem;font-weight:780;text-decoration:none}
.owner-view-nav a:hover{background:#dfedf7}
.owner-view-nav a.is-active{background:#225e8c;border-color:#225e8c;color:#fff}
.owner-workspace-view[hidden],.owner-settings-view[hidden]{display:none!important}
.owner-service-layout{grid-template-columns:minmax(0,1fr)}
.owner-settings-view .dashboard-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
.owner-settings-view .business-page-settings{grid-column:1/-1}
.business-page-settings .settings-form{max-width:780px}
.settings-group{padding:19px 0;border-top:1px solid var(--line)}
.settings-group:first-child{padding-top:0;border:0}
.settings-group h3{font-size:1rem;color:var(--navy);margin:0 0 15px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.appearance-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.appearance-heading h3{margin:0}
.appearance-heading p{margin:2px 0 0;color:var(--muted);font-size:.78rem}
.appearance-toggle{display:inline-flex;gap:3px;flex:0 0 auto;border:1px solid #cbd7e0;border-radius:10px;background:#f2f5f8;padding:3px;margin:0}
.settings-group .appearance-toggle label,.settings-group .appearance-toggle label+label{display:flex;align-items:stretch;margin:0;cursor:pointer}
.appearance-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.appearance-toggle span{display:flex;align-items:center;justify-content:center;min-width:65px;text-align:center;padding:7px 11px;border-radius:7px;color:#486780;font-size:.82rem;font-weight:760}
.appearance-toggle input:checked+span{background:#225e8c;color:#fff;box-shadow:0 1px 3px rgba(16,43,73,.14)}
.appearance-toggle input:focus-visible+span{outline:2px solid #225e8c;outline-offset:2px}
.appearance-panel{margin-top:12px}
.appearance-panel[hidden]{display:none!important}
.appearance-panel>.form-fine{margin:0 0 10px}
.settings-form input[type=color].banner-color-input{width:140px;height:52px;padding:5px;cursor:pointer}
.business-page.is-dark-background .breadcrumbs,.business-page.is-dark-background .breadcrumbs a{color:#e9eef3}
.business-page.is-dark-background .business-intro h2{color:#fff}
.business-page.is-dark-background .business-intro p{color:#d6dee7}
.business-page.is-dark-background .business-intro .eyebrow{color:#e8d3a5}
.settings-group label+label{margin-top:16px}
.background-palette{border:0;padding:0;margin:0}
.background-palette legend{font-size:.84rem;font-weight:740;color:var(--ink);margin-bottom:10px}
.palette-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.palette-choice{display:flex!important;align-items:center;gap:8px;min-height:54px;padding:8px 10px;border:1px solid #cbd7e0;border-radius:10px;background:#fff;cursor:pointer}
.palette-choice:has(input:checked){border-color:#225e8c;box-shadow:inset 0 0 0 1px #225e8c;background:#f2f8fc}
.palette-choice input{position:absolute;opacity:0;width:1px;height:1px}
.palette-choice:has(input:focus-visible){outline:2px solid #225e8c;outline-offset:2px}
.palette-swatch{width:27px;height:27px;flex:0 0 27px;border:1px solid #b8c8d1;border-radius:8px}
.saved-image{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0}
.saved-image img{display:block;width:140px;height:85px;object-fit:cover;border:1px solid var(--line);border-radius:9px}
.saved-image .button{margin:0}
.service-photo{width:112px;height:94px;flex:0 0 112px;object-fit:cover;border-radius:10px}
.service-copy{flex:1;min-width:0}
.service-image-editor{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.service-image-editor>strong{display:block;color:var(--navy);font-size:.87rem;margin-bottom:9px}
.service-image-editor img{display:block;width:160px;height:105px;object-fit:cover;border-radius:9px;margin-bottom:10px}
.service-image-editor p{font-size:.79rem;color:var(--muted)}
.service-image-editor label{margin-top:12px}
.service-image-editor input[type=file]{padding:8px;font-size:.78rem}
.service-image-editor .button{margin:0}
@media(max-width:800px){.calendar-layout{grid-template-columns:1fr}.pending-sidebar-list{max-height:360px}}
@media(max-width:680px){
  .appointment-toolbar{align-items:stretch}
  .appointment-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}
  .appointment-tabs button{gap:4px;padding:10px 5px;font-size:.75rem;white-space:nowrap}
  .appointment-tabs button span{min-width:19px;height:19px;padding:0 4px;font-size:.68rem}
  .calendar-view-button{width:100%;min-height:42px}
  .calendar-panel-head{align-items:flex-start;flex-direction:column}
  .calendar-navigation{width:100%;justify-content:space-between}
  .calendar-scroll{overflow:visible}
  .calendar-weekdays,.calendar-grid{min-width:0}
  .calendar-weekdays span{font-size:.61rem;padding:7px 0}
  .calendar-day{min-height:62px;padding:3px;text-align:center}
  .calendar-day-number{width:21px;height:21px;font-size:.7rem}
  .calendar-event{width:13px;height:13px;padding:0;margin:4px auto 0;border-radius:50%;background:#225e8c;border-color:#225e8c}
  .calendar-event span,.calendar-event strong{display:none}
  .calendar-block{width:13px;height:13px;padding:0;margin:4px auto 0;border-radius:4px;background:#e9a0a6;border-color:#bd6c75}
  .calendar-block span,.calendar-block strong{display:none}
  .owner-settings-view .dashboard-secondary{grid-template-columns:1fr}
  .palette-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-photo{width:100%;height:175px;flex-basis:auto}
}
