:root{--bg:#f6f7fb;--surface:#fff;--text:#172033;--muted:#667085;--line:#e4e7ec;--primary:#2563eb;--primaryText:#fff;--soft:#eef4ff;--success:#15803d;--warn:#b45309;--danger:#b42318;--shadow:0 8px 24px rgba(16,24,40,.06)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111827;--surface:#1f2937;--text:#f3f4f6;--muted:#a7b0c0;--line:#374151;--primary:#60a5fa;--primaryText:#07111f;--soft:#172554;--shadow:none}}
:root[data-theme=dark]{--bg:#111827;--surface:#1f2937;--text:#f3f4f6;--muted:#a7b0c0;--line:#374151;--primary:#60a5fa;--primaryText:#07111f;--soft:#172554;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--primary);text-decoration:none}header{height:64px;padding:0 max(18px,calc((100% - 1220px)/2));display:flex;align-items:center;gap:30px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-weight:700;color:var(--text);white-space:nowrap;display:flex;align-items:center}.brand-logo{display:block;max-width:190px;max-height:46px;width:auto;height:auto;object-fit:contain}nav{display:flex;gap:18px;flex:1}nav a{color:var(--muted)}.actions{display:flex;align-items:center;gap:8px}.actions form{margin:0}main{max-width:1220px;margin:0 auto;padding:28px 18px 60px}h1{font-size:28px;line-height:1.2;margin:0 0 5px}h2{font-size:19px;margin:24px 0 12px}.muted{color:var(--muted);margin:0}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;padding:9px 13px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.primary{background:var(--primary);border-color:var(--primary);color:var(--primaryText)}.link-button,.icon-button{border:0;background:transparent}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.panel strong,.stats strong{display:block;font-size:20px;margin-top:4px}.messages{display:grid;gap:8px;margin-bottom:16px}.message{padding:11px 14px;border-radius:9px;background:var(--soft)}.message.error,.warning{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border-left:4px solid var(--danger);padding:13px 16px;border-radius:8px;margin-bottom:16px}.calendar{border:1px solid var(--line);background:var(--line);display:grid;gap:1px}.weekdays,.week{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.weekdays span{background:var(--surface);padding:9px;text-align:center;color:var(--muted)}.day{background:var(--surface);min-height:142px;padding:9px}.outside .day-number,.outside .slot.free{opacity:.45}.day-number{font-weight:600;margin-bottom:7px}.today{display:inline-grid;place-items:center;background:var(--primary);color:var(--primaryText);width:27px;height:27px;border-radius:50%}.slots{display:grid;gap:6px}.slot{display:block;padding:7px 8px;border-radius:7px;background:var(--soft);border-left:3px solid var(--primary);color:var(--text);font-size:13px}.slot span{display:block;color:var(--muted)}.slot.free{background:transparent;border:1px dashed var(--line);color:var(--muted)}.slot.paid{border-left-color:var(--success)}.slot.deposit{border-left-color:var(--warn)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}.stack{display:grid;gap:15px}label{display:grid;gap:6px;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:var(--bg);color:var(--text);font:inherit}input[type=checkbox]{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:16px}.errorlist{color:var(--danger);margin:4px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.details dl{display:grid;grid-template-columns:150px 1fr;gap:11px}.details dt{color:var(--muted)}.details dd{margin:0}.search{display:flex;gap:8px;max-width:600px;margin-bottom:18px}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600}.badge{padding:4px 8px;border-radius:999px;background:var(--soft)}.badge.danger{color:var(--danger)}.report-layout{display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr;gap:18px}.vertical{grid-template-columns:1fr 1fr}.auth-card{max-width:430px;margin:7vh auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}
.booking-form{display:grid;gap:18px}.field-help{margin:2px 0 0;color:var(--muted);font-size:13px;font-weight:400}.customer-picker{position:relative}.customer-results{position:absolute;z-index:10;top:72px;left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;max-height:330px;overflow:auto}.customer-result{width:100%;display:block;text-align:left;border:0;background:transparent;padding:10px}.customer-result:hover,.customer-result:focus{background:var(--soft)}.customer-result strong,.customer-result span{display:block}.customer-result span{color:var(--muted);font-size:13px;margin-top:2px}.customer-empty{padding:12px;color:var(--muted)}.danger-text{color:var(--danger)}fieldset{border:0;padding:0;margin:0}legend{font-weight:600;margin-bottom:7px}.slot-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot-choice{position:relative;border:1px solid var(--line);border-radius:11px;padding:15px;cursor:pointer;background:var(--surface)}.slot-choice:hover{background:var(--soft)}.slot-choice.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 22%,transparent);background:var(--soft)}.slot-choice input{position:absolute;opacity:0;pointer-events:none}.slot-choice-title,.slot-choice-time{display:block}.slot-choice-title{font-weight:700}.slot-choice-time{font-size:13px;color:var(--muted);margin-top:4px;font-weight:400}.report-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:16px}.switch{display:flex;grid-auto-flow:column;align-items:center;gap:9px;cursor:pointer;white-space:nowrap}.switch-input{position:absolute;opacity:0;width:1px!important;height:1px}.switch-slider{width:46px;height:26px;border-radius:999px;background:var(--muted);position:relative;transition:.18s}.switch-slider:after{content:'';position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.18s}.switch-input:checked+.switch-slider{background:var(--primary)}.switch-input:checked+.switch-slider:after{transform:translateX(20px)}.switch-input:focus-visible+.switch-slider{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent)}
.customer-dialog{width:min(560px,calc(100% - 28px));border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.customer-dialog::backdrop{background:rgba(0,0,0,.58)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dialog-head h2{margin:0 0 6px}.dialog-fields{display:grid;gap:14px;margin:20px 0}
@media(max-width:760px){header{height:auto;min-height:60px;flex-wrap:wrap;padding:12px 16px;gap:10px}nav{order:3;width:100%;overflow-x:auto}.actions{margin-left:auto}main{padding:20px 12px 50px}.page-head{flex-direction:column}.stats,.vertical{grid-template-columns:1fr 1fr}.calendar{border:0;background:transparent;gap:10px}.weekdays{display:none}.week{display:grid;grid-template-columns:1fr;gap:10px}.day{min-height:0;border:1px solid var(--line);border-radius:10px}.outside{display:none}.day-number:before{content:attr(data-label)}.form-grid,.report-layout{grid-template-columns:1fr}.wide{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions>*{width:100%}.details dl{grid-template-columns:1fr}.details dt{margin-top:8px}.slot-choices{grid-template-columns:1fr}.report-setting{align-items:flex-start}}
.signed-in{display:grid;text-align:right;line-height:1.15}.signed-in small{color:var(--muted);font-size:11px}.account-menu{position:relative}.account-menu summary{cursor:pointer;list-style:none;padding:7px 18px 7px 7px;border-radius:8px}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:after{content:"▾";position:absolute;right:3px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:11px}.account-menu[open] summary,.account-menu summary:hover{background:var(--soft)}.account-menu-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);z-index:20}.account-menu-panel a,.account-menu-panel button{display:flex;width:100%;justify-content:flex-start;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);white-space:nowrap}.account-menu-panel a:hover,.account-menu-panel button:hover{background:var(--soft);color:var(--primary)}.button.active{background:var(--soft);border-color:var(--primary);color:var(--primary)}.view-switch{display:flex}.view-switch .button:first-child{border-radius:9px 0 0 9px}.view-switch .button:last-child{border-radius:0 9px 9px 0;margin-left:-1px}.banned-badge{display:inline-block!important;background:var(--danger);color:#fff!important;border-radius:999px;padding:1px 6px;margin-left:3px;font-size:10px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
@media(max-width:760px){.signed-in small{display:none}.account-menu summary{padding-right:17px}}
.help-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.help-section h2{margin:0 0 10px}.help-section p:last-child{margin-bottom:0}.help-definitions{display:grid;grid-template-columns:120px 1fr;gap:8px 12px}.help-definitions dt{font-weight:700}.help-definitions dd{margin:0}.legend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.legend-grid>div{display:grid;grid-template-columns:34px 1fr;align-items:center;column-gap:9px}.legend-grid p{grid-column:2;margin:2px 0;color:var(--muted)}.legend-line{height:34px;border-radius:6px;background:var(--soft);border-left:5px solid var(--primary)}.legend-line.paid{border-left-color:var(--success)}.legend-line.deposit{border-left-color:var(--warn)}.legend-free{height:34px;border:1px dashed var(--line);border-radius:6px}.legend-banned{background:var(--danger);color:#fff;border-radius:999px;padding:3px 5px;font-size:9px;font-weight:700;text-transform:uppercase;text-align:center}.legend-today{display:grid;place-items:center;background:var(--primary);color:var(--primaryText);width:30px;height:30px;border-radius:50%;font-weight:700}
@media(max-width:760px){.help-layout,.legend-grid{grid-template-columns:1fr}.help-section.wide{grid-column:auto}.help-definitions{grid-template-columns:1fr}.help-definitions dd{margin-bottom:6px}}
.calendar-legend{display:flex;align-items:center;gap:18px;margin:0 0 14px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.legend-heading{display:grid;min-width:105px;line-height:1.25;list-style:none;pointer-events:none}.legend-heading::-webkit-details-marker{display:none}.legend-heading>span:first-child{display:grid}.legend-heading .muted{font-size:11px}.legend-chevron{display:none}.legend-items{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}.legend-item>span{display:grid;line-height:1.2}.legend-item strong{color:var(--text);font-size:12px}.calendar-legend .legend-line,.calendar-legend .legend-free{display:block;flex:none;width:27px;height:27px}.calendar-legend .legend-banned{display:inline-block;flex:none}.calendar-legend .legend-today{flex:none;width:27px;height:27px;font-size:11px}
.help-shell{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:18px}.help-nav{position:sticky;top:82px;display:grid;padding:10px}.help-nav>strong{padding:7px 9px 10px}.help-nav a{padding:8px 9px;border-radius:7px;color:var(--muted)}.help-nav a:hover,.help-nav a:focus{background:var(--soft);color:var(--text)}.help-content{padding:6px 28px}.help-content section{padding:25px 0;scroll-margin-top:80px}.help-content section+section{border-top:1px solid var(--line)}.help-content h2{margin:0 0 8px;font-size:21px}.help-content p{max-width:78ch}.section-intro{color:var(--muted);margin-top:0}.workflow-list{list-style:none;counter-reset:workflow;margin:18px 0 0;padding:0;display:grid;gap:20px}.workflow-list li{counter-increment:workflow;display:grid;grid-template-columns:38px 1fr;gap:12px}.workflow-list li:before{content:counter(workflow);display:grid;place-items:center;align-self:start;width:34px;height:34px;border-radius:50%;background:var(--primary);color:var(--primaryText);font-weight:700}.workflow-list p{margin:4px 0 0;color:var(--muted)}.definition-table{margin-top:16px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.definition-table>div{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:12px 14px}.definition-table>div+div{border-top:1px solid var(--line)}.definition-table span{color:var(--muted)}.help-note{margin-top:16px;padding:13px 15px;border-left:4px solid var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--surface));border-radius:7px}.help-content .calendar-legend{margin-top:16px;margin-bottom:0;background:var(--bg)}
.help-search{margin-bottom:18px;display:grid;gap:7px}.help-search>label{font-size:16px}.help-search-control{display:flex;gap:8px;max-width:760px}.help-search-control button{flex:none}.help-no-results{margin:26px 0;padding:22px;text-align:center;border:1px dashed var(--line);border-radius:9px;color:var(--muted)}.help-no-results strong{color:var(--text)}.help-no-results p{margin:5px auto 0}
@media(max-width:900px){.calendar-legend{align-items:flex-start;flex-direction:column}.legend-heading{display:flex;gap:8px;align-items:baseline}.help-shell{grid-template-columns:1fr}.help-nav{position:static;grid-template-columns:repeat(3,1fr)}.help-nav>strong{grid-column:1/-1}.help-content{padding:4px 20px}}
@media(max-width:600px){.calendar-legend{gap:12px}.legend-heading{display:flex;width:100%;align-items:center;justify-content:space-between;cursor:pointer;pointer-events:auto}.legend-heading>span:first-child{display:grid}.legend-chevron{display:inline-block;font-size:22px;line-height:1;color:var(--muted);transition:transform .18s}.calendar-legend[open] .legend-chevron{transform:rotate(180deg)}.legend-items{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px}.legend-item{white-space:normal}.help-nav{grid-template-columns:1fr 1fr}.help-content{padding:2px 16px}.definition-table>div{grid-template-columns:1fr;gap:3px}.workflow-list li{grid-template-columns:32px 1fr}.workflow-list li:before{width:29px;height:29px}.help-content section{padding:21px 0}}
@media(max-width:600px){.help-search-control{align-items:stretch}.help-search-control button{padding-left:10px;padding-right:10px}}
.activity-list{display:grid;gap:9px}.activity-entry{display:grid;grid-template-columns:10px minmax(0,1fr) 100px;align-items:start;gap:12px;padding:14px 16px}.activity-marker{width:9px;height:9px;margin-top:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--soft)}.activity-title{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.activity-title span{color:var(--muted)}.activity-title b{font-weight:600}.activity-main p{margin:5px 0 0;color:var(--muted);overflow-wrap:anywhere}.activity-entry time{text-align:right;color:var(--muted);font-size:12px}.activity-entry time small{display:block}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}.pagination span{color:var(--muted)}
@media(max-width:600px){.activity-entry{grid-template-columns:10px 1fr}.activity-entry time{grid-column:2;text-align:left;display:flex;gap:5px}.activity-entry time small{display:inline}}
.activity-search{max-width:760px}.activity-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.activity-table{table-layout:fixed;min-width:980px}.activity-table th,.activity-table td{padding:13px 16px;vertical-align:top}.activity-table th{font-size:12px;text-transform:uppercase;letter-spacing:.035em}.activity-table th:nth-child(1){width:140px}.activity-table th:nth-child(2){width:145px}.activity-table th:nth-child(3){width:220px}.activity-table th:nth-child(4){width:180px}.activity-table time,.activity-table td>small{display:block;color:var(--muted);font-size:12px}.activity-table time small{display:block}.activity-action-cell{overflow:hidden}.activity-action{display:inline-block;max-width:100%;padding:3px 8px;border-radius:8px;background:var(--soft);font-size:12px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.activity-record{padding-right:24px!important;overflow-wrap:anywhere}.activity-detail{color:var(--muted);overflow-wrap:anywhere}.activity-empty{text-align:center!important;padding:30px!important;color:var(--muted)}
@media(max-width:700px){.activity-table-wrap{border:0;background:transparent;overflow:visible}.activity-table,.activity-table tbody{display:block;min-width:0}.activity-table thead{display:none}.activity-table tr{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;margin-bottom:8px;padding:12px 13px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.activity-table td{display:block;padding:0!important;border:0}.activity-table td:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.activity-table .activity-detail{grid-column:1/-1;padding-top:7px!important;border-top:1px solid var(--line);margin-top:4px}.activity-action-cell{overflow:visible}.activity-action{padding:0;background:transparent;font-size:inherit}.activity-empty{display:block!important}.activity-table time small{display:inline;margin-left:5px}}
.activity-table .activity-date+.activity-time:before{content:" ";white-space:pre}.activity-table .activity-time{color:var(--muted)}
.sub-tabs{display:flex;gap:5px;margin:0 0 18px;border-bottom:1px solid var(--line)}.sub-tabs a{padding:10px 14px;color:var(--muted);border-bottom:3px solid transparent}.sub-tabs a:hover,.sub-tabs a:focus{color:var(--text)}.sub-tabs a.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.user-session-table-wrap{overflow:visible;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.user-session-table{width:100%;table-layout:fixed}.user-session-table th,.user-session-table td{vertical-align:top;overflow-wrap:anywhere}.user-session-table th:nth-child(1){width:16%}.user-session-table th:nth-child(2){width:13%}.user-session-table th:nth-child(3),.user-session-table th:nth-child(4){width:14%}.user-session-table th:nth-child(5){width:12%}.user-session-table th:nth-child(6),.user-session-table th:nth-child(7){width:15.5%}.user-session-table td small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}.user-session-table code{white-space:normal;overflow-wrap:anywhere}.session-state{display:inline-flex;align-items:center;gap:6px;font-weight:700}.session-state:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}.session-state.active{color:var(--success)}.session-state.active:before{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 14%,transparent)}.session-state.idle{color:var(--warn)}.session-state.idle:before{background:var(--warn)}.session-state.offline{color:var(--muted)}.session-help{margin-top:10px}
@media(max-width:1000px){.sub-tabs{overflow-x:auto}.sub-tabs a{white-space:nowrap}.user-session-table-wrap{border:0;background:transparent;overflow:visible}.user-session-table,.user-session-table tbody{display:block;min-width:0}.user-session-table thead{display:none}.user-session-table tr{display:grid;grid-template-columns:1fr 1fr;gap:11px 16px;margin-bottom:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.user-session-table td{display:block;width:auto!important;padding:0!important;border:0}.user-session-table td:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.user-session-table td:first-child{grid-column:1/-1;padding-bottom:8px!important;border-bottom:1px solid var(--line)}.user-session-table .activity-empty{display:block!important;grid-column:1/-1}}
.customer-section-head{align-items:end;margin-top:24px;margin-bottom:10px}.customer-section-head h2{margin:0}.feedback-form{display:grid;gap:18px}
.calendar .day{display:flex;flex-direction:column}.calendar .day-number{text-align:center}.calendar .slots{flex:1;grid-template-rows:repeat(2,minmax(72px,1fr))}.calendar .slot{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0}.calendar .slot-span{grid-row:1 / span 2;min-height:150px}
@media(max-width:760px){.calendar .day.outside{display:none}}
.calendar-footer-controls{justify-content:flex-end;margin-top:16px}
@media(max-width:760px){.calendar-footer-controls{justify-content:center}}
.slot:not(.free){--slot-colour:var(--primary);border:1px solid color-mix(in srgb,var(--slot-colour) 65%,var(--line));border-left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--slot-colour) 38%,var(--surface)) 0 24%,color-mix(in srgb,var(--slot-colour) 9%,var(--surface)) 24% 100%);box-shadow:inset 5px 0 0 var(--slot-colour)}.slot.paid{--slot-colour:var(--success)}.slot.deposit{--slot-colour:var(--warn)}.slot.free{background:transparent;border:1px dashed var(--line);box-shadow:none}.calendar-legend .legend-line{border:1px solid color-mix(in srgb,var(--primary) 65%,var(--line));border-left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 38%,var(--surface)) 0 24%,var(--soft) 24%);box-shadow:inset 4px 0 0 var(--primary)}.calendar-legend .legend-line.paid{border-color:color-mix(in srgb,var(--success) 65%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--success) 38%,var(--surface)) 0 24%,var(--soft) 24%);box-shadow:inset 4px 0 0 var(--success)}.calendar-legend .legend-line.deposit{border-color:color-mix(in srgb,var(--warn) 65%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--warn) 38%,var(--surface)) 0 24%,var(--soft) 24%);box-shadow:inset 4px 0 0 var(--warn)}.calendar-period{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.calendar-period h1{margin:0}.custom-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.booking-contact{margin:8px 0 3px}.phone-link{display:inline-flex;align-items:center;gap:6px;font-size:18px;font-weight:700}.slot.custom span:last-child{font-size:11px}.slot-choices{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.slot-choices{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.custom-dates,.slot-choices{grid-template-columns:1fr}}
.slot:not(.free){--slot-text:#fff;background:var(--slot-colour);color:var(--slot-text);border-color:color-mix(in srgb,var(--slot-colour) 72%,#000);box-shadow:none}.slot:not(.free) span{color:color-mix(in srgb,var(--slot-text) 82%,transparent)}.slot:not(.free).paid,.slot:not(.free).deposit{--slot-text:#fff}.calendar-legend .legend-line{background:var(--primary);border-color:color-mix(in srgb,var(--primary) 72%,#000);box-shadow:none}.calendar-legend .legend-line.paid{background:var(--success);border-color:color-mix(in srgb,var(--success) 72%,#000);box-shadow:none}.calendar-legend .legend-line.deposit{background:var(--warn);border-color:color-mix(in srgb,var(--warn) 72%,#000);box-shadow:none}.custom-dates[hidden],[data-standard-date][hidden]{display:none!important}.booking-stats,.report-stats{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.booking-stats,.report-stats{grid-template-columns:1fr}}
.slot:not(.free){--slot-text:var(--primaryText)}.slot:not(.free).paid,.slot:not(.free).deposit{--slot-text:#fff}
.day-number{line-height:1.25}.today{display:inline-block;width:auto;height:auto;padding:4px 7px;border-radius:7px}.day-number:before{content:none!important}.contact-hint{display:block;color:var(--muted);font-size:12px}.time-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}.time-presets button{padding:6px 10px}.custom-date-field{min-width:0}
.booking-contact{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.copy-message-button{padding:6px 10px}.copy-feedback{width:100%;color:var(--success);font-size:12px}
.today,.legend-today{background:#7c3aed!important;color:#fff!important}.slot.deposit{--slot-colour:var(--success)}.calendar-legend .legend-line.deposit{background:var(--success);border-color:color-mix(in srgb,var(--success) 72%,#000);box-shadow:none}
.slot.custom-multi-day{outline:3px solid var(--warn);outline-offset:-3px}
.slot.provisional-colour{--slot-colour:var(--primary)}.slot.confirmed-paid{--slot-colour:var(--success)}.calendar-legend .legend-line.provisional-colour{background:var(--primary);border-color:#2563eb;box-shadow:none}.calendar-legend .legend-line.confirmed-paid{background:var(--success);border-color:color-mix(in srgb,var(--success) 72%,#000);box-shadow:none}.candidate-panel{margin-bottom:18px}.candidate-list{display:grid;gap:10px}.candidate-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.candidate-card h3{margin:0 0 3px}.candidate-card p{margin:4px 0}.candidate-add-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;max-width:760px}.candidate-add-form button{margin-top:29px}.candidate-card form{margin:0}@media(max-width:700px){.candidate-card{align-items:stretch;flex-direction:column}.candidate-add-form{grid-template-columns:1fr}.candidate-add-form button{margin-top:0}}
.deposit-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}.deposit-presets button{padding:6px 10px}.deposit-amount-field{min-width:0}
.mfa-recovery-panel{margin-bottom:18px;border-color:var(--warn)}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.recovery-codes code,.mfa-secret code{display:block;padding:9px 11px;border-radius:7px;background:var(--bg);font-size:16px;letter-spacing:.08em}.mfa-secret{display:grid;gap:6px}.mfa-qr{width:min(100%,304px);padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:center}.mfa-qr img{display:block;width:100%;height:auto;image-rendering:pixelated}.mfa-qr .field-help{margin:12px 0 0;color:#344054}.mfa-action{border-top:1px solid var(--line);padding-top:16px}.danger-button{border-color:var(--danger);color:var(--danger)}
.backup-compare-picker{display:grid;grid-template-columns:minmax(260px,560px) auto;align-items:end;gap:12px;margin-bottom:20px}.backup-compare-picker button{margin-bottom:1px}.backup-compare-intro{max-width:900px}.compare-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:18px 0}.compare-card,.compare-section{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px}.compare-card strong{display:block;font-size:26px;margin-top:5px}.compare-card small{color:var(--muted)}.compare-section{margin:16px 0}.compare-section h2{margin-top:0}.change-group{margin:16px 0}.change-group h3{margin-bottom:8px}.change-table-wrap{overflow-x:auto}.change-table{min-width:620px}.change-table th,.change-table td{vertical-align:top}.change-table .before{color:var(--danger)}.change-table .after{color:var(--muted)}.backup-compare-empty{padding:28px;text-align:center}.backup-compare-empty h2{margin-top:0}@media(max-width:900px){.compare-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.backup-compare-picker{grid-template-columns:1fr}.compare-summary{grid-template-columns:1fr 1fr}}
.calendar .day-number{font-size:13px;letter-spacing:-.2px}.calendar .day-number.today{padding:3px 6px}@media(min-width:1100px){.calendar .day-number{white-space:nowrap}}
.notes-badge,.legend-notes{display:inline-block!important;background:#dc4c4c;color:#fff!important;border-radius:999px;padding:1px 6px;margin-left:3px;font-size:10px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.legend-notes{margin-left:0;padding:3px 5px;font-size:9px;text-align:center}
.danger-button{background:var(--danger);border-color:var(--danger);color:#fff}.custom-quote{padding:13px 14px;border-radius:8px;background:color-mix(in srgb,var(--success) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 35%,var(--line))}.custom-quote [data-custom-quote-lines]{display:grid;gap:3px;margin:8px 0;color:var(--muted);font-size:13px}.custom-quote-total{border-top:1px solid var(--line);padding-top:8px}.customer-notes-warning{white-space:pre-wrap;margin:16px 0;padding:13px;border-left:4px solid var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface));border-radius:7px}
.sort-link{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none;white-space:nowrap}.sort-link:hover,.sort-link:focus{color:var(--primary)}.sort-arrow{color:var(--primary);font-size:14px}.customer-table .customer-status{white-space:nowrap}
.custom-quote-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.custom-quote-actions button{padding:7px 11px}
