:root{--ink:#493b36;--muted:#6f7e78;--paper:#fffdf9;--cream:#f6efe4;--terracotta:#c77e65;--green:#2f6656;--line:#ded4c8}*{box-sizing:border-box}body{margin:0;background:#fbf7ef;color:var(--ink);font:16px/1.4 Inter,ui-sans-serif,system-ui,sans-serif}button,input,select,textarea{font:inherit}header{height:72px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;background:#bd7b64;color:white}header a{color:white;text-decoration:none;font-weight:750}header strong{line-height:.75;font-size:18px}main{width:min(1200px,calc(100% - 32px));margin:0 auto 80px}.hero{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:40px 0 28px}.eyebrow{margin:0;color:#826e64;font-size:12px;font-weight:800;letter-spacing:.22em}.hero h1{font:700 clamp(36px,6vw,64px)/1 Georgia,serif;margin:8px 0;color:var(--ink)}.hero p:last-child{margin:0;color:var(--muted)}button{border:1px solid var(--line);border-radius:14px;padding:12px 18px;background:var(--paper);color:var(--ink);cursor:pointer;font-weight:700}.primary{background:var(--terracotta);color:white;border-color:transparent}.ghost{background:transparent}.panel{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 40px #60433212;margin-bottom:30px}.form-head,.range-title,.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-head h2,.section-title h2{font:700 28px Georgia,serif;margin:0 0 18px}.fields{display:grid;grid-template-columns:2fr 1.3fr .8fr 1.3fr;gap:14px}label{display:grid;gap:6px;font-weight:750}input,select,textarea{width:100%;border:1px solid #bdcec4;background:white;border-radius:12px;padding:11px 12px;color:var(--ink)}textarea{resize:vertical;margin:14px 0}.range-title h3{margin:8px 0}.range{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:end;gap:10px;background:var(--cream);padding:12px;border-radius:14px;margin:8px 0}.remove{padding:10px 14px;color:#9a483b}.events{display:grid;gap:12px}.event{display:grid;grid-template-columns:1fr auto;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px}.event h3{font:700 24px Georgia,serif;margin:0 0 6px}.event p{margin:4px 0;color:var(--muted)}.event-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.linkbox{grid-column:1/-1;display:flex;gap:8px;background:var(--cream);padding:10px;border-radius:12px}.linkbox input{padding:8px}.empty{text-align:center;padding:50px;background:var(--paper);border:1px dashed var(--line);border-radius:22px;color:var(--muted)}#formMessage{color:var(--green);font-weight:700}@media(max-width:760px){header{height:60px}.hero{align-items:stretch;flex-direction:column;padding-top:26px}.fields{grid-template-columns:1fr 1fr}.range{grid-template-columns:1fr 1fr}.range label:first-child{grid-column:1/-1}.event{grid-template-columns:1fr}.event-actions{justify-content:flex-start}.linkbox{flex-direction:column}}@media(max-width:440px){.fields{grid-template-columns:1fr}.range{grid-template-columns:1fr 1fr}.hero h1{font-size:40px}}

.range-count{grid-column:1/-1;justify-self:end;color:#9a5c47;font-size:13px;font-weight:750;margin-top:-5px}.range-count[data-empty=true]{color:#a04f43}
.slot-preview{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;background:#fbefe5;border:1px solid #ead6c7;border-radius:14px;padding:12px 16px;margin:14px 0;color:#5b463e}
.slot-preview strong{font:700 20px Georgia,serif;color:#9c5844}.slot-preview span{font-size:14px}.slot-preview[data-warning=true]{border-color:#dca990;background:#fff4ea}

.booking-notice{background:#f7e8dd;border:1px solid #e7bba5;border-radius:14px;padding:12px 16px;color:#8e4c39;font-weight:750}
.notice-count{display:inline-block;margin-left:4px;background:#f6dfd1;color:#8e4c39;border-radius:99px;padding:2px 8px;font-size:12px}
.bookings{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}
.bookings h4{margin:0 0 12px;font:700 20px Georgia,serif}
.booking-list{display:grid;gap:6px}
.booking-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.5fr;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:#faf4eb}
.booking-row time{color:#9a5c47;font-weight:750}.booking-email{overflow-wrap:anywhere;color:var(--muted)}
@media(max-width:760px){.booking-row{grid-template-columns:1fr 1fr}.booking-email{grid-column:1/-1}}

.youkou-header{height:88px;padding:0 24px;background:#bd7b65;color:#fff}
.youkou-header-inner{width:min(1200px,100%);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.youkou-logo{width:132px;height:78px;flex:none;display:block;background:url('/login-logo.png') center/contain no-repeat}
.youkou-header span{font-weight:700;font-size:17px;letter-spacing:.01em}
.youkou-header .back-class{color:white;text-decoration:none;font-weight:750}
@media(max-width:540px){.youkou-header{height:72px;padding:0 14px}.youkou-logo{width:90px;height:62px}.youkou-header span{font-size:13px;text-align:right}}

.youkou-header .youkou-logo{background-size:contain}


.schedule-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.schedule-head h4{margin:0}.schedule-head span{font-size:14px;color:#856e62;font-weight:700}
.meeting-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}
.meeting-day{background:#fffaf5;border:1px solid #eaded3;border-radius:16px;padding:12px}
.meeting-day h5{margin:0 0 10px;font:700 18px Georgia,serif;text-transform:capitalize}
.meeting-slots{display:grid;gap:6px}
.meeting-slot{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 10px;align-items:center;border-radius:10px;padding:9px 10px;background:#f5f2ed}
.meeting-slot.is-booked{background:#f9ece3;border-left:3px solid var(--terracotta)}
.meeting-slot time{font-weight:800;color:#9a614d}.meeting-slot strong,.meeting-slot small{display:block;overflow-wrap:anywhere}
.meeting-slot small{font-size:12px;color:#756b66}.meeting-slot .slot-state{grid-column:2;font-size:11px;color:#8d7567}
.meeting-slot.is-free .slot-state{color:#69776e}
@media(max-width:540px){.meeting-days{grid-template-columns:1fr}.meeting-slot{grid-template-columns:52px minmax(0,1fr)}}


.youkou-header{background:#fffdfa;color:#493b36;border-bottom:1px solid #eadbd1}
.youkou-header .back-class{color:#9c614d}

.reset-area{margin-top:18px;padding-top:14px;border-top:1px solid #e9dbd0}
.reset-link{padding:8px 0;border:0;background:transparent;color:#9d5f4e;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.reset-confirm{margin-top:12px;padding:16px;border:1px solid #e7c7ba;border-radius:16px;background:#fff8f3}
.reset-confirm p{margin:0 0 12px;color:#664c42}.reset-confirm label{max-width:320px;font-size:13px}.reset-confirm input{background:white}
.reset-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.reset-danger{background:#a55243;color:white;border-color:#a55243}.reset-danger:disabled{opacity:.45;cursor:not-allowed}
.reset-confirm .reset-error{color:#a23e31;margin:10px 0 0}
