*{box-sizing:border-box}:root{color:#111;background:#f4c542;font-family:Inter,ui-sans-serif,system-ui,sans-serif}body{margin:0;min-width:320px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #111111;outline-offset:2px}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;background:#111;color:#f4c542;cursor:pointer;font-weight:700;padding:.8rem 1rem}button:disabled{cursor:wait;opacity:.65}button.secondary{background:#fff8d6;border:1px solid #111111;color:#111}.auth-shell,.dashboard-shell{margin:0 auto;max-width:1080px;padding:3rem 1.25rem}.auth-shell{align-items:center;display:grid;min-height:100vh;max-width:520px}.auth-card,.welcome-card,.admin-grid>article{background:#fff8d6;border:1px solid #111111;border-radius:18px;box-shadow:0 12px 35px #1111111f;padding:2rem}form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;font-weight:700;gap:.45rem}input,select,textarea{border:1px solid #111111;border-radius:9px;padding:.75rem}.eyebrow{color:#111;font-size:.75rem;font-weight:800;letter-spacing:.1em;margin:0 0 .5rem;text-transform:uppercase}h1,h2{margin-top:0}.muted,.security-note{color:#5c5000}.security-note{font-size:.8rem;margin-bottom:0}.error{color:#b42318;font-weight:700;margin:0}.dashboard-header{align-items:start;display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-nav{align-items:center;background:#111;border-radius:14px;display:flex;gap:.35rem;margin-bottom:1.25rem;overflow-x:auto;padding:.35rem}.nav-item{background:transparent;border-radius:9px;color:#fff8d6;min-width:96px;padding:.65rem .85rem}.nav-item:hover,.nav-item.active{background:#f4c542;color:#111}.welcome-card{margin-bottom:1.25rem}.admin-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr);min-width:0}.admin-grid>article{box-shadow:none;min-width:0}@media(max-width:720px){.dashboard-shell{padding:1.5rem .75rem}.admin-grid{grid-template-columns:1fr}.dashboard-header,.calendar-toolbar,.calendar-navigation{align-items:stretch;flex-direction:column}.calendar-toolbar label{min-width:0}.identity-toggle{width:100%}.identity-toggle button{flex:1 1 0}.reservation-identity-fields,.manual-reservation-grid{align-items:stretch;grid-template-columns:1fr}.reservation-identity-fields label,.manual-reservation-grid label{width:100%}.manual-reservation-actions{align-items:stretch;flex-direction:column}.manual-reservation-actions label{min-width:0}}.reservations-card{grid-column:1 / -1}.reservation-filters{align-items:end;background:#fff8d6;border:1px solid #111;border-radius:14px;display:grid;gap:.75rem;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto;margin:0 0 1rem;padding:1rem}.reservation-filters label{display:grid;gap:.35rem;font-size:.78rem;font-weight:800;text-transform:uppercase}.reservation-filters input,.reservation-filters select{background:#fff;border:1px solid #111;border-radius:8px;color:#111;padding:.65rem;text-transform:none}.status-badge{border-radius:999px;display:inline-block;font-size:.72rem;padding:.35rem .55rem;text-transform:capitalize}.status-confirmed{background:#d7f2dc;color:#155724}.status-pending_payment{background:#fff0bd;color:#6b4f00}.status-cancelled{background:#f7d5d5;color:#7d1d1d}@media(max-width:720px){.reservation-filters{grid-template-columns:1fr}}.section-heading{align-items:start;display:flex;justify-content:space-between;gap:1rem}.section-heading h2{margin-bottom:.35rem}.section-heading p{margin-top:0}.reservation-list{display:grid;gap:.75rem}.reservation-row{align-items:center;border-top:1px solid rgb(17 17 17 / 18%);display:flex;justify-content:space-between;gap:1rem;padding-top:.9rem}.reservation-row p{margin:.35rem 0 0;font-size:.85rem}.reservation-meta{display:grid;gap:.3rem;text-align:right}.reservation-meta span{color:#5c5000;font-size:.85rem}.reservation-list-heading{border-top:1px solid rgb(17 17 17 / 18%);margin-top:1.5rem;padding-top:1.25rem}.reservation-list-heading h3,.reservation-list-heading p{margin:0 0 .35rem}.manual-reservation{background:#111;border-radius:14px;color:#fff8d6;margin-top:1.25rem;padding:1.25rem}.manual-reservation h3,.manual-reservation p{margin:0 0 .35rem}.manual-reservation .eyebrow,.manual-reservation .muted{color:#f4c542}.manual-reservation form{margin-top:1rem}.identity-toggle{background:#2a2a2a;border-radius:10px;display:flex;gap:.25rem;padding:.25rem;width:fit-content}.identity-toggle button{background:transparent;color:#fff8d6;font-size:.8rem;padding:.55rem .75rem}.identity-toggle button.active{background:#f4c542;color:#111}.reservation-identity-fields,.manual-reservation-grid{align-items:end;display:grid;gap:.75rem}.reservation-identity-fields,.manual-reservation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-identity-fields label,.manual-reservation-grid label{align-content:start;min-width:0;width:100%}.reservation-identity-fields input,.reservation-identity-fields select,.manual-reservation-grid input,.manual-reservation-grid select{height:46px;line-height:1.2;min-width:0;width:100%}.customer-picker small{color:#f4c542;font-size:.72rem;font-weight:500}.manual-reservation-actions{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem}.manual-reservation-actions label{flex:1 1 210px;min-width:0}.manual-reservation-actions select{min-width:0;width:100%}.manual-reservation .notice{margin:0}.reservation-calendar{background:#fffdf2;border:1px solid rgb(17 17 17 / 22%);border-radius:14px;margin-top:1.25rem;min-width:0;padding:1rem}.calendar-toolbar,.calendar-navigation{align-items:center;display:flex;gap:1rem;justify-content:space-between}.calendar-toolbar h3,.calendar-toolbar p{margin:0 0 .35rem}.calendar-toolbar label{min-width:220px}.calendar-toolbar-controls{align-items:end;display:flex;gap:.75rem}.calendar-view-toggle{background:#111;border-radius:10px;display:flex;padding:.25rem}.calendar-view-toggle button{background:transparent;color:#fff8d6;font-size:.78rem;padding:.55rem .75rem}.calendar-view-toggle button.active{background:#f4c542;color:#111}.calendar-navigation{border-block:1px solid rgb(17 17 17 / 16%);margin-top:.8rem;padding-block:.7rem}.calendar-legend{align-items:center;display:flex;flex-wrap:wrap;font-size:.75rem;font-weight:700;gap:.9rem;margin:.7rem 0}.calendar-legend span{align-items:center;display:flex;gap:.35rem}.legend-dot{border:1px solid #111111;border-radius:50%;display:inline-block;height:.75rem;width:.75rem}.legend-dot.available{background:#dff5e5}.legend-dot.limited{background:#fff1b8}.legend-dot.full{background:#ffd9d5}.legend-dot.past{background:#e8e4d2}.reservation-week{display:grid;gap:.55rem;grid-template-columns:repeat(7,minmax(145px,1fr));overflow-x:auto;padding-bottom:.35rem}.reservation-day{border:1px solid rgb(17 17 17 / 18%);border-radius:10px;min-width:145px;overflow:hidden}.reservation-day>header{background:#111;color:#fff8d6;display:grid;gap:.15rem;padding:.65rem}.reservation-day>header span{font-size:.68rem;opacity:.75}.reservation-day-slots{display:grid;gap:.45rem;padding:.45rem}.reservation-slot{border:1px solid rgb(17 17 17 / 18%);border-radius:8px;padding:.55rem}.reservation-slot.available{background:#eff9f2}.reservation-slot.limited{background:#fff7d6;border-color:#a47d00}.reservation-slot.full{background:#fff0ee;border-color:#b42318}.reservation-slot.past{background:#efecdf;opacity:.62}.slot-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:.25rem}.slot-heading span,.reservation-slot p,.slot-booking span,.slot-booking small{font-size:.68rem}.reservation-slot p{margin:.25rem 0 0}.slot-booking{border-top:1px solid rgb(17 17 17 / 16%);display:grid;gap:.1rem;margin-top:.4rem;overflow-wrap:anywhere;padding-top:.4rem}.slot-booking strong{font-size:.72rem}.closed-day{color:#5c5000;font-size:.75rem;padding:.35rem}.reservation-month{display:grid;gap:.4rem;grid-template-columns:repeat(7,minmax(90px,1fr));overflow-x:auto}.month-weekday{font-size:.72rem;font-weight:800;min-width:90px;padding:.35rem;text-align:center;text-transform:uppercase}.month-blank{background:#1111110a;border-radius:8px;min-height:94px;min-width:90px}.reservation-month-day{align-content:start;background:#eff9f2;border:1px solid rgb(17 17 17 / 18%);border-radius:8px;color:#111;display:grid;gap:.25rem;min-height:94px;min-width:90px;padding:.55rem;text-align:left}.reservation-month-day>strong{font-size:1rem}.reservation-month-day>span,.reservation-month-day>small{font-size:.68rem}.reservation-month-day.limited{background:#fff7d6;border-color:#a47d00}.reservation-month-day.full{background:#fff0ee;border-color:#b42318}.reservation-month-day.closed{background:#f5f1dd;color:#5c5000}.reservation-month-day.past{background:#efecdf;opacity:.62}.reservation-month-day.today{box-shadow:inset 0 0 0 2px #111}.calendar-hint{color:#5c5000;font-size:.75rem;margin:.65rem 0 0;text-align:center}.management-section{margin:1.25rem 0}.management-section>.section-heading{margin-bottom:1rem}.management-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}.management-card{background:#fff8d6;border:1px solid #111111;border-radius:18px;box-shadow:0 12px 35px #1111111f;padding:1.5rem}.management-card h3{margin-top:0}.management-card textarea{font:.8rem ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.button-row,.inline-form,.cart-row{align-items:center;display:flex;gap:.6rem}.inline-form{margin-bottom:1rem}.inline-form input{flex:1;min-width:0}.cart-list{display:grid;gap:.75rem}.cart-row{border-top:1px solid rgb(17 17 17 / 18%);flex-wrap:wrap;padding-top:.75rem}.cart-row input{flex:1;min-width:130px}.compact{font-size:.75rem;padding:.55rem .65rem}.checkbox-label{align-items:center;display:flex;grid-template-columns:none}.checkbox-label input{accent-color:#111111;width:auto}.status-good,.status-muted,.notice{font-size:.85rem;font-weight:700}.status-good{color:#146c2e}.status-muted{color:#6b5e00}.notice{color:#146c2e;margin:0 0 1rem}.hours-editor{display:grid;gap:.6rem}.hours-editor>p{margin:0;font-size:.85rem}.hours-row{align-items:center;display:grid;gap:.45rem;grid-template-columns:minmax(130px,1fr) 1fr auto 1fr}.hours-day{align-items:center;display:flex;gap:.45rem}.hours-day input{accent-color:#111111;width:auto}.users-card{grid-column:1 / -1}.user-list{display:grid;gap:.75rem}.user-row{align-items:center;border-top:1px solid rgb(17 17 17 / 18%);display:flex;justify-content:space-between;gap:1rem;padding-top:.9rem}.user-row p{margin:.35rem 0 0;font-size:.85rem}.user-controls{align-items:end;display:flex;gap:.6rem}@media(max-width:900px){.management-grid{grid-template-columns:1fr}}@media(min-width:721px)and (max-width:900px){.reservation-identity-fields,.manual-reservation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-reservation-grid label:last-child{grid-column:1 / -1}}@media(max-width:720px){.manual-reservation{padding:1rem}.manual-reservation h3{font-size:1.35rem}.manual-reservation .muted{font-size:.9rem}.manual-reservation form{gap:.75rem}.identity-toggle{width:100%}.identity-toggle button{flex:1 1 0;font-size:.72rem;padding:.5rem .45rem}.reservation-identity-fields,.manual-reservation-grid{align-items:stretch;grid-template-columns:1fr}.reservation-identity-fields label,.manual-reservation-grid label{width:100%}.reservation-identity-fields input,.reservation-identity-fields select,.manual-reservation-grid input,.manual-reservation-grid select{font-size:.9rem;padding:.65rem}.manual-reservation-actions{align-items:stretch;flex-direction:column}.manual-reservation-actions label{min-width:0}.manual-reservation-actions>button{flex:0 0 auto;width:100%}.hours-row{grid-template-columns:1fr 1fr auto 1fr}.hours-day{grid-column:1 / -1}.user-row,.user-controls,.calendar-toolbar-controls{align-items:stretch;flex-direction:column}}.availability-check{display:grid;gap:.65rem;margin:1rem 0;padding:.9rem;border:1px solid rgb(17 17 17 / 18%);border-radius:10px}.availability-check p{margin:0}.availability-check label{font-size:.85rem}.audit-filters{align-items:end;background:#fff8d6;border:1px solid #111111;border-radius:14px;display:grid;gap:.75rem;grid-template-columns:1fr 1fr auto auto;margin:0 0 1rem;padding:1rem}.audit-summary{color:#5c5000;display:flex;font-size:.85rem;font-weight:700;justify-content:space-between;margin:0 0 .75rem}.audit-list{display:grid;gap:.75rem}.audit-row{background:#fff8d6;border:1px solid #111111;border-radius:14px;padding:1rem}.audit-row-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.audit-row-heading p{margin:.35rem 0 0}.audit-row-heading time{color:#5c5000;font-size:.85rem;text-align:right;white-space:nowrap}.audit-detail{margin-top:.8rem}.audit-detail summary{cursor:pointer;font-weight:700}.audit-fields{display:grid;gap:.5rem;margin:.8rem 0}.audit-fields div{display:grid;gap:.2rem;grid-template-columns:130px 1fr}.audit-fields dt{color:#5c5000;font-size:.8rem;font-weight:700}.audit-fields dd{margin:0;overflow-wrap:anywhere}.audit-detail pre{background:#111;border-radius:9px;color:#fff8d6;max-height:220px;overflow:auto;padding:.8rem;white-space:pre-wrap}.audit-pagination{justify-content:end;margin-top:1rem}@media(max-width:720px){.audit-filters{grid-template-columns:1fr}.audit-row-heading{flex-direction:column}.audit-row-heading time{text-align:left}.audit-fields div{grid-template-columns:1fr}}
