:root{font-family:Arial,Helvetica Neue,sans-serif;font-size:14px;line-height:1.45;font-synthesis:none;color:var(--color-text);--color-primary: #941b32;--color-text: #25262a;--color-muted: #676b73;--color-border: #dedfe3;--color-background: #f5f5f6;--color-surface: #fff;--state-free: #237243;--state-occupied: #b12835;--state-activity: #2864b4;--state-unavailable: #747982}*{box-sizing:border-box}body{margin:0;background:var(--color-background)}a{color:var(--color-primary);text-underline-offset:3px}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 15px;border:1px solid transparent;border-radius:5px;background:var(--color-primary);color:#fff;font-weight:600;text-decoration:none;cursor:pointer}button:hover,.button:hover{filter:brightness(.95)}button:disabled{cursor:default;filter:none}input,textarea,select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #bfc2c9;border-radius:4px;background:#fff;color:inherit}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--color-primary)}textarea{resize:vertical}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #285fa7;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:23px;line-height:1.25;font-weight:600;margin-bottom:0}h2{font-size:18px;font-weight:600;margin-bottom:12px}h3{font-size:15px}small,.muted{color:var(--color-muted)}.app{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:64px;padding:12px 10px;background:#f3e9ec;border-right:1px solid #e4d3d8;overflow:hidden;transition:width .16s ease}.sidebar nav{display:flex;flex-direction:column;height:100%;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:44px;padding:11px;border-radius:5px;color:#545861;text-decoration:none;white-space:nowrap}.sidebar svg{flex-shrink:0}.nav-text{max-width:0;opacity:0;overflow:hidden}.sidebar nav a:hover{background:#f4f4f5;color:var(--color-text)}.sidebar nav a.active{background:#f7eaf0;color:var(--color-primary)}.sidebar nav a.sidebar-help{margin-top:auto}.sidebar:has(:focus-visible){width:230px;box-shadow:4px 0 12px #0000000a}.sidebar:has(:focus-visible) .nav-text{max-width:180px;opacity:1}@media(hover:hover)and (min-width:801px){.sidebar:hover{width:230px;box-shadow:4px 0 12px #0000000a}.sidebar:hover .nav-text{max-width:180px;opacity:1}}.workspace{margin-left:64px;flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 8px;background:#fff;border-bottom:1px solid var(--color-border)}.header-logo{display:block;width:190px;height:56px;object-fit:contain;object-position:left center;margin-left:-12px}.topbar>div{display:flex;align-items:center;gap:22px}.topbar a{display:flex;align-items:center;position:relative;text-decoration:none;color:inherit;min-height:40px}.profile{gap:8px;font-size:13px}.badge{position:absolute;top:0;right:-7px;padding:1px 5px;font-size:10px;border-radius:10px;color:#fff;background:var(--color-primary)}main{width:100%;margin:0 auto;padding:24px 26px;flex:1;min-width:0}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.pill{display:inline-block;padding:2px 6px;border:1px solid var(--color-border);border-radius:4px;font-size:12px;color:var(--color-muted)}.calendar-panel{border:1px solid var(--color-border);border-radius:6px;background:#fff;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:14px 18px;border-bottom:1px solid var(--color-border)}.calendar-toolbar>label{display:flex;gap:10px;align-items:center;font-size:13px}.calendar-toolbar select{width:auto;min-width:130px}.calendar-toolbar .field{margin-bottom:0}.date-picker input{width:155px}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#4b5058}.calendar-toolbar .legend{margin-left:auto}.legend>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.state-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.state-dot.available{background:var(--state-free)}.state-dot.occupied{background:var(--state-occupied)}.state-dot.activity{background:var(--state-activity)}.state-dot.unavailable{background:var(--state-unavailable)}.courts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.court{padding:18px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.court header{margin-bottom:14px}.court h2{font-size:16px;margin:0}.slots{display:grid;gap:6px}.slot{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;font-size:12px;font-weight:400;border:1px solid;border-left:3px solid;min-height:42px}.slot span{display:inline-flex;gap:6px;align-items:center}.slot.available,.admin-slot.available{background:#edf7f0;color:#195b34;border-color:#b9dac5;border-left-color:var(--state-free)}.slot.occupied,.admin-slot.occupied{background:#fff0f1;color:#9a2431;border-color:#efc3c8;border-left-color:var(--state-occupied)}.slot.activity,.admin-slot.activity{background:#eef4ff;color:#235799;border-color:#bfd2ef;border-left-color:var(--state-activity)}.slot.unavailable,.admin-slot.unavailable{background:#f1f2f4;color:#626771;border-color:#dee0e5;border-left-color:var(--state-unavailable)}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 26px;font-size:11px;color:var(--color-muted)}footer div{display:flex;flex-wrap:wrap;gap:18px}footer a{color:inherit;text-decoration:none}.card,.auth-card{background:#fff;border:1px solid var(--color-border);border-radius:6px;padding:20px;margin-bottom:16px}main.auth-page{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px 16px;background:#e9eaec}.auth-background{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}.auth-content{width:100%;max-width:420px;min-width:0}.auth-card{width:100%;max-width:420px;padding:28px;margin:0 auto;box-shadow:0 3px 20px #0000000a}.auth-logo{display:block;width:260px;max-width:100%;height:auto;margin:-8px auto 20px}.auth-card h1{font-size:21px}.auth-card .page-title{margin-bottom:22px}.auth-card form>.form-actions>button{width:100%;min-height:44px}.auth-card input{min-height:44px}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;font-size:13px}.check{display:flex;align-items:flex-start;gap:8px;font-size:12px;margin:18px 0}.check input{flex-shrink:0}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;margin-top:20px}.secondary{background:#fff;color:var(--color-primary);border:1px solid #cdd0d6}.danger{background:#fff1f2;color:#9b2736;border:1px solid #edc5cb}.text-button{padding:0;min-height:32px;background:transparent;color:var(--color-primary)}.error{padding:12px;border-radius:4px;background:#fff0f1;color:#9b2736;font-size:13px}.notice{padding:12px;border:1px solid #d9dce3;border-radius:4px;background:#f5f6f8;color:#414854;margin-bottom:16px;font-size:13px}.empty{padding:32px 18px;text-align:center;color:var(--color-muted)}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.cards h2{margin-top:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.actions button,.actions .button{font-size:12px;padding:7px 12px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checkin-card{max-width:460px;margin:20px auto;text-align:center}.qr-illustration{width:56px;height:56px;margin:0 auto 18px;display:grid;place-items:center;color:var(--color-primary)}.checkin-card .field{text-align:left}.checkin-card>button{width:100%}.checkin-card>p{font-size:13px;color:var(--color-muted)}.separator{margin:20px 0}.code-input{font-size:28px;letter-spacing:10px;text-align:center}.privacy-note{display:flex;align-items:center;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border);font-size:12px!important}.checkin-card video{width:100%;margin-top:14px}.modal{border:1px solid var(--color-border);background:#fff;color:var(--color-text);border-radius:8px;padding:24px;width:min(calc(100% - 32px),430px);box-shadow:0 12px 50px #00000020}.modal::backdrop{background:#16191f66}.modal button,.modal .button{margin:10px 10px 0 0}.help-list summary{cursor:pointer;font-weight:600;min-height:40px}.plain-content{white-space:pre-wrap;overflow-wrap:anywhere}.admin-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.admin-controls select{width:auto;max-width:280px}.admin-search{max-width:360px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:18px;overflow-wrap:anywhere}.admin-row p{margin:0;font-size:13px}.admin-row .actions{max-width:50%;margin:0}.admin-list{margin-top:18px}.admin-slot{padding:10px 12px;border:1px solid;border-left:3px solid;border-radius:4px;margin-bottom:6px;font-size:13px}section>.legend{margin:16px 0}.print-card{text-align:center}.large-code{font-size:36px;letter-spacing:10px}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:12px;z-index:50}.skip-link:focus{top:10px}@media(max-width:800px){.sidebar,.sidebar:has(:focus-visible){inset:auto 0 0;width:100%;padding:5px 6px calc(5px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--color-border);overflow:visible}.sidebar nav{flex-direction:row;justify-content:space-around;gap:2px}.sidebar nav a{flex-direction:column;justify-content:center;gap:5px;flex:1;min-width:0;padding:6px 2px;font-size:10px}.sidebar nav a.sidebar-help{margin:0}.sidebar .nav-text{max-width:100%;opacity:1}.workspace{margin-left:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{height:60px;padding:0 16px}.header-logo{width:164px;height:52px}.topbar>div{gap:16px}.profile span{display:none}main{padding:20px 16px}h1{font-size:21px}.calendar-toolbar{padding:12px;gap:12px}.calendar-toolbar .legend{width:100%;margin-left:0;gap:10px 14px;font-size:11px}.court{padding:14px 12px}.slot{min-height:44px}.slot svg{display:none}.two-columns{grid-template-columns:1fr}.admin-controls{width:100%}.admin-controls select{flex:1;min-width:0;max-width:none}.admin-row{display:block}.admin-row .actions{max-width:none;margin-top:12px}footer{padding:14px 16px}.auth-card{padding:24px}button,.button{min-height:44px}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}@media print{body *{visibility:hidden}.print-card,.print-card *{visibility:visible}.print-card{position:absolute;left:0;top:0;width:100%;border:0}.print-card button{display:none}}.auth-description{color:var(--color-muted);text-align:center;margin:-4px 0 24px}.group-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.group-tabs button{background:#fff;color:var(--color-text);border-color:var(--color-border)}.group-tabs button[aria-selected=true]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.availability-scroll{overflow:auto;max-height:none;overscroll-behavior-x:contain}.availability-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:100%;width:max-content}.availability-grid th{min-width:108px;padding:8px;text-align:center;font-size:12px;background:#fff;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);white-space:nowrap}.availability-grid thead{position:sticky;top:0;z-index:3}.availability-grid thead tr:first-child th{height:36px}.availability-grid th.today{color:var(--color-primary);background:#fcf3f5}.availability-grid th.time-axis{position:sticky;left:0;z-index:2;min-width:58px;width:58px;font-weight:400;color:var(--color-muted)}.availability-grid thead .time-axis{z-index:4}.availability-cell{padding:0;width:108px;min-width:108px;height:26px;border-right:1px solid white;border-bottom:1px solid white}.availability-cell button{display:block;width:100%;min-height:26px;height:26px;padding:0 4px;border:0;border-radius:0;font-size:11px;font-weight:400}.availability-cell .available{background:#d7ebdf;color:#17552f}.availability-cell .occupied{background:#edc8cd;color:#82232d}.availability-cell .activity{background:#c9dcf6;color:#174a8c}.availability-cell .unavailable{background:#e9eaed;color:#686c75}.availability-cell button:focus-visible{position:relative;z-index:1;outline-offset:-2px}.availability-cell button.available:not(:disabled):hover{background:#a4d3b7}.calendar-more{padding:12px;text-align:right;border-top:1px solid var(--color-border)}.schedule-editor{margin-bottom:18px}.weekdays{display:flex;flex-wrap:wrap;gap:8px}.weekdays label{display:flex;align-items:center;gap:4px}.schedule-rules{display:flex;flex-direction:column;gap:8px;margin:14px 0}.schedule-rule{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--color-border);padding:8px 0}.schedule-rule p{margin-bottom:0}.availability-grid tbody .time-axis{padding:0 6px;height:26px;font-size:11px}.schedule-rule .actions{margin:0}.schedule-rule button{min-height:32px}.schedule-editor form{margin-top:16px;max-width:700px}.facility-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 18px}.facility-tabs button{background:transparent;color:var(--color-muted);border-radius:0;border-bottom:2px solid transparent;padding:6px 12px}.facility-tabs button[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.announcement{border-color:#e5bdc6;border-left:3px solid var(--color-primary);background:#fffafb}.profile-menu{position:relative}.topbar .profile{color:var(--color-text);padding:8px}.profile-options{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;padding:6px;background:#fff;border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 18px #00000012;z-index:30}.profile-options a,.profile-options button{display:flex;justify-content:flex-start;width:100%;padding:8px 12px;color:var(--color-text);font-weight:400}.profile-options a:hover,.profile-options button:hover{background:#f6eef0}.notification-list{max-width:900px}.notification-list .card{padding:16px 18px}.notification-list h2{font-size:16px;margin:0}.notification-list .unread{border-left:3px solid var(--color-primary)}.notification-list summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center}.notification-list time{font-size:12px;color:var(--color-muted)}.notification-body{padding-top:14px}.share-preview{max-width:100%;width:420px;border:1px solid var(--color-border);border-radius:6px;display:block;margin-bottom:16px}.admin-list+.modal{max-height:90dvh;overflow:auto}.admin-edit{position:relative}.admin-edit form{max-width:780px}.admin-edit>.secondary{position:absolute;top:14px;right:16px}@media(max-width:800px){input:not(.code-input),textarea,select{font-size:16px}.topbar{position:sticky;top:0;z-index:25;flex-shrink:0}.sidebar .nav-text{max-width:70px;text-align:center;white-space:normal;line-height:1.15}.notification-list summary{align-items:flex-start}.actions>button,.actions>.button{flex:1 1 auto}.availability-cell,.availability-cell button,.availability-grid tbody .time-axis{height:28px;min-height:28px}}.modal .actions>*{margin:0}.admin-edit>h2{padding-right:90px}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.form-actions>button{margin:0;width:auto}.modal .form-actions>button{margin:0;font-size:14px;padding:10px 16px}.record-details{margin:0;display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:6px 18px;font-size:14px}.record-details>div{display:contents}.record-details dt{color:var(--color-muted)}.record-details dd{margin:0;overflow-wrap:anywhere}.admin-row h3,.penalty-profile h3{margin:0 0 12px;font-size:16px;font-weight:700}.penalty-profile{scroll-margin-top:90px}.penalty-history{padding:16px 0;border-top:1px solid var(--color-border)}.field small{display:block;margin-top:6px;line-height:1.5}@media(max-width:600px){.record-details{grid-template-columns:1fr;gap:3px}.record-details dd{margin-bottom:8px}.modal .form-actions{gap:8px}.modal .form-actions>button{padding:9px 12px}}:root{--app-header-height: 64px}.topbar{position:sticky;top:0;z-index:25;flex-shrink:0}.calendar-panel{overflow:visible}.availability-day-header{position:sticky;top:var(--app-header-height);z-index:8;background:#fff}.availability-heading-scroll{overflow-x:auto;scrollbar-width:none}.availability-heading-scroll::-webkit-scrollbar{display:none}.availability-scroll .accessible-calendar-heading{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.availability-heading-scroll .availability-grid thead{position:static}@media(max-width:800px){:root{--app-header-height: calc(60px + env(safe-area-inset-top, 0px)) }.app{min-height:100dvh}.topbar{height:var(--app-header-height);padding-top:env(safe-area-inset-top,0px);padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.sidebar,.sidebar:has(:focus-visible){padding:0 max(6px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));background:#f3e9ec}.sidebar nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:2px;height:66px}.sidebar nav a{width:auto;min-height:62px;padding:5px 1px 0;gap:3px;border-radius:8px}.sidebar .nav-text{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:24px;font-size:10px;line-height:1.1;white-space:normal;overflow:visible;text-align:center;overflow-wrap:anywhere}.sidebar nav a.active{background:transparent}.sidebar nav a.nav-checkin{padding-top:0}.sidebar .nav-checkin svg{box-sizing:content-box;width:22px;height:22px;padding:11px;margin-top:-13px;border:4px solid #f3e9ec;border-radius:50%;background:var(--color-primary);color:#fff;box-shadow:0 3px 9px #60122230}.sidebar .nav-checkin.active svg{background:#741429;box-shadow:0 3px 12px #60122250}.workspace{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}}.nav-mobile-label{display:none}@media(max-width:800px){.nav-full-label{display:none}.nav-mobile-label{display:inline}.sidebar nav a{height:62px;justify-content:flex-end;position:relative}.sidebar .nav-text{height:24px;flex-shrink:0}.sidebar .nav-checkin svg{position:absolute;top:-8px;left:50%;transform:translate(-50%);padding:9px;margin:0}}.policy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.admin-edit form{max-width:none}.field-label{display:flex;align-items:center;gap:6px;margin-bottom:6px}.field-label label{margin:0}.field-help{position:relative;display:inline-flex}.help-toggle{display:inline-flex;padding:2px;border:0;background:transparent;color:var(--color-muted);min-height:24px;margin:0}.field-help [role=tooltip]{position:absolute;left:0;top:calc(100% + 4px);width:min(310px,75vw);padding:12px;border:1px solid var(--color-border);border-radius:6px;background:#fff;color:var(--color-text);box-shadow:0 4px 18px #0002;font-size:12px;z-index:24}.field-help [hidden]{display:none}.policy-fields>.field:nth-child(2n) .field-help [role=tooltip]{left:auto;right:0}.admin-section-mobile{display:none}.admin-section-menu{position:relative}.admin-section-menu>summary{cursor:pointer;min-width:230px;background:#fff;border:1px solid var(--color-border);border-radius:5px;padding:11px 14px}.admin-section-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(760px,calc(100vw - 110px));padding:16px;gap:16px;border:1px solid var(--color-border);border-radius:8px;background:#fff;box-shadow:0 10px 30px #0002}.admin-section-panel strong{display:block;margin-bottom:8px;font-size:12px;color:var(--color-muted)}.admin-section-panel button{display:block;width:100%;padding:9px;background:transparent;color:var(--color-text);border:0;text-align:left;font-size:13px}.admin-section-panel button:hover,.admin-section-panel button[aria-current]{background:#f7eaf0;color:var(--color-primary)}.user-search-control{position:relative}.user-search-results{position:absolute;z-index:10;top:100%;left:0;right:0;max-height:280px;overflow-y:auto;padding:6px;background:#fff;border:1px solid var(--color-border);border-radius:5px;box-shadow:0 4px 18px #0002}.user-search-results button{width:100%;text-align:left;border:0;background:#fff;color:var(--color-text);padding:9px}.user-search-results button[aria-selected=true],.user-search-results button:hover{background:#f7eaf0}.user-search-results span{display:block;font-size:12px;font-weight:400}.permission-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:16px 0 24px}.permission-matrix fieldset{border:1px solid var(--color-border);border-radius:6px;padding:12px 16px}.permission-matrix legend{font-weight:700;padding:0 5px}.reservation-filters{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.reservation-filters>.field{min-width:180px;flex:1;margin:0}.week-controls{margin-bottom:14px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:8px}.booking-rule-details{margin:18px 0}.facility-rules>details{padding:12px 0;border-top:1px solid var(--color-border)}.sidebar,.sidebar:has(:focus-visible){background:#941b32;border-color:#80162b}.sidebar nav a{color:#fff}.sidebar nav a:hover{background:#ffffff1f;color:#fff}.sidebar nav a.active{background:#fff;color:#941b32}.availability-grid th.today{color:var(--color-text);background:#fff}@media(max-width:800px){.policy-fields{grid-template-columns:1fr;gap:0}.policy-fields>.field .field-help [role=tooltip]{left:auto;right:-8px;max-width:calc(100vw - 64px)}.admin-section-menu{display:none}.admin-section-mobile{display:block}.sidebar,.sidebar:has(:focus-visible){background:#941b32}.sidebar nav a.active{background:#ffffff1f;color:#fff}.sidebar .nav-checkin svg,.sidebar .nav-checkin.active svg{background:#fff;color:#941b32;border-color:#941b32;box-shadow:0 3px 10px #40081766}.sidebar .nav-checkin.active svg{outline:2px solid #e8c470}}.field-label{min-height:24px;margin-bottom:0}@media(max-width:800px){.policy-fields>.field .field-help [role=tooltip]{position:fixed;left:16px;right:16px;top:auto;bottom:calc(100px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;z-index:45}}.admin-edit>h2{padding-right:0}html{background:var(--color-primary)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--color-primary);pointer-events:none;z-index:1000}main.auth-page{padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.install-guide{margin-top:20px}.install-guide summary{color:var(--color-primary);cursor:pointer}.install-guide p:last-child{margin-bottom:0}.booking-context{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:0}.booking-context .field{width:min(100%,360px);margin:0}.club-preview{max-height:220px;overflow:auto;padding-left:24px}.availability-cell button .activity-label{display:block;font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 4px}@media(max-width:800px){.sidebar nav a.club-link{display:none}}.nav-entry{display:contents}.booking-context{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.booking-switch{display:inline-flex;border:1px solid var(--border, #d5d6dc);border-radius:2rem;padding:3px;background:#fff}.booking-switch button{min-height:34px;padding:.35rem .9rem;border:0;border-radius:2rem;background:transparent;color:#626670;box-shadow:none;font-size:.9rem}.booking-switch button[aria-pressed=true]{background:#941b32;color:#fff}.booking-context select{width:auto;max-width:280px;min-height:40px}.club-mobile-access{display:none}.availability-grid .hour-boundary th{font-weight:650;color:#424650}.hour-boundary>th,.hour-boundary>td{border-top-color:#bdc2c9}.club-activity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem}.club-activity-fields .field-label{min-height:1.75rem;align-items:center}.club-activity-fields input,.club-activity-fields select{min-width:0;width:100%}.club-dates{list-style:none;padding:0;max-height:60dvh;overflow:auto}.club-dates li{padding:1rem 0;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.club-dates li span{display:block;margin-top:.25rem;color:#626670}@media(max-width:700px){.booking-context{justify-content:flex-start}.club-mobile-access{display:inline;font-size:.85rem}.club-activity-fields{column-gap:.75rem}.club-activity-fields label{font-size:.9rem}.club-activity-fields input,.club-activity-fields select{padding:.6rem .4rem}}.club-activity-fields .field-label{height:40px;margin-bottom:0}.club-activity-fields .help-toggle{height:24px;min-height:24px}.legal-links{display:flex;flex-wrap:wrap;gap:12px 18px}.auth-footer{background:#fff;margin-top:16px;border-radius:6px;font-size:13px}.auth-legal-content{max-width:860px}.legal-document{overflow-wrap:anywhere;line-height:1.65}.legal-document h2{margin-top:28px;font-size:1.15rem}.legal-document p{margin:12px 0}.registration-privacy{font-size:13px;line-height:1.5}.registration-privacy h2{font-size:16px}.auth-card .check input{margin:0;height:18px;padding:0}.auth-card .check span{flex:1}.manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;align-items:start}.manual-grid .card,.compact-help .card{padding:16px 18px;margin:0}.help-list summary,.install-guide summary,.catalog-more summary{cursor:pointer}.manual-grid p,.compact-help p{margin:12px 0 0}.club-manual h2,.help-legal h2{font-size:18px}.club-manual li{margin-bottom:8px}.compact-help{display:grid;gap:12px}.help-list>.card{padding:16px 18px}.manual-grid>.card{padding:12px 16px}.manual-grid summary,.compact-help summary{min-height:24px;line-height:1.5}.facility-rules details{padding:12px 0}.catalog-details>div{display:grid;grid-template-columns:minmax(100px,140px) minmax(0,1fr);gap:8px;align-content:start}.admin-row{align-items:flex-start}.admin-row>div:first-child{min-width:0;flex:1}.admin-row .actions{align-self:flex-start;justify-content:flex-end;max-width:38%}.catalog-more{margin-top:10px;font-size:13px}.catalog-more summary{color:var(--color-primary)}.catalog-more dl{margin-top:10px}.success-message{padding:12px 16px;border:1px solid #b7d5bf;border-left:3px solid #237243;border-radius:5px;background:#f0f7f2;color:#1e5c36;margin:16px 0;scroll-margin-top:90px}@media(min-width:1100px){.admin-row .catalog-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}}@media(max-width:1099px){.admin-row .catalog-details{grid-template-columns:1fr}}@media(max-width:700px){.manual-grid{grid-template-columns:1fr}.admin-row .actions{max-width:none;justify-content:flex-start}.catalog-details>div{grid-template-columns:1fr;gap:2px}}.help-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px}.help-tabs button{min-width:0}.admin-feedback{position:sticky;top:80px;z-index:20;box-shadow:0 3px 10px #0001}@media(max-width:700px){.help-tabs{gap:8px}.help-tabs button{padding:8px 6px;font-size:13px}}.help-legal .legal-links [aria-current=true]{font-weight:700;text-decoration-thickness:2px;text-underline-offset:4px}#help-legal-document{margin-top:16px}.legal-document h3{margin-top:24px;font-size:1.05rem}.tanda-participants ul{list-style:none;padding:0;margin:0}.tanda-participants li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tanda-participants p{margin-bottom:4px}.penalty-progress-grid{display:grid;gap:1rem;margin:1rem 0}.penalty-progress{min-width:0}.penalty-progress-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem}.penalty-profile .penalty-progress h3{margin:0}.penalty-progress-heading span{color:var(--color-muted)}.penalty-progress progress{display:block;width:100%;height:.65rem;margin-top:.5rem;accent-color:#b46b10}.announcement-body,.notification-body p{white-space:pre-wrap;overflow-wrap:anywhere}.push-invitation{border-left:4px solid var(--primary, #941b32);margin-bottom:1rem}.push-invitation small{display:block;margin-top:.75rem}.modal:has(.announcement-body){max-height:calc(100dvh - 32px);overflow-y:auto}.notice-scope{min-width:0;margin:1rem 0;padding:1rem;border:1px solid var(--color-border);border-radius:8px}.notice-scope legend{font-weight:600}.notice-scope .permission-matrix{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
