[hidden]{display:none!important}
.account-shell{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100svh - 160px)}
.account-sidebar{border-right:1px solid var(--line);padding:2.5rem 1.4rem;display:flex;flex-direction:column;background:#fff}
.account-sidebar nav{display:grid;gap:.45rem}.account-sidebar nav a{display:flex;justify-content:space-between;gap:1rem;padding:.9rem .8rem;text-decoration:none;font-size:.9rem}.account-sidebar nav a[aria-current=page]{background:#000;color:#fff}.account-sidebar nav a:hover{outline:1px solid #000}.sidebar-bottom{margin-top:auto;padding-top:4rem;display:grid;gap:.8rem;font-size:.8rem;overflow-wrap:anywhere}.sidebar-bottom p{margin:0;color:#555}
.account-main{padding:clamp(1.5rem,4vw,4rem);min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:2.5rem}.page-heading h1{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1;letter-spacing:-.055em;margin:0 0 1rem}.page-heading p:not(.eyebrow){color:#555;margin:0;max-width:42rem}.timezone{white-space:nowrap;border:1px solid var(--line);padding:.5rem .7rem;font:600 .65rem var(--mono)}
.panel{background:#fff;border:1px solid var(--line);padding:1.5rem;margin-bottom:1.5rem}.panel h2{font-size:1.4rem;letter-spacing:-.035em;margin:0 0 1rem}.panel h3{margin:0 0 .7rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-header h2{margin:0}.muted,.hint{color:#555}.hint{font-size:.85rem;margin:.5rem 0}.notice{border:1px solid #000;border-left:5px solid #000;background:#fff;padding:1rem 1.2rem;margin-bottom:1.5rem;overflow-wrap:anywhere}.notice[data-error=true]{border-style:dashed;border-left-style:solid}.empty-state{background:#fff;border:1px solid var(--line);padding:clamp(2rem,5vw,4rem);text-align:center}.empty-state p{max-width:36rem;margin:1rem auto 1.5rem;color:#555}.empty-state h2{font-size:1.7rem;letter-spacing:-.04em}.empty-state .actions{justify-content:center}
.account-page .button{background:#000;color:#fff;gap:1rem;text-transform:none;font-family:var(--sans);font-size:.9rem;letter-spacing:0;padding:.75rem 1.1rem}.account-page .button.secondary{background:#fff;color:#000}.account-page button:disabled{cursor:not-allowed;opacity:.45;transform:none}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;padding:0;text-align:left;cursor:pointer;color:#000}.actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.form-grid .full{grid-column:1/-1}.field{display:grid;gap:.4rem;font-size:.85rem;font-weight:600}.field input,.field select,.field textarea,.search-input{width:100%;min-width:0;border:1px solid #999;border-radius:0;background:#fff;color:#000;padding:.8rem;font:400 1rem var(--sans)}.field textarea{resize:vertical;min-height:100px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.search-input:focus-visible{outline:3px solid #000;outline-offset:3px}.check-field{display:flex;align-items:center;gap:.6rem;font-size:.9rem}.check-field input{width:18px;height:18px;accent-color:#000}.auth-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem}.auth-layout .panel{margin:0}.auth-aside{background:#000;color:#fff;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.auth-aside h2{font-size:2.2rem;letter-spacing:-.04em;line-height:1.1}.auth-aside p{color:#ccc}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.5rem}.tabs button{border:1px solid var(--line);background:#fff;padding:.65rem 1rem;cursor:pointer}.tabs button[aria-pressed=true]{background:#000;color:#fff;border-color:#000}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.stat{background:#fff;border:1px solid var(--line);padding:1.4rem}.stat .eyebrow{font-size:.6rem}.stat strong{display:block;font-size:2rem;line-height:1.1;letter-spacing:-.04em}.stat small{display:block;color:#555;font-size:.8rem;margin-top:.75rem}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:1.5rem}.room-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.room-choice{background:#fff;border:1px solid var(--line);padding:0;text-align:left;cursor:pointer;color:#000}.room-choice[aria-pressed=true]{outline:2px solid #000;outline-offset:1px}.room-choice img{display:block;width:100%;aspect-ratio:2;object-fit:cover}.room-choice span{display:block;padding:.7rem;font-weight:600}.room-choice small{display:block;font-weight:400;color:#555;margin-top:.25rem}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}.slots button{border:1px solid #999;background:#fff;color:#000;padding:.8rem;cursor:pointer}.slots button[aria-pressed=true]{background:#000;color:#fff}.summary-image{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1rem}.summary-list{margin:1rem 0}.summary-list div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.summary-list dt{color:#555}.summary-list dd{margin:0;text-align:right}.booking-card{border-top:1px solid var(--line);padding:1.2rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:start}.booking-card h3{margin:.3rem 0}.booking-card p{margin:.25rem 0;font-size:.9rem}.badge{display:inline-block;border:1px solid #aaa;padding:.25rem .5rem;font:500 .6rem var(--mono);text-transform:uppercase}.badge.solid{background:#000;color:#fff;border-color:#000}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-align:left;font:600 .65rem var(--mono);text-transform:uppercase;color:#555;white-space:nowrap}td,th{padding:.85rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;color:#555}.admin-space-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-space{border:1px solid var(--line);background:#fff}.admin-space img{display:block;width:100%;aspect-ratio:2;object-fit:cover}.admin-space>div{padding:1.2rem}.admin-space h3{margin:.5rem 0}.admin-space p{font-size:.85rem;color:#555}.schedule-row{display:grid;grid-template-columns:110px 1fr 1fr;gap:.6rem;align-items:center;padding:.5rem 0}.schedule-row input[type=time]{width:100%;padding:.5rem;border:1px solid #999;background:#fff;font:inherit}.account-footer{border-top:1px solid var(--line);padding:1.5rem clamp(1.25rem,4vw,4rem);display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.8rem;background:#fff}.account-footer span:first-child{margin-right:auto}dialog{border:1px solid #000;max-width:740px;width:calc(100% - 2rem);max-height:90svh;padding:1.5rem;background:#fff;color:#000}dialog::backdrop{background:#0008}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.dialog-heading h2{margin:0}.dialog-heading button{border:1px solid #000;background:#fff;padding:.3rem .7rem;cursor:pointer}.dialog-status{margin-bottom:1rem}.image-preview{max-width:200px;max-height:130px;object-fit:cover}.pagination{display:flex;gap:1rem;align-items:center;justify-content:flex-end;padding-top:1rem}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:1.5rem}.calendar-panel{min-width:0}.calendar-toolbar{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem}.calendar-toolbar h2{margin:0}.calendar-controls{display:flex;gap:.7rem;align-items:end}.calendar-controls .field{min-width:145px}.calendar-legend{display:flex;gap:1.2rem;flex-wrap:wrap;border-block:1px solid var(--line);padding:.8rem 0;margin-bottom:1rem;font:600 .65rem var(--mono);text-transform:uppercase;color:#555}.calendar-legend span{display:inline-flex;align-items:center;gap:.4rem}.calendar-legend i{display:inline-block;width:10px;height:10px;border:1px solid #000}.legend-open{background:#000}.legend-busy{background:#ddd}.calendar-board{display:grid;gap:.6rem}.calendar-room{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,1.7fr);border:1px solid var(--line);background:#fff;min-height:90px}.calendar-room-info{display:flex;gap:.8rem;align-items:center;padding:1rem;border-right:1px solid var(--line)}.calendar-room-info img{width:64px;height:64px;object-fit:cover;filter:grayscale(1)}.calendar-room-info h3{margin:0;font-size:1rem;line-height:1.1}.calendar-room-info p{margin:.4rem 0 0;color:#555;font-size:.72rem}.calendar-slots{display:flex;flex-wrap:wrap;gap:.45rem;padding:1rem;align-content:center}.calendar-slot{border:1px solid #000;background:#fff;color:#000;padding:.55rem .65rem;font:600 .72rem var(--mono);cursor:pointer}.calendar-slot:hover,.calendar-slot[aria-pressed=true],.open-slot{background:#000;color:#fff}.busy-slot{background:#e4e4e4;border-color:#aaa;color:#555;cursor:default}.no-slots{color:#777;font-size:.82rem}.calendar-layout .panel{margin-bottom:0}
.space-first-booking{display:grid;gap:1.5rem}.booking-space-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.booking-space-card{border:1px solid var(--line);padding:0;background:#fff;color:#000;text-align:left;cursor:pointer}.booking-space-card[aria-pressed=true]{outline:3px solid #000;outline-offset:2px}.booking-space-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(.4)}.booking-space-card span{display:grid;gap:.25rem;padding:.8rem}.booking-space-card small{color:#555;font-size:.75rem}.month-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:0 0 1rem}.month-navigation button:last-child{justify-self:end}.month-navigation strong{text-align:center;font-size:1.15rem;letter-spacing:-.03em}.month-grid{border:1px solid var(--line);background:#fff}.month-weekdays,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{background:#000;color:#fff;font:600 .65rem var(--mono);text-transform:uppercase}.month-weekdays span{padding:.7rem;border-right:1px solid #444}.month-days{gap:1px;background:var(--line)}.month-day{background:#fff;min-height:120px;padding:.6rem;display:flex;flex-direction:column;gap:.6rem}.month-day.empty-day{background:#f5f5f5}.month-day.is-disabled{background:#f1f1f1;color:#888}.month-day.is-blocked{background:#ededed}.month-date{display:flex;align-items:baseline;justify-content:space-between;font:600 .75rem var(--mono)}.month-date span{font-size:.55rem;text-transform:uppercase}.day-slots{display:grid;gap:.3rem;align-content:start}.day-slots span{font-size:.65rem;color:#777}.day-slot{border:1px solid #000;background:#fff;color:#000;padding:.38rem .3rem;font:600 .62rem var(--mono);cursor:pointer;text-align:left}.day-slot:hover,.day-slot[aria-pressed=true]{background:#000;color:#fff}
.day-partial{font-size:.58rem!important;color:#000!important;text-transform:uppercase;letter-spacing:.02em}
@media(max-width:1000px){.account-shell{grid-template-columns:180px minmax(0,1fr)}.account-sidebar{padding:2rem .8rem}.timezone{display:none}.booking-layout,.calendar-layout,.auth-layout,.two-columns{grid-template-columns:1fr}.booking-space-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:1fr}.stat{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:.5rem}.stat .eyebrow{margin:0}.stat small{grid-column:1/-1}.auth-aside{display:none}}
@media(max-width:650px){.account-shell{display:block}.account-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:1rem}.account-sidebar>.eyebrow{display:none}.account-sidebar nav{display:flex;flex-wrap:wrap;gap:.3rem}.account-sidebar nav a{padding:.6rem;font-size:.75rem}.account-sidebar nav a span{display:none}.sidebar-bottom{padding-top:1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.sidebar-bottom p{margin-right:auto}.account-main{padding:1.5rem 1rem}.form-grid,.admin-space-grid{grid-template-columns:1fr}.booking-card{display:block}.booking-card>.actions{margin-top:1rem}.schedule-row{grid-template-columns:90px 1fr 1fr;font-size:.8rem}.panel{padding:1rem}.room-choice span{font-size:.85rem}.account-page .site-header nav{gap:.8rem}.account-page .site-header nav a{font-size:.6rem}.page-heading{margin-bottom:1.5rem}.account-footer{padding-bottom:2rem}.calendar-toolbar{display:block}.calendar-controls{margin-top:1rem}.calendar-room{grid-template-columns:1fr}.calendar-room-info{border-right:0;border-bottom:1px solid var(--line)}.calendar-slot{font-size:.65rem;padding:.45rem}.calendar-slots{padding:.8rem}.booking-space-cards{grid-template-columns:1fr 1fr;gap:.5rem}.booking-space-card span{padding:.6rem}.month-day{min-height:90px;padding:.4rem}.month-weekdays span{padding:.5rem .25rem;font-size:.55rem}.month-date{font-size:.65rem}.month-date span{display:none}.day-slot{font-size:.54rem;padding:.3rem .2rem}.month-navigation button{padding:.55rem .6rem;font-size:.7rem}}
