:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#172520;background:#ecece6;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #172520;--muted: #69746f;--line: #d9ddd5;--paper: #f7f7f2;--white: #fff;--jade: #16735a;--jade-dark: #0f4e3e;--jade-soft: #dcece5;--amber: #b57534;--danger: #a94438}*{box-sizing:border-box}html{min-width:320px;background:#ecece6}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(22,115,90,.22);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;top:10px;left:10px;z-index:200;padding:10px 14px;border-radius:6px;background:#fff;color:var(--jade-dark);font-weight:800;text-decoration:none;transform:translateY(-180%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.member-sidebar{position:fixed;inset:0 auto 0 0;width:232px;display:flex;flex-direction:column;padding:28px 20px 20px;background:#12251f;color:#eaf1ed;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;padding:0 8px}.brand>span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand strong{font:600 21px/1 "Noto Serif SC",serif;letter-spacing:.14em}.brand small{margin-top:6px;color:#adc0b8;font-size:10px;letter-spacing:.18em}.brand-seal{display:grid;place-items:center;width:40px;height:40px;border-radius:12px 12px 12px 4px;background:#d6eee4;color:#164f3f;font:700 23px/1 "Noto Serif SC",serif;box-shadow:inset 0 0 0 1px #ffffff59}.brand-seal.small{width:32px;height:32px;border-radius:9px 9px 9px 3px;font-size:18px}.primary-nav{display:grid;gap:6px;margin-top:48px}.primary-nav a{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border-radius:9px;color:#93a79f;cursor:pointer;text-align:left;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease}.primary-nav a:hover{color:#fff;transform:translate(2px)}.primary-nav a.active{color:#eff9f4;background:#e1f6ed1c}.primary-nav a.active:before{content:"";position:absolute;left:-20px;width:3px;height:24px;border-radius:0 3px 3px 0;background:#7bd0aa}.primary-nav a span{margin-left:auto;min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px;background:#315048;font-size:11px}.membership-mini{margin-top:auto;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff09}.eyebrow{display:block;color:#63706a;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.membership-mini .eyebrow{color:#839890}.membership-mini>div:nth-child(2){display:flex;align-items:baseline;gap:4px;margin-top:8px}.membership-mini strong{font:600 28px/1 "Noto Serif SC",serif}.membership-mini span{color:#96aaa2;font-size:12px}.usage-track{height:3px;margin:12px 0 9px;border-radius:2px;background:#354a44;overflow:hidden}.usage-track i{display:block;height:100%;background:#83cbae;border-radius:inherit}.membership-mini small{color:#9eb1a9;font-size:11px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:17px 8px 2px;color:inherit;text-decoration:none}.sidebar-user .avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#4b675d;color:#eef5f1;font-size:11px}.sidebar-user>span:nth-child(2){display:flex;flex:1;flex-direction:column}.sidebar-user strong{font-size:12px;font-weight:600}.sidebar-user small{margin-top:3px;color:#9bb0a7;font-size:11px}.member-main{grid-column:2;min-width:0;min-height:100vh;background:var(--paper)}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,58px);border-bottom:1px solid var(--line)}.location,.top-actions,.service-status{display:flex;align-items:center}.location{min-width:0;gap:7px;color:#43504b;font-size:12px;font-weight:600;white-space:nowrap}.location>svg{flex:0 0 auto}.location-name{overflow:hidden;text-overflow:ellipsis}.location span{color:#69756f}.community-picker{position:relative;min-width:0;display:flex;align-items:center}.community-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto;max-width:min(270px,32vw);overflow:hidden;padding:5px 24px 5px 8px;border:1px solid #d3d8d2;border-radius:6px;background:#fbfbf8;color:#34473f;font-size:11px;font-weight:700;text-overflow:ellipsis;cursor:pointer}.community-picker select:disabled{cursor:wait;opacity:.65}.community-picker>svg{position:absolute;right:7px;color:#77837d;pointer-events:none}.location-date{overflow:hidden;text-overflow:ellipsis}.top-actions{gap:22px}.service-status{gap:7px;color:#596760;font-size:11px}.service-status i{width:7px;height:7px;border-radius:50%;background:#48a77f;box-shadow:0 0 0 4px #48a77f1f;animation:statusPulse 2.4s ease-in-out infinite}.service-status.unverified i{background:#9b7a4a;box-shadow:0 0 0 4px #9b7a4a1f;animation:none}.icon-button{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:inherit;cursor:pointer;text-decoration:none}.notification-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border:2px solid var(--paper);border-radius:50%;background:#cc684f}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1480px;margin:0 auto;padding:45px clamp(24px,4vw,58px) 32px}.welcome-row h1{margin:7px 0 9px;font:600 clamp(30px,3vw,46px)/1.15 "Noto Serif SC",serif;letter-spacing:-.045em;color:#182620}.welcome-row p{margin:0;color:#6d7772;font-size:13px}.ghost-action{display:flex;align-items:center;gap:8px;padding:9px 0;border:0;border-bottom:1px solid #aeb8b2;background:transparent;color:#315247;font-size:11px;font-weight:700;cursor:pointer;text-decoration:none}.inline-notice{display:flex;align-items:center;gap:9px;max-width:calc(1480px - clamp(48px,8vw,116px));margin:-8px auto 20px;padding:11px 14px;border:1px solid #c7ded3;background:#edf6f1;color:#27644f;font-size:11px}.inline-notice.danger{border-color:#e9c4bd;background:#fff0ed;color:#943e32}.inline-notice button{min-height:44px;margin-left:auto;border:0;background:transparent;color:inherit;font-size:11px;text-decoration:underline;cursor:pointer}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(24px,3vw,48px);max-width:1480px;margin:0 auto;padding:0 clamp(24px,4vw,58px) 48px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.section-heading h2,.rail-heading h2{margin:4px 0 0;font:600 20px/1.2 "Noto Serif SC",serif}.room-filters{display:flex;align-items:center;gap:7px}.filter-control,.filter-icon{min-height:44px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:#fbfbf8;color:#46544d;font-size:12px}.filter-control:focus-within{border-color:var(--jade);box-shadow:0 0 0 3px #16735a24}.filter-control select{max-width:96px;border:0;background:transparent;color:inherit;font-size:inherit;cursor:pointer}.filter-icon{width:34px;justify-content:center;padding:0;cursor:pointer}.room-list{display:grid}.room-row{display:grid;grid-template-columns:124px minmax(230px,1fr) 220px;gap:22px;align-items:center;min-height:178px;padding:22px 0;border-bottom:1px solid var(--line);animation:rowEnter .55s cubic-bezier(.2,.75,.25,1) both;animation-delay:var(--delay)}.room-scene,.drawer-room-scene{position:relative;isolation:isolate;overflow:hidden;background:#dbe6df}.room-scene{width:124px;height:124px;border-radius:4px 18px 4px 4px}.scene-jade{background:linear-gradient(145deg,#a8c9bb,#e2ebe4 60%,#b0c6bc)}.scene-amber{background:linear-gradient(145deg,#d3b68e,#eee4d1 55%,#b79973)}.scene-blue{background:linear-gradient(145deg,#abc3ca,#e2e9e8 58%,#8ea9ae)}.scene-clay{background:linear-gradient(145deg,#c7afa1,#e5ddd5 58%,#a89287)}.scene-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:linear-gradient(rgba(23,37,32,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(23,37,32,.16) 1px,transparent 1px);background-size:22px 22px;transform:perspective(180px) rotateX(57deg) scale(1.5);transform-origin:bottom}.scene-table{position:absolute;left:22%;right:16%;bottom:28%;height:26%;border-radius:50%;background:#26453bbf;box-shadow:0 18px 18px #1c2e282e;transform:rotate(-9deg)}.scene-table:before,.scene-table:after{content:"";position:absolute;top:12%;width:19%;height:70%;border-radius:50%;background:#f6f8f4a6}.scene-table:before{left:12%}.scene-table:after{right:12%}.room-scene>span{position:absolute;left:10px;bottom:8px;z-index:2;padding:3px 6px;background:#f8faf7e0;color:#354740;font-size:11px;font-weight:800;letter-spacing:.08em}.room-title-line{display:flex;align-items:center;gap:9px}.room-identity h2,.room-identity h3{margin:0;font:600 24px/1.1 "Noto Serif SC",serif}.status{padding:4px 8px;border-radius:10px;font-size:11px;font-weight:700}.status.available{background:#e2f1e9;color:#31705a}.status.busy{background:#f6ead8;color:#9c662c}.status.maintenance{background:#eee5e1;color:#866256}.room-identity>p{max-width:360px;margin:8px 0 12px;color:#7a837f;font-size:11px;line-height:1.6}.room-meta,.feature-line{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.room-meta span{display:flex;align-items:center;gap:5px;color:#52605a;font-size:11px}.feature-line{gap:6px;margin-top:11px}.feature-line span{padding-right:7px;border-right:1px solid #ccd1cd;color:#65716b;font-size:11px}.feature-line span:last-child{border:0}.slot-column{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-left:22px;border-left:1px solid #e0e3de}.slot-label{color:#68736e;font-size:11px;letter-spacing:.04em}.time-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:9px 0 13px}.time-slots button{min-height:40px;border:1px solid #cdd5d0;border-radius:5px;background:#fff;color:#2f5d4d;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease}.time-slots button:hover:not([aria-disabled=true]){border-color:var(--jade);background:var(--jade);color:#fff;transform:translateY(-1px)}.time-slots button[aria-disabled=true]{border-style:dashed;background:transparent;color:#737d78;text-decoration:line-through;cursor:not-allowed}.slot-column small{display:flex;align-items:center;gap:6px;color:#64716b;font-size:11px}.slot-column small i{width:5px;height:5px;border-radius:50%;background:#58a883}.slot-column small i.maintenance{background:#ba705a}.show-more{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:15px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#52615b;font-size:10px;cursor:pointer}.today-rail{padding-left:4px}.rail-heading{padding:0 0 18px;border-bottom:1px solid var(--line)}.schedule-line{position:relative;padding:16px 0 8px}.schedule-line:before{content:"";position:absolute;left:57px;top:31px;bottom:34px;width:1px;background:#d4d9d5}.schedule-item{display:grid;grid-template-columns:44px 12px 1fr;gap:9px;min-height:122px}.schedule-time{display:flex;flex-direction:column;align-items:flex-end;padding-top:2px}.schedule-time strong{font-size:12px}.schedule-time span{margin-top:3px;color:#69746f;font-size:11px}.schedule-marker{position:relative;z-index:1;width:11px;height:11px;margin-top:3px;border:2px solid var(--paper);border-radius:50%;background:#80928a;box-shadow:0 0 0 1px #abb6b0}.schedule-marker.ready{background:#31916c;box-shadow:0 0 0 1px #5aa989}.schedule-marker.degraded,.schedule-marker.failed{background:#c07148;box-shadow:0 0 0 1px #ca8a68}.schedule-content{min-width:0;padding-bottom:23px}.booking-state{color:#64716b;font-size:11px;font-weight:800;letter-spacing:.05em}.booking-state.ready{color:#267256}.booking-state.degraded,.booking-state.failed{color:#984b2d}.schedule-content h3{overflow:hidden;margin:6px 0 4px;font:600 14px/1.25 "Noto Serif SC",serif;text-overflow:ellipsis;white-space:nowrap}.schedule-content p{margin:0;color:#65716b;font-size:11px}.schedule-actions{display:flex;gap:6px;margin-top:10px}.schedule-actions :is(button,a){min-height:44px;display:flex;align-items:center;gap:4px;padding:7px 10px;border:1px solid #cbd4cf;border-radius:5px;background:#fff;color:#365d50;font-size:11px;font-weight:700;cursor:pointer;text-decoration:none}.schedule-actions :is(button,a).muted-action{border:0;background:transparent;color:#8b938f}.no-schedule{padding:32px 20px;border-bottom:1px solid var(--line);color:#64716b;text-align:center}.no-schedule strong{display:block;margin-top:8px;font:600 14px "Noto Serif SC",serif}.no-schedule p{font-size:11px}.pass-summary{margin-top:22px;padding:18px;border-radius:4px 18px 4px 4px;background:#1b3d33;color:#edf7f2;box-shadow:0 18px 45px #122d2429}.pass-summary-top{display:flex;align-items:center;gap:10px}.pass-summary-top>span:last-child{display:flex;flex-direction:column}.pass-summary-top small{color:#b9cec6;font-size:11px}.pass-summary-top strong{margin-top:3px;font-size:12px;letter-spacing:.06em}.pass-summary-status{display:flex;align-items:center;gap:7px;margin-top:17px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12);color:#c5d8d1;font-size:11px}.loading-view,.empty-state{min-height:calc(100vh - 68px);display:grid;place-content:center;justify-items:center;gap:12px;color:#64716b;text-align:center}.loading-view p,.empty-state p{margin:0;font-size:12px}.empty-state h2{margin:5px 0 0;font:600 22px "Noto Serif SC",serif}.pulse{animation:softPulse 1.7s ease-in-out infinite}.primary-button{min-height:44px;padding:0 20px;border:0;border-radius:6px;background:var(--jade);color:#fff;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px #16735a33}.primary-button:hover{background:var(--jade-dark)}.primary-button:disabled{opacity:.55;cursor:wait}.primary-button.full{width:100%;margin-top:20px}.drawer-backdrop,.pass-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:flex-end;background:#0c19156b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s ease both}.booking-drawer{width:min(480px,100vw);height:100%;overflow-y:auto;padding:29px 30px 36px;background:#f9f9f4;box-shadow:-20px 0 60px #10211b2e;animation:slideIn .35s cubic-bezier(.2,.8,.25,1) both}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between}.drawer-header h2{margin:5px 0 4px;font:600 30px "Noto Serif SC",serif}.drawer-header p{margin:0;color:#65716b;font-size:12px}.drawer-room-scene{height:150px;margin:24px 0 27px;border-radius:4px 26px 4px 4px}.drawer-room-scene .scene-table{left:28%;right:24%;bottom:20%}.drawer-room-scene>span{position:absolute;left:18px;bottom:14px;z-index:3;color:#234638;font:600 12px "Noto Serif SC",serif}.field-label{display:block;margin-bottom:7px;color:#626d67;font-size:11px;font-weight:800;letter-spacing:.04em}.text-input{width:100%;height:48px;padding:0 14px;border:1px solid #ccd3ce;border-radius:6px;background:#fff;color:var(--ink);font-size:13px}.text-input::placeholder{color:#68736d}.booking-facts{display:grid;grid-template-columns:1fr;margin:22px 0;border-block:1px solid var(--line)}.booking-facts>div{display:flex;align-items:center;gap:10px;padding:15px 12px;color:#4a5b54}.booking-facts>div+div{border-left:1px solid var(--line)}.booking-facts span{display:flex;flex-direction:column;color:#5e6a64;font-size:12px}.booking-facts strong{margin-top:3px;color:#2d3d37;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.select-wrap{position:relative;display:block}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:42px;padding:0 34px 0 12px;border:1px solid #ccd3ce;border-radius:6px;background:#fff;color:#34443e;font-size:11px}.select-wrap svg{position:absolute;right:10px;top:13px;pointer-events:none}.entitlement-note{display:flex;align-items:center;gap:7px;margin-top:17px;padding:11px 12px;background:#e9f2ed;color:#315d4d;font-size:12px}.modal-error{margin:10px 0 0;padding:10px 12px;border:1px solid #e9c4bd;border-radius:6px;background:#fff0ed;color:#943e32;font-size:11px;line-height:1.5}.pass-backdrop{align-items:center;justify-content:center;padding:20px}.access-pass{position:relative;width:min(420px,100%);overflow:hidden;padding:30px;border-radius:7px 34px 7px 7px;background:#153d31;color:#f1f8f5;box-shadow:0 35px 100px #05140f61;animation:passEnter .4s cubic-bezier(.2,.8,.25,1) both}.access-pass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);background-size:34px 34px;transform:perspective(350px) rotateX(55deg) scale(1.35);transform-origin:bottom;pointer-events:none}.access-pass>*{position:relative;z-index:1}.access-pass>.pass-close{position:absolute;z-index:2;top:24px;right:24px;border-color:#fff3;color:#d9e8e2}.pass-brand{display:flex;align-items:center;gap:9px;color:#bad2c8;font:600 11px "Noto Serif SC",serif;letter-spacing:.1em}.pass-status{display:flex;align-items:flex-start;gap:7px;width:fit-content;margin:27px 0 24px;padding:8px 11px;border:1px solid rgba(240,182,112,.38);border-radius:18px;background:#c7824529;color:#ffd1a1;font-size:12px}.pass-status.ready,.pass-status.success{border-color:#7ed7ae5c;background:#5fb88e26;color:#bcebd4}.pass-status.danger{border-color:#f48c7c66;background:#b1463733;color:#ffd0c7}.pass-status.neutral{border-color:#ffffff38;background:#ffffff14;color:#d4e4de}.pass-status>span{display:flex;flex-direction:column;gap:2px}.pass-status strong{font-size:12px}.pass-status small{color:currentColor;opacity:.9;font-size:11px}.eyebrow.light{color:#a7c8bb}.access-pass h2{margin:7px 0 3px;font:600 34px "Noto Serif SC",serif}.access-pass>div:nth-of-type(3)>p{margin:0;color:#bdd1c9;font-size:12px}.dynamic-code{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:27px 0 20px}.dynamic-code span{display:grid;place-items:center;height:52px;border:1px solid rgba(255,255,255,.18);border-radius:5px;background:#ffffff12;font:600 25px/1 ui-monospace,monospace}.dynamic-code.muted{opacity:.5}.pass-validity{display:flex;align-items:center;gap:9px;padding:12px 0;border-block:1px solid rgba(255,255,255,.13);color:#b7cec5;font-size:12px}.pass-validity span{display:flex;justify-content:space-between;flex:1}.pass-validity strong{color:#f0f8f5;font-size:12px}.route-list{padding-top:19px}.route-title{display:flex;align-items:center;gap:7px;margin-bottom:13px;color:#c1d7ce;font-size:12px;font-weight:700}.route-node{display:flex;align-items:center;gap:7px;min-height:34px;color:#e0ebe7;font-size:12px}.route-node>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ffffff1c;color:#b5d2c6;font-size:10px}.route-message{margin:0;padding:11px 12px;border:1px dashed rgba(255,255,255,.2);border-radius:5px;color:#c9dcd5;font-size:12px;line-height:1.55}.pass-refresh{width:100%;min-height:44px;margin-top:16px;border:1px solid rgba(255,255,255,.25);border-radius:5px;background:#ffffff14;color:#e5f0ec;font-size:12px;font-weight:700;cursor:pointer}.pass-footnote{margin:18px 0 0;color:#b6cbc3;font-size:11px;line-height:1.65}.pass-qr{display:grid;justify-items:center;gap:10px;margin:16px 0 6px}.pass-qr img{border-radius:12px;background:#fff;padding:8px}.pass-qr p{margin:0;color:#cfe4dc;font-size:12px;text-align:center;line-height:1.5}.spin{animation:spin 1s linear infinite}.mobile-nav{display:none}.enter-1{animation:liftIn .55s cubic-bezier(.2,.75,.25,1) both}.enter-2{animation:liftIn .55s .12s cubic-bezier(.2,.75,.25,1) both}h1[data-page-heading]:focus:not(:focus-visible){outline:none}h1[data-page-heading]:focus-visible{outline:3px solid rgba(22,115,90,.25);outline-offset:5px}.member-route-content{min-width:0}.member-main>.inline-notice{max-width:calc(1480px - clamp(48px,8vw,116px));margin:18px auto 0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;max-width:1480px;margin:0 auto;padding:44px clamp(24px,4vw,58px) 25px;border-bottom:1px solid var(--line)}.page-heading h1{margin:6px 0 8px;color:var(--ink);font:600 36px/1.15 "Noto Serif SC",serif;letter-spacing:-.035em}.page-heading p{max-width:680px;margin:0;color:#68736d;font-size:12px;line-height:1.65}.compact-heading{display:block}.compact-heading>div{margin-top:24px}.page-content{max-width:1480px;margin:0 auto;padding:0 clamp(24px,4vw,58px) 54px}.page-state{min-height:calc(100vh - 68px)}.page-state h1{margin:4px 0 0;font:600 24px "Noto Serif SC",serif}.text-link,.back-link{display:inline-flex;align-items:center;gap:6px;color:#315247;font-size:11px;font-weight:750;text-decoration:none}.back-link{color:#5f6e67}.room-name-link{color:inherit;text-decoration:none}.room-name-link:hover{color:var(--jade)}.page-filters{flex-wrap:wrap;justify-content:flex-end}.filter-control input{min-width:0;border:0;background:transparent;color:inherit;font-size:inherit}.filter-control input[type=date]{width:118px}.search-control{min-width:205px}.search-control input{width:165px}.section-loading{padding:38px 0;color:#69746f;font-size:12px}.empty-panel{display:grid;justify-items:center;gap:9px;padding:56px 24px;color:#68756f;text-align:center}.empty-panel strong{color:#263b33;font:600 18px "Noto Serif SC",serif}.empty-panel p{max-width:480px;margin:0;font-size:11px;line-height:1.7}.inline-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:fit-content;margin-top:8px;text-decoration:none}.detail-layout{display:grid;grid-template-columns:minmax(260px,430px) minmax(0,1fr);gap:clamp(30px,5vw,72px);padding-top:34px}.detail-scene{width:100%;height:320px;border-radius:6px 34px 6px 6px}.detail-scene>span{font-size:11px}.detail-body{padding-top:12px}.detail-body h2{margin:34px 0 14px;font:600 20px "Noto Serif SC",serif}.detail-meta{gap:22px}.detail-meta span{font-size:11px}.device-note{margin:22px 0 0;padding:12px 14px;background:var(--jade-soft);color:#315d4d;font-size:11px}.detail-slots{grid-template-columns:repeat(4,minmax(70px,1fr));max-width:520px}.segmented-control{display:flex;padding:3px;border:1px solid var(--line);border-radius:8px;background:#f0f1ec}.segmented-control button{min-height:44px;padding:0 15px;border:0;border-radius:5px;background:transparent;color:#5f6d66;font-size:12px;font-weight:750;cursor:pointer}.segmented-control button.active{background:#fff;color:var(--jade-dark);box-shadow:0 2px 8px #1e372e14}.booking-list{display:grid}.booking-row{display:grid;grid-template-columns:230px minmax(0,1fr) auto;gap:30px;align-items:center;min-height:130px;border-bottom:1px solid var(--line)}.booking-date{display:flex;align-items:center;gap:11px;color:#64716b}.booking-date span{display:flex;flex-direction:column;font-size:12px}.booking-date strong{margin-top:4px;color:#24372f;font-size:12px}.booking-main{min-width:0}.booking-main h2{margin:6px 0 5px;font:600 19px "Noto Serif SC",serif}.booking-main h2 a{color:inherit;text-decoration:none}.booking-main h2 a:hover{color:var(--jade)}.booking-main p{margin:0;color:#66726c;font-size:12px}.booking-actions{justify-content:flex-end}.detail-card{padding-top:34px}.detail-card>h2{margin:15px 0 24px;font:600 28px "Noto Serif SC",serif}.detail-status{display:flex;align-items:center;gap:12px}.detail-status strong{color:#506159;font-size:12px}.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;border-block:1px solid var(--line)}.detail-facts>div{display:flex;align-items:center;gap:12px;padding:18px 10px;color:#52645c}.detail-facts>div+div{border-left:1px solid var(--line)}.detail-facts span{display:flex;flex-direction:column;color:#64716b;font-size:12px}.detail-facts strong{margin-top:4px;color:#263a32;font-size:12px}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.secondary-button,.danger-button{min-height:44px;padding:0 18px;border:1px solid #cbd4cf;border-radius:6px;background:#fff;color:#365d50;font-size:12px;font-weight:750;cursor:pointer}.danger-button{border-color:#e2beb7;color:#963f34}.pass-list{display:grid}.pass-list-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:center;min-height:112px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.pass-list-item:hover .pass-list-main strong{color:var(--jade)}.pass-list-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px 13px 13px 4px;background:var(--jade-soft);color:var(--jade)}.pass-list-main{display:flex;min-width:0;flex-direction:column}.pass-list-main small{color:#65716b;font-size:12px}.pass-list-main strong{margin-top:6px;font:600 18px "Noto Serif SC",serif}.pass-list-main>span{margin-top:4px;overflow:hidden;color:#5e6b65;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.pass-list-status{display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:16px;background:#e7eee9;color:#4d665d;font-size:12px;font-weight:750}.pass-list-status.ready{background:#dff1e8;color:#216448}.pass-list-status.failed,.pass-list-status.degraded{background:#f7e7df;color:#87462b}.notification-list{display:grid}.notification-row{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:14px;align-items:center;min-height:104px;padding:18px 4px;border-bottom:1px solid var(--line);color:#40534b;text-decoration:none}.notification-row>svg:first-child{padding:10px;width:42px;height:42px;border-radius:12px 12px 12px 4px;background:var(--jade-soft);color:var(--jade)}.notification-row.access>svg:first-child{background:#f6e6df;color:#9a4e34}.notification-row>span{display:flex;min-width:0;flex-direction:column;gap:6px}.notification-row strong{color:#23372f;font:600 17px "Noto Serif SC",serif}.notification-row small{color:#5f6d66;font-size:12px;line-height:1.6}.notification-row:hover strong{color:var(--jade)}.membership-page{padding-top:34px}.membership-hero{display:flex;align-items:center;gap:18px;max-width:760px;padding:26px;border-radius:6px 26px 6px 6px;background:#163b30;color:#edf7f2}.membership-hero .avatar.large{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#4b675d;font-size:16px}.membership-hero>div{flex:1}.membership-hero small{color:#bed2ca;font-size:12px}.membership-hero h2{margin:5px 0 3px;font:600 24px "Noto Serif SC",serif}.membership-hero p{margin:0;color:#d0e0da;font-size:12px;letter-spacing:.04em}.membership-facts{display:grid;grid-template-columns:repeat(3,1fr);max-width:980px;margin-top:24px;border-block:1px solid var(--line)}.membership-facts>div{display:flex;align-items:flex-start;gap:10px;padding:20px 16px;color:#4e6259}.membership-facts>div+div{border-left:1px solid var(--line)}.membership-facts span{display:flex;flex:1;flex-direction:column;color:#64716b;font-size:12px}.membership-facts strong{margin-top:5px;color:#263a32;font-size:12px;line-height:1.5}.membership-facts .usage-track{width:80px;margin:8px 0 0;background:#d8ded9}.membership-note{max-width:760px;margin:18px 0 0;color:#5f6d66;font-size:12px}.page-enter-active,.page-leave-active{transition:opacity .18s cubic-bezier(.25,.8,.25,1),transform .18s cubic-bezier(.25,.8,.25,1)}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-3px)}@keyframes statusPulse{50%{box-shadow:0 0 0 7px #48a77f00}}@keyframes softPulse{50%{transform:scale(.94);opacity:.6}}@keyframes fadeIn{0%{opacity:0}}@keyframes slideIn{0%{transform:translate(30px);opacity:.4}}@keyframes passEnter{0%{transform:translateY(20px) scale(.97);opacity:0}}@keyframes liftIn{0%{transform:translateY(12px);opacity:0}}@keyframes rowEnter{0%{transform:translateY(8px);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){.workspace-grid{grid-template-columns:1fr}.today-rail{display:grid;grid-template-columns:1fr 280px;gap:28px;padding-top:15px}.rail-heading{grid-column:1 / -1}.pass-summary{margin-top:0;height:fit-content}.schedule-line{margin-top:-20px}.room-row{grid-template-columns:112px minmax(220px,1fr) 210px}.booking-row{grid-template-columns:190px minmax(0,1fr)}.booking-actions{grid-column:2;justify-content:flex-start;margin:-16px 0 18px}}@media(max-width:820px){.app-shell{display:block}.member-sidebar{display:none}.member-main{min-height:calc(100vh - 64px);padding-bottom:calc(82px + env(safe-area-inset-bottom))}.topbar{height:58px;padding:0 18px}.service-status{display:none}.welcome-row{align-items:flex-start;padding:28px 18px 24px}.welcome-row h1{font-size:30px}.welcome-row p{max-width:330px;line-height:1.6}.ghost-action{display:none}.inline-notice{margin:-5px 18px 16px}.member-main>.inline-notice{margin:14px 18px 0}.workspace-grid{padding:0 18px 30px}.section-heading{align-items:flex-start;flex-direction:column}.room-filters{width:100%}.filter-control{flex:1;justify-content:center}.room-row{grid-template-columns:90px 1fr;gap:15px;min-height:0;padding:19px 0}.room-scene{width:90px;height:112px}.room-identity h2,.room-identity h3{font-size:20px}.room-identity>p{margin-bottom:9px}.feature-line{display:none}.slot-column{grid-column:1 / -1;padding:13px 0 0;border-top:1px dashed #d7dbd7;border-left:0}.time-slots{grid-template-columns:repeat(4,1fr)}.slot-column small{display:none}.today-rail{display:block}.schedule-line{margin-top:0}.pass-summary{margin-top:12px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px;padding:28px 18px 20px}.page-heading h1{font-size:30px}.page-heading p{line-height:1.6}.page-content{padding:0 18px 38px}.page-filters{justify-content:flex-start}.search-control{flex:1 0 100%}.search-control input{width:100%}.detail-layout{grid-template-columns:1fr;gap:22px;padding-top:24px}.detail-scene{width:100%;height:230px}.detail-body{padding-top:0}.booking-row{grid-template-columns:1fr;gap:10px;padding:20px 0}.booking-actions{grid-column:auto;margin:2px 0 0;justify-content:flex-start}.detail-facts{grid-template-columns:1fr}.detail-facts>div+div{border-top:1px solid var(--line);border-left:0}.membership-facts{grid-template-columns:1fr}.membership-facts>div+div{border-top:1px solid var(--line);border-left:0}.mobile-nav{position:fixed;inset:auto 0 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #d8ddd8;background:#fafaf6f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:0;border:0;background:transparent;color:#66736d;font-size:11px;text-decoration:none}.mobile-nav a.active{color:var(--jade)}.time-slots button,.schedule-actions :is(button,a),.filter-control,.icon-button{min-width:44px;min-height:44px}.booking-drawer{padding:24px 20px calc(32px + env(safe-area-inset-bottom))}.drawer-room-scene{height:125px}.pass-backdrop{align-items:flex-start;overflow-y:auto}.access-pass{max-height:calc(100dvh - 40px);overflow-y:auto}}@media(max-width:480px){.location{max-width:calc(100vw - 92px);font-size:11px}.community-picker select{max-width:calc(100vw - 125px);font-size:11px}.location-separator,.location-date{display:none}.welcome-row h1{max-width:300px;font-size:27px}.room-filters .filter-icon{display:none}.time-slots{gap:5px}.time-slots button{font-size:12px}.today-rail{padding-top:4px}.access-pass{padding:25px 20px;border-radius:6px 26px 6px 6px}.pass-close{top:19px;right:17px}.dynamic-code{gap:4px}.dynamic-code span{height:45px;font-size:21px}.form-grid,.booking-facts{grid-template-columns:1fr}.booking-facts>div+div{border-top:1px solid var(--line);border-left:0}.pass-list-item{grid-template-columns:44px minmax(0,1fr);padding:16px 0}.pass-list-status{grid-column:2;width:fit-content}.membership-hero{padding:20px}.membership-hero>svg{display:none}.detail-slots{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
