:root{color:#1d252b;font-synthesis:none;-webkit-text-size-adjust:100%;background:#f4f5f6;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}html{background:#f4f5f6}body{background:#f4f5f6;min-width:320px;min-height:100dvh;margin:0}button,a,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.page{width:min(100%,680px);padding:22px 14px calc(40px + env(safe-area-inset-bottom));margin:0 auto}.test-operation-banner{color:#7a4b00;text-align:center;letter-spacing:.04em;background:#fff7df;border:1px solid #d9a441;border-radius:12px;margin:0 0 14px;padding:10px 14px;font-size:14px;font-weight:900}.app-header{padding:2px 4px 18px}.eyebrow,.step-label{color:#6c757c;letter-spacing:.11em;margin:0 0 5px;font-size:11px;font-weight:800}h1{letter-spacing:-.02em;margin:0;font-size:clamp(25px,7vw,34px);line-height:1.2}.lead{color:#657078;margin:9px 0 0;font-size:14px;line-height:1.65}.error-panel{color:#733;background:#fff4f4;border:1px solid #e0b6b6;border-radius:13px;gap:6px;margin-bottom:16px;padding:14px;font-size:13px;display:grid}.error-panel code{white-space:nowrap;background:#ffffffbf;border-radius:7px;padding:7px 9px;overflow-x:auto}.calendar-card{background:#fff;border:1px solid #dde1e4;border-radius:18px;overflow:hidden;box-shadow:0 7px 26px #1b27300f}.calendar-nav{grid-template-columns:48px 1fr 48px;align-items:center;gap:7px;padding:12px 10px 8px;display:grid}.calendar-nav h2{text-align:center;letter-spacing:.01em;margin:0;font-size:20px}.month-button{color:#263139;border-radius:50%;place-items:center;width:46px;height:46px;font-size:34px;line-height:1;text-decoration:none;display:grid}.month-button:active{background:#eef0f2}.calendar-help{color:#747d83;justify-content:center;align-items:center;gap:7px;padding:0 10px 12px;font-size:11px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.available{background:#397654}.status-dot.full{background:#b8bec2;margin-left:8px}.weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday{color:#6e777d;text-align:center;background:#fafafa;border-top:1px solid #edf0f1;border-bottom:1px solid #edf0f1;padding:8px 0;font-size:11px;font-weight:800}.weekday.sun,.calendar-cell.sun .day-number{color:#a14e4e}.weekday.sat,.calendar-cell.sat .day-number{color:#4a678d}.calendar-cell{background:#fff;border-bottom:1px solid #f0f1f2;border-right:1px solid #f0f1f2;min-width:0;min-height:72px}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.empty{background:#fafbfb}.date-button{color:#273139;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;width:100%;min-height:72px;padding:8px 2px 6px;display:flex}.date-button:not(:disabled):active{background:#f0f5f2}.date-button:disabled{cursor:default;opacity:.44}.day-number{border-radius:50%;place-items:center;width:31px;height:31px;font-size:15px;font-weight:800;display:grid}.date-button.today .day-number{color:#fff;background:#28343b}.date-button.has-availability:not(.today) .day-number{color:#265d3f;background:#eef7f1}.day-status{color:#8a9196;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:9px;font-weight:700;line-height:1.2;overflow:hidden}.date-button.has-availability .day-status{color:#397654;letter-spacing:.01em;font-size:12px;font-weight:900;line-height:1.25}.day-status-list{white-space:normal;text-overflow:clip;gap:2px;display:grid;overflow:visible}.day-status-list>span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.15;display:block;overflow:hidden}.privacy-note{color:#737d84;margin:14px 5px 0;font-size:12px;line-height:1.65}.desktop-summary{display:none}.sheet-dialog{background:0 0;border:0;border-radius:22px 22px 0 0;width:100%;max-width:none;height:auto;max-height:min(92dvh,860px);margin:0;padding:0;inset:auto 0 0;box-shadow:0 -15px 50px #0000002e}.sheet-dialog::backdrop{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#12191e7a}.sheet-card{max-height:min(92dvh,860px);padding:7px 16px calc(22px + env(safe-area-inset-bottom));overscroll-behavior:contain;background:#fff;border-radius:22px 22px 0 0;overflow-y:auto}.sheet-handle{background:#d5d9dc;border-radius:99px;width:42px;height:5px;margin:2px auto 12px}.sheet-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:17px;display:flex}.sheet-header h2{margin:0;font-size:22px;line-height:1.3}.sheet-header p:not(.step-label){color:#707980;margin:5px 0 0;font-size:13px}.icon-button{color:#38444b;cursor:pointer;background:#f0f2f3;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding:0;font-size:26px;line-height:1;display:grid}.time-list{gap:16px;display:grid}.slot-item-group{gap:8px;display:grid}.slot-item-heading{color:#263a30;margin:0;padding:0 2px;font-size:15px;font-weight:900}.slot-item-times{gap:10px;display:grid}.time-option{color:#263139;text-align:left;cursor:pointer;background:#fff;border:1px solid #d7dee1;border-radius:14px;grid-template-columns:1fr auto 24px;align-items:center;gap:10px;width:100%;min-height:70px;padding:12px 13px 12px 15px;display:grid}.time-option:active:not(.disabled){background:#f3f8f5;border-color:#7d9588}.time-main{gap:2px;display:grid}.time-main strong{font-size:18px}.time-main small{color:#49725b;font-size:12px;font-weight:700}.time-remaining{color:#315f46;white-space:nowrap;font-size:12px;font-weight:800}.chevron{color:#90989d;font-size:29px;line-height:1}.time-option.disabled{color:#899096;cursor:default;background:#f7f7f7;border-color:#e6e8e9}.time-option.disabled .time-main small,.time-option .muted{color:#9a9fa3}.reservation-sheet-card{padding-bottom:env(safe-area-inset-bottom)}.reservation-header{margin-bottom:12px}.selected-slot-card{color:#24332a;text-align:left;cursor:pointer;background:#f3f8f5;border:1px solid #cfdbd4;border-radius:14px;grid-template-columns:1fr auto 22px;align-items:center;gap:10px;width:100%;padding:13px 13px 13px 15px;display:grid}.selected-slot-card>span:first-child{gap:2px;display:grid}.selected-slot-card small{color:#66746c;font-size:10px;font-weight:700}.selected-slot-card strong{font-size:16px}.selected-slot-card #selected-time{font-size:14px}.selected-slot-meta{color:#386049;white-space:nowrap;font-size:12px;font-weight:800}.pending-note{color:#56615a;background:#f5f7f6;border-left:4px solid #899b90;margin:12px 1px 18px;padding:11px 12px;font-size:12px;line-height:1.6}.form-stack{gap:16px;padding-bottom:14px;display:grid}.field{gap:7px;display:grid}.field>span{color:#323b41;font-size:13px;font-weight:800}.field em{color:#a24d4d;margin-left:4px;font-size:10px;font-style:normal}.field input,.field textarea{color:#20282e;background:#fff;border:1px solid #cbd2d6;border-radius:11px;outline:none;width:100%;min-height:50px;padding:12px 13px;font-size:16px}.field textarea{resize:vertical;min-height:92px}.field input:focus,.field textarea:focus{border-color:#607a6b;box-shadow:0 0 0 3px #4971591c}.people-input-wrap{background:#fff;border:1px solid #cbd2d6;border-radius:11px;grid-template-columns:1fr 38px;align-items:center;display:grid}.people-input-wrap:focus-within{border-color:#607a6b;box-shadow:0 0 0 3px #4971591c}.people-input-wrap input{border:0;box-shadow:none!important}.people-input-wrap>span{color:#687279;font-size:14px}.form-error{color:#873232;background:#fff3f3;border:1px solid #e0b4b4;border-radius:10px;margin:3px 0 14px;padding:12px 13px;font-size:13px;font-weight:700;line-height:1.55}.sticky-submit{z-index:3;padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;border-top:1px solid #e6e8e9;margin:0 -16px;position:sticky;bottom:0}.primary-button{color:#fff;cursor:pointer;background:#263a30;border:0;border-radius:13px;width:100%;min-height:54px;padding:0 18px;font-size:16px;font-weight:800}.primary-button:active{transform:translateY(1px)}.primary-button:disabled{cursor:wait;opacity:.6}.sticky-submit p{color:#7b8388;text-align:center;margin:7px 0 0;font-size:10px}.success-view{text-align:center;min-height:55dvh;padding:24px 0 0}.success-mark{color:#356047;background:#edf5f0;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:30px;font-weight:900;display:grid}.success-view h2{margin:0 0 8px;font-size:23px}.success-view>p:not(.step-label){color:#667078;max-width:330px;margin:0 auto;font-size:13px;line-height:1.65}.receipt{text-align:left;border:1px solid #dde2e4;border-radius:13px;margin:22px 0;overflow:hidden}.receipt>div{border-bottom:1px solid #e7eaeb;grid-template-columns:88px 1fr;gap:10px;padding:13px;display:grid}.receipt>div:last-child{border-bottom:0}.receipt dt{color:#727b81;font-size:12px;font-weight:700}.receipt dd{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:800}.success-submit{margin-top:18px}@media (width>=700px){.page{padding-top:34px}.calendar-cell,.date-button{min-height:86px}.day-number{width:36px;height:36px;font-size:17px}.day-status{font-size:11px}.date-button.has-availability .day-status{font-size:13px}.sheet-dialog{border-radius:20px;width:min(640px,100% - 36px);margin:auto;inset:0}.sheet-card{border-radius:20px;padding-bottom:24px;padding-left:24px;padding-right:24px}.sticky-submit{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.desktop-summary{color:#80888d;text-align:center;margin-top:15px;font-size:12px;display:block}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
