@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#242b27;background:#f7f8f5;font-synthesis:none;--orange:#d76532;--line:#e1e5df;--muted:#707970}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}a{color:inherit}button,input{font:inherit}button,a.button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d76532;outline-offset:4px}.skip{position:absolute;left:20px;top:-80px;z-index:20}.skip:focus{top:10px;background:white;padding:12px}.shell{display:flex;min-height:100vh}aside{width:244px;background:#191e1b;color:#fff;flex-shrink:0;padding:35px 25px;display:flex;flex-direction:column;position:fixed;height:100vh}.brand{text-decoration:none;display:flex;align-items:center;gap:14px;font-size:11px;line-height:1.6;letter-spacing:1.2px}.monogram{position:relative;display:block;font:800 30px Manrope,sans-serif;letter-spacing:-3px;color:#f19364}.monogram span{font-size:18px;position:absolute;top:-15px;right:-7px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#8a654c}.nav-label{color:#879088;margin:56px 12px 18px}nav{display:grid;gap:8px}nav a{text-decoration:none;padding:15px 14px;border-radius:8px;color:#b6c0b8;display:flex;gap:14px;font-size:19px}nav a span{font-size:13px}nav a:hover{background:#2b332e}nav a.selected{background:#303b32;color:#f4b58f}.aside-bottom{margin-top:auto;padding:24px 10px 0;border-top:1px solid #353d37}.pin{display:block;color:#e39b71;font-size:27px;margin-bottom:12px}.aside-bottom strong{font-size:12px}.aside-bottom p{font-size:12px;line-height:1.8;color:#99a59c}.aside-bottom small{font-size:9px;letter-spacing:2px;color:#76877b;display:block;margin-top:28px}.workspace{margin-left:244px;width:calc(100% - 244px)}header{height:78px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 48px;font-size:12px;background:#fcfdfb}header>div{display:flex;align-items:center;gap:15px}.muted{color:#8d958e;margin-left:8px}.location{color:#707970;font-size:11px}main{max-width:1320px;padding:42px 48px 20px;margin:auto}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}h1,h2,h3{font-family:Manrope,sans-serif;margin:0;font-weight:700}h1{font-size:46px;letter-spacing:-2px;line-height:1.2;margin:14px 0}h1 em{font-style:normal;color:var(--orange)}h2{font-size:23px;letter-spacing:-.7px}h3{font-size:17px}.sub{font-size:14px;color:var(--muted);line-height:1.6}.date-card{text-align:right;border-left:1px solid var(--line);padding-left:30px;display:grid;gap:10px}.date-card span{font-size:9px;letter-spacing:1.5px;color:#858d85}.date-card strong{font-size:18px;font-weight:500}.date-card small{font-size:10px;color:var(--muted)}.welcome-grid{display:grid;grid-template-columns:1.05fr 1fr;background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden}.welcome-art{position:relative;min-height:410px;background:#d1b39b;overflow:hidden}.art-lines{position:absolute;inset:0;background:linear-gradient(120deg,transparent 53%,#997e6650 53%),linear-gradient(25deg,#a37e60 20%,#ddc5ad 20%,#e7d6c5 66%,#ccae90 66%)}.door{position:absolute;right:18%;top:28px;width:44%;height:260px;background:linear-gradient(90deg,#716246,#9c8863);border:13px solid #f0dfc9;border-bottom:none;border-radius:100px 100px 0 0;box-shadow:22px 12px 0 #a58c6d4d}.door:after{content:'';position:absolute;bottom:42px;right:15px;width:6px;height:32px;background:#d8bc7a;border-radius:5px}.door span{position:absolute;left:40%;top:70px;color:#dfccac;font-size:15px;letter-spacing:3px}.sun{position:absolute;left:38px;top:40px;width:45px;height:45px;border-radius:50%;background:#f8e6c8;box-shadow:0 0 70px #fff2c8}.welcome-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#25291fe8,transparent 85%)}.art-copy{position:absolute;bottom:32px;left:32px;z-index:1;color:white}.art-copy .eyebrow{color:#e0c7ae;font-size:8px}.art-copy h2{font-size:30px;line-height:1.3;margin:14px 0}.art-copy p{font-size:12px;color:#e8e4db}.login-card{padding:38px}.pill{font-size:8px;letter-spacing:1px;border:1px solid #e5e8df;border-radius:5px;padding:7px 9px;color:#6a795f}.login-card h2{margin-top:23px}.login-card>p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:24px}.social{width:100%;background:white;border:1px solid #dce2d9;padding:13px 15px;border-radius:7px;text-align:left;display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;margin:10px 0}.social:hover{background:#f5f7f1}.social span{margin-left:auto;color:#888}.social b{font-size:19px}.google{color:#4285f4}.facebook{color:#1877f2}.divider{border-top:1px solid var(--line);margin:23px 0 16px}.small,.login-card>p.small{font-size:11px;color:var(--muted);line-height:1.7;margin:10px 0}.button{display:inline-block;border:0;text-decoration:none;color:#fff;background:#283d2d;padding:14px 19px;font-size:12px;font-weight:600;border-radius:6px}.button:hover{background:#405941}.quiet{border:1px solid #dce2d9;background:white;border-radius:6px;padding:9px 13px;font-size:11px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:36px 0 17px}.section-head .eyebrow{margin-bottom:9px}.empty{text-align:center;background:#fcfdfb;border:1px dashed #d7ddd3;border-radius:10px;padding:32px 16px;width:100%;grid-column:1/-1}.empty>span{color:#8a9b84;font-size:27px;display:block;margin-bottom:10px}.empty h3{font-size:14px}.empty p{font-size:12px;color:var(--muted)}.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.room{background:white;border:1px solid var(--line);border-radius:10px;padding:22px}.room-number{height:60px;font-size:32px;color:#a8b69d;font-family:Manrope,sans-serif}.room h3{margin:12px 0}.badge{display:inline-block;padding:5px 9px;font-size:10px;border-radius:4px;background:#f0f1ed;color:#5c665d}.badge.available{background:#e8f1e3;color:#41663a}.badge.occupied{background:#f6e5de;color:#9b4c35}.tabs{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-bottom:17px}.tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:12px 0;font-size:12px;color:#737d72}.tabs button[aria-pressed=true]{border-color:var(--orange);color:#a84724;font-weight:700}.info-strip{display:flex;gap:15px;background:#f1f0e9;border-radius:8px;padding:10px 17px;margin-top:18px;align-items:center;font-size:11px;color:#7c7b68;line-height:1.7}.info-strip>span{border:1px solid #9b9e87;border-radius:50%;padding:0 6px}.info-strip strong{color:#4d5549}.help{display:flex;align-items:center;justify-content:space-between;padding:28px;background:#e8eddf;border-radius:10px;margin-top:38px;gap:20px}.help p:not(.eyebrow){font-size:12px;color:#6a7762}.help h2{font-size:21px}.help .eyebrow{color:#75856a}.secondary{white-space:nowrap;background:#fff;color:#3e5039;border:1px solid #cdd7c2}.secondary:hover{background:#f3f7ee}footer{display:flex;justify-content:space-between;font-size:10px;color:#899182;margin:35px 0 0;padding-top:20px;border-top:1px solid var(--line)}footer a{margin-left:20px;text-decoration:none}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats article{padding:25px;background:white;border:1px solid var(--line);border-radius:10px;display:grid;gap:12px}.stats span{font-size:12px}.stats strong{font-size:35px;color:#344b2e}.stats small{color:var(--muted);font-size:10px}.operation{padding:22px;background:white;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:14px}.operation p{font-size:12px;color:var(--muted)}.countdown{font-size:22px;font-variant-numeric:tabular-nums;color:#a95029;display:block}.panel{background:white;padding:30px;border-radius:12px;border:1px solid var(--line)}form{max-width:680px}form>label{display:block;font-size:13px;margin:18px 0}input[type=tel]{display:block;width:100%;padding:13px;margin-top:8px;border:1px solid #ccd5c8;border-radius:5px}.check{display:flex!important;gap:10px;align-items:start;line-height:1.5}.check input{margin-top:3px}details{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}summary{cursor:pointer}pre{white-space:pre-wrap;font:12px/1.7 'DM Sans',sans-serif;max-height:300px;overflow:auto}#notice{padding:14px 18px;background:#fff0dc;border:1px solid #e2c498;border-radius:8px;font-size:12px;margin-bottom:20px;line-height:1.6}@media(min-width:1450px){main{padding-top:55px}.welcome-art{min-height:440px}.login-card{padding:48px}}@media(max-width:1100px){aside{width:205px;padding:30px 18px}.workspace{margin-left:205px;width:calc(100% - 205px)}main{padding:28px}header{padding:0 28px}.login-card{padding:26px}.date-card{display:none}.rooms{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){aside{position:static;width:100%;height:auto;padding:20px}.shell{display:block}.workspace{margin:0;width:100%}.aside-bottom,.nav-label{display:none}.brand{font-size:9px}.monogram{font-size:26px}nav{display:flex;overflow-x:auto;margin-top:20px;gap:6px}nav a{white-space:nowrap;padding:9px;font-size:16px}nav a span{font-size:10px}header{height:53px;padding:0 20px}header .muted,.location{display:none}main{padding:26px 20px}h1{font-size:37px}.welcome-grid{grid-template-columns:1fr}.welcome-art{min-height:230px}.door{right:12%;width:35%;top:20px}.art-copy{left:24px;bottom:20px}.art-copy h2{font-size:25px}.login-card{padding:27px}.stats{gap:8px}.stats article{padding:13px}.stats span{font-size:10px}.stats strong{font-size:27px}.stats small{display:none}.rooms{grid-template-columns:repeat(2,1fr);gap:10px}.room{padding:16px}.help{align-items:start;flex-direction:column;padding:23px}.operation{align-items:start;flex-direction:column}footer{font-size:9px}footer a{margin-left:12px}.section-head h2{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:22px 0}.profile-grid div{border-bottom:1px solid var(--line);padding-bottom:15px}.profile-grid dt{font-size:11px;color:var(--muted);margin-bottom:8px}.profile-grid dd{margin:0;font-size:14px;overflow-wrap:anywhere}@media(max-width:540px){.profile-grid{grid-template-columns:1fr;gap:15px}}

