:root{--ink:#26322f;--muted:#6d7872;--bg:#f5f6f3;--surface:#fff;--line:#e5e9e4;--brand:#743583;--brand-dark:#572662;--brand-soft:#f5edf7;--green:#236953;--green-soft:#eaf5ee;--orange:#9b5427;--orange-soft:#fff1e5;--shadow:0 16px 70px #20332820;--radius:12px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #ab79b7;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #ad80b8;outline-offset:1px}a{color:inherit}button{transition:background .15s,border-color .15s}h1,h2,h3,p{margin:0}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:-1px}.brand small{display:block;font-size:7px;letter-spacing:1px;margin-top:5px;color:var(--muted)}.brand-symbol{position:relative;display:grid;place-items:center;background:var(--brand);color:white;width:40px;height:40px;border-radius:11px;font-size:28px;letter-spacing:0}.brand-symbol span{position:absolute;right:5px;bottom:0;color:#e9c971;font-size:23px}.workspace-label{font-size:11px;margin:28px 0;color:var(--muted);display:flex;align-items:center;gap:6px}.live-dot{width:6px;height:6px;background:var(--green);border-radius:50%}nav{display:grid;gap:8px}.nav-item{background:none;border:0;text-align:left;border-radius:8px;padding:13px 12px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:11px}.nav-item span{font-size:20px;width:20px;text-align:center}.nav-item.active{background:var(--brand-soft);color:var(--brand)}.nav-item:hover{background:var(--bg)}.sidebar-note{margin-top:auto;padding-top:40px;font-size:12px;line-height:1.65}.sidebar-note p{margin:12px 0;color:#526258}.sidebar-note small{font-size:11px;color:var(--muted)}.badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:1.2px;padding:5px 8px;background:#f1f2e8;color:#62643c;border-radius:4px}.backup-btn{border:0;background:none;color:var(--brand);padding:16px 0;text-align:left;font-size:12px}.sidebar-bottom{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:20px;font-size:12px}.sidebar-bottom small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.avatar{display:grid;place-items:center;background:#efefeb;color:#5c675f;border-radius:50%;width:34px;height:34px;font-size:11px;font-weight:700}main{padding:32px clamp(16px,2.8vw,48px);min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--muted);font-weight:700;margin-bottom:8px}h1{font-size:30px;letter-spacing:-.8px;font-weight:650}.page-header p{color:var(--muted);font-size:13px;margin-top:8px}.primary,.secondary,.danger,.text-btn,.icon-btn{border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;line-height:1.3;min-height:40px;padding:11px 16px}.primary{background:var(--brand);border:1px solid var(--brand);color:white}.primary:hover{background:var(--brand-dark)}.primary span{font-size:20px;font-weight:400}.secondary{background:white;border:1px solid #dce1da;color:var(--ink)}.secondary:hover{background:var(--bg)}.compact{font-size:12px;min-height:34px;padding:8px 12px}.text-btn{border:0;background:none;color:var(--muted);font-size:12px;padding:8px}.text-btn:hover{background:var(--bg);color:var(--ink)}.danger{background:#fff3ef;color:#a23b28;border:1px solid #f1c9be}.icon-btn{background:white;border:1px solid var(--line);font-size:22px;min-height:34px;padding:3px 10px}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);background:white;margin-bottom:24px}.metric{padding:20px 24px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric-label{font-size:11px;color:var(--muted);display:block;margin-bottom:10px}.metric strong{font-size:25px;letter-spacing:-.8px;font-weight:600}.metric small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.metric .metric-accent{color:var(--green)}.schedule-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.calendar-toolbar{padding:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.date-controls{display:flex;align-items:center;gap:6px}.date-heading{margin:0 12px;min-width:148px}.date-heading h2{font-size:17px;font-weight:650;letter-spacing:-.3px}.date-heading span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.date-picker input{width:36px;height:34px;padding:5px;color:transparent;border:1px solid var(--line);border-radius:6px;background:white}.date-picker input::-webkit-datetime-edit{display:none}.date-picker input::-webkit-calendar-picker-indicator{margin:0;cursor:pointer}.toolbar-actions{display:flex;gap:10px;align-items:center}.segmented{display:flex;background:var(--bg);padding:3px;border-radius:7px}.segmented button{border:0;background:none;color:var(--muted);font-size:12px;padding:7px 12px;border-radius:5px}.segmented .selected{background:white;color:var(--ink);box-shadow:0 1px 3px #00000012}.calendar-legend{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);padding:13px 20px;font-size:10px;color:#596960;flex-wrap:wrap}.calendar-legend>span{display:flex;align-items:center;gap:6px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%}.rental-dot{background:#3b937a}.group-dot{background:#946ba4}.tournament-dot{background:#ce8c4a}.calendar-tip{margin-left:auto;color:var(--muted)}.calendar-scroll{overflow:auto;max-height:calc(100vh - 365px);min-height:340px;border-top:1px solid var(--line);scrollbar-width:thin}.day-grid{position:relative;display:grid;grid-template-columns:62px repeat(5,minmax(130px,1fr));grid-template-rows:60px repeat(28,64px);min-width:760px}.time-head,.table-head{position:sticky;top:0;z-index:4;background:#fafbf8;border-bottom:1px solid var(--line);display:flex;justify-content:center;flex-direction:column;padding:12px 16px}.time-head{font-size:10px;color:var(--muted);padding:10px}.table-head{border-left:1px solid var(--line);gap:5px}.table-head strong{font-size:13px}.table-head small{font-size:10px;color:var(--muted)}.table-head.premium{background:#fdfaf2}.premium-tag{color:#8c6a28;font-size:9px;font-weight:500;margin-left:5px}.time-label{font-size:10px;text-align:right;padding:9px 10px 0 0;color:var(--muted);border-bottom:1px solid #f0f2ee;background:#fff}.time-label.tariff-boundary{font-weight:700;color:var(--brand)}.slot{border:0;border-bottom:1px solid #edf0ea;border-left:1px solid var(--line);background:white;position:relative;color:transparent;font-size:20px;min-width:0}.slot:hover,.slot:focus-visible,.slot.drag-over{background:#f5edf7;color:var(--brand);outline-offset:-3px}.event{z-index:2;border:1px solid #c5e2d5;border-left:3px solid #438b71;border-radius:6px;background:#eef7f1;margin:4px 5px;padding:9px 10px;text-align:left;min-width:0;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:6px;color:#265a47;cursor:grab}.event.group{background:#f4edf8;border-color:#ded0e9;border-left-color:#9e77b0;color:#674278}.event.tournament{background:#fff5e9;border-color:#efd8ba;border-left-color:#c89a59;color:#7d572f}.event:hover{filter:brightness(.97);box-shadow:0 2px 8px #0000000c}.event strong{font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-time{font-size:10px;opacity:.85;display:flex;justify-content:space-between;gap:4px}.event-foot{display:flex;justify-content:space-between;gap:4px;font-size:10px;margin-top:auto;align-items:center}.event-amount{font-weight:700}.payment-badge{font-size:9px;border:1px solid currentColor;border-radius:4px;padding:2px 4px;background:#ffffff80}.calendar-footer{display:flex;justify-content:space-between;gap:8px;font-size:10px;padding:14px 20px;border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap}.footer-separator{padding:0 8px}.below-calendar{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:14px 0;gap:12px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1060px;min-height:430px}.week-day{border-right:1px solid var(--line);padding:12px 8px}.week-day:last-child{border:0}.week-day-title{width:100%;border:0;background:none;text-align:left;padding:5px 8px 14px;font-weight:600}.week-day-title.today{color:var(--brand)}.week-card{width:100%;min-height:100px;margin:6px 0;padding:10px}.week-empty{font-size:11px;color:var(--muted);padding:18px 8px}.week-add{border:1px dashed #d8dcd5;color:var(--muted);background:none;padding:10px;border-radius:6px;width:100%;margin-top:10px;font-size:11px}
dialog{border:0;border-radius:14px;box-shadow:var(--shadow);padding:0;color:var(--ink);background:white;max-height:92vh}dialog::backdrop{background:#16261f65;backdrop-filter:blur(2px)}.booking-dialog{width:min(1000px,95vw)}.dialog-header{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-header h2{font-size:21px;letter-spacing:-.4px}.dialog-header p{font-size:12px;color:var(--muted);margin-top:6px}.close-btn{border:1px solid var(--line);background:white;border-radius:50%;width:32px;height:32px;flex-shrink:0;color:var(--muted);font-size:22px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;max-height:calc(92vh - 92px);overflow:auto}.booking-fields{padding:24px 26px}.form-section{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.form-section:last-child{border:0;margin:0}.section-title{font-size:13px;font-weight:700;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.section-title small{font-weight:400;color:var(--muted);font-size:11px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.form-row.triple{grid-template-columns:1.3fr 1fr 1fr}.field{display:block;font-size:11px;font-weight:600;color:#526157}.field>input,.field>select,.field>textarea{display:block;margin-top:7px;width:100%;border:1px solid #dce2da;border-radius:6px;background:white;min-height:40px;padding:10px 11px;color:var(--ink);font-size:13px;font-weight:400}.field textarea{resize:vertical;min-height:62px}.type-switch{display:flex;gap:6px;flex-wrap:wrap}.type-switch button{border:1px solid var(--line);border-radius:6px;background:white;color:var(--muted);padding:9px 12px;font-size:12px}.type-switch button.chosen{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.table-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:8px}.table-option{position:relative}.table-option input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.table-option span{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:13px 4px;border:1px solid var(--line);border-radius:7px;font-size:15px;color:#607064}.table-option small{font-size:9px;font-weight:400}.table-option input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.table-option input:focus-visible+span{outline:3px solid #ab79b7}.hint{font-size:11px;color:var(--muted);line-height:1.6;margin-top:10px}.participants{display:grid;gap:8px}.participant{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px;border-radius:7px}.participant .avatar{width:30px;height:30px;font-size:10px}.participant-info{flex:1;font-size:12px;min-width:0}.participant-info small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.participant-info .member-status{color:var(--green)}.remove-player{border:0;background:none;color:var(--muted);font-size:20px}.participant-add{display:flex;gap:8px;margin-top:10px}.participant-add select{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px;font-size:12px;background:white}.add-client-inline{display:flex;gap:8px;margin-top:10px;align-items:center}.add-client-inline input{min-width:0;flex:1;border:1px solid var(--line);padding:10px;border-radius:6px}.inline-link{border:0;background:none;color:var(--brand);font-size:11px;padding:10px 0;text-align:left}.quote-panel{background:#f8faf6;border-left:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:18px}.quote-label{font-size:10px;letter-spacing:1.3px;font-weight:700;color:var(--muted)}.rate-note{border:1px solid #d5e7d9;border-radius:7px;padding:12px;background:var(--green-soft);color:var(--green);font-size:11px;line-height:1.6}.rate-note.ordinary{border-color:#e3e5dd;background:#f0f2eb;color:#56614f}.quote-lines{font-size:12px;display:grid;gap:10px}.quote-line{display:flex;justify-content:space-between;gap:10px}.quote-line small{font-size:10px;color:var(--muted)}.quote-discount{color:var(--green)}.quote-divider{border-top:1px dashed #d7ded4;margin:4px 0}.quote-total{display:flex;justify-content:space-between;align-items:baseline;font-size:12px}.quote-total strong{font-size:30px;letter-spacing:-1px;font-weight:650}.share-box{background:white;border:1px solid var(--line);border-radius:7px;padding:13px;display:grid;gap:10px;font-size:11px}.share-title{display:flex;justify-content:space-between;align-items:center;font-size:12px}.share-title strong{font-size:16px}.quote-bottom{margin-top:auto;padding-top:12px}.quote-bottom .primary{width:100%}.quote-bottom .danger{width:100%;margin-top:10px;font-size:12px}.payment-field{margin-bottom:12px}.error-box{background:#fff1ed;border:1px solid #efc6b9;color:#9b3827;padding:12px;border-radius:7px;font-size:12px;line-height:1.6;margin-bottom:12px}.success-note{font-size:11px;color:var(--green);line-height:1.6}.utility-dialog{width:min(720px,95vw)}.utility-body{padding:24px 26px;max-height:70vh;overflow:auto}.utility-footer{padding:16px 26px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.tariff-table{border-collapse:collapse;width:100%;font-size:12px;margin:14px 0 20px}.tariff-table td,.tariff-table th{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line)}.tariff-table th{font-weight:500;font-size:10px;color:var(--muted)}.tariff-table input{width:90px;max-width:100%;border:1px solid var(--line);padding:8px;border-radius:5px}.utility-body h3{font-size:14px;margin:22px 0 10px}.utility-body h3:first-child{margin-top:0}.client-list{display:grid;gap:10px}.client-row{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;border-radius:7px}.client-row strong{font-size:12px}.client-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.client-row input{width:100%;border:1px solid var(--line);padding:8px;border-radius:5px;font-size:12px}.client-search{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px;margin:0 0 14px}.clear-list{margin:14px 0;display:grid;gap:7px;font-size:12px}.clear-item{padding:12px;background:var(--bg);border-radius:6px;display:flex;justify-content:space-between;gap:10px}.clear-item small{color:var(--muted);font-size:10px}.empty-message{padding:20px;background:var(--bg);border-radius:7px;color:var(--muted);font-size:12px}.notice{background:#fff6e6;border:1px solid #ecdcb9;padding:12px;border-radius:7px;font-size:11px;line-height:1.6;color:#795923}.check-all{font-size:12px;display:flex;gap:8px;align-items:center;margin:12px 0}.check-all input{accent-color:var(--brand)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;background:#263b31;color:white;border-radius:8px;padding:14px 20px;box-shadow:var(--shadow);max-width:90vw;display:none;align-items:center;gap:14px;font-size:13px}#toast.visible{display:flex}#toast button{border:0;border-bottom:1px solid #b3d8a2;color:#d4ebc6;background:none;padding:3px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.calendar-scroll{max-height:calc(100vh - 370px)}.day-grid{grid-template-rows:60px repeat(28,72px)}}
@media(max-width:1150px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:24px 12px}.brand{font-size:19px}.brand small{font-size:6px}.workspace-label{font-size:10px}main{padding:24px 20px}.calendar-tip{display:none}.calendar-toolbar{padding:16px}.metric{padding:16px}.metric strong{font-size:22px}.toolbar-actions{gap:5px}}
@media(max-width:800px){.app-shell{display:block}.sidebar{height:auto;position:static;flex-direction:row;align-items:center;justify-content:space-between;padding:14px 18px;border-right:0;border-bottom:1px solid var(--line);gap:12px}.sidebar nav{display:flex;gap:3px}.nav-item{font-size:11px;padding:8px}.nav-item span{display:none}.brand small,.workspace-label,.sidebar-note,.backup-btn,.sidebar-bottom{display:none}.brand{font-size:18px}.brand-symbol{width:30px;height:30px;font-size:22px}.brand-symbol span{font-size:17px}main{padding:22px 16px}.page-header{margin-bottom:20px}h1{font-size:26px}.page-header p{font-size:11px;max-width:230px;line-height:1.5}.overview{margin-bottom:18px}.metric{padding:14px 12px}.metric strong{font-size:20px}.metric-label,.metric small{font-size:10px}.calendar-scroll{max-height:65vh}.calendar-toolbar{gap:12px}.date-controls{flex-wrap:wrap}.booking-layout{grid-template-columns:1fr;max-height:calc(92vh - 85px)}.quote-panel{border-left:0;border-top:1px solid var(--line)}.booking-dialog{max-height:94vh}.booking-fields{padding:20px}.dialog-header{padding:20px}.below-calendar{font-size:10px}.calendar-legend{padding:12px;font-size:9px;gap:10px}}
@media(max-width:480px){.sidebar{padding:12px;gap:6px}.brand{font-size:16px;gap:6px}.nav-item{font-size:10px;padding:7px 5px}.page-header{align-items:flex-start}.page-header .primary{font-size:11px;padding:10px;min-height:38px;white-space:nowrap}.page-header p{max-width:185px}.overview{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric-label{margin-bottom:6px}.metric small{font-size:9px}.date-heading{min-width:130px;margin:0 7px}.date-heading h2{font-size:15px}.date-controls .compact{font-size:10px;padding:7px}.date-picker input{width:30px}.calendar-toolbar{padding:12px}.toolbar-actions{width:100%;justify-content:space-between}.toolbar-actions .compact,.text-btn{font-size:10px}.segmented button{font-size:11px;padding:7px 10px}.calendar-footer{font-size:9px;padding:12px}.below-calendar{display:block;line-height:1.8}.below-calendar>span{display:block}.form-row.triple{grid-template-columns:1fr 1fr}.form-row.triple .field:first-child{grid-column:1/-1}.table-option span{font-size:13px}.table-option small{font-size:8px}.client-row{grid-template-columns:1fr 130px}.utility-body{padding:18px}.tariff-table{font-size:11px}.tariff-table input{width:66px;padding:7px}.dialog-header h2{font-size:18px}.participant-add{flex-wrap:wrap}.participant-add select{flex-basis:100%}.participant-add button{width:100%}.clear-item{flex-direction:column}}
.booking-fields,.quote-panel,.field,.field input,.field select,.field textarea{min-width:0}.table-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.share-title{flex-wrap:wrap;gap:8px}
.move-trigger{width:100%;margin-top:10px}.move-route{display:grid;gap:7px;background:var(--bg);border:1px solid var(--line);padding:16px;border-radius:8px;font-size:12px}.move-route strong{font-size:17px}.move-route.destination{background:var(--green-soft);border-color:#d5e7d9}.move-route .eyebrow{margin:0}.move-players{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.move-players span{border:1px solid var(--line);padding:7px 10px;border-radius:6px;font-size:12px}.move-preview{margin-top:18px}.move-price{display:flex;justify-content:space-between;align-items:center;margin:16px 0;font-size:13px}.move-price strong{font-size:24px}.source-tag{font-size:8px;opacity:.75}.slot.source-missing{background:repeating-linear-gradient(135deg,#fafaf7,#fafaf7 5px,#f3f4ef 5px,#f3f4ef 6px)}.slot.source-missing:hover{background:var(--brand-soft)}.slot-note{position:absolute;right:8px;top:7px;color:#a0a59b;font-size:10px}
.event.short{padding:5px 7px;gap:3px}.event.short strong{font-size:11px}.event.short .event-time,.event.short .event-foot{font-size:9px}.event.short .payment-badge{font-size:8px;padding:1px 2px}.event.short .source-tag{display:none}.metric strong{overflow-wrap:anywhere}
.free-dot{background:#c3cdc3}.available-slot{margin:4px 5px;border:1px solid #e0e6dc;border-radius:6px;background:#f8faf6;color:#71816f;text-align:left;padding:6px 9px;display:flex;flex-direction:column;gap:3px;font-size:10px;overflow:hidden}.available-slot-top{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#7b8876}.available-slot-title{font-size:11px;font-weight:500;color:#65745f}.available-slot-action{font-size:9px;color:#77856e}.available-slot:hover,.available-slot.drag-over{background:#f0f5e9;color:#3d623b;border-color:#9db496}.occupied-background{background:white}.week-timetable{display:grid;grid-template-columns:48px repeat(7,minmax(126px,1fr));min-width:930px}.week-time-header,.week-column-header{position:sticky;top:0;z-index:4;min-height:58px;border:0;border-bottom:1px solid var(--line);background:#fafbf8;text-align:left;padding:12px 9px}.week-time-header{font-size:9px;color:var(--muted);display:flex;align-items:center}.week-column-header{border-left:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.week-column-header strong{font-size:12px;font-weight:650}.week-column-header span{font-size:8px;color:var(--muted);letter-spacing:.1px}.week-column-header.current-day{background:var(--brand-soft);color:var(--brand)}.week-time-label{font-size:10px;text-align:right;padding:12px 7px 0 0;border-bottom:1px solid var(--line);color:var(--muted)}.week-hour{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:5px 6px;border-left:1px solid var(--line);border-bottom:1px solid #edf0ea;min-height:53px}.table-chip{border:1px solid #e1e6dc;border-radius:5px;padding:4px 1px;background:#f8faf5;color:#788572;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0}.table-chip strong{font-size:10px;font-weight:600}.table-chip small{font-size:7px;line-height:1}.table-chip.chip-premium strong::after{content:'·';color:#9c7937;margin-left:1px}.table-chip:hover,.table-chip.drag-over{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.table-chip.chip-rental{background:#dff1e6;border-color:#abd0b9;color:#246649;box-shadow:inset 0 2px #4a9773}.table-chip.chip-group{background:#eee3f3;border-color:#d4bddf;color:#70457d;box-shadow:inset 0 2px #9d75ad}.table-chip.chip-tournament{background:#fff0dc;border-color:#e5c697;color:#946028;box-shadow:inset 0 2px #c59349}.table-chip[draggable=true]{cursor:grab}
.table-chip strong{font-size:11px}.table-chip small{font-size:9px}.week-column-header span{font-size:9px}.overview .metric{padding:14px 20px}.metric-label{margin-bottom:6px}.metric strong{font-size:22px}.metric small{margin-top:4px}
.table-chip{color:#5e6b59}.available-slot-top,.available-slot-action{color:#5e6b59}
@media(max-width:800px){.booking-layout{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Client, staff and sales workspaces */
[hidden]{display:none!important}.auth-gate{position:fixed;inset:0;z-index:1000;background:#f5f2f7;display:grid;place-items:center;padding:24px}.auth-card{background:white;width:min(460px,100%);padding:36px;border:1px solid #e1d9e7;border-radius:20px;box-shadow:0 18px 70px #45265314}.auth-card h1{font-size:28px;margin:18px 0}.auth-card p{line-height:1.6;color:#6a6170}.auth-card .field{margin:16px 0}.auth-card .primary{width:100%;justify-content:center}.utility-dialog:has(.client-profile),.utility-dialog:has(.kanban){width:min(1160px,94vw);max-width:1160px}.crm-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}.crm-toolbar .client-search{flex:1;min-width:200px}.crm-toolbar .field{flex:1;min-width:170px}.crm-client-row{width:100%;display:flex;gap:16px;align-items:center;text-align:left;background:white;border:0;border-bottom:1px solid #ece7ef;padding:18px 4px;color:inherit;cursor:pointer}.crm-client-row:hover{background:#faf7fc}.crm-client-row>span:nth-child(2){flex:1}.crm-client-row small,.award-row small,.attendance-row small{display:block;color:#817287;margin-top:5px;font-size:12px}.crm-client-row>small{text-align:right;max-width:140px}.card-badge{padding:7px 10px;border-radius:20px;font-size:12px;background:#f1edf3;color:#827089;white-space:nowrap}.card-badge.active{background:#e7f4ed;color:#2c7451}.client-profile{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:28px;margin-top:18px}.client-profile .field{margin-bottom:16px}.client-profile h3{margin-top:12px}.club-card{background:linear-gradient(130deg,#f7f0fa,#f1ebf7);border:1px solid #e8d9ef;border-radius:18px;padding:26px;align-self:start}.club-card h2{font-size:30px;margin-top:18px}.club-card .eyebrow{color:#743583}.visit-count{display:block;font-size:38px;margin:26px 0 10px;color:#743583}.visit-count small{font-size:13px;font-weight:400;color:#76627e}.club-card progress{width:100%;height:9px;accent-color:#743583}.award-row{border-top:1px solid #e5d8ea;padding:12px 0;font-size:13px}.crm-history{max-height:350px;overflow:auto;margin:14px 0}.attendance-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #ece7ef;font-size:13px}.attendance-row>span:last-child{flex-shrink:0}.kanban{display:flex;gap:14px;overflow-x:auto;align-items:stretch;padding-bottom:16px;min-height:330px}.kanban-column{background:#f7f5f8;flex:1 0 220px;min-width:220px;max-width:310px;border-radius:12px;border-top:4px solid var(--stage-color);padding:14px}.kanban-column h3{font-size:14px;margin:0}.kanban-column h3 small{float:right}.lead-card{padding:16px;background:white;border:1px solid #e8e1ec;border-radius:10px;margin-top:12px;box-shadow:0 2px 5px #38204005}.lead-title{border:0;background:none;text-align:left;color:#743583;font-weight:700;padding:0;cursor:pointer}.lead-card p{font-size:13px}.lead-card>small{display:block;color:#887990;margin:10px 0}.lead-card .field{font-size:11px}.lead-card select{font-size:12px;min-height:35px;padding:6px}.kanban-empty{font-size:12px;color:#a395aa;text-align:center;margin-top:45px}.stage-edit{display:flex;gap:8px;align-items:center;margin:10px 0}.stage-edit input[type="color"]{width:40px;min-width:40px;height:40px;padding:3px}.stage-edit input:not([type="color"]){flex:1;min-width:0;padding:10px;border:1px solid #ddd4e3;border-radius:7px}.stage-list{margin:20px 0}.utility-body textarea{padding:12px;border:1px solid #ddd4e3;border-radius:8px;min-height:90px;resize:vertical;font:inherit}.check-option{display:flex;gap:10px;align-items:center;margin:18px 0}.crm-client-row:focus-visible,.lead-title:focus-visible{outline:3px solid #b98acb;outline-offset:2px}.sidebar-bottom #logout{margin-left:auto;padding:6px}.sidebar-bottom>div{min-width:0;font-size:12px}body:has(.auth-gate) .app-shell{visibility:hidden}@media(max-width:720px){.client-profile{grid-template-columns:1fr}.club-card{order:-1}.crm-client-row{gap:8px;flex-wrap:wrap}.crm-client-row>small{display:none}.crm-client-row .card-badge{font-size:11px}.attendance-row{align-items:start;flex-direction:column}.stage-edit{gap:4px}.auth-card{padding:24px}.crm-toolbar .primary{width:100%}}

/* Employee role picker */
.utility-dialog:has(.employee-roles){width:min(850px,94vw);max-width:850px}
.employee-roles{border:0;padding:0;margin:24px 0 18px;min-width:0}.employee-roles legend{font-weight:700;font-size:16px;padding:0}.employee-roles>.hint{margin:8px 0 14px}.employee-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.employee-role-option{position:relative;cursor:pointer}.employee-role-option input{position:absolute;top:18px;left:16px;width:17px;height:17px;accent-color:#743583}.employee-role-card{display:flex;flex-direction:column;gap:7px;border:1px solid #ded5e4;border-radius:12px;padding:17px 16px 17px 44px;min-height:135px;height:100%;box-sizing:border-box;background:#fff}.employee-role-card strong{font-size:15px;color:#38263f}.employee-role-card small{font-size:12px;color:#88798d}.employee-role-card>span{font-size:13px;line-height:1.5;color:#6d6173}.employee-role-option:hover .employee-role-card{border-color:#b68ac6}.employee-role-option input:checked+.employee-role-card{border:2px solid #743583;padding:16px 15px 16px 43px;background:#f8f2fb}.employee-role-option input:focus-visible+.employee-role-card{outline:3px solid #caa3d8;outline-offset:3px}.employee-role-details{background:#f7f5f9;border:1px solid #e7e0ec;border-radius:12px;padding:20px;margin:0 0 24px}.employee-role-details h3{font-size:15px;margin:0 0 12px}.employee-role-details ul{padding-left:20px;margin:0;display:grid;gap:8px;font-size:13px;line-height:1.5}.employee-role-limit{border-top:1px solid #e3dbe8;margin-top:16px;padding-top:14px;font-size:13px}.employee-role-limit p{margin:7px 0 0;line-height:1.6;color:#78677f}@media(max-width:560px){.employee-role-grid{grid-template-columns:1fr}.employee-role-card{min-height:0}.employee-role-details{padding:16px}}

.site-switch{display:flex;justify-content:space-between;align-items:center;margin:20px 0 0;padding:13px 14px;border:1px solid #e5d6ea;border-radius:12px;color:#743583;text-decoration:none;font-weight:700;background:#faf5fc}.site-switch:hover{background:#f1e6f5}

.migration-stats{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}.migration-stats span{padding:12px 16px;background:#f7f0fa;border-radius:12px}.migration-stats b{font-size:22px}.source-table-scroll{overflow:auto;max-height:52vh}.source-table{min-width:800px}.source-table td{vertical-align:top;white-space:pre-wrap;max-width:340px;min-width:110px}.source-profile{margin-top:24px}.source-profile pre{white-space:pre-wrap;max-height:450px;overflow:auto;font-family:inherit;font-size:13px;padding:20px;background:#f8f6f9}.source-table th{position:sticky;top:0;background:#f7f2f9}

.doc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.doc-check{display:flex;align-items:flex-start;gap:10px;margin:18px 0;line-height:1.5}.doc-check input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.doc-text-preview{max-height:420px;overflow:auto;background:#fff;border:1px solid #d7d9df;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 Georgia,serif}.doc-text-preview p{margin:0 0 10px}.doc-template-list a{display:inline-block}.doc-tag-list{columns:2;font-size:13px}.doc-tag-list p{break-inside:avoid}.doc-fields input{width:100%}@media(max-width:650px){.doc-fields{grid-template-columns:1fr}.doc-tag-list{columns:1}}

.social-profile{margin:18px 0;padding-top:16px;border-top:1px solid #e1e4e2}.social-profile .form-row{flex-wrap:wrap;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.social-profile .crm-toolbar{display:flex;flex-wrap:wrap;gap:8px}.social-contact-link{display:inline-block;text-decoration:none}.renewal-card{padding:18px 0;border-bottom:1px solid #e1e4e2}.renewal-card p{margin:7px 0}.renewal-card .crm-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.admission-controls select{max-width:100%;font-size:12px;margin-top:5px}.event-intro input[type=date]{max-width:100%;min-height:42px;margin-bottom:18px}@media(max-width:600px){.social-profile .form-row{grid-template-columns:1fr}}

.stage-edit .check-option{flex:0 0 155px;font-size:12px;margin:0}.stage-edit .check-option input[type="checkbox"]{flex:none;width:16px;min-width:16px;height:16px;padding:0}@media(max-width:720px){.stage-edit{flex-wrap:wrap}.stage-edit .check-option{flex-basis:155px}}
.finance-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.finance-metrics article{background:#f7f2fa;border-radius:12px;padding:16px}.finance-metrics strong,.finance-metrics small{display:block}.finance-metrics strong{font-size:20px;margin-top:8px}.finance-table{width:100%;border-collapse:collapse;font-size:12px;margin:15px 0}.finance-table th,.finance-table td{text-align:left;padding:10px 6px;border-bottom:1px solid #e8e0ec;vertical-align:top}.finance-player{border-bottom:1px solid #e8e0ec;padding:10px 0}.finance-player .field{margin:10px 0}.utility-dialog:has(.finance-table){width:min(1100px,95vw);max-width:1100px}
.decline-fields{background:#faf5fb;border:1px solid #eaddec;border-radius:12px;padding:16px;margin:16px 0}.stage-edit:has([data-stage-declined]){flex-wrap:wrap}.stage-edit:has([data-stage-declined])>input[data-stage-name]{min-width:170px}

.client-group-fields{border:1px solid #e5dce8;border-radius:12px;padding:14px;margin:16px 0;display:flex;flex-wrap:wrap;gap:12px 20px}.client-group-fields legend{font-weight:700}.client-group-fields label{display:flex;align-items:center;gap:6px}.client-group-fields input{width:auto}

.schedule-format-bar{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.schedule-format-bar label{display:flex;align-items:center;gap:8px;font-size:12px}.schedule-format-bar select{padding:7px;border:1px solid var(--line);border-radius:6px}.compact-calendar .day-grid{grid-template-rows:48px repeat(28,32px)}.compact-calendar .available-slot{margin:1px 3px;padding:3px 5px;justify-content:center}.compact-calendar .available-slot-title,.compact-calendar .available-slot-action{display:none}.compact-calendar .event{margin:2px 4px;padding:4px 7px;gap:2px}.compact-calendar .event.short .event-foot{display:none}.compact-calendar .week-hour{min-height:32px;padding:2px 5px}.compact-calendar .table-chip{flex-direction:row;gap:3px;padding:2px}.schedule-session-list{display:grid;gap:14px;padding:20px}.schedule-session{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:12px;padding:18px}.schedule-session h3{margin:6px 0}.schedule-session p{line-height:1.6;margin-top:6px}.schedule-session small{color:var(--muted)}@media(max-width:700px){.schedule-session{align-items:flex-start;flex-direction:column}.schedule-format-bar .segmented{flex-wrap:wrap}}

.session-mode .calendar-legend,.session-mode label:has(#compact-schedule){display:none}

.event.individual,.chip-individual{background:#edf2ff;border-color:#bac9ed;color:#344e86}.training-notes{white-space:pre-wrap;border-left:3px solid #bba0c4;padding:12px;line-height:1.6;margin-bottom:12px}#training-record textarea{width:100%;min-height:150px}#training-search{min-width:220px}

#second-training-player[hidden]{display:none}

#training-search{flex:1;min-height:40px;padding:10px 12px;border:1px solid var(--line);border-radius:7px}

#training-experience-field[hidden]{display:none}

.closed-slot,.chip-closed{background:repeating-linear-gradient(135deg,#f2eeee,#f2eeee 6px,#e8e1e1 6px,#e8e1e1 12px);color:#9b5d5d;border:1px solid #dbcaca;text-align:center;font-size:10px;display:grid;place-items:center}.closure-note{background:#fff0e7;border-top:1px solid #efcdbb;color:#874b31;padding:12px 20px;line-height:1.6}.closure-note[hidden]{display:none}.closure-event-list{max-height:200px;overflow:auto;padding:10px 0;line-height:1.8}

/* Club workspace: calm surfaces, grouped navigation, clearer density. */
:root{--ink:#302d3b;--muted:#7c7787;--bg:#f5f4f8;--line:#eae7ef;--brand:#9b3184;--brand-dark:#7b2469;--brand-soft:#f7eaf4;--radius:18px}
.app-shell{grid-template-columns:244px minmax(0,1fr)}.sidebar{padding:26px 16px 16px;background:#fff;overflow-y:auto;scrollbar-width:thin}.brand{font-size:23px;gap:11px;padding:0 7px;letter-spacing:-.7px}.brand-symbol{width:42px;height:42px;border-radius:13px;background:none;flex-shrink:0}.brand small{font-size:7px;letter-spacing:.8px}.workspace-label{margin:20px 8px 25px;font-size:11px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.nav-primary{display:grid;gap:5px;margin-bottom:12px}.sidebar .nav-item{width:100%;min-height:43px;padding:11px 13px;line-height:1.45;font-size:12px;border-radius:11px;font-weight:600;gap:11px}.sidebar .nav-item>span{font-size:12px;width:auto;text-align:left}.nav-icon{width:19px;height:19px;flex:none}.sidebar .nav-item.active{background:var(--brand-soft);color:var(--brand);box-shadow:inset 3px 0 var(--brand)}.nav-group{border-top:1px solid #f1eef4;padding-top:6px}.nav-group summary{list-style:none;display:flex;align-items:center;gap:11px;padding:12px 13px;font-size:12px;font-weight:650;color:#62596f;cursor:pointer;border-radius:10px;min-height:45px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover{background:#f8f6fa}.nav-chevron{width:13px;height:13px;margin-left:auto;transition:transform .18s}.nav-group[open] .nav-chevron{transform:rotate(90deg)}.nav-group-items{padding:3px 0 6px 17px;margin-left:20px;border-left:1px solid #e9e0ec}.nav-group-items .nav-item{font-size:11.5px;padding:9px 10px;min-height:37px;font-weight:500;white-space:normal}.sidebar .site-switch{margin:25px 6px 13px;padding:13px 12px;border:1px solid var(--line);border-radius:11px;color:#64576c;background:#fcfafd;font-size:12px;display:flex;justify-content:space-between;text-decoration:none}.sidebar-note{margin-top:auto;padding:12px 8px 0}.sidebar-note .badge{font-size:8px;letter-spacing:.8px;background:#f3eef6;color:#8a6b94}.sidebar-note p,.sidebar-note small{display:none}.backup-btn{padding:14px 8px;font-size:11px}.sidebar-bottom{padding:14px 8px 0;font-size:11px}.sidebar-bottom small{font-size:9px}.sidebar-bottom .avatar{background:#f3edf6;color:var(--brand)}main{padding:32px clamp(20px,2.5vw,42px)}.page-header{margin-bottom:25px}.page-header h1{font-size:32px;letter-spacing:-1.2px}.page-header p{font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.8px}.primary,.secondary,.danger,.icon-btn{border-radius:10px}.primary{box-shadow:0 4px 12px #9b318415}.overview{gap:12px;background:none;border:0;border-radius:0;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line)!important;border-radius:15px;padding:19px 20px;box-shadow:0 2px 4px #30243802}.metric strong{font-size:27px}.metric-label{font-size:11px}.schedule-panel{box-shadow:0 3px 16px #31203f03}.schedule-format-bar{background:#fff;padding:17px 20px;border-bottom:1px solid var(--line)}.calendar-toolbar{gap:12px;padding:17px 20px}.toolbar-actions{flex-wrap:wrap;gap:6px}.calendar-legend{background:#fbfafc;font-size:10px;padding:12px 20px}.table-head,.time-head{background:#fbfafc}.table-head.premium{background:#fbf7ed}.calendar-scroll{max-height:calc(100vh - 385px)}.utility-dialog,.booking-dialog{border-radius:21px;box-shadow:0 25px 100px #2e16352a}.dialog-header{background:#fcfbfd}.utility-body p+p{margin-top:10px}.field input,.field select,.field textarea{border-radius:10px}.mobile-menu-toggle{display:none}.nav-group summary:focus-visible{outline:3px solid #b77bb0;outline-offset:2px}
@media(max-width:1100px) and (min-width:761px){.app-shell{grid-template-columns:218px minmax(0,1fr)}.sidebar{padding-inline:12px}.brand{font-size:20px}main{padding:26px 20px}.overview{gap:8px}.metric{padding:15px}.metric strong{font-size:23px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none;position:relative;width:100%;height:auto;max-height:75vh;padding:18px}.navigation-open .sidebar{display:flex}.sidebar nav{display:flex!important}.sidebar-note,.sidebar-bottom,.sidebar .backup-btn{display:none}.sidebar .site-switch{margin-top:15px}.workspace-label{margin:14px 8px}.brand small{display:block}.page-header{flex-wrap:wrap;gap:13px}.mobile-menu-toggle{display:inline-flex;border:1px solid #e5dce9;border-radius:9px;background:white;color:var(--brand);padding:10px 14px;font-size:12px;order:-1;flex-basis:100%;width:max-content;justify-content:center}.page-header>div{flex:1}.page-header h1{font-size:27px}main{padding:18px 14px}.overview{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:15px}.metric strong{font-size:24px}.metric small{font-size:10px}.schedule-format-bar{padding:12px}.schedule-format-bar .segmented{overflow:auto;width:100%;display:flex}.schedule-format-bar .segmented button{white-space:nowrap;flex:none}.calendar-toolbar{padding:13px}.calendar-scroll{max-height:60vh}.sidebar .nav-primary{display:grid}.toolbar-actions{justify-content:flex-start!important}.calendar-tip{display:none}}
@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}
.sidebar nav{gap:5px}.nav-group summary{min-height:41px;padding-block:10px}.sidebar .site-switch{margin-top:18px}.workspace-label{margin-bottom:20px}.nav-group:has(.active)>summary{color:var(--brand);background:#fcf5fa}
.sidebar [hidden]{display:none!important}
.companions-badge{display:block;width:max-content;max-width:100%;border-radius:5px;padding:3px 6px;margin:4px 0;background:#fff1d2;color:#80581c;font-size:9px;font-weight:700;line-height:1.3}.companions-notice{background:#fff7e6;border:1px solid #ecd3a3;border-radius:10px;color:#825c26;padding:12px 14px;font-size:12px;line-height:1.65;margin-bottom:14px}.companions-notice[hidden]{display:none}.event.short .companions-badge{font-size:8px;padding:2px 4px}
.client-activity{margin-top:24px}.client-activity h3{margin:24px 0 12px}.client-activity>.hint{font-size:12px;line-height:1.6;color:#746b7d;margin-bottom:14px}.activity-card{padding:16px 18px;margin:10px 0;border:1px solid #e6dfea;border-radius:14px;background:#fff}.activity-card strong{display:block;font-size:14px}.activity-card p{font-size:13px;line-height:1.65;margin:5px 0;color:#62596b}.activity-card p b{color:#9e2278}
.page-header{flex-wrap:wrap}.cash-notice-button,.club-notice-button{font-size:11px;min-height:38px;white-space:nowrap}.has-notices{border-color:#b764a6!important;background:#fcf0f9!important;color:#8c236f!important}.cash-offline{border-color:#c59048!important}.cash-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f7f2f9;border:1px solid #eaddf0;padding:18px 20px;border-radius:14px;margin:0 0 16px}.cash-summary strong{font-size:23px;color:#8e2b78}.cash-summary span{font-size:12px;color:#75647c}.cash-payment-card{padding:20px;border:1px solid #e7dfeb;border-radius:15px;margin:12px 0;background:#fff}.cash-payment-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.cash-payment-top strong{font-size:24px;color:#37273f}.cash-payment-top span{font-size:12px;color:#84758a}.cash-payment-card p{font-size:13px;line-height:1.6;margin:9px 0}.cash-payment-card .hint{font-size:12px;color:#83768b}.cash-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.cash-card-actions button{font-size:12px}.cash-assignment{background:#f3f8f2;color:#436749;border-radius:8px;padding:9px 12px}.cash-empty{padding:35px 20px;text-align:center;color:#84778d}.cash-review{border-color:#d7a160;background:#fffcf5}.notice-unread{border-left:4px solid #a43188}.tournament-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.tournament-roster>div{padding:13px 16px;border:1px solid #e6dcea;border-radius:10px;background:#fcfafd;font-weight:600}.tournament-upcoming{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}#cash-form-error,#cash-unlink-error{color:#a12b45;font-size:13px}#cash-assign-form .field,#cash-unlink .field{margin-block:15px}#cash-assign-form textarea{min-height:78px}.club-notice-list{max-height:42vh;overflow:auto}
@media(max-width:600px){.cash-summary{align-items:flex-start;flex-direction:column}.cash-payment-card{padding:15px}.cash-payment-top strong{font-size:21px}.cash-card-actions button{flex:1}.tournament-roster{grid-template-columns:1fr}.cash-notice-button,.club-notice-button{flex:1}}
