:root{--bg:#f7f6f2;--surface:#fbfbf8;--text:#1c2925;--text-soft:#52605a;--text-muted:#6b786f;--text-faint:#8a958f;--border:#dee2da;--pill-bg:#e9ebe5;--hover-bg:#f1f2ec;--input-bg:#fff;--brand:#1f6355;--brand-hover:#195145;--header-bg:#f7f6f2e0;--header-border:#1c292517}:root[data-theme=dark]{--bg:#121b17;--surface:#1a2621;--text:#eef1ec;--text-soft:#a9b7b0;--text-muted:#8b9c93;--text-faint:#6c7d74;--border:#2a3730;--pill-bg:#202d27;--hover-bg:#24322b;--input-bg:#1f2b25;--brand:#45a98c;--brand-hover:#5bbca0;--header-bg:#121b17e0;--header-border:#ffffff14}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:IBM Plex Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .2s,color .2s}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}header{background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--header-border);z-index:20;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(24px,6vw,92px);display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.8px;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-family:Space Grotesk,Georgia,serif;font-size:26px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#f4f3ed;background:linear-gradient(155deg, color-mix(in srgb, var(--brand) 100%, white 12%), var(--brand-hover));letter-spacing:-.02em;border-radius:50%;place-items:center;width:22px;height:22px;font-family:Space Grotesk,Georgia,serif;font-size:12px;font-weight:600;line-height:1;display:grid;box-shadow:inset 0 1px 1px #ffffff40,0 1px 2px #0f1f1a33}nav,.header-actions{align-items:center;gap:8px;display:flex}nav a,.text-button{color:var(--text-soft);background:0 0;border:0;padding:10px 12px;font-size:14px;text-decoration:none;transition:color .2s,background .2s}nav a:hover,nav a.active,.text-button:hover{color:var(--brand)}nav a.active{font-weight:700}.header-actions{gap:14px}.user-name{color:var(--text-soft);background:0 0;border:0;font-size:14px;text-decoration:none}.theme-toggle{border:1px solid var(--border);background:var(--surface);border-radius:50%;place-items:center;width:30px;height:30px;padding:0;transition:border-color .2s;display:grid;position:relative;overflow:hidden}.theme-toggle:hover{border-color:var(--brand)}.theme-toggle:before{content:"";background:var(--text-soft);width:12px;height:12px;box-shadow:0 -9px 0 -4.5px var(--text-soft), 0 9px 0 -4.5px var(--text-soft), -9px 0 0 -4.5px var(--text-soft), 9px 0 0 -4.5px var(--text-soft), -6.4px -6.4px 0 -4.5px var(--text-soft), 6.4px -6.4px 0 -4.5px var(--text-soft), -6.4px 6.4px 0 -4.5px var(--text-soft), 6.4px 6.4px 0 -4.5px var(--text-soft);border-radius:50%;transition:box-shadow .3s,transform .4s}:root[data-theme=dark] .theme-toggle:before{box-shadow:4px -4px 0 0 var(--surface);transform:rotate(-25deg)}.wrap{width:min(1180px,100% - 48px);margin:0 auto}.page{min-height:calc(100vh - 78px);padding-top:72px;padding-bottom:92px}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(48px,9vw,128px);min-height:600px;padding:62px 0 84px;display:grid}.kicker{color:#1f7b68;text-transform:uppercase;letter-spacing:.14em;margin:0 0 15px;font-size:11px;font-weight:800}.hero h1,.section-intro h1{letter-spacing:-.06em;color:var(--text);font-family:Space Grotesk,Georgia,Times New Roman,serif;font-weight:500}.hero h1{margin:0;font-size:clamp(52px,6vw,82px);line-height:.99}.lead{max-width:490px;color:var(--text-muted);margin:28px 0;font-size:18px;line-height:1.65}.hero-actions{align-items:center;gap:20px;display:flex}.button,.outline-button,.icon-button,.card-action,.cancel-button{border-radius:999px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s}.button{border:1px solid var(--brand);background:var(--brand);color:#fff;padding:14px 21px;box-shadow:0 6px 18px #1f635529}.button span{margin-left:8px;font-size:17px}.button:hover{background:var(--brand-hover);transform:translateY(-2px);box-shadow:0 10px 24px #1f63553d}.button.small{padding:10px 16px;font-size:14px}.button.light{color:var(--text);background:var(--bg);border-color:var(--bg);box-shadow:none}.link-button{border:0;border-bottom:1px solid var(--text-faint);color:var(--text);background:0 0;padding:8px 0}.trust-line{color:var(--text-faint);margin-top:33px;font-size:13px}.trust-line span{color:#1f9a73;margin-right:7px}.hero-visual{color:#eef5ef;background:#173f36;border-radius:30px;min-height:420px;padding:27px;position:relative;overflow:hidden;box-shadow:0 24px 54px #16342c30}.glow{filter:blur(25px);opacity:.72;background:#4aa789;border-radius:50%;width:270px;height:270px;position:absolute;top:-110px;right:-80px}.visual-top,.reservation-preview,.availability-row,.mini-machines{z-index:1;position:relative}.visual-top{color:#d7e8dc;justify-content:space-between;align-items:center;font-size:13px;display:flex}.avatar{color:#23362f;background:#e9ac72;border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.visual-title{z-index:1;margin:64px 0 12px;font-family:Space Grotesk,Georgia,serif;font-size:29px;position:relative}.reservation-preview{background:#081f1952;border:1px solid #ffffff26;border-radius:15px;grid-template-columns:44px 1fr auto;align-items:center;gap:13px;padding:15px;display:grid}.machine-dot{color:#245347;background:#e4f0b7;border-radius:12px;place-items:center;width:42px;height:42px;font-size:25px;display:grid}.reservation-preview strong,.reservation-preview span{display:block}.reservation-preview strong{font-size:14px}.reservation-preview span{color:#b9cec0;margin-top:4px;font-size:12px}.reservation-preview b{color:#e4f0b7;font-size:14px}.availability-row{color:#dbece1;justify-content:space-between;margin:34px 0 13px;font-size:13px;display:flex}.mini-machines{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.mini-machines div{color:#8a9f95;background:#ffffff14;border-radius:12px;place-items:center;gap:5px;min-height:83px;font-size:11px;display:grid}.mini-machines div.open{color:#e4f0b7;background:#e4f0b726}.mini-machines i{font-size:23px;font-style:normal}.benefits{border-top:1px solid var(--border);grid-template-columns:.7fr 1.3fr;gap:90px;padding:112px 0;display:grid}.benefits h2,.property-banner h2{letter-spacing:-.045em;margin:0;font-family:Space Grotesk,Georgia,serif;font-size:clamp(35px,4vw,53px);font-weight:500;line-height:1.05}.benefit-list{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.benefit-list article{border-top:1px solid var(--border);padding-top:17px}.benefit-list span{color:#1f7b68;font-size:12px;font-weight:800}.benefit-list h3{margin:28px 0 10px;font-size:16px}.benefit-list p,.property-banner p{color:var(--text-muted);font-size:14px;line-height:1.6}.property-banner{color:#1c2925;background:#dce9cf;border-radius:23px;grid-template-columns:1fr 1fr;gap:90px;margin-bottom:92px;padding:54px 58px;display:grid}.property-banner p{color:#506158;max-width:410px;margin:5px 0 25px}.section-intro{max-width:610px}.section-intro h1{margin:0;font-size:clamp(43px,5vw,65px);line-height:1.03}.section-intro>p:not(.kicker){color:var(--text-muted);font-size:17px;line-height:1.6}.toolbar{justify-content:space-between;align-items:center;margin:50px 0 25px;display:flex}.filter-pills,.role-switch{background:var(--pill-bg);border-radius:999px;padding:4px;display:inline-flex}.filter-pills button,.role-switch button{color:var(--text-muted);background:0 0;border:0;border-radius:999px;padding:9px 15px;font-size:13px}.filter-pills button.selected,.role-switch button.chosen{background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 2px 8px #27373014}.icon-button{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);padding:10px 15px;font-size:13px}.icon-button:hover,.outline-button:hover{border-color:var(--brand);transform:translateY(-1px)}.machine-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.machine-card,.price-card,.panel,.metric-grid article{background:var(--surface);border:1px solid var(--border)}.machine-card{border-radius:17px;flex-direction:column;min-height:267px;padding:21px;transition:transform .25s,box-shadow .25s;display:flex}.machine-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px #1e342a14}.machine-card-top{justify-content:space-between;align-items:center;display:flex}.machine-symbol{border-radius:13px;place-items:center;width:43px;height:43px;font-size:25px;display:grid}.machine-symbol.washer{color:#216758;background:#d6ebd6}.machine-symbol.dryer{color:#a1613c;background:#f2dfc3}.status{color:#8a6652;background:#f5e8d7;border-radius:99px;padding:6px 9px;font-size:11px;font-weight:800;display:inline-block}.status.available{color:#236d55;background:#d8edda}.machine-card h3{margin:26px 0 6px;font-size:17px}.machine-card p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.card-action{border:0;border-top:1px solid var(--border);width:100%;color:var(--brand);text-align:left;background:0 0;border-radius:0;margin-top:auto;padding:11px 0 3px;font-size:13px}.card-action span{float:right;font-size:17px}.card-action:disabled{color:var(--text-faint)}.waitlist-action{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-soft);text-align:center;border-radius:10px;margin-top:8px;padding:9px 0;font-size:12px}.waitlist-action:hover{border-color:var(--brand);color:var(--brand)}.waitlist-action.joined{color:#1f7b68;background:#eaf3e7;border-color:#1f7b68}.empty-state{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:21px;max-width:580px;margin:74px auto;padding:52px}.empty-icon{color:#286354;background:#dce9cf;border-radius:17px;place-items:center;width:58px;height:58px;margin:0 auto 22px;font-size:31px;display:grid}.empty-state h2{margin:0;font-family:Space Grotesk,Georgia,serif;font-size:30px;font-weight:500}.empty-state p{max-width:360px;color:var(--text-muted);margin:13px auto 24px;line-height:1.6}.booking-list{gap:12px;margin-top:50px;display:grid}.booking-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:1fr auto auto;align-items:center;gap:30px;padding:25px 28px;display:grid}.confirmed{color:#236d55;text-transform:uppercase;letter-spacing:.06em;background:#d8edda;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-block}.booking-main h2{margin:10px 0 5px;font-size:18px}.booking-main p,.booking-price span{color:var(--text-muted);margin:0;font-size:13px}.booking-price{text-align:right;gap:4px;display:grid}.booking-price b{font-size:19px}.cancel-button{color:#aa5644;background:0 0;border:1px solid #e1c7bd;padding:9px 14px;font-size:12px}.cancel-button:hover{background:#fff4ef}.pricing-page{background:var(--bg)}.centered{text-align:center;margin:0 auto}.centered>p:not(.kicker){margin:17px auto 0}.audience-toggle{background:var(--pill-bg);border-radius:999px;width:max-content;margin:42px auto 33px;padding:5px;display:flex}.audience-toggle button{color:var(--text-muted);background:0 0;border:0;border-radius:999px;padding:10px 21px;font-size:13px}.audience-toggle .chosen{color:#fff;background:#1e443a;box-shadow:0 3px 10px #173e3433}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.price-card{border-radius:18px;flex-direction:column;min-height:475px;padding:30px;display:flex;position:relative}.price-card.featured{color:#eff6ef;background:#1c453a;border-color:#1c453a;box-shadow:0 18px 30px #1c453a2e}.popular{color:#1c453a;text-transform:uppercase;background:#dce9cf;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:800;position:absolute;top:20px;right:20px}.plan-label{color:#20806b;text-transform:uppercase;letter-spacing:.13em;margin:0 0 14px;font-size:11px;font-weight:800}.featured .plan-label{color:#b9dbbd}.price-card h2,.resident-price h2{letter-spacing:-.04em;margin:0;font-family:Space Grotesk,Georgia,serif;font-size:29px;font-weight:500;line-height:1.11}.price{margin:31px 0 8px}.price b{font-family:Space Grotesk,Georgia,serif;font-size:39px;font-weight:500}.price span{color:var(--text-faint);margin-left:4px;font-size:13px}.featured .price span,.featured .price-copy,.featured li{color:#bed0c3}.price-copy{min-height:38px;color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.price-card ul{color:var(--text-soft);gap:13px;margin:26px 0;padding:0;font-size:13px;list-style:none;display:grid}.price-card li:before{content:"✓";color:#248368;margin-right:10px;font-weight:800}.featured li:before{color:#dce9cf}.full-width{width:100%;margin-top:auto}.outline-button{border:1px solid var(--border);color:var(--brand);background:0 0;padding:13px 16px}.featured .button{color:#1d4d40;background:#dce9cf;border-color:#dce9cf}.pricing-note{color:var(--text-muted);text-align:center;margin:26px 0 0;font-size:12px}.resident-price{grid-template-columns:1.1fr .9fr;align-items:center;gap:100px;max-width:900px;margin:25px auto 0;padding:50px 0;display:grid}.resident-price>div>p:not(.plan-label){max-width:470px;color:var(--text-muted);line-height:1.7}.resident-receipt{background:var(--surface);border-radius:17px;padding:26px;box-shadow:0 13px 28px #23352b14}.resident-receipt>p{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;margin:0 0 22px;font-size:12px}.resident-receipt div{color:var(--text-muted);justify-content:space-between;margin:14px 0;font-size:13px;display:flex}.resident-receipt b{color:var(--text)}.resident-receipt hr{border:0;border-top:1px solid var(--border)}.resident-receipt .total{color:var(--text);font-size:15px}.resident-receipt small{color:var(--text-faint);margin-top:21px;font-size:11px;line-height:1.5;display:block}.dashboard-heading{justify-content:space-between;align-items:end;display:flex}.dashboard-heading h1{letter-spacing:-.05em;margin:0;font-family:Space Grotesk,Georgia,serif;font-size:clamp(38px,4vw,56px);font-weight:500}.dashboard-heading p:not(.kicker){color:var(--text-muted)}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:42px 0 16px;display:grid}.metric-grid article{border-radius:15px;padding:21px}.metric-grid span,.metric-grid p{color:var(--text-muted);margin:0;font-size:12px;display:block}.metric-grid b{margin:17px 0 6px;font-family:Space Grotesk,Georgia,serif;font-size:31px;font-weight:500;display:block}.metric-grid small{color:var(--text-faint);font-family:IBM Plex Sans,Inter,sans-serif;font-size:12px}.metric-grid .plan-value{font-size:23px}.metric-grid .positive{color:#28735c}.dashboard-panels{grid-template-columns:1.45fr .75fr;gap:16px;display:grid}.panel{border-radius:17px;padding:27px}.panel-heading{justify-content:space-between;align-items:start;display:flex}.panel h2{margin:0;font-family:Space Grotesk,Georgia,serif;font-size:25px;font-weight:500}.inventory-row{border-top:1px solid var(--border);grid-template-columns:38px 1fr auto auto;align-items:center;gap:12px;padding:14px 0;display:grid}.inventory-row:first-of-type{margin-top:24px}.inventory-row b,.inventory-row span{display:block}.inventory-row b{font-size:13px}.inventory-row div+div span{color:var(--text-faint);margin-top:4px;font-size:11px}.small-symbol{border-radius:10px;width:34px;height:34px;font-size:19px}.row-action{color:var(--brand);background:0 0;border:0;font-size:12px}.revenue{color:#1c453a;background:#dce9cf;border-color:#dce9cf}.revenue-number{margin:35px 0 5px;font-family:Space Grotesk,Georgia,serif;font-size:47px}.revenue>p:not(.plan-label){color:#5c7065;font-size:13px;line-height:1.5}.revenue-bars{align-items:end;gap:8px;height:105px;margin:22px 0;display:flex}.revenue-bars span{background:#619783;border-radius:4px 4px 0 0;flex:1}.revenue-bars span:nth-child(2n){background:#357462}.revenue .outline-button{border-color:#83aa98}.chart-panel{grid-column:1/-1}.notice{z-index:40;color:#285e4c;background:#eef7ed;border:1px solid #b4d2bf;border-radius:11px;align-items:center;gap:9px;width:min(510px,100% - 40px);padding:12px 15px;font-size:13px;font-weight:600;display:flex;position:fixed;top:90px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #1c382c1f}.notice>span{color:#298466}.notice button{color:#628275;background:0 0;border:0;margin-left:auto;font-size:21px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11231d7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-modal{background:var(--surface);border-radius:22px;width:min(490px,100%);max-height:min(760px,100vh - 48px);padding:34px;position:relative;overflow:auto;box-shadow:0 26px 80px #0c1d1752}.close{color:var(--text-soft);background:0 0;border:0;font-size:27px;position:absolute;top:15px;right:17px}.auth-title h2{letter-spacing:-.04em;margin:0;font-family:Space Grotesk,Georgia,serif;font-size:34px;font-weight:500}.auth-title>p:not(.kicker){color:var(--text-muted);margin:10px 0 23px;font-size:14px;line-height:1.55}.role-switch{margin-bottom:22px}.role-switch button{flex:1}.auth-modal label{color:var(--text-soft);margin:15px 0 0;font-size:12px;font-weight:700;display:block}.auth-modal input,.auth-modal select{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:9px;outline:0;margin-top:7px;padding:12px 13px;font-size:14px;transition:border-color .2s,box-shadow .2s;display:block}.auth-modal input:focus,.auth-modal select:focus{border-color:#398270;box-shadow:0 0 0 3px #3982701f}.form-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.optional{color:var(--text-faint);font-weight:500}.auth-footer{color:var(--text-muted);text-align:center;margin:19px 0 0;font-size:12px}.auth-footer button{color:var(--brand);background:0 0;border:0;border-bottom:1px solid #87a397;font-weight:700}.form-message{color:#3d6e59;background:#eef5eb;border-radius:8px;margin:15px 0 0;padding:10px;font-size:12px;line-height:1.45}.reservation-modal h2{margin:0 0 22px;font-family:Space Grotesk,Georgia,serif;font-size:33px;font-weight:500}.reservation-summary{color:#1c2925;background:#edf3e8;border-radius:13px;grid-template-columns:43px 1fr auto;align-items:center;gap:12px;margin-bottom:20px;padding:14px;display:grid}.reservation-summary b,.reservation-summary span{display:block}.reservation-summary b{font-size:13px}.reservation-summary span{color:#6a7b70;margin-top:4px;font-size:11px}.reservation-summary strong{color:#1c5e4e}.notif-bell{color:var(--text-soft);background:0 0;border:0;place-items:center;padding:8px;display:grid;position:relative}.notif-bell:hover{color:var(--brand)}.notif-bell:before{content:"";border:1.5px solid;border-bottom:0;border-radius:50% 50% 0 0/60% 60% 0 0;width:16px;height:16px}.notif-bell:after{content:"";background:currentColor;width:20px;height:1.5px;position:absolute;bottom:8px}.notif-dot{background:#c0553f;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.notif-panel{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:16px;width:min(360px,100vw - 32px);max-height:420px;padding:10px;position:absolute;top:56px;right:clamp(16px,4vw,92px);overflow:auto;box-shadow:0 20px 48px #14261f2e}.notif-panel h3{color:var(--text-soft);margin:6px 10px;font-size:13px}.notif-empty{text-align:center;color:var(--text-faint);padding:24px 10px;font-size:13px}.notif-row{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:10px;padding:10px;font-size:13px;line-height:1.5;display:block}.notif-row:hover{background:var(--hover-bg)}.notif-row.unread{color:#1c2925;background:#eaf3e7}.notif-row.unread time{color:#5c7065}.notif-row time{color:var(--text-faint);margin-top:3px;font-size:11px;display:block}@media (width<=900px){header{padding:0 24px}nav{display:none}.hero{grid-template-columns:1fr;gap:45px}.hero-visual{width:100%;max-width:570px}.benefits,.property-banner,.resident-price,.dashboard-panels{grid-template-columns:1fr;gap:36px}.benefit-list{gap:16px}.machine-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr;max-width:500px;margin:auto}.price-card{min-height:auto}.metric-grid{grid-template-columns:repeat(2,1fr)}.property-banner{padding:40px}}@media (width<=560px){header{height:68px}.brand{font-size:23px}.header-actions .text-button{display:none}.page{padding-top:50px}.wrap{width:min(100% - 32px,1180px)}.hero{min-height:auto;padding:50px 0 64px}.hero h1{font-size:52px}.hero-actions{flex-direction:column;align-items:start;gap:17px}.hero-visual{min-height:370px}.benefits{padding:70px 0}.benefit-list{grid-template-columns:1fr}.property-banner{margin-bottom:60px;padding:32px}.toolbar,.dashboard-heading{flex-direction:column;align-items:start;gap:16px}.filter-pills{max-width:100%;overflow-x:auto}.machine-grid{grid-template-columns:1fr}.booking-card{grid-template-columns:1fr auto;gap:18px}.booking-card .cancel-button{grid-column:1/-1;width:100%}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article{padding:16px}.inventory-row{grid-template-columns:34px 1fr auto}.inventory-row .row-action{display:none}.auth-modal{padding:28px 22px}.form-grid{grid-template-columns:1fr}.reservation-summary{grid-template-columns:43px 1fr}.reservation-summary strong{grid-column:2}.resident-price{padding-top:20px}.price-card{padding:26px}.notif-panel{width:auto;left:16px;right:16px}}
