@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";
@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--ink:#17231f;--muted:#64706b;--cream:#f5f2e9;--paper:#fffdf8;--green:#1f654e;--green-dark:#123f32;--lime:#d8f078;--line:#dcded7;--danger:#a33a32;--warning:#9a6718;--shadow:0 18px 44px #19302814}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:DM Sans,sans-serif}body{min-height:100vh;margin:0}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:10px;padding:.75rem 1rem;position:fixed;top:-4rem;left:1rem}.skip-link:focus{top:1rem}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.brand{letter-spacing:-.05em;font:800 1.3rem Manrope}.brand span{color:var(--green)}.brand.inverse{color:#fff}.brand.inverse span{color:var(--lime)}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:.72rem 1.05rem;font-weight:700;transition:all .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark)}.button.secondary{border-color:var(--line);background:#fff}.button.danger{color:var(--danger);background:#fff8f7;border-color:#eac5c1}.button.small{min-height:38px;padding:.5rem .75rem}.button.full{width:100%;margin-top:.75rem}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #17231f17;border-radius:20px;padding:1.35rem}.card h2,.card h3{margin:.35rem 0 .5rem;font-family:Manrope}.card p{color:var(--muted);line-height:1.55}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.status{letter-spacing:.05em;text-transform:uppercase;background:#eceeea;border-radius:999px;width:max-content;padding:.32rem .58rem;font-size:.69rem;font-weight:800;display:inline-flex}.status-success{color:#225d47;background:#e2f2d5}.status-warning{color:#7b5218;background:#fff0c9}.status-danger{color:#8f342e;background:#fae0dd}.landing{max-width:1240px;margin:auto;padding:0 2rem 3rem}.landing-nav{justify-content:space-between;align-items:center;height:86px;display:flex}.landing-nav>div{align-items:center;gap:1rem;display:flex}.hero{color:#fff;background:radial-gradient(circle at 80% 20%,#d8f07838,#0000 36%),linear-gradient(145deg,#173f34,#0e2d25);border-radius:30px;grid-template-columns:1.25fr .75fr;align-items:center;gap:5rem;min-height:610px;padding:5rem;display:grid;overflow:hidden}.hero h1{letter-spacing:-.06em;max-width:740px;margin:1rem 0;font:800 clamp(3rem,6vw,5.6rem)/.98 Manrope}.hero>div>p{color:#c9d8d2;max-width:650px;font-size:1.1rem;line-height:1.65}.hero-actions{gap:.75rem;margin-top:2rem;display:flex}.hero .button.primary{background:var(--lime);color:#183229}.hero .button.secondary{color:#fff;background:0 0;border-color:#668078}.hero-card{color:var(--ink);transform:rotate(2deg)}.hero-card strong{color:var(--green);font:800 2rem Manrope}.mini-flow{gap:.55rem;margin-top:2rem;display:grid}.mini-flow span{border-top:1px solid var(--line);color:var(--muted);padding-top:.55rem}.benefits{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem;display:grid}.benefits .card>span{color:var(--green);font-weight:800}.auth-page{background:radial-gradient(circle at 15% 20%,#d8f07859,transparent 28%),var(--cream);place-content:center;gap:1.5rem;min-height:100vh;padding:3rem 1.5rem;display:grid}.auth-page>.brand{text-align:center}.auth-card{width:min(520px,100vw - 3rem);padding:2.25rem}.auth-card h1{font:800 2.2rem/1.05 Manrope}.auth-switch{text-align:center}.auth-switch a{color:var(--green);font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.field{color:#394641;gap:.35rem;font-size:.82rem;font-weight:700;display:grid}.field input{border:1px solid var(--line);min-width:0;height:46px;color:var(--ink);background:#fff;border-radius:11px;outline:none;padding:0 .8rem}.field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f654e21}.form-grid .full{grid-column:1/-1}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--green-dark);color:#d6e1dd;flex-direction:column;height:100vh;padding:1.6rem 1.2rem;display:flex;position:sticky;top:0}.condo-pill{background:#ffffff12;border:1px solid #ffffff1a;border-radius:13px;gap:.2rem;margin:1.5rem 0;padding:1rem;display:grid}.condo-pill small{color:#b8c9c2}.condo-pill strong{font-size:.82rem}.sidebar nav{gap:.2rem;display:grid;overflow:auto}.sidebar nav a,.logout{color:#b8c9c2;text-align:left;background:0 0;border:0;border-radius:10px;padding:.72rem .8rem;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#d8f0781f}.logout{margin-top:auto}.workspace{min-width:0;padding:2.2rem 3rem 4rem}.mobile-bottom-nav,.mobile-profile-menu{display:none}.nav-icon{flex:none;width:24px;height:24px}.topbar{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.topbar h1{letter-spacing:-.04em;margin:.25rem 0;font:800 2.15rem Manrope}.topbar p{color:var(--muted);margin:0}.avatar{background:var(--lime);width:46px;height:46px;color:var(--green-dark);border-radius:50%;place-items:center;font-weight:800;display:grid}.notice{color:#244c3e;background:#e6f3d8;border:1px solid #cee4b9;border-radius:12px;justify-content:space-between;align-items:center;margin:0 0 1rem;padding:.8rem 1rem;display:flex}.psp-mock-notice{color:#7b5218;letter-spacing:.04em;background:#fff0c9;border-radius:999px;width:max-content;margin:0 0 1rem;padding:.38rem .62rem;font-size:.74rem;font-weight:800}.notice button{background:0 0;border:0;font-size:1.2rem}.content{gap:1rem;display:grid}.two-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.stack{gap:.75rem;display:grid}.card-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.inline-actions{gap:.5rem;display:flex}.actions{justify-content:flex-end;display:flex}.space-label{background:var(--green-dark);color:#fff;border-radius:14px;place-items:center;width:52px;height:52px;font:800 1rem Manrope;display:grid}.search-card{padding:1rem}.search-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:.8rem;display:grid}.summary-card,.form-card{width:min(680px,100%);margin:auto;padding:2rem}.details{gap:.25rem;margin:1rem 0;display:grid}.details>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.8rem 0;display:flex}.details dt{color:var(--muted)}.details dd{text-align:right;margin:0;font-weight:700}.details .total{font-size:1.1rem}.fineprint{font-size:.82rem}.reservation-row{justify-content:space-between;align-items:center;transition:all .18s;display:flex}.reservation-row:hover{border-color:#b9c4bf;transform:translateY(-2px)}.reservation-row>div:last-child,.money{justify-items:end;gap:.5rem;display:grid}.qr-card{text-align:center}.qr{border:16px solid var(--ink);color:#fff;text-shadow:0 2px 4px #000;background:repeating-linear-gradient(45deg,#fff 0 10px,#17231f 10px 20px);place-items:center;width:190px;height:190px;margin:1rem auto;font:800 1.5rem Manrope;display:grid}.chat{background:#f0f2ed;border-radius:11px;margin:.6rem 0;padding:.75rem}.chat p{margin:.25rem 0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.metric-grid .card{gap:.45rem;display:grid}.metric-grid span,.metric-grid small{color:var(--muted)}.metric-grid strong{font:800 1.75rem Manrope}.event-list{display:grid}.event-list>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:.8rem 0;display:flex}.empty{text-align:center;border:1px dashed #b9c1bc;border-radius:18px;place-content:center;justify-items:center;min-height:260px;display:grid}.empty strong{font:800 1.35rem Manrope}.empty p{color:var(--muted)}.single-space-card{width:min(760px,100%);margin:auto;padding:2rem}.support-note{color:#29483e;background:#f1f5ec;border:1px solid #d7dfd2;border-radius:13px;gap:.2rem;margin-top:1.25rem;padding:1rem;display:grid}.support-note span{color:var(--muted);font-size:.86rem}.space-management{gap:1.25rem;width:min(1180px,100%);margin:auto;display:grid}.registration-card{width:min(760px,100%);padding:1.65rem 2rem}.registration-card .card-row>div:first-child{align-items:center;gap:.75rem;display:flex}.registration-card .eyebrow{margin-right:.25rem}.registration-card .space-label{width:auto;min-width:52px;padding:0 .8rem}.registration-card .details{margin:.65rem 0}.availability-card{padding:2rem;overflow:hidden}.availability-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:1.25rem;display:flex}.availability-heading h2{margin:.25rem 0 .35rem}.availability-heading p{max-width:680px;margin:0}.weekday-tabs{grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem;margin:1.5rem 0;display:grid}.weekday-tabs button{min-width:0;min-height:60px;color:var(--muted);background:#fff;border:1px solid #cfd7d2;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:.6rem .5rem;transition:all .18s;display:flex}.weekday-tabs button:hover{border-color:var(--green);color:var(--green-dark)}.weekday-tabs button.active{border-color:var(--green);background:var(--green-dark);color:#fff;box-shadow:0 0 0 3px #1f654e1f}.weekday-tabs button:focus-visible,.hour-grid button:focus-visible{outline-offset:2px;outline:3px solid #1f654e47}.day-schedule-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.1rem;display:flex}.day-schedule-heading h3{margin:0 0 .2rem}.day-schedule-heading p{margin:0}.hour-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:.55rem;display:grid}.hour-grid button{color:#3d514a;background:#fff;border:1px solid #cfdbd5;border-radius:10px;min-width:0;min-height:52px;padding:.5rem .3rem;font-size:.78rem;font-weight:600;transition:all .16s}.hour-grid button:hover{border-color:var(--green);background:#f4f8f1}.hour-grid button.selected{border-color:var(--green);background:var(--lime);color:var(--green-dark);font-weight:800;box-shadow:inset 0 0 0 1px #123f321f}.availability-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.availability-footer>span{color:var(--muted);font-size:.82rem}.financial-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.financial-heading h2{margin:.2rem 0 0}.period-selector{border:1px solid var(--line);background:#ecefe9;border-radius:12px;gap:.25rem;padding:.25rem;display:flex}.period-selector button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 .8rem;font-weight:700}.period-selector button.active{background:var(--paper);color:var(--green-dark);box-shadow:0 2px 7px #17231f1a}.financial-chart{scrollbar-width:thin;scrollbar-color:#b9c8c1 transparent;min-height:250px;margin-top:.5rem;overflow:auto hidden}.financial-chart svg{width:100%;min-width:620px;height:auto;display:block;overflow:visible}.financial-grid-line line{stroke:#d9ded8;stroke-width:1px;stroke-dasharray:3 5}.financial-grid-line text,.financial-date-label{fill:var(--muted);font:600 10px DM Sans,sans-serif}.financial-area{fill:url(#financial-area-gradient)}.financial-line{fill:none;stroke:var(--green);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 4px #1f654e1f)}.financial-point{cursor:default;outline:none}.financial-point-guide{stroke:var(--green);stroke-width:1px;stroke-dasharray:3 4;opacity:0;transition:opacity .16s}.financial-point-halo{fill:var(--paper);stroke:var(--green);stroke-width:2px}.financial-point-dot{fill:var(--green)}.financial-tooltip{opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;transform:translateY(3px)}.financial-tooltip rect{fill:var(--green-dark);filter:drop-shadow(0 5px 9px #123f3233)}.financial-tooltip text{fill:#c3d4ce;font:600 10px DM Sans,sans-serif}.financial-tooltip .financial-tooltip-value{fill:#fff;font-weight:800}.financial-point:hover .financial-tooltip,.financial-point:focus .financial-tooltip,.financial-point:hover .financial-point-guide,.financial-point:focus .financial-point-guide{opacity:1;transform:none}.financial-point:focus .financial-point-halo{stroke-width:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.financial-list{margin-top:.25rem}.money.positive strong{color:var(--green)}.money.expense strong{color:var(--danger)}@media (max-width:980px){.hero{grid-template-columns:1fr;padding:3rem}.hero-card{display:none}.app-shell{grid-template-columns:86px 1fr}.sidebar{padding:1rem .65rem}.sidebar .brand,.condo-pill,.sidebar nav a{font-size:0}.sidebar nav a:first-letter{font-size:1rem}.workspace{padding:1.5rem}.cards-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}.weekday-tabs{grid-template-columns:repeat(7,minmax(92px,1fr));padding:0 0 .35rem;overflow-x:auto}.hour-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:680px){.landing{padding:0 1rem 2rem}.landing-nav>div>a:first-child{display:none}.hero{min-height:560px;padding:2rem 1.4rem}.hero h1{font-size:2.8rem}.hero-actions,.benefits,.two-columns,.cards-grid,.metric-grid,.form-grid,.search-form{flex-direction:column;grid-template-columns:1fr}.app-shell{display:block}.sidebar{display:none}.workspace{padding:1.2rem 1rem calc(7.25rem + env(safe-area-inset-bottom))}.topbar{margin-bottom:1.35rem}.topbar h1{font-size:1.7rem}.topbar p{display:none}.form-grid .full{grid-column:auto}.reservation-row,.card-row{align-items:flex-start}.reservation-row{gap:1rem}.financial-heading{flex-direction:column;align-items:flex-start}.registration-card,.availability-card{padding:1.25rem}.registration-card .card-row{align-items:center}.registration-card .card-row>div:first-child,.availability-heading,.day-schedule-heading,.availability-footer{flex-direction:column;align-items:flex-start}.availability-heading{gap:.75rem}.weekday-tabs{margin:1.15rem -.25rem}.weekday-tabs button{min-height:54px}.hour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hour-grid button{min-height:48px}.day-schedule-heading .inline-actions,.availability-footer .button{width:100%}.day-schedule-heading .inline-actions .button{flex:1}.period-selector{width:100%}.period-selector button{flex:1;padding:0 .35rem}.financial-chart{margin-right:-.5rem}.mobile-bottom-nav{z-index:50;padding:.45rem .4rem calc(.45rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f5;border-top:1px solid #17231f1f;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #123f321a}.mobile-bottom-nav a{min-width:0;min-height:58px;color:var(--muted);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .15rem;font-size:.65rem;font-weight:700;line-height:1.05;display:flex}.mobile-bottom-nav a.active{color:var(--green-dark);background:#d8f07857}.mobile-bottom-nav a.active .nav-icon{stroke-width:2.25px}.mobile-bottom-nav a:focus-visible,.mobile-profile-menu a:focus-visible,.mobile-profile-menu button:focus-visible{outline-offset:2px;outline:3px solid #1f654e47}.mobile-profile-menu{background:var(--paper);box-shadow:var(--shadow);border:1px solid #17231f17;border-radius:18px;margin-bottom:1rem;display:grid;overflow:hidden}.mobile-profile-menu a,.mobile-profile-menu button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:68px;color:var(--ink);text-align:left;background:0 0;border-radius:0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem .9rem;display:grid}.mobile-profile-menu a:last-child,.mobile-profile-menu button:last-child{border-bottom:0}.mobile-profile-menu a>span:nth-child(2),.mobile-profile-menu button>span:nth-child(2){gap:.12rem;min-width:0;display:grid}.mobile-profile-menu strong{font-size:.9rem}.mobile-profile-menu small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.profile-menu-icon{width:42px;height:42px;color:var(--green);background:#edf2ea;border-radius:12px;place-items:center;display:grid}.profile-menu-icon .nav-icon{width:21px;height:21px}.profile-menu-icon.danger{color:var(--danger);background:#fff0ee}.profile-menu-arrow{color:#98a19d;font-size:1.5rem;line-height:1}.profile-details{gap:.75rem}}
@keyframes spin{to{transform:rotate(360deg)}}*{box-sizing:border-box}html{color:#152d2c;background:#e7e2d4;font-family:Manrope,system-ui,sans-serif}body{margin:0;font-family:Manrope,system-ui,sans-serif}a{color:#0d403b}a:hover{color:#c56f52}input,select,textarea{font:inherit;color:inherit;background:#fff;border:1px solid #ddd9cf;border-radius:12px;outline:none;width:100%;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:#0d403b;box-shadow:0 0 0 3px #0d403b1c}button{font:inherit;cursor:pointer}:focus-visible{outline-offset:2px;outline:2px solid #0d403b}::-webkit-scrollbar{display:none}
