.photo-schedule { margin:24px 0; min-width:0; }
.photo-schedule > h2 { font-size:22px; }
.photo-schedule button,.photo-schedule select { min-height:44px; }
.photo-schedule .form-grid { margin:16px 0; }
.schedule-presets,.schedule-batch { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.schedule-presets .btn,.schedule-batch .btn { font-size:13px; }
.schedule-types { border:0; padding:0; margin:18px 0; display:flex; flex-wrap:wrap; gap:8px 20px; }
.schedule-types legend { margin-bottom:6px; font-size:14px; font-weight:600; }
.schedule-types label,.schedule-week-options label,.schedule-multi { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:14px; cursor:pointer; }
.photo-schedule input[type=checkbox] { width:18px; height:18px; min-height:18px; margin:0; padding:0; accent-color:var(--brand); flex-shrink:0; }
.schedule-week-filter { border-block:1px solid var(--line); padding:0; }
.schedule-week-filter summary { padding:12px 0; min-height:44px; cursor:pointer; font-size:14px; }
.schedule-week-options { display:flex; flex-wrap:wrap; gap:8px 18px; }
.schedule-notice,.schedule-feedback { font-size:14px; overflow-wrap:anywhere; }
.schedule-notice { border-left:3px solid var(--brand); padding:8px 12px; }
.schedule-feedback:empty { display:none; }
.schedule-sync { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0; }
.schedule-sync p { font-size:12px; color:var(--muted); flex:1; margin:0; }
.schedule-sync button { font-size:12px; flex-shrink:0; }
.schedule-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:32px; margin-top:16px; align-items:start; }
.schedule-calendar,.schedule-time-panel { min-width:0; }
.schedule-month { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.schedule-month .btn { min-width:44px; font-size:22px; }
.schedule-week-labels,.schedule-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.schedule-week-labels { text-align:center; font-size:12px; color:var(--muted); padding:6px 0 12px; }
.schedule-day { min-width:0; min-height:58px !important; border:1px solid transparent; border-radius:4px; padding:6px 1px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; cursor:pointer; font:inherit; }
.schedule-day span { font-size:15px; }.schedule-day small { font-size:10px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; max-width:100%; }
.photo-schedule .is-open { background:var(--bg); color:var(--text); border:1px solid #A9A59D; }
.photo-schedule .is-closed,.schedule-closed-hours { background:#D1D0CD; color:#55534F; }
.photo-schedule button:disabled { opacity:1; cursor:default; }
.schedule-day.is-selected { outline:2px solid var(--text); outline-offset:2px; }
.schedule-legend { display:flex; flex-wrap:wrap; gap:4px 16px; font-size:12px; color:var(--muted); margin:16px 0; }
.schedule-time-panel h4 { font-size:16px; margin:8px 0; }.schedule-time-panel p { font-size:13px; }
.schedule-times { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.schedule-time { display:flex; align-items:center; justify-content:center; min-height:44px; border:0; border-radius:4px; font:inherit; font-size:13px; padding:6px; }
button.schedule-time { cursor:pointer; }
.schedule-closed-hours { padding:10px 12px; border-radius:4px; margin:10px 0; font-size:13px; }
.schedule-confirm { display:flex; flex-wrap:wrap; align-items:center; gap:10px; border-top:1px solid var(--line); padding-top:16px; margin-top:16px; }
.schedule-confirm > span { font-size:13px; color:var(--muted); margin-right:auto; }
.photo-legacy-slots summary { min-height:44px; padding:12px 0; cursor:pointer; font-size:13px; }
@media(max-width:820px){
 .schedule-layout { grid-template-columns:minmax(0,1fr); gap:16px; }
 .schedule-sync { align-items:flex-start; }
 .photo-city-picker { gap:12px; }
 .photo-schedule input,.photo-schedule select,.photo-city-picker select { font-size:16px; min-width:0; width:100%; }
 .photo-schedule input[type=checkbox] { width:18px; }
 .schedule-types { flex-direction:column; gap:0; }
 .schedule-confirm > span { flex-basis:100%; }
 .schedule-days { gap:5px; }
}
.mk-public-calendar{max-width:600px;margin:32px 0}.mk-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mk-public section>h2{font-size:20px;margin:26px 0 16px}.mk-shares>article{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-top:1px solid #d0ccc4;padding:18px 0}.mk-shares>article>.mk-actions{margin-left:auto}.mk-confirm-form,.mk-confirm-preview{border-top:1px solid #cfcbc3;margin-top:20px;padding-top:16px}.mk-preview-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mk-preview-routes img{width:100%;height:auto}.mk-dialog{width:540px;max-width:calc(100vw - 28px);max-height:88dvh;background:#f3f0e9;border:1px solid #ccc7bd;border-radius:10px}.mk-dialog textarea{width:100%;height:100px}.mk-confirmation{max-width:760px;margin:0 auto;padding:28px 20px 60px;color:#30302e;overflow-wrap:anywhere}.mk-confirmation header{border-bottom:1px solid #c9c5bb;padding-bottom:18px;margin-bottom:24px}.mk-confirmation h1{font-size:26px;margin:8px 0}.mk-confirmation h2{font-size:19px;margin-top:28px}.mk-confirmation dl{display:grid;grid-template-columns:100px 1fr;gap:14px 12px}.mk-confirmation dt{color:#67645d}.mk-confirmation dd{margin:0;white-space:pre-wrap}.mk-confirmation img{max-width:100%;height:auto;display:block;margin:14px 0;border-radius:6px}.mk-confirmation .mk-route{width:100%;border:0;background:transparent;padding:0}.mk-confirmation [data-map-status]{color:#67645d}.mk-confirmation footer{border-top:1px solid #ccc7bd;margin-top:28px;padding-top:16px;font-size:14px;color:#67645d}.mk-confirmation .eyebrow{letter-spacing:.08em}.mk-public p,.mk-editor p{overflow-wrap:anywhere}.mk-public-calendar [data-mk-public-calendar],.mk-editor [data-mk-calendar]{max-width:620px}.mk-empty{padding:50px 0}.mk-image-card .mk-image{touch-action:pan-y}.mk-confirmation a{overflow-wrap:anywhere}
@media(max-width:760px){.mk-image-grid,.mk-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mk-toolbar{align-items:flex-start}.mk-toolbar>span{margin-left:auto}.mk-toolbar>.mk-actions{width:100%}.mk-card-body{padding:10px;min-height:88px}.mk-preview-routes{grid-template-columns:repeat(2,minmax(0,1fr))}.mk-day{min-height:55px}.mk-days,.mk-week{gap:3px}.mk-confirmation{padding:24px 16px 50px}.mk-shares>article>.mk-actions{margin-left:0}.mk-editor .form-grid.two{grid-template-columns:1fr}.mk-calendar-tools .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mk-public .store-profile{padding:10px 0 18px}}

.mk-editor [data-field-error],.mk-editor [data-confirm-error],.mk-editor [data-action-result]{color:#8c3026;line-height:1.6}.mk-editor [aria-invalid=true]{border-color:#8c3026}.mk-day small{white-space:normal;overflow-wrap:anywhere}.mk-editor [data-action-result]{flex-basis:100%;margin:8px 0}.mk-editor [data-device-result]{overflow-wrap:anywhere}

.mk-public-calendar{max-width:none}.mk-public-calendar [data-mk-public-calendar],.mk-editor [data-mk-calendar]{max-width:none}.mk-schedule .schedule-time{flex-direction:column;gap:4px}.mk-schedule .schedule-multi{display:flex;align-items:center}.mk-schedule input[type=checkbox]{width:18px}.mk-schedule .schedule-day small{text-align:center}
.mk-schedule{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.mk-schedule.has-panel{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)}.mk-calendar-main{min-width:0}.mk-calendar-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.mk-calendar-day{background:#f3f0e9;color:#30302e;border:1px solid #ccc7bd;min-height:76px!important}.mk-calendar-day.is-selected{outline:2px solid #30302e;outline-offset:1px}.mk-day-bands{display:flex!important;width:100%;gap:2px;padding:0 2px}.mk-band{display:inline-block;height:7px;min-width:3px;flex:1;border-radius:2px;border:1px solid #aaa59a}.mk-band.available{background:#c7d5be;border-color:#798c6b}.mk-band.partial{background:linear-gradient(90deg,#c7d5be 50%,#aaa69e 50%)}.mk-band.unavailable{background:#aaa69e}.mk-band-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin-top:12px}.mk-band-legend>span{display:flex;gap:5px;align-items:center}.mk-band-legend .mk-band{width:18px;flex:none}.mk-band-key{font-size:12px;margin:12px 0}.mk-time-panel{position:sticky;top:140px;max-height:calc(100dvh - 160px);overflow:auto;overscroll-behavior:contain;background:#f3f0e9;border:1px solid #ccc7bd;border-radius:10px;padding:16px;min-width:0}.mk-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-16px;background:#f3f0e9;z-index:2;padding:8px 0}.mk-panel-header h4{margin:0;font-size:16px}.mk-timeline{display:grid;gap:5px;padding:8px 0}.mk-timeline-slot{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:8px 12px;border:1px solid #bfbab0;border-radius:5px;font:inherit;font-size:13px;background:#eeeae2;color:#30302e}.mk-timeline-slot.full,.mk-timeline-slot.rest{background:#d2cec6}.mk-timeline-slot.mixed{background:linear-gradient(90deg,#eeeae2 50%,#d2cec6 50%)}.mk-timeline-slot.is-range-selected{outline:2px solid #536e87;outline-offset:-2px}.mk-panel-backdrop{display:none}.mk-time-panel .schedule-batch{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:760px){.mk-schedule.has-panel{grid-template-columns:minmax(0,1fr)}.mk-time-panel{position:fixed;inset:auto 0 0;max-height:82dvh;padding:16px 18px max(18px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;z-index:1201;box-shadow:0 -6px 30px #0002}.mk-panel-backdrop{display:block;position:fixed;inset:0;background:#0005;border:0;z-index:1200}.mk-time-panel .form-grid.two{grid-template-columns:1fr 1fr}.mk-calendar-day small{font-size:10px}.mk-day-bands{gap:1px;padding:0 1px}}
.mk-timeline-slot.closed{background:#ddd9d1;color:#6e6a62}.mk-hours{font-size:13px;margin-bottom:12px}.mk-hours>summary{cursor:pointer;min-height:36px;padding:8px 0}.mk-hours p{font-size:12px}.mk-calendar-day .mk-day-bands{font-size:0;min-height:8px}
/* Five time segments fill the date cell; text and selection stay independent. */
.mk-calendar-day{position:relative;isolation:isolate;overflow:hidden;background:transparent}
.mk-calendar-day .mk-day-bands{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;gap:0;padding:0;pointer-events:none;flex-direction:column}
.mk-calendar-day .mk-day-bands .mk-band{width:100%;height:0;min-height:0;min-width:0;border:0;border-bottom:1px solid #ffffff70;border-radius:0}
.mk-calendar-day .mk-day-bands .mk-band:last-child{border-bottom:0}
.mk-calendar-day>span:not(.mk-day-bands),.mk-calendar-day>small{position:relative;z-index:1;color:#262622;text-shadow:0 1px 1px #ffffff60}

.mk-band.unknown{background:repeating-linear-gradient(135deg,#dedbd4,#dedbd4 5px,#ece9e2 5px,#ece9e2 10px)}
.mk-batch-types{margin:12px 0}.mk-batch-types .schedule-batch{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}

.hour-calendar .mk-timeline{display:grid;grid-template-columns:1fr;gap:5px;padding:8px 0}
.hour-calendar .mk-timeline-slot{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:1px solid #bfbab0;border-radius:5px;background:#eeeae2;color:#30302e;font-size:13px}
.hour-calendar .mk-timeline-slot.full,.hour-calendar .mk-timeline-slot.rest{background:#d2cec6}.hour-calendar .mk-timeline-slot.closed{background:#ddd9d1;color:#716e68}.hour-calendar .mk-timeline-slot:disabled{cursor:default}
.hour-calendar .schedule-types label,.calendar-sync-settings label{display:flex;align-items:center;gap:8px;min-height:44px}.hour-calendar input[type=checkbox],.calendar-sync-settings input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0}
.calendar-sync-settings{margin:12px 0;border-bottom:1px solid var(--line);padding:12px 0}.calendar-sync-settings summary{cursor:pointer}.calendar-sync-settings fieldset{border:0;padding:0;margin:12px 0}.calendar-sync-settings p{font-size:13px;color:var(--muted)}
.hour-calendar .mk-panel-header h4{flex:1;min-width:0}.hour-calendar .mk-panel-header .btn{flex-shrink:0;padding:8px 10px}.hour-calendar .schedule-rules{margin-bottom:16px}.hour-calendar .schedule-rules>summary{padding:12px 0;cursor:pointer}

.hour-calendar .mk-panel-header{flex-wrap:wrap}.hour-panel-save{display:flex;align-items:center;gap:10px;flex-basis:100%;padding:8px 0;border-top:1px solid var(--line)}.hour-panel-save span{font-size:13px;overflow-wrap:anywhere;flex:1}

.hour-outside{border:1px solid var(--line);border-radius:5px;background:#e8e4dc}.hour-outside>summary{cursor:pointer;padding:10px 12px;min-height:44px;font-size:13px;color:#666258}.hour-outside>summary span{float:right;font-size:12px}.hour-outside[open]>summary span{display:none}.hour-outside>.mk-timeline{padding:0 6px 6px}

.hour-outside:not([open])>.mk-timeline{display:none}

.calendar-sync-toggle{display:flex;align-items:center;gap:12px;padding:12px 0}.calendar-sync-toggle input{width:38px;height:22px;accent-color:var(--accent,#b56a46)}.hour-selection-actions{position:sticky;top:calc(var(--calendar-header-height,80px) - 16px);z-index:2;background:var(--panel,#faf8f3);padding:8px;border-radius:10px}.mk-timeline-slot{touch-action:pan-y}

.calendar-sync-toggle input[role=switch]{appearance:none;position:relative;width:38px;height:22px;flex:0 0 38px;border:1px solid #aaa59a;border-radius:20px;background:#d2cec6;cursor:pointer}.calendar-sync-toggle input[role=switch]:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:#fff}.calendar-sync-toggle input[role=switch]:checked{background:#536e59;border-color:#536e59}.calendar-sync-toggle input[role=switch]:checked:before{transform:translateX(16px)}.calendar-sync-toggle input[role=switch]:focus-visible{outline:2px solid #536e87;outline-offset:3px}
