@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{font-family:Noto Sans JP,sans-serif;color:#25423e;background:#f7f7f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dcad67;outline-offset:3px}main{max-width:1040px;padding:0 36px;margin:auto}header{height:100px;border-bottom:1px solid #dce1d9;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:inherit;font-weight:700;font-size:20px;letter-spacing:.07em}.logo{font-size:34px;color:#448477;vertical-align:middle}.tag,.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:600}.tag{color:#7b8c83}.intro{padding:48px 0 34px}.intro .eyebrow{color:#598176}h1{font-size:40px;letter-spacing:.05em;margin:12px 0;font-weight:600;line-height:1.5}.intro p,.muted{font-size:14px;color:#77867c}.mobile{display:none}.grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}.card,.status{border:1px solid #dce1d9;border-radius:22px;background:#fff;padding:30px}.status{background:#e8f0e6;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:460px;position:relative}.status.occupied{background:#f5ecda}.topline{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:13px}.textbtn{border:0;background:none;color:#608174;font-size:12px;padding:7px}.bath-icon{font-size:88px;line-height:1.2;margin:24px;color:#497e69;font-family:serif}.pill{border:1px solid #bfd1bd;background:#f7faf3;padding:7px 16px;border-radius:30px;font-size:13px;display:flex;align-items:center;gap:8px}.pill i{width:7px;height:7px;border-radius:100%;background:#5d8b62}.occupied .pill i{background:#ba8943}.status h2{font-size:24px;letter-spacing:.04em;margin:20px 0 0}.status p{font-size:12px;line-height:1.8;color:#748474}.sync{margin-top:auto;padding-top:26px;font-size:10px;color:#7b8a79}.expected{font-size:13px;margin:10px}.expected strong{margin-left:10px}.expected small{display:block;margin-top:10px;font-size:10px;color:#89764e}.action h2,.reservations h2{font-size:20px;margin:0}.muted{font-size:12px;margin-bottom:26px}label{display:block;font-size:12px;margin-bottom:8px;font-weight:500}input,select{width:100%;border:1px solid #dce1d9;border-radius:9px;background:#fff;padding:12px;color:#25423e;font-size:14px}input::placeholder{color:#a7afa5}.tabs{display:flex;background:#f1f3ec;border-radius:10px;padding:4px;margin:20px 0}.tabs button{width:50%;padding:10px;border:0;border-radius:7px;color:#748474;background:transparent;font-size:13px}.tabs button[aria-pressed=true]{background:#fff;color:#315e4e;box-shadow:0 2px 4px #243c2910}select{margin-bottom:20px}#start{margin-bottom:16px}.primary{display:block;width:100%;border:0;background:#365f50;color:#fff;border-radius:9px;padding:14px;font-size:14px;font-weight:500}.hint{font-size:10px;text-align:center;color:#8b9589;margin:12px 0 0}.message{min-height:40px;padding:10px 4px;font-size:13px;color:#47725c}.error{color:#a34b35}.reservations{margin-bottom:36px}.sectionhead{display:flex;justify-content:space-between;align-items:center}.sectionhead .eyebrow{font-size:9px;color:#899485}.sectionhead h2{margin-top:6px}.count{background:#eff2e9;font-size:12px;border-radius:20px;padding:6px 13px}.empty{text-align:center;padding:24px;color:#81907e;font-size:13px}.empty>span{font-size:32px;color:#afbaa6}.empty small{font-size:11px}.booking{display:flex;align-items:center;gap:22px;padding:20px 0;border-top:1px solid #e9ece4;margin-top:14px;font-size:13px}.booking>div{min-width:170px}.booking small{display:block;color:#7a8877;font-size:11px}.booking strong{display:block;font-size:18px;margin-top:4px}.booking em{font-style:normal;color:#abb4a6;margin:0 6px}.booking .textbtn{margin-left:auto}.booking .you{display:inline;background:#edf2e8;padding:2px 5px;font-size:9px;margin-left:4px}footer{text-align:center;padding:5px 0 40px;color:#899382}footer .logo{font-size:28px}footer p{font-size:12px}footer small{display:block;font-size:10px;line-height:1.9}@media(max-width:680px){main{padding:0 20px}header{height:78px}.brand{font-size:17px}.tag{font-size:9px}.intro{padding:30px 0 25px}h1{font-size:32px}.grid{grid-template-columns:1fr;gap:18px}.card,.status{padding:24px;border-radius:18px}.status{min-height:355px}.bath-icon{font-size:70px;margin:18px}.status h2{font-size:22px;margin-top:15px}.booking{gap:12px;flex-wrap:wrap}.booking>div{min-width:145px}.booking strong{font-size:16px}.intro p{font-size:12px}footer small{font-size:9px}}.privacy{font-size:12px;line-height:1.9;color:#738471;background:#f4f6ef;padding:12px 14px;border-radius:9px;margin:18px 0}.action .muted{margin-bottom:16px}.next-button{margin-top:16px;width:100%;border:1px solid #a89269;background:#fffaf0;color:#6b5837;border-radius:9px;padding:13px 10px;font-size:13px;font-weight:500}.duration{margin:0 0 20px;padding:0;border:0}.duration legend{font-size:12px;font-weight:500;margin-bottom:8px}.duration-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.duration-buttons button{border:1px solid #dce1d9;background:#fff;color:#617466;border-radius:9px;padding:10px;font-size:13px}.duration-buttons button[aria-pressed=true]{background:#e8f0e6;border-color:#668b72;color:#315e4e;font-weight:600}.reservation-summary{font-size:13px;color:#365f50;margin:0 0 14px}.exit-reminder:empty{display:none}.exit-reminder{margin:16px 0;padding:14px;background:#fff6e7;border:1px solid #d9bd89;border-radius:10px;width:100%;text-align:left}.exit-reminder strong{font-size:16px}.exit-reminder p{margin:6px 0 0;color:#83673f;font-size:12px}.booking{flex-wrap:wrap}.booking .textbtn{margin-left:0}.calendar-help{margin-top:18px;color:#71816e;font-size:11px;line-height:1.9}.calendar-help summary{cursor:pointer}.calendar-help p{max-width:650px}.timeline{margin-top:24px}.timeline-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.timeline-toolbar label{margin:0;font-size:11px}.timeline-toolbar input{margin-top:6px;padding:8px 10px;font-size:13px;width:170px}.timeline-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#667b6c}.timeline-legend span{display:flex;align-items:center;gap:5px}.timeline-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.free{background:#e3f2de}.booked{background:#9aacc7}.mine{background:#408b79}.current{background:#e3b564}.timeline-instruction{font-size:12px;color:#56745d;margin:18px 0 22px}.timeline-row{margin-bottom:20px}.timeline-hours{display:flex;justify-content:space-between;font-size:10px;color:#70836f;margin-bottom:8px;font-variant-numeric:tabular-nums}.timeline-track{position:relative;height:66px;background:#edf0e9;border-radius:9px;overflow:hidden;border:1px solid #d4dfd0}.timeline-segment{position:absolute;top:0;height:100%;border:0;border-right:2px solid #fff;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;border-radius:0;color:#355d3b;min-width:0;font-size:11px;line-height:1.7}.timeline-segment:disabled{opacity:1;cursor:default}.timeline-segment.free:not(:disabled):hover{background:#c4e4ba;box-shadow:inset 0 0 0 2px #739a63}.timeline-segment span{display:block;max-width:100%;overflow:hidden;white-space:nowrap;padding:0 3px}.timeline-segment small{display:block;font-size:9px}.timeline-segment.booked{color:#243c60}.timeline-segment.mine{color:#fff}.timeline-segment.current{color:#654d24}.timeline-segment.past{background:repeating-linear-gradient(135deg,#e8ece4,#e8ece4 4px,#f1f3ed 4px 8px);color:#9aa395}.timeline-warning{font-size:11px;color:#886329;background:#fff4df;padding:10px;border-radius:8px}.own-bookings{margin-top:20px;font-size:12px;color:#4e705b}.own-bookings summary{cursor:pointer}.timeline-segment:focus-visible{outline-offset:-3px;z-index:2}@media(max-width:680px){.timeline-toolbar{align-items:flex-start}.timeline-legend{gap:9px;font-size:10px}.timeline-hours{font-size:9px}.timeline-track{height:60px}.timeline-segment{font-size:9px}.timeline-segment small{font-size:8px}.timeline-instruction{font-size:11px}.timeline-toolbar input{width:155px}.reservations{padding:22px 16px}}header+.grid{margin-top:28px}.topline{justify-content:flex-end}.reservation-list{margin-top:28px}.reservation-list h3{font-size:13px;font-weight:500;margin:0;color:#5b735e}.booking-status{font-size:11px;background:#e9eef5;color:#445b7a;border-radius:20px;padding:5px 10px}.mine-label{background:#e0eee7;color:#2d6b58}.topline{justify-content:space-between}.calendar-google{text-decoration:none;display:inline-block}.recovery{margin:0 0 28px;border:1px solid #dce1d9;padding:18px 22px;border-radius:14px;background:#fff;font-size:12px;line-height:1.9}.recovery summary{cursor:pointer}.recovery p{color:#71816e;font-size:11px}.recovery-code{display:block;overflow-wrap:anywhere;padding:10px;background:#f2f5ee;margin:10px 0}.recovery-input{display:flex;gap:10px}.recovery-input input{flex:1;min-width:0}.recovery-input .primary{width:auto;white-space:nowrap}
