:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18332a;background:#f3f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:90px;display:flex;align-items:center;gap:32px;padding:0 5vw;border-bottom:1px solid #dbe2d6;background:#fafbf7}.brand{font-size:18px;font-weight:800;letter-spacing:1px;text-decoration:none;color:inherit;display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;width:37px;height:37px;background:#d6f37a;color:#153b2d;border-radius:50%;font-size:23px}.subtitle{font-size:14px;color:#66766b}header button{margin-left:auto}main{max-width:1440px;padding:46px 5vw 70px;margin:auto;min-height:calc(100vh - 160px)}h1{font-size:44px;letter-spacing:-1.8px;line-height:1.12;margin:18px 0}h2{font-size:23px;letter-spacing:-.5px;margin:0 0 24px}h3{font-size:18px;margin:0 0 10px}p{color:#68766c;font-size:15px;line-height:1.7}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#61804d}.card{background:#fff;border:1px solid #dfe5d9;border-radius:20px;padding:30px}.login{max-width:510px;margin:25px auto 20px;padding:42px}.login p{margin-bottom:30px}.login small{display:block;text-align:center;margin-top:24px}label{font-size:13px;font-weight:600;display:block;margin-bottom:20px}input{display:block;margin-top:9px;width:100%;background:#fbfcf9;border:1px solid #cfd9c9;border-radius:9px;padding:13px;font-size:15px;color:#18332a}input:focus{outline:2px solid #9ec65b;outline-offset:2px}button{background:#183f30;color:white;border:0;border-radius:9px;padding:13px 18px;font-size:14px;font-weight:600;cursor:pointer}button span{float:right;margin-left:20px}button:hover{background:#2c5942}button:disabled{opacity:.5;cursor:wait}.login button,#club-form button{width:100%}.quiet{background:#edf2e8;color:#234932}.quiet:hover{background:#dce7d3}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.page-heading h1{margin:12px 0}.badge{background:#eaf1df;border:1px solid #d9e4cd;border-radius:30px;padding:8px 13px;font-size:12px;white-space:nowrap}.layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:26px;align-items:start}.club-list{display:grid;gap:10px;margin-top:20px}.club-item{background:#fff;border:1px solid #dfe5d9;color:#18332a;text-align:left;padding:20px;border-radius:14px;display:grid;gap:9px}.club-item:hover,.club-item.active{background:#eaf2dd;border-color:#94b86a}.club-item small{color:#68766c}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.detail-heading h2{margin:10px 0 0}.block{border-top:1px solid #e1e8db;margin-top:28px;padding-top:28px}small{font-size:12px;line-height:1.6;color:#75826f}#bot-form{display:flex;align-items:end;gap:12px;margin-bottom:15px}#bot-form label{flex:1;margin:0}.member{border-top:1px solid #e4e9df;padding:22px 0}.member:first-child{border:0}.member strong{display:block}.member .roles{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:15px}.roles label{display:flex;gap:6px;align-items:center;margin:0;font-weight:400}.roles input{width:16px;height:16px;margin:0}.roles button{margin-left:auto}.empty{text-align:center;min-height:380px;display:grid;place-content:center}.empty-symbol{font-size:45px;color:#94b56a;margin-bottom:25px}#notice{padding:15px 20px;border-radius:12px;background:#e4eecf;border:1px solid #bfd594;margin-bottom:24px}#notice.error{background:#fff0eb;border-color:#efc3b2;color:#983d2c}footer{height:70px;border-top:1px solid #dbe2d6;padding:25px 5vw;display:flex;justify-content:space-between;color:#788573;font-size:12px}[hidden]{display:none!important}@media(max-width:950px){.layout{grid-template-columns:1fr}.club-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}#bot-form{display:block}#bot-form button{margin-top:15px}.subtitle{display:none}}@media(max-width:520px){header{height:72px;padding:0 20px}.brand{font-size:14px}main{padding:25px 16px}.card,.login{padding:24px}h1{font-size:34px}.page-heading{align-items:start;gap:15px}.detail-heading{flex-wrap:wrap}.badge{white-space:normal}footer span{display:none}.roles button{margin-left:0}}

