
/* FLOWER HANA Reservation Calendar refresh, scoped to the calendar tab only */
.fh-calendar-panel{overflow:hidden;border:1px solid #e3e9e1;border-radius:16px;background:#fff;box-shadow:0 8px 28px #2c493008}
.fh-calendar-panel .fh-calendar-top{display:flex;flex-wrap:wrap;gap:15px;align-items:center;justify-content:space-between;padding:20px 22px 14px}
.fh-month-controls{display:flex;align-items:center;gap:8px;min-width:0}
.fh-month-controls h2{font-size:23px;font-weight:700;line-height:1.25;letter-spacing:-.05em;margin:0 12px 0 6px;white-space:nowrap;color:#314a3b}
.fh-month-controls .fh-nav-arrow{display:grid;place-items:center;width:35px;height:36px;min-height:36px;border:1px solid #e0e8df;border-radius:10px;background:#fff;font-size:25px;line-height:1;color:#476750;padding:0}
.fh-month-controls .fh-nav-arrow:hover,.fh-month-controls .fh-nav-arrow:focus-visible{background:#eaf2e9}
.fh-month-controls .fh-today-button{min-height:34px;padding:6px 12px;background:#eef3ec;border:1px solid #d6e4d7;color:#365b44;border-radius:8px;font-size:12px;font-weight:700}
.fh-view-switch{display:inline-flex;padding:3px;gap:2px;border-radius:11px;background:#eff4ed;border:1px solid #e3ebe0}
.fh-view-switch button{border:0;border-radius:8px;min-width:56px;min-height:34px;padding:7px 12px;background:transparent;font-size:12px;color:#718074}
.fh-view-switch button.is-active{background:#fff;color:#355b45;box-shadow:0 2px 6px #24472e18;font-weight:700}
.fh-calendar-panel .filters{padding:11px 22px;border-top:1px solid #eef0ed;border-bottom:1px solid #eef0ed;background:#fbfcfa}
.fh-calendar-panel .filters .chips{background:#eaf0e8;border-radius:9px}
.fh-calendar-panel .filters .chips button.active{color:#28523d;font-weight:700}
.fh-calendar-meta{display:flex;align-items:center;gap:10px;padding:12px 22px;flex-wrap:wrap;font-size:11px;color:#7b867b}
.fh-legend{display:flex;align-items:center;gap:14px}
.fh-legend span{display:inline-flex;align-items:center;gap:6px}
.fh-legend i,.fh-cal-dots i{width:8px;height:8px;display:inline-block;border-radius:50%;background:#668c78}
.fh-legend i.gangdong,.fh-cal-dots i.gangdong{background:#c29b88}
.fh-season-label{flex:1 0 100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5;color:#526e56}
.fh-season-action{min-height:28px;font-size:11px;padding:5px 9px}
.fh-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.fh-cal-container{min-width:0}
.fh-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e6ebe5;border-left:1px solid #e6ebe5;background:#fff}
.fh-cal-grid .weekday{display:grid;place-items:center;padding:10px 0;min-width:0;background:#f5f8f4;color:#7b8779;border-bottom:1px solid #e6ebe5;border-right:1px solid #e6ebe5;font-size:11px;font-weight:700}
.fh-cal-grid .weekday:first-child{color:#bb766e}.fh-cal-grid .weekday:nth-child(7){color:#6a8cba}
.fh-cal-grid .fh-cal-day.day{min-width:0;min-height:114px;position:relative;padding:8px 6px;border:0;border-right:1px solid #e6ebe5;border-bottom:1px solid #e6ebe5;box-shadow:none;background:#fff;cursor:pointer}
.fh-cal-grid .fh-cal-day.outside{opacity:1;background:#fafbf9}
.fh-cal-grid .fh-cal-day.outside .fh-day-number{color:#aeb6ab}
.fh-cal-grid .fh-cal-day.selected-day{background:#f2f7f1;box-shadow:inset 0 0 0 2px #9eba9d}
.fh-cal-grid .fh-cal-day:hover{background:#f7faf6}
.fh-cal-grid .fh-cal-day.season-gold,.fh-cal-grid .fh-cal-day.season-blush,.fh-cal-grid .fh-cal-day.season-rose,.fh-cal-grid .fh-cal-day.season-sage{border-top:0;background-image:linear-gradient(to bottom,#e3b96e 0 2px,transparent 2px)}
.fh-cal-grid .fh-cal-day.season-blush{background-image:linear-gradient(to bottom,#db9dba 0 2px,transparent 2px)}
.fh-cal-grid .fh-cal-day.season-rose{background-image:linear-gradient(to bottom,#d78c95 0 2px,transparent 2px)}
.fh-cal-grid .fh-cal-day.season-sage{background-image:linear-gradient(to bottom,#8aab88 0 2px,transparent 2px)}
.fh-cal-day-top{display:flex;align-items:center;justify-content:space-between;gap:2px}
.fh-cal-grid .fh-day-number.daynum{display:grid;place-items:center;min-height:29px;min-width:29px;width:29px;height:29px;border:0;border-radius:50%;padding:0;background:transparent;color:#475a4b;font-size:13px;font-weight:700}
.fh-cal-grid .fh-cal-day.today .fh-day-number{background:#365b45;color:#fff;border-radius:50%;padding:0}
.fh-cal-grid .fh-cal-day.selected-day:not(.today) .fh-day-number{background:#d8e8d6;color:#285039}
.fh-cal-grid .fh-day-create{display:grid;place-items:center;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:#6b8a71;font-size:16px;opacity:.35}
.fh-cal-grid .fh-cal-day:hover .fh-day-create,.fh-cal-grid .fh-day-create:focus-visible{opacity:1;background:#e1ede0}
.fh-cal-grid .cal-holiday{margin:0 0 2px 3px;padding:1px 3px;display:block;max-width:calc(100% - 6px);background:transparent;color:#c17d74;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fh-cal-dots{display:none}
.fh-cal-count{display:none}
.fh-cal-events{display:flex;flex-direction:column;gap:3px}
.fh-cal-grid .fh-event-line.cal-reservation{display:flex;align-items:center;gap:3px;margin:0;min-width:0}
.fh-cal-grid .fh-event-line .checkbox{flex:none;width:12px;height:12px;margin:0}
.fh-cal-grid .fh-event-line .cal-event{flex:1;min-width:0;min-height:26px;margin:0;padding:5px 6px;font-size:10px;line-height:1.2;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:inset 3px 0 #71957c;background:#e8f2e9;color:#355b43;font-weight:700}
.fh-cal-grid .fh-event-line .cal-event.gangdong{background:#f4eae5;color:#815847;box-shadow:inset 3px 0 #c69c84}
.fh-cal-grid .fh-event-line .cal-event.status-cancelled{opacity:.55;text-decoration:line-through}
.fh-cal-grid .fh-event-line .cal-event:focus-visible,.fh-agenda-open:focus-visible,.fh-agenda-task:focus-visible{outline:2px solid #638e71;outline-offset:1px}
.fh-cal-grid .fh-more-events{padding:2px 3px;font-size:10px;line-height:1.35;min-height:20px;color:#5c7a60;border:0;background:transparent;text-align:left}
.fh-cal-grid .fh-todo-mark{display:block;color:#8c815d;font-size:9px;margin-top:4px;padding-left:2px;white-space:nowrap}
.fh-calendar-hint{padding:10px 16px 12px;margin:0;font-size:10px;color:#8c958b;line-height:1.6}
.fh-day-detail{background:#fcfdfb;min-width:0;border-top:1px solid #e5ebe2}
.fh-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 21px 14px;border-bottom:1px solid #e8eee7}
.fh-detail-kicker{font-size:9px;font-weight:700;color:#9aaa9a;letter-spacing:2px}
.fh-detail-head h3{font-size:17px;margin:5px 0 6px;font-weight:700;color:#334c3d}
.fh-detail-head p{font-size:11px;color:#819084;margin:0}
.fh-detail-create{display:flex;gap:4px;flex:none}
.fh-detail-create button{font-size:11px;min-height:32px;padding:6px 8px;background:#eff5ed;color:#3f684c;border:1px solid #dae9d8}
.fh-detail-create button:first-child{background:#375c44;color:#fff;border-color:#375c44}
.fh-agenda-list{padding:7px 14px}
.fh-agenda-item{display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf1eb;padding:5px 2px}
.fh-agenda-item:last-child{border-bottom:0}
.fh-agenda-item>.checkbox{flex:none;width:15px;height:15px}
.fh-agenda-open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;border:0;background:transparent;text-align:left;border-radius:9px;padding:9px 5px;min-height:55px}
.fh-agenda-open:hover{background:#eff6ef}
.fh-agenda-time{font-weight:800;color:#3d6149;font-size:13px;flex:0 0 42px}
.fh-agenda-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.fh-agenda-main strong{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fh-agenda-main small{font-size:11px;color:#879189;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fh-agenda-chevron{font-size:22px;color:#a0afa2}
.fh-agenda-empty{margin:12px 4px 18px;text-align:center;padding:19px 6px;color:#91a093;font-size:12px}
.fh-day-todos{margin:3px 17px 20px;padding:11px 0;border-top:1px dashed #d7e3d5}
.fh-day-todos h4{font-size:12px;color:#61735f;margin:4px 0 10px}
.fh-day-todos h4 span{color:#abb9a8}
.fh-agenda-task{display:block;width:100%;min-height:32px;text-align:left;padding:6px 8px;font-size:12px;background:transparent;border:0;color:#4e6654;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fh-agenda-task.is-done{color:#a0ada0;text-decoration:line-through}
.fh-calendar-panel>.cal-holiday-note{padding:10px 18px;color:#99a39a}
.fh-layout-day .fh-day-detail{border-top:1px solid #e8eee7}
@media(min-width:1320px){
 .fh-calendar-layout:not(.fh-layout-day){grid-template-columns:minmax(0,1fr) 300px}
 .fh-calendar-layout:not(.fh-layout-day) .fh-day-detail{border-top:1px solid #e6ebe5;border-left:1px solid #e6ebe5}
 .fh-calendar-layout:not(.fh-layout-day) .fh-day-detail{position:sticky;top:0;align-self:start}
 .fh-view-week .fh-cal-day.day{min-height:210px}
}


@media(min-width:761px) and (max-width:1319px){
 .fh-calendar-layout:not(.fh-layout-day) .fh-day-detail{display:block}
 .fh-view-week .fh-cal-day.day{min-height:155px}
}
@media(max-width:760px){
 .fh-calendar-panel{border-radius:13px}
 .fh-calendar-panel .fh-calendar-top{padding:12px 12px 10px;gap:9px}
 .fh-month-controls{gap:3px}
 .fh-month-controls h2{font-size:19px;margin:0 6px}
 .fh-month-controls .fh-nav-arrow{width:29px;height:32px;min-width:29px;min-height:32px;font-size:23px;border:none}
 .fh-month-controls .fh-today-button{padding:5px 8px;min-height:30px}
 .fh-view-switch{margin-left:auto}
 .fh-view-switch button{min-width:35px;min-height:31px;padding:5px 8px}
 .fh-calendar-panel .filters{padding:10px 12px;gap:7px}
 .fh-calendar-panel .filters .chips{flex:1 1 auto;justify-content:space-between}
 .fh-calendar-panel .filters .chips button{flex:1;padding:7px 8px}
 .fh-calendar-panel .filters select{font-size:12px;max-width:42%}
 .fh-calendar-meta{padding:9px 12px}
 .fh-season-label{display:block}
 .fh-season-action{margin-left:auto}
 .fh-cal-grid .weekday{padding:7px 0;font-size:10px;min-height:31px}
 .fh-cal-grid .fh-cal-day.day{min-height:68px;padding:5px 2px 5px;border-right:1px solid #edf0ec;border-bottom:1px solid #edf0ec}
 .fh-cal-grid .fh-day-number.daynum{width:28px;height:28px;min-width:28px;min-height:28px;font-size:12px}
 .fh-cal-grid .fh-day-create{display:none}
 .fh-cal-grid .cal-holiday{font-size:8px;margin:0 2px;line-height:1.15}
 .fh-cal-dots{display:flex;gap:3px;margin:6px 2px 0;align-items:center;justify-content:center}
 .fh-cal-dots i{height:5px;width:5px}
 .fh-cal-count{display:block;text-align:center;font-size:9px;color:#57715e;font-weight:700;margin-top:2px;line-height:1.3}
 .fh-cal-events,.fh-cal-grid .fh-todo-mark{display:none}
 .fh-cal-day-top{justify-content:center}
 .fh-calendar-hint{padding:9px 13px;font-size:10px}
 .fh-detail-head{padding:14px 13px 12px}
 .fh-detail-head h3{font-size:16px}
 .fh-detail-create{flex-direction:column}
 .fh-detail-create button{min-height:29px;padding:5px 8px}
 .fh-agenda-list{padding:4px 10px}
 .fh-agenda-open{min-height:62px}
}
@media(max-width:390px){
 .fh-month-controls h2{font-size:17px;margin:0 3px}
 .fh-month-controls .fh-nav-arrow{width:25px;min-width:25px}
 .fh-calendar-panel .fh-calendar-top{gap:6px}
 .fh-view-switch button{padding:5px 6px}
}
@media(prefers-reduced-motion:reduce){.fh-cal-grid *{scroll-behavior:auto}}

/* Preview UI v2: one-line preference memo, branch colours and seasonal art */
.customer-entry .customer-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:end;padding:13px 0 0;margin:15px 0 0;border-top:1px solid #e8eee7;min-width:0}
.customer-entry .customer-note>label{grid-column:1/-1;font-size:12px;font-weight:700;color:#476650}
.customer-entry .customer-note input[name="preferenceNote"]{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:42px;padding:9px 11px;border:1px solid #cddbd0;border-radius:9px;background:#fff;font-size:14px;white-space:nowrap}
.customer-entry .customer-note button{height:42px;white-space:nowrap}
.fh-calendar-panel .fh-legend i.dunchon,.fh-calendar-panel .fh-cal-dots i.dunchon,.fh-calendar-panel .fh-agenda-dot.dunchon{background:var(--fh-dunchon)}
.fh-calendar-panel .fh-legend i.gangdong,.fh-calendar-panel .fh-cal-dots i.gangdong,.fh-calendar-panel .fh-agenda-dot.gangdong{background:var(--fh-gangdong)}
.fh-calendar-panel .fh-cal-grid .cal-event.dunchon{background:color-mix(in srgb,var(--fh-dunchon) 15%,white);box-shadow:inset 3px 0 var(--fh-dunchon)}
.fh-calendar-panel .fh-cal-grid .cal-event.gangdong{background:color-mix(in srgb,var(--fh-gangdong) 15%,white);box-shadow:inset 3px 0 var(--fh-gangdong)}
.fh-calendar-panel .fh-agenda-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px}
.fh-calendar-panel .fh-color-settings,.fh-calendar-panel .fh-art-setting{min-height:29px;padding:5px 9px;border:1px solid #dce7db;border-radius:8px;background:#f7faf6;color:#43634b;font-size:11px;white-space:nowrap}
.fh-calendar-panel .fh-art-setting b{margin-left:5px;padding:3px 6px;border-radius:5px;background:#dce4dc;color:#667568}
.fh-calendar-panel .fh-art-setting.is-active b{background:#3d664b;color:white}
.fh-calendar-panel .fh-season-label{margin-left:0}
.fh-colors-form{display:grid;gap:12px}.fh-colors-form label{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #e9eee6}
.fh-colors-form input[type=color]{width:62px;height:40px;padding:2px;border:1px solid #d9e4d8;border-radius:8px}
.fh-calendar-panel .fh-cal-grid .fh-cal-day.day{min-height:137px;overflow:hidden}
.fh-calendar-panel .fh-cal-grid .fh-cal-day>*:not(.fh-season-icon){position:relative;z-index:1}
.fh-calendar-panel .fh-cal-grid .fh-season-icon{position:absolute;right:0;bottom:0;width:65px;height:65px;opacity:.36;object-fit:contain;pointer-events:none;z-index:0}
.fh-calendar-panel .fh-cal-grid .fh-season-mini{display:block;width:max-content;max-width:100%;padding:2px 5px;margin:2px 0 5px;border:1px solid #f2dfe5;border-radius:5px;background:#fff3f6;color:#9a7189;font-size:9px;font-weight:700}
.fh-calendar-panel .fh-cal-grid .fh-cal-events{z-index:2}
@media(max-width:760px){.customer-entry .customer-note{grid-template-columns:1fr}.customer-entry .customer-note button{width:100%}.customer-entry .customer-note input[name="preferenceNote"]{font-size:16px}.fh-calendar-panel .fh-calendar-meta{gap:7px}.fh-calendar-panel .fh-legend{width:100%}.fh-calendar-panel .fh-cal-grid .fh-cal-day.day{min-height:75px}.fh-calendar-panel .fh-cal-grid .fh-season-icon{width:38px;height:38px;opacity:.46}.fh-calendar-panel .fh-cal-grid .fh-season-mini{display:none}}

/* FLOWER HANA seasonal background bands, October 2026 preview */
.fh-calendar-panel .fh-google-layout{grid-template-columns:repeat(7,minmax(0,1fr))}
.fh-calendar-panel .fh-google-layout>.weekday{min-width:0}
.fh-calendar-panel .fh-google-layout>.fh-calendar-week{position:relative;grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));isolation:isolate}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day{position:relative;z-index:0;min-width:0;min-height:118px;overflow:hidden;background:#fff;background-image:none;border-top:0;padding-top:8px}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day.outside{background:#fafbf9}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day.selected-day{background:#f2f7f1}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day:hover{background:#f7faf6}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-season-slot{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day>*:not(.fh-season-slot){position:relative;z-index:3}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar{position:absolute;z-index:1;pointer-events:none;left:calc(100%/7*var(--fh-start) + 2px);width:calc(100%/7*var(--fh-span) - 4px);bottom:calc(7px + 13px*var(--fh-lane));height:11px;min-height:0;border-radius:4px;padding:0 5px;overflow:hidden;display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:8px;line-height:11px;font-weight:700;letter-spacing:-.02em;box-shadow:none;border:0;opacity:1}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar.continues-left{border-top-left-radius:0;border-bottom-left-radius:0}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar.continues-right{border-top-right-radius:0;border-bottom-right-radius:0}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar .fh-season-band-mark{flex:none;width:3px;height:7px;border-radius:2px;background:currentColor;opacity:.32}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar .fh-season-band-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.62}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar.tone-blush{background:rgba(220,171,190,.27);color:#815f70}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar.tone-rose{background:rgba(212,154,158,.25);color:#865e62}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar.tone-gold{background:rgba(224,198,139,.27);color:#78663f}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar.tone-sage{background:rgba(158,190,158,.27);color:#526e56}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day>.fh-season-icon,.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day>.fh-season-mini{display:none!important}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-events,.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-day-create,.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .cal-holiday{position:relative;z-index:4}
@media(min-width:1320px){.fh-calendar-panel .fh-google-layout.fh-view-week .fh-calendar-week>.fh-cal-day{min-height:196px}}
@media(min-width:761px) and (max-width:1319px){.fh-calendar-panel .fh-google-layout.fh-view-week .fh-calendar-week>.fh-cal-day{min-height:144px}}
@media(max-width:760px){
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day{min-height:69px;padding:5px 2px}
 .fh-calendar-panel .fh-google-layout .fh-week-season-bar{left:calc(100%/7*var(--fh-start) + 1px);width:calc(100%/7*var(--fh-span) - 2px);bottom:calc(16px*var(--fh-lane));height:16px;border-radius:3px;padding:0 3px;gap:2px;font-size:12px!important;line-height:16px;letter-spacing:0}
 .fh-calendar-panel .fh-google-layout .fh-week-season-bar .fh-season-band-mark{width:2px;height:4px;opacity:.28}
 .fh-calendar-panel .fh-google-layout .fh-week-season-bar .fh-season-band-text{display:block;opacity:1}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-dots{margin-top:3px}
}

/* Calendar readability refinement: centered branch dots, top date labels, explicit TODAY */
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-day-top{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-day-heading{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .cal-holiday{position:static;z-index:auto;display:block;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-today-tag{flex:none;padding:2px 5px;border-radius:999px;background:#365b45;color:#fff;font-size:8px;font-weight:800;line-height:1.1;letter-spacing:.05em}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-dots{position:absolute!important;z-index:5;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:4px;margin:0!important;pointer-events:none}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-count{position:absolute;z-index:5;top:calc(50% + 8px);left:50%;transform:translateX(-50%);display:block;margin:0;white-space:nowrap;pointer-events:none}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-events{position:relative;z-index:6;margin-top:20px}
.fh-calendar-panel .fh-google-layout .fh-week-season-bar{z-index:1}
@media(max-width:760px){
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-day-top{gap:1px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-day-heading{gap:2px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-today-tag{padding:1px 3px;font-size:6px;letter-spacing:0}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .cal-holiday{font-size:7px;max-width:34px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-dots{top:55%;gap:3px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-count{top:calc(55% + 7px);font-size:8px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-events{margin-top:0}
}

/* Keep the center markers in their own row and foreground above sibling season bands. */
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day{z-index:auto;display:grid;grid-template-rows:minmax(min-content,1fr) 28px minmax(min-content,1fr)}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-day-top{grid-row:1;align-self:start}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-day-heading{display:grid;grid-template-columns:29px minmax(0,1fr);gap:2px 4px;flex:1;overflow:visible}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-day-number{grid-column:1;grid-row:1;flex:none}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .cal-holiday{grid-column:2;grid-row:1;max-width:100%;align-self:center}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-today-tag{grid-column:1/-1;grid-row:2;justify-self:start;font-size:8px}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-day-create{align-self:start}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-events{grid-row:3;align-self:start;margin-top:0;padding-top:4px;min-width:0}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-dots{top:50%}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-count{top:calc(50% + 8px)}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day.today{box-shadow:inset 0 0 0 2px #365b45}
@media(max-width:760px){
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day{display:block;min-height:92px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-day-heading{grid-template-columns:24px minmax(0,1fr);gap:2px 1px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-day-number{width:24px;height:24px;min-width:24px;min-height:24px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-today-tag{font-size:7px;padding:2px 4px}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .cal-holiday{font-size:7px;max-width:100%}
 .fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day .fh-cal-events{display:none}
}


/* Unified marker-only calendar, isolated review prototype. */
.fh-calendar-panel .fh-calendar-layout:not(.fh-layout-day){grid-template-columns:minmax(0,1fr)!important}
.fh-calendar-panel .fh-calendar-layout:not(.fh-layout-day)>.fh-day-detail{display:none!important}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day{display:grid!important;grid-template-rows:44px minmax(32px,1fr) 44px;min-height:132px!important;z-index:auto}
.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day>.fh-marker-zone{grid-row:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;position:relative;z-index:5;min-width:0;pointer-events:none}
.fh-marker-wrap{display:flex;gap:5px;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;padding:0 5px;box-sizing:border-box}
.fh-booking-marker,.fh-task-marker{display:block;width:7px;height:7px;flex:0 0 7px;background:#4e6658}
.fh-booking-marker{border-radius:50%}.fh-task-marker{border-radius:1px}.fh-task-marker.is-done{opacity:.4}
.fh-marker-zone small{font-size:9px;color:#6b7b70;line-height:1.2;text-align:center}
.fh-task-marker.is-important{animation:fh-important-pulse 1.4s ease-in-out infinite}
@keyframes fh-important-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #bd727920}50%{opacity:.3;box-shadow:0 0 0 3px #bd727925}}
.fh-day-popup{position:fixed;z-index:65;background:#fffefb;border:1px solid #d7e1d6;border-radius:16px;box-shadow:0 18px 55px #223b3329;overflow:auto;font-family:inherit;color:#344c41;box-sizing:border-box}
.fh-day-popup>header{position:sticky;top:0;z-index:2;background:#fffefb;display:flex;justify-content:space-between;align-items:center;padding:17px 18px 12px;border-bottom:1px solid #eef0ea}
.fh-day-popup header small{font-size:9px;letter-spacing:1.5px;color:#89998c}.fh-day-popup h2{font-size:17px;margin:5px 0 0}
.fh-day-popup [data-popup-close]{border:0;background:#eff3ec;border-radius:50%;width:32px;height:32px;min-height:32px;min-width:32px;padding:0;color:#344c41}
.fh-popup-content{padding:4px 18px 16px}.fh-popup-summary{font-size:11px;color:#849084}.fh-day-popup h3{font-size:11px;color:#8b9789;margin:18px 0 6px}
.fh-popup-row{display:flex;gap:10px;align-items:center;width:100%;background:transparent;border:0;border-bottom:1px solid #f0f1eb;border-radius:0;padding:12px 0;text-align:left;min-width:0}
.fh-popup-row>i{width:7px;height:7px;flex:none;border-radius:50%}.fh-popup-row>i.fh-task-marker{border-radius:1px}.fh-popup-row>span:nth-child(2){flex:1;min-width:0}.fh-popup-row b{display:block;font-size:12px;line-height:1.5}.fh-popup-row small{display:block;font-size:10px;color:#89958b;margin-top:3px;overflow-wrap:anywhere}
.fh-popup-actions{display:flex;gap:7px;margin-top:20px}.fh-popup-actions button{flex:1;font-size:11px;background:#eff4eb;border:0;color:#365d44;padding:10px}
.fh-popup-actions{flex-wrap:wrap}.fh-popup-actions [data-popup-naver-import]{flex:1 0 100%;background:#dce9df;color:#254d35;font-weight:700}
.fh-day-popup>footer{font-size:10px;text-align:center;padding:9px;background:#f7f8f2;color:#9aa292}
@media(max-width:760px){.fh-calendar-panel .fh-google-layout .fh-calendar-week>.fh-cal-day{min-height:124px!important;grid-template-rows:42px minmax(30px,1fr) 42px}.fh-booking-marker,.fh-task-marker{width:6px;height:6px;flex-basis:6px}.fh-marker-wrap{gap:3px}.fh-marker-zone small{font-size:7px}.fh-day-popup{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.fh-task-marker.is-important{animation:none;outline:2px solid #bd727940;outline-offset:2px}}

/* One full-width preference field under its label. */
.customer-entry .customer-note{grid-template-columns:minmax(0,1fr);gap:10px}
.customer-entry .customer-note>label{display:grid;gap:9px;min-width:0}
.customer-entry .customer-note button{justify-self:end}
@media(max-width:760px){.customer-entry .customer-note button{justify-self:stretch}}

.reservation-search-hint{flex-basis:100%;color:var(--muted);font-size:11px}.filters #reservation-search-submit{flex-shrink:0}#reservation-move-form input{display:block;width:100%;max-width:100%;margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:16px}

/* Customer history remains reachable without expanding the whole page. */
.customer-orders{max-height:320px;max-height:min(320px,45vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:5px;-webkit-overflow-scrolling:touch}
.customer-orders:focus-visible{outline:2px solid #557b64;outline-offset:3px}