.customer-profile{margin:26px 0 20px;padding-top:24px;border-top:1px solid var(--line)}#customer-profile-message{font-size:12px;color:var(--muted);line-height:1.6}

.phone-input{display:flex;align-items:stretch;border:1px solid #ccd5c8;border-radius:5px;overflow:hidden;max-width:100%}.phone-input>span{display:flex;align-items:center;background:#f0f3ec;padding:0 14px;font-size:13px;white-space:nowrap;border-right:1px solid #ccd5c8}.phone-input input[type=tel]{border:0;margin:0;border-radius:0;min-width:0;flex:1}.phone-input:focus-within{outline:3px solid #d76532;outline-offset:3px}.phone-input input:focus-visible{outline:none}
#booking input,#booking select{display:block;width:100%;padding:13px;border:1px solid #ccd5c8;border-radius:5px;font:inherit;background:#fff;color:inherit}#booking button[type=submit]{margin-top:22px}.room .button{margin-top:14px;width:100%;font-size:12px;white-space:normal}#booking-message{line-height:1.7}


.room{cursor:pointer}.room-gallery{width:min(900px,94vw);max-height:94dvh;overflow:auto;border:1px solid #ccd5c8;border-radius:16px;padding:20px;background:#fff;color:#283d2d}.room-gallery::backdrop{background:#000b}.room-gallery>button{float:right}.room-gallery h2{margin:10px 80px 18px 0}.gallery-stage{height:min(60dvh,540px);display:flex;align-items:center;justify-content:center;background:#111;border-radius:10px;color:white;touch-action:pan-y}.gallery-stage img{width:100%;height:100%;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;gap:12px}.gallery-controls[hidden]{display:none}.room-gallery button:disabled{opacity:.45;cursor:default}
/* Room surfaces and status accents follow the administrative RoomCard. */
.admin-room{border:1.5px solid var(--status-accent);border-radius:26px;padding:16px;min-height:172px;box-shadow:0 3px 10px #17201812;display:flex;flex-direction:column;gap:8px;cursor:default}.room-card-head{display:flex;gap:10px;align-items:center}.status-bar{display:block;width:5px;height:38px;border-radius:100px;background:var(--status-accent);flex-shrink:0}.admin-room h3{margin:0 0 4px;font-size:16px}.room-status{font-size:12px;color:var(--status-accent)}.room-checkout{font-weight:600;font-size:13px;margin:10px 0 0}.admin-room .small{margin:0}.admin-room button{margin-top:6px}.room-selected{outline:3px solid var(--status-accent);outline-offset:3px}.rental-flow{margin-bottom:30px}.rental-flow .section-head{margin-top:0}.rental-flow form{max-width:none}.rental-flow fieldset{padding:0;margin:0;border:0;min-width:0}.flow-step{margin:18px 0}.flow-step>label{display:block;font-weight:600;font-size:14px;margin-bottom:12px}.flow-step>label>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#e9eee7;color:#40583b;margin-right:7px;font-size:12px}.flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.flow-grid .flow-step{min-width:0}#booking input[type=checkbox]{width:auto;display:inline-block}#booking .clock-trigger{display:block;width:100%;border:1px solid #ccd5c8;border-radius:5px;padding:13px;background:white;text-align:left;font:inherit}.rental-summary{background:#f4f6f0;padding:22px;border-radius:12px;margin-top:24px}.rental-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:0}.rental-summary dt{font-size:11px;color:var(--muted);margin-bottom:5px}.rental-summary dd{margin:0;font-size:14px}.rental-summary dl>div:last-child dd{font-weight:700;font-size:20px}.pay-button{width:100%;font-size:15px}.clock-picker{border:1px solid var(--line);border-radius:22px;padding:24px;width:min(360px,94vw);color:#242b27;background:white}.clock-picker::backdrop{background:#0008}.clock-display,.clock-periods,.clock-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 0}.clock-display{font-size:32px}.clock-display button{font-size:32px;padding:8px;border:0;border-radius:8px;background:#edf1e9}.clock-periods button{padding:10px 24px;border:1px solid #dce2d9;border-radius:8px;background:white}.clock-picker [aria-pressed=true]{background:#28422f;color:white}.clock-dial{height:256px;width:256px;max-width:100%;border-radius:50%;background:#f0f3ed;position:relative;margin:20px auto}.clock-dial button{position:absolute;transform:translate(-50%,-50%);border:0;border-radius:50%;width:38px;height:38px;background:transparent;font-size:16px}.clock-dial button[aria-pressed=true]{background:#28422f}.clock-controls{justify-content:space-between;margin-bottom:0}@media(max-width:540px){.rental-flow{padding:18px}.flow-grid{gap:12px}.rental-summary dl{grid-template-columns:1fr}.rental-flow .rooms{grid-template-columns:1fr}.admin-room{min-height:160px}.clock-picker{padding:20px}}