.danger{background:#fff0eb;color:#9b3f2a;border:1px solid #e8b9a9}.danger:hover{background:#ffe1d6}

.bot-feedback{padding:14px 16px;border-radius:10px;margin:12px 0 16px;background:#edf2e8;border:1px solid #d3dfc8;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.bot-feedback.error{background:#fff0eb;border-color:#efc3b2;color:#983d2c}.bot-feedback.success{background:#e4eecf;border-color:#bfd594}#bot-form[aria-busy="true"] button{cursor:wait}

.bot-link{display:inline-block;background:#183f30;color:#fff;padding:13px 18px;border-radius:9px;text-decoration:none;font-size:14px;font-weight:600}.bot-link:hover{background:#2c5942}#bot-registration{margin:0 0 24px}#bot-registration p{font-size:13px;max-width:600px}
.member-feedback{margin-top:12px;font-size:14px;color:#2e653c;line-height:1.6}.member-feedback.error{color:#983d2c}.booking-access{margin-top:14px}.booking-access .badge{display:inline-block}
select{display:block;margin-top:9px;width:100%;border:1px solid #cfd9c9;background:#fbfcf9;padding:12px;border-radius:9px;font:inherit;color:#18332a}.club-select{max-width:380px}.cabinet-tabs{display:flex;gap:10px;margin:25px 0}.cabinet-tabs a{padding:12px 22px;text-decoration:none;color:#365744;border-radius:9px;background:#e7eddf}.cabinet-tabs a.active{background:#183f30;color:#fff}.court-row{padding:22px 0;border-bottom:1px solid #e1e8db}.court-row:first-child{padding-top:0}.check-label{display:flex;align-items:center;gap:9px;font-weight:400}.check-label input{width:18px;height:18px;margin:0}.day-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;padding:22px 0;border-top:1px solid #e1e8db}.day-row>strong{padding-top:2px}.interval-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.interval-row input{max-width:145px;margin:0}.schedule-version{display:flex;gap:16px;align-items:center}.schedule-version label{flex:1;max-width:450px}.date-field{max-width:230px}.hint{font-size:13px}.exception-row{padding:22px 0;border-top:1px solid #e1e8db}.exception-row>label{max-width:230px}.exception-row>.quiet{margin-top:14px}.calendar-form{display:flex;gap:15px;align-items:end;margin-bottom:15px}.calendar-form label{margin:0}.calendar-form button{height:46px}#global-panel{margin-left:14px;color:#365744}@media(max-width:650px){.day-row{grid-template-columns:1fr;gap:12px}.interval-row{flex-wrap:wrap}.interval-row input{max-width:110px}.schedule-version{flex-direction:column;align-items:start}.schedule-version label{width:100%}.calendar-form{flex-wrap:wrap}.cabinet-tabs a{padding:12px 15px}}
.booking-date-bar{display:flex;align-items:end;gap:12px;margin:24px 0}.booking-date-bar label{margin:0;max-width:210px}.booking-date-bar button{height:46px}.booking-board{overflow:auto;margin-top:22px}.booking-board table{border-collapse:collapse;width:100%;min-width:560px;table-layout:fixed}.booking-board caption{text-align:left;font-weight:600;padding:0 0 16px}.booking-board th,.booking-board td{border:1px solid #dce4d5;padding:10px;vertical-align:top}.booking-board th{background:#f2f5ed;text-align:left;position:sticky;top:0}.booking-board th:first-child{width:85px}.booking-board .booked-cell{background:#dceacb;color:#234932;font-size:14px}.booked-cell div{margin-top:8px}.booking-board .closed-cell{background:#f4f4f1;color:#9ca798;text-align:center}.free-slot{width:100%;background:#f6fbf0;color:#52783f;padding:7px;border:1px dashed #cbdcba;font-weight:400}.free-slot:hover{background:#dceacb}.booking-workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;margin-top:24px;align-items:start}.booking-workspace small{display:block;margin-bottom:20px}.booking-workspace .member .danger{display:block;margin-top:16px}.booking-board[aria-busy="true"]{opacity:.5;pointer-events:none}.cabinet-tabs{flex-wrap:wrap}@media(max-width:900px){.booking-workspace{grid-template-columns:1fr}.booking-date-bar{flex-wrap:wrap}}
.booking-board table{table-layout:auto}.booking-board td,.booking-board th:not(:first-child){min-width:170px}
.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.cabinet-tabs{flex-wrap:wrap}.event-cell{background:#eee5fc!important;border-left:4px solid #956ac3}.client-summary{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.client-summary .badge{background:#edf3e7}textarea{font:inherit;width:100%;min-height:110px;border:1px solid #d5dfcd;border-radius:12px;padding:14px;box-sizing:border-box}.audit-row{padding:18px 0;border-bottom:1px solid #e0e7da}.audit-row p{margin:6px 0}fieldset{border:1px solid #d5dfcd;border-radius:12px;margin:16px 0;padding:16px}fieldset .check-label{display:inline-flex;margin:6px 18px 6px 0}.member>button{margin-right:10px;margin-top:8px}

.client-table-wrap{overflow-x:auto;margin-top:22px;border:1px solid #dce4d5;border-radius:12px}.client-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px;text-align:left}.client-table th{padding:13px 18px;background:#f3f6ef;color:#6b7b6e;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.client-table td{padding:13px 18px;vertical-align:middle;border-top:1px solid #e7ece2}.client-table tbody tr:hover{background:#fafcf7}.client-table strong{font-weight:600;line-height:1.5}.client-table th:first-child{width:38%}.client-table .client-phone{white-space:nowrap;font-variant-numeric:tabular-nums;color:#718072}.client-table .table-action{margin:0;padding:8px 13px;border-radius:8px;font-size:13px;line-height:1.4;white-space:nowrap}.client-access{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.client-access.available{background:#eaf3e2;color:#436d36}.client-access.available:before{content:'';width:6px;height:6px;border-radius:50%;background:#6a9b4d}.client-access.guest{background:#f1f3ef;color:#7b877a}.client-table .member-feedback{max-width:260px;margin:6px 0 0;font-size:12px}.client-table .client-table-empty{padding:24px 18px;color:#82907f}#client-search{max-width:480px}@media(max-width:650px){.client-table th,.client-table td{padding:12px}.client-table{min-width:590px}}
.member-role-table{min-width:850px}.member-role-table th:first-child{width:24%}.member-role-table .role-cell{text-align:center;width:65px}.member-role-table .role-cell input{display:inline-block;width:18px;height:18px;margin:0;padding:0;accent-color:#315c3f;cursor:pointer}.member-role-table th:nth-child(3),.member-role-table th:nth-child(4),.member-role-table th:nth-child(5){text-align:center}.member-role-table .role-save-form{margin:0;min-width:120px}.member-role-table .member-feedback{max-width:170px;line-height:1.5}.member-role-table button:disabled{cursor:default}.member-role-table tr[aria-busy="true"]{background:#f5f8f0}.member-role-table tr[aria-busy="true"] button{cursor:wait}.member-role-table .client-phone{font-size:13px}.member-role-table .client-access{font-size:11px}

.occurrence-card{border:1px solid #dce4d6;border-radius:14px;margin:12px 0;background:#fff;overflow:hidden}.occurrence-card summary{cursor:pointer;display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px 20px;padding:18px;list-style:none}.occurrence-heading{display:grid;gap:6px}.occurrence-heading strong{font-size:15px;color:#61745e}.occurrence-heading span{font-weight:700}.occurrence-time{font-weight:700}.occurrence-card[open]{border-color:#8eb16b;box-shadow:0 3px 12px #173e2f0d}.occurrence-editor{padding:0 18px 18px;display:grid;gap:14px;border-top:1px solid #e6ebdf}.occurrence-editor input{max-width:100%}.occurrence-actions{display:flex;gap:10px;flex-wrap:wrap}.occurrence-card.cancelled{background:#f5f6f2;color:#7d867b}.occurrence-card>p{padding:0 18px 16px}@media(max-width:600px){.occurrence-card summary{grid-template-columns:1fr}.occurrence-actions button{width:100%}}

#policy-form>.policy-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 24px;align-items:start}#policy-form>.policy-grid>label{min-width:0;margin:0;display:grid;grid-template-rows:2.8em 46px auto;gap:8px;align-content:start;line-height:1.4}#policy-form .policy-label{display:flex;align-items:flex-end}#policy-form>.policy-grid input,#policy-form>.policy-grid select{height:46px;min-width:0;margin:0;padding:11px 12px;font:inherit;font-size:15px}#policy-form>.policy-grid small{display:block;font-weight:400;line-height:1.5;margin:0}#policy-form .block>label:not(.check-label){max-width:420px}#policy-form .block>label small{display:block;font-weight:400;margin-top:8px}@media(max-width:1050px){#policy-form>.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){#policy-form>.policy-grid{grid-template-columns:1fr;gap:20px}#policy-form>.policy-grid>label{grid-template-rows:auto 46px auto}#policy-form .policy-label{min-height:0}}

.court-table-wrap{overflow-x:auto}.court-table{width:100%;min-width:550px;border-collapse:collapse;text-align:left}.court-table th{padding:12px 16px;background:#f3f6ef;color:#6b7b6e;font-size:12px;font-weight:600}.court-table td{padding:14px 16px;border-top:1px solid #e1e8db;vertical-align:middle}.court-table th:first-child{width:50%}.court-table input{margin:0}.court-table .court-active-cell{text-align:center}.court-active-cell input{display:inline-block;width:18px;height:18px;padding:0;accent-color:#315c3f;cursor:pointer}.court-save-form{margin:0}.court-save-form button{white-space:nowrap;padding:10px 15px}.court-save-form .member-feedback:empty{display:none}.court-save-form .member-feedback{font-size:12px;margin-top:6px}.court-table tbody tr:hover{background:#fafcf7}#court-list:has(.court-table){padding:12px}@media(max-width:650px){.court-table th,.court-table td{padding:12px}}

.role-nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.role-nav a{display:inline-block;padding:11px 18px;border-radius:9px;background:#e7eddf;color:#365744;text-decoration:none;font-weight:600;font-size:14px}.role-nav a.active{background:#183f30;color:#fff}.role-nav a:focus-visible{outline:3px solid #9ec65b;outline-offset:3px}

#event-create-view{max-width:800px;margin:0 auto}#event-back{margin-bottom:24px}.event-form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}#event-list-view>.detail-heading{margin-bottom:24px}@media(max-width:600px){#event-list-view>.detail-heading{align-items:stretch;flex-direction:column}.event-form-actions button{flex:1}}

#weekly{overflow-x:auto;border:1px solid #dce4d5;border-radius:12px}.weekly-schedule-table{width:100%;min-width:650px;border-collapse:collapse;text-align:left;font-size:14px}.weekly-schedule-table thead th{background:#f3f6ef;color:#687b62;font-size:12px;font-weight:600;white-space:nowrap}.weekly-schedule-table th,.weekly-schedule-table td{padding:12px 16px;border-bottom:1px solid #e1e8db;vertical-align:middle}.weekly-schedule-table tbody th{width:175px;font-weight:600}.weekly-schedule-table tbody tr:last-child>*{border-bottom:0}.weekly-schedule-table .schedule-closed-cell{width:95px;text-align:center}.weekly-schedule-table .check-label{display:inline-flex;margin:0}.weekly-schedule-table .closed{width:18px;height:18px;margin:0;accent-color:#315c3f}.weekly-schedule-table .interval-row{gap:10px;margin:0 0 8px;flex-wrap:nowrap}.weekly-schedule-table .interval-row:last-child{margin-bottom:0}.weekly-schedule-table .interval-row input{width:110px;max-width:110px;height:38px;padding:8px 10px;margin:0;font-size:14px}.weekly-schedule-table .interval-row button{padding:6px 11px;font-size:18px;line-height:1.3}.weekly-schedule-table td:last-child{width:135px}.weekly-schedule-table td:last-child>button{padding:9px 12px;font-size:13px;white-space:nowrap}.weekly-schedule-table tbody tr:hover{background:#fafcf7}@media(max-width:650px){.weekly-schedule-table th,.weekly-schedule-table td{padding:10px 12px}}
