.availability-confirm .ant-modal-confirm-paragraph{max-width:100%}.availability-confirm .ant-modal-confirm-content{width:100%}.availability-preview{margin-top:16px}.availability-preview-summary{display:flex;align-items:center;gap:8px}.availability-preview-summary.has-conflicts{color:#82591d}.availability-preview-consequence{margin:8px 0 16px;color:#59645f;line-height:1.5}.availability-preview-list{list-style:none;padding:0 4px;margin:0;max-height:min(340px,42dvh);overflow-y:auto;overscroll-behavior:contain;border-block:1px solid #e2e6e3;scrollbar-gutter:stable}.availability-preview-list>li{padding:14px 0}.availability-preview-list>li+li{border-top:1px solid #e2e6e3}.availability-preview-booking{display:flex;justify-content:space-between;gap:4px 16px;flex-wrap:wrap}.availability-preview-booking>strong{overflow-wrap:anywhere}.availability-preview-booking>span{font-size:13px;font-variant-numeric:tabular-nums}.availability-preview-staff{color:#59645f;font-size:13px;margin-top:2px}.availability-preview-reason{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:13px}.availability-preview-reason>small{color:#59645f;font-size:12px}.availability-preview-footnote{margin:10px 0 0;color:#59645f;font-size:12px;line-height:1.5}.availability-confirm .operation-confirm-actions{padding-top:16px;margin-top:16px;border-top:1px solid #e2e6e3}.availability-confirm .ant-modal-confirm-btns{margin-top:0}@media(max-width:520px){.availability-confirm .ant-modal-content{padding:20px 16px}.availability-preview-booking{flex-direction:column}.availability-confirm .operation-confirm-actions{gap:8px}}.schedule-timeline{display:grid;margin:20px 0 36px;background:#fff;border:1px solid #dce4de;border-radius:8px;padding-bottom:12px}.timeline-date{padding:12px 10px;border-bottom:1px solid #dce4de;display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;min-width:0}.timeline-date strong{font-size:14px}.timeline-date span{font-size:12px;color:#53675a}.timeline-date.is-today{background:#eaf2eb}.timeline-axis,.timeline-status-label{font-size:10px;color:#53675a;padding:16px 4px}.timeline-status{min-height:0;padding:8px;border-left:1px solid #e0e6e1;display:flex;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:6px}.timeline-status button{font:inherit;font-size:11px;text-align:left;padding:5px 8px;border:1px solid transparent;border-radius:4px;cursor:pointer}.timeline-off-chip{background:#f2f4f1;color:#526158}.timeline-absence-chip,.timeline-absence{background:#f0e6f2;color:#664471}.timeline-closure{color:#76542d;font-size:12px}.timeline-all-working{font-size:11px;color:#627168;padding:5px 0}.timeline-hours{position:relative}.timeline-hours span{position:absolute;right:5px;font-size:10px;color:#53675a;font-variant-numeric:tabular-nums;transform:translateY(-50%)}.timeline-column{position:relative;border-left:1px solid #e0e6e1;min-width:0}.timeline-column.is-closed{background:#f5f2ed}.timeline-rule{position:absolute;left:0;right:0;border-top:1px solid #e7ece7;pointer-events:none}.timeline-shift,.timeline-break,.timeline-absence{position:absolute;border:1px solid #d3e0d6;border-radius:5px;padding:8px 4px;font:inherit;font-size:11px;text-align:left;overflow:hidden;cursor:pointer}.timeline-shift{display:flex;flex-direction:column;gap:8px;background:#e7efe8;color:#284a36}.timeline-shift strong{max-width:100%;overflow:hidden;text-overflow:ellipsis}.timeline-shift span{font-variant-numeric:tabular-nums;line-height:1.5}.timeline-break{z-index:1;background:#f9fbf8;border:1px dashed #82978a;color:#3a5142;padding:2px 3px;font-size:10px;text-align:center}.timeline-absence{z-index:2;border-color:#d9c3df;padding:3px;font-size:10px}.schedule-timeline .is-selected{outline:2px solid #315e44;outline-offset:-2px;background:#d7e7da}.schedule-timeline button:focus-visible{outline:2px solid #254b39;outline-offset:2px}.schedule-timeline button:disabled{cursor:default;opacity:1}@media(hover:hover){.timeline-shift:hover:not(:disabled){background:#d9e8dd}}.timeline-options{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.timeline-people{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.timeline-people .ant-btn{font-size:12px}.timeline-day-picker{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.timeline-day-picker .ant-btn{min-width:66px}.roster-selection{position:sticky;top:0;z-index:4;background:#f6f7f8}.team-page .page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.timeline-lane-names{display:flex;border-left:1px solid #e0e6e1;padding:0;align-items:stretch}.timeline-lane-names span{flex:1;min-width:0;padding:0 5px;font-size:11px;color:#3b5344;overflow-wrap:anywhere}.timeline-all-day-absence{display:flex;flex-wrap:wrap;gap:4px}.timeline-all-day-absence button{min-height:36px}.timeline-shift,.timeline-break,.timeline-absence{min-height:0;box-sizing:border-box}@media(max-width:540px){.timeline-day-picker{flex-wrap:nowrap;gap:3px}.timeline-day-picker .ant-btn{min-width:0;flex:1;padding:4px 2px;font-size:11px}.team-page .page-heading{margin-bottom:12px}.timeline-options{gap:8px}}.schedule-main-tabs{margin-bottom:8px}.recurring-intro{max-width:720px;margin:8px 0 28px}.recurring-intro h2{font-size:20px;margin:0 0 8px}.recurring-intro p,.recurring-scope{color:#4b5f52;line-height:1.6}.recurring-person{border-top:1px solid #dce4de;padding:22px 0}.recurring-person-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.recurring-person-heading h3{font-size:16px;margin:0 0 4px}.recurring-person-heading>div>span{font-size:13px;color:#52675a}.recurring-week-row{display:flex;gap:20px;padding:10px 0;align-items:flex-start}.recurring-week-row>strong{flex:0 0 80px;font-size:12px;padding-top:2px}.recurring-week-row>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;flex:1}.recurring-week-row span{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#52675a;overflow-wrap:anywhere}.recurring-week-row b{color:#263f30;font-weight:500}.recurring-future{margin-top:12px;font-size:13px}.recurring-future summary{cursor:pointer;padding:8px 0}@media(max-width:700px){.recurring-week-row{flex-direction:column;gap:10px}.recurring-week-row>strong{flex-basis:auto}.recurring-week-row>div{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;row-gap:16px}}@media(min-width:701px)and (max-width:1100px){.recurring-week-row{flex-direction:column;gap:10px}.recurring-week-row>strong{flex-basis:auto}.recurring-week-row>div{width:100%}}.pattern-day-picker{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.pattern-time-editor{border:1px solid #dce4de;border-radius:8px;padding:14px;margin-top:16px;background:#f8faf7}.pattern-time-editor>strong{display:block;margin-bottom:12px}.pattern-calendar .schedule-timeline{margin-top:12px}.ribbon-instruction{margin:8px 0 16px;color:#4b5f52}.ribbon-legend{display:flex;flex-wrap:wrap;gap:12px 22px;margin:12px 0 20px}.ribbon-legend>span{display:flex;align-items:center;gap:7px;font-size:12px}.ribbon-legend i{width:4px;height:18px;border-radius:2px}.ribbon-legend small{color:#627168}.timeline-ribbons .timeline-shift{border-radius:3px;padding:6px 0;align-items:center;gap:4px}.timeline-ribbons .timeline-shift strong{writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;max-height:calc(100% - 8px);text-overflow:ellipsis}.timeline-ribbons .ribbon-time{display:none}.timeline-ribbons .timeline-date{padding:12px 3px;justify-content:center}.timeline-ribbons .timeline-date strong{font-size:11px}.timeline-ribbons .timeline-status{padding:4px 2px;gap:4px}.timeline-ribbons .timeline-status button{font-size:10px;padding:3px;overflow-wrap:anywhere}.timeline-ribbons .timeline-status .timeline-all-working{display:none}.timeline-ribbons .timeline-status{min-height:12px}.timeline-ribbons .timeline-status-label{font-size:0;padding:0}.timeline-ribbons button:focus-visible{outline:2px solid #162c20;outline-offset:2px;z-index:3}@media(hover:hover){.timeline-ribbons .timeline-shift:hover{filter:brightness(.85)}}.timeline-shift.is-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.timeline-shift.is-dragging{cursor:grabbing;z-index:10;overflow:visible;box-shadow:0 4px 16px #183b3333;opacity:.92}.timeline-resize{position:absolute;left:0;right:0;height:12px;cursor:ns-resize;touch-action:none;z-index:3}.timeline-resize:after{content:"";position:absolute;left:25%;right:25%;height:2px;border-radius:2px;background:currentColor;opacity:.65}.timeline-resize-start{top:0}.timeline-resize-end{bottom:0}.timeline-resize-start:after{top:3px}.timeline-resize-end:after{bottom:3px}.timeline-drag-label{position:absolute;top:-32px;left:50%;transform:translate(-50%);white-space:nowrap;background:#193c30;color:#fff;border-radius:5px;padding:5px 9px;font-size:12px;pointer-events:none}.timeline-full-day-absence{position:absolute;z-index:2;box-sizing:border-box;border:1px solid #d9c3df;border-radius:5px;background:#f0e6f2;overflow:hidden;display:flex;flex-direction:column}.timeline-full-day-absence button{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 5px;border:0;background:transparent;color:#664471;font:inherit;font-size:10px;text-align:left;overflow-wrap:anywhere;cursor:pointer}.timeline-full-day-absence button:disabled{cursor:default}.timeline-full-day-absence button:not(:disabled):hover{background:#e8daec}.timeline-lane-action{position:absolute;top:0;bottom:0;border:0;border-right:1px solid #edf0ed;background:transparent;cursor:pointer}.timeline-lane-action:not(:disabled):hover{background:#00000006}.timeline-lane-action:disabled{cursor:default}.timeline-person-action{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;flex:1;min-width:0;padding:10px 2px;border:0;background:transparent;color:#3b5344;font:inherit;font-size:11px;text-align:center;overflow-wrap:anywhere;cursor:pointer}.timeline-person-action:not(:disabled):hover{background:#f2f4f1}.timeline-person-action:disabled{cursor:default}.timeline-person-action>span{padding:0;flex:0 0 auto;max-width:100%;overflow-wrap:normal;overflow:hidden;text-overflow:ellipsis}.timeline-lane-names .timeline-no-shift{display:block;margin-top:4px;padding:0;font-size:10px;font-weight:400;line-height:1.3;color:#737373}.timeline-full-day-absence strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-day-state{flex-basis:100%;font-size:11px;line-height:1.4;color:#666}.timeline-date.is-inactive-day,.timeline-lane-names.is-inactive-day{background:#f5f5f4}.timeline-date.is-inactive-day.is-today{box-shadow:inset 0 2px #315c4c}.timeline-column.is-unassigned-day{background:#f7f7f6}.timeline-column.is-closed{background:repeating-linear-gradient(135deg,#f6f6f4,#f6f6f4 7px,#e9eae7 7px,#e9eae7 8px)}.recurring-pattern,.shift-definitions{max-width:1120px;margin:0 auto}.recurring-pattern{container-type:inline-size;max-width:none;margin:0}.pattern-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 20px}.pattern-heading p{margin:0;color:#53665e}.pattern-heading h2,.shift-definitions h2{font-size:24px;margin:0 0 8px;letter-spacing:-.02em}.shift-definitions h2{margin-top:24px}.pattern-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:16px 0 4px;border-top:1px solid #e5e7eb}.pattern-dates .ant-form-item{margin:0;min-width:0}.recurring-pattern .ant-form-item-extra{color:#53665e;font-size:12px;line-height:1.5;margin-top:6px}.pattern-settings{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 12px}.pattern-settings h3{margin:0;font-size:18px}.pattern-week-title p{margin:4px 0 0;color:#53665e;font-size:13px}.pattern-settings>div:last-child{width:180px;flex-shrink:0}.pattern-settings label{display:block;margin-bottom:6px;color:#53665e;font-size:13px}.pattern-settings .ant-select{width:100%}.pattern-days{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.pattern-day{padding:8px 16px;border-top:1px solid #dce3df}.pattern-day:first-child{border-top:0}.pattern-day-heading{display:flex;align-items:center;gap:12px;margin-bottom:4px;min-height:52px}.pattern-day-heading h3{display:inline;font-size:16px;font-weight:600;margin:0}.pattern-day-heading>button{margin-left:auto}.pattern-day-count{color:#53665e;font-size:12px}.pattern-shift{padding:8px 0;border-top:1px solid #edf0ee}.pattern-shift>.ant-form-item{margin-bottom:12px}.pattern-shift .ant-form-item-label{padding-bottom:6px}.pattern-shift-fields{display:grid;grid-template-columns:minmax(130px,1.2fr) 110px 110px minmax(100px,1fr) 40px;gap:8px;align-items:start}.pattern-shift-fields .ant-form-item{margin-bottom:0;min-width:0}.pattern-shift-fields>.ant-btn{margin-top:28px}.pattern-assignees{padding-top:0}.pattern-assignees summary{cursor:pointer;color:#295c48;font-weight:400;min-height:40px;padding:8px 0;overflow-wrap:anywhere}.pattern-assignees summary:hover{color:#163c2c}.pattern-assignees summary:focus-visible{outline:2px solid #295c48;outline-offset:3px;border-radius:4px}.pattern-assign-action{margin-left:12px;font-size:12px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.pattern-assignees[open] .pattern-assign-action{display:none}.pattern-assignees .ant-form-item{margin:8px 0 0}.pattern-empty{color:#53665e;margin:4px 0 0;font-size:13px}.pattern-copy{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 0}.pattern-copy .ant-select{min-width:160px}.pattern-actions{background:#fff;border-top:1px solid #dce3df;padding:12px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.pattern-actions.is-dirty{position:static}.pattern-actions>span{color:#53665e;font-size:13px}.definition-row{display:grid;grid-template-columns:minmax(160px,1fr) 120px 120px 32px;gap:12px;border-bottom:1px solid #e5e7eb;padding:12px 0 16px}.definition-row>.ant-btn{margin-top:30px;width:32px;padding-inline:0}.definition-row .ant-form-item{margin-bottom:0}.definition-intro{margin:0 0 12px;color:#53665e;line-height:1.5}.definition-add.ant-btn{margin:8px 0 0;padding-inline:0;color:#295c48}.definition-remove.ant-btn{color:#777}.definition-remove.ant-btn:not(:disabled):hover{color:#a32929;background:#fbeaea}.definition-note{margin:16px 0 0;font-size:12px;line-height:1.6;color:#53665e}.definition-empty{color:#53665e;margin:12px 0}.shift-definitions-dialog .ant-modal-footer{border-top:1px solid #e5e7eb;padding-top:16px;margin-top:20px}.shift-definitions-dialog .ant-modal-body{max-height:calc(100dvh - 250px);overflow-y:auto;padding:4px;margin:-4px}.recurring-pattern input[type=time],.shift-definitions input[type=time]{font-variant-numeric:tabular-nums}@media(max-width:800px){.pattern-dates{grid-template-columns:1fr 1fr}.pattern-effective{grid-column:1/-1}.pattern-day-count{display:none}}@media(max-width:600px){.pattern-heading{align-items:flex-start;flex-direction:column;gap:12px}.pattern-dates{grid-template-columns:1fr;gap:16px}.pattern-settings{align-items:flex-start;gap:12px}.pattern-settings>div:last-child{width:140px}.pattern-week-title p{max-width:20ch}.pattern-day{padding:8px 12px}.pattern-day-heading{gap:8px}.pattern-shift{padding:12px 0}.pattern-assign-action{display:block;margin:4px 0 0}.pattern-actions{gap:8px}.pattern-actions .pattern-action-suffix{display:none}.pattern-actions>.ant-btn{padding-inline:10px}.pattern-actions>span{flex-basis:100%}.definition-row{grid-template-columns:1fr 1fr 40px;gap:12px}.definition-row>.ant-form-item:first-child{grid-column:1/-1}}.pattern-date-disclosure{border:0;border-bottom:1px solid #e5e7eb;border-radius:0;background:transparent;padding:0;margin-bottom:12px}.pattern-date-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:10px 0;list-style:none}.pattern-date-disclosure>summary::-webkit-details-marker{display:none}.pattern-date-disclosure strong{font-size:13px;font-weight:600}.pattern-date-summary{display:block;margin:0 0 12px;color:#53665e;font-size:13px}.pattern-date-edit{color:#295c48;font-size:13px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.pattern-date-disclosure>summary:focus-visible{outline:2px solid #295c48;outline-offset:4px}@container (max-width:560px){.pattern-shift-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:8px}.pattern-shift-fields>.ant-form-item:first-child{grid-column:1/-1}.pattern-shift-fields>.ant-form-item:nth-child(3){grid-column:2/4}.pattern-shift-fields>.ant-form-item:nth-child(4){grid-column:1/3}.pattern-shift-fields>.ant-btn{grid-column:3;grid-row:3}.pattern-date-disclosure>summary{align-items:flex-start}.pattern-date-edit{white-space:normal}}@media(hover:hover)and (pointer:fine){.recurring-pattern .ant-btn:active{transform:scale(.97)}}.pattern-top-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}.pattern-top-actions>span:empty{display:none}.pattern-top-actions>span{color:#53665e;font-size:13px}.pattern-editor-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:4px 0 8px}.pattern-cycle-control{display:flex;align-items:center;gap:12px}.pattern-cycle-control label{font-weight:500}.pattern-cycle-control .ant-select{width:160px}.pattern-cycle-hint{color:#53665e;font-size:13px}.pattern-week-tabs>.ant-tabs-nav{margin-bottom:12px}@container (max-width:560px){.pattern-editor-toolbar{align-items:flex-start}.pattern-top-actions{width:100%}.pattern-top-actions>span:empty{display:none}.pattern-top-actions>span:not(:empty){order:3;width:100%}.pattern-date-summary{display:block;margin:4px 0 0}.pattern-cycle-hint{display:none}}.pattern-single-week>.ant-tabs-nav .ant-tabs-nav-wrap{visibility:hidden}.pattern-single-week>.ant-tabs-nav{margin-bottom:4px}@container (min-width:561px){.pattern-shift:not(.pattern-first-shift) .pattern-shift-fields .ant-form-item-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pattern-shift:not(.pattern-first-shift) .pattern-shift-fields>.ant-btn{margin-top:0}}.pattern-top-actions .ant-btn{box-shadow:none}.pattern-shift-summary{display:grid;grid-template-columns:minmax(120px,1fr) 112px minmax(0,2fr) 16px;align-items:center;gap:16px;width:100%;padding:12px 8px;border:0;border-top:1px solid #edf0ee;background:transparent;color:#25352d;font:inherit;text-align:left;cursor:pointer;min-height:52px}.pattern-shift-summary strong{font-weight:500;overflow-wrap:anywhere}.pattern-summary-time{font-variant-numeric:tabular-nums;white-space:nowrap}.pattern-summary-people{color:#53665e;overflow-wrap:anywhere}.pattern-shift-summary>.anticon{color:#53665e;font-size:12px}.pattern-shift-summary:focus-visible{outline:2px solid #295c48;outline-offset:-2px}.pattern-shift-summary:disabled{cursor:default;opacity:.6}.pattern-editor-times{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(hover:hover){.pattern-shift-summary:hover{background:#f5f7f6}}@container (max-width:560px){.pattern-shift-summary{grid-template-columns:minmax(0,1fr) 112px 16px;gap:6px 10px;padding:12px 0}.pattern-summary-people{grid-row:2;grid-column:1/3;font-size:13px}.pattern-shift-summary>.anticon{grid-column:3;grid-row:1/3}}.pattern-day-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.pattern-day-actions .ant-btn{font-size:13px;height:32px;padding-inline:8px;color:#53665e}.pattern-copy-days{display:flex;flex-direction:column;gap:12px}.pattern-copy-note{color:#53665e;font-size:13px;margin-bottom:0}@container (max-width:560px){.pattern-day-heading{flex-wrap:wrap}.pattern-day-actions{margin-left:auto;gap:0}.pattern-day-actions .ant-btn{height:40px;padding-inline:6px}.pattern-day-actions .pattern-copy-day-label{display:inline}.pattern-day-actions{flex-wrap:wrap;justify-content:flex-end}.pattern-top-actions{gap:8px}.pattern-top-actions .ant-btn{padding-inline:10px}}.pattern-shift-line{display:grid;grid-template-columns:156px minmax(0,1fr);gap:12px;border-top:1px solid #edf0ee;align-items:center}.pattern-shift-line .pattern-shift-summary{grid-template-columns:minmax(0,1fr) 16px;gap:2px 8px;border-top:0;padding:8px 4px;min-height:54px;border-radius:4px}.pattern-shift-line .pattern-summary-time{grid-column:1;font-size:13px;color:#53665e}.pattern-shift-line .pattern-shift-summary>.anticon{grid-column:2;grid-row:1/3}.pattern-people-button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 8px;border:0;background:transparent;color:#53665e;font:inherit;text-align:left;cursor:pointer;min-height:44px}.pattern-people-button>span:first-child{overflow-wrap:anywhere}.pattern-people-edit{color:#295c48;text-decoration:underline;text-underline-offset:3px;font-size:12px}.pattern-people-button:focus-visible{outline:2px solid #295c48;outline-offset:-2px}.pattern-people-button:disabled{cursor:default}.pattern-people-list{display:flex;flex-direction:column;width:100%}.pattern-people-list .ant-checkbox-wrapper{min-height:44px;padding:10px 0;border-bottom:1px solid #edf0ee;margin:0}@media(hover:hover){.pattern-people-button:not(:disabled):hover{background:#f5f7f6}}@container (max-width:560px){.pattern-shift-line{grid-template-columns:1fr;gap:0;padding:4px 0}.pattern-people-button{padding:4px 0 10px}.pattern-shift-line .pattern-shift-summary{grid-template-columns:minmax(0,1fr) auto 16px;min-height:40px;padding:6px 0}.pattern-shift-line .pattern-summary-time{grid-column:2}.pattern-shift-line .pattern-shift-summary>.anticon{grid-column:3;grid-row:1}}.pattern-inline-help{margin:0 0 12px;color:#53665e;font-size:13px}.pattern-inline-people{display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:6px;padding:6px 0;min-height:54px;border-radius:6px}.pattern-inline-people.is-drop-target{background:#e8f3ec;outline:2px dashed #397157;outline-offset:-2px}.pattern-person-chip{font-size:13px;display:inline-flex;align-items:center;max-width:100%;border:1px solid #dce5df;border-radius:20px;background:#f2f6f3}.pattern-person-chip[draggable=true]{cursor:grab}.pattern-person-chip.is-dragging{opacity:.4}.pattern-person-name,.pattern-person-remove{border:0;background:transparent;color:#294b3b;font:inherit;min-height:32px}.pattern-person-name{display:flex;align-items:center;gap:5px;min-width:0;padding:5px 4px 5px 9px;text-align:left;cursor:grab}.pattern-person-name>span:last-child{overflow-wrap:anywhere}.pattern-person-grip{flex-shrink:0;color:#85978c;font-size:13px}.pattern-person-name:active{cursor:grabbing}.pattern-person-remove{display:grid;place-items:center;padding:6px 9px 6px 6px;flex-shrink:0;font-size:10px;cursor:pointer;color:#718479;border-radius:0 20px 20px 0}.pattern-person-name:focus-visible,.pattern-person-remove:focus-visible{outline:2px solid #295c48;outline-offset:2px;border-radius:20px}.pattern-add-person.ant-btn{color:#53665e;height:32px;padding-inline:8px;font-size:13px;border-radius:18px}@media(hover:hover){.pattern-person-chip:hover{border-color:#a8bdaf;background:#eaf1ec}.pattern-person-remove:not(:disabled):hover{background:#fbeaea;color:#a32929}}@container (max-width:560px){.pattern-inline-people{padding:0 0 10px;gap:6px}.pattern-person-chip{font-size:12px;line-height:18px}.pattern-person-name,.pattern-person-remove{min-height:30px}.pattern-person-name{gap:3px;padding:3px 2px 3px 7px}.pattern-person-grip{font-size:11px}.pattern-person-remove{min-width:26px;padding:3px 6px}.pattern-add-person.ant-btn{height:30px;min-height:30px;font-size:12px;padding-inline:6px}}.pattern-person-chip.is-inactive{background:#f7f7f7;border-color:#ededed}.pattern-person-chip.is-inactive .pattern-person-name,.pattern-person-chip.is-inactive .pattern-person-remove,.pattern-person-chip.is-inactive .pattern-person-grip{color:#777}.pattern-person-chip.is-inactive .pattern-person-name>span:last-child{text-decoration:line-through;text-decoration-thickness:1px}@media(hover:hover){.pattern-person-chip.is-inactive:hover{background:#f0f0f0;border-color:#dcdcdc}}.pattern-date-explanation{margin:8px 0 12px;color:#344b3f;font-size:13px;line-height:1.6}.pattern-date-explanation>span{display:block;color:#53665e}.pattern-day-title{display:flex;flex-direction:column;gap:3px;min-width:0}.pattern-date-note{color:#53665e;font-size:12px;margin:12px 0}.pattern-day-dates{display:block;font-size:12px;color:#53665e;font-variant-numeric:tabular-nums}@container (max-width:700px){.pattern-day-heading{flex-wrap:wrap}.pattern-day-title{flex:1 1 210px}.pattern-day-dates{margin:0}}.pattern-next-schedule{margin:0;padding:8px 0;color:#344b3f;font-size:13px;line-height:1.5}.pattern-editor-toolbar{position:sticky;top:-36px;z-index:5;background:var(--app-background, #f5f6f8);border-bottom:1px solid #e5e7eb;padding:16px 0;margin-bottom:8px}.pattern-toolbar-settings{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pattern-toolbar-settings>.ant-btn{color:#53665e}.pattern-day{scroll-margin-top:100px}@container (max-width:560px){.pattern-editor-toolbar{gap:8px}.pattern-toolbar-settings{width:100%;justify-content:space-between}.pattern-top-actions{justify-content:flex-end}.pattern-top-actions>span:not(:empty){order:0;width:auto;margin-right:auto}.pattern-day{scroll-margin-top:152px}}@media(max-width:767px){.pattern-editor-toolbar{top:-20px}}.pattern-editor-toolbar{flex-wrap:nowrap}.pattern-toolbar-settings,.pattern-top-actions{flex-wrap:nowrap;flex-shrink:0}.pattern-top-actions{margin-left:auto;width:auto}@container (max-width:1100px){.pattern-top-actions>span:not(:empty){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@container (max-width:900px){.pattern-definitions-action .pattern-definitions-label{display:none}.pattern-definitions-action.ant-btn{width:36px;padding-inline:0}.pattern-cycle-control label{display:none}.pattern-toolbar-settings{width:auto}}@container (max-width:520px){.pattern-editor-toolbar{flex-wrap:wrap}.pattern-top-actions{margin-left:0;width:100%;justify-content:flex-end}}.weekly-roster{margin-top:8px}.roster-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.roster-toolbar h2{font-size:20px;margin:0 8px;font-weight:600}.roster-selection{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-height:56px;padding:8px 0;color:#4d5e55}.roster-week-grid{display:grid;grid-template-columns:minmax(140px,1.2fr) repeat(7,minmax(0,1fr));border-top:1px solid #dce3de}.roster-person-row{display:contents}.roster-grid-heading{padding:16px 8px;display:flex;flex-direction:column;gap:4px;color:#52645a}.roster-today{color:#204d37;background:#e8f0e9}.roster-person{padding:18px 8px 18px 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;border-top:1px solid #e1e7e2}.roster-person>strong{overflow-wrap:anywhere}.roster-person .ant-checkbox-wrapper{font-size:12px}.roster-day{padding:12px 4px;border-top:1px solid #e1e7e2;min-width:0}.roster-shift{width:100%;min-height:72px;display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;padding:10px 4px;border:1px solid transparent;border-radius:8px;background:#edf2ee;color:#254b35;cursor:pointer;font:inherit;font-size:13px;font-variant-numeric:tabular-nums}.roster-shift strong{font-weight:600;white-space:nowrap}.roster-shift small{overflow-wrap:anywhere}.roster-shift.is-selected{border-color:#315e44;outline:2px solid #315e44;outline-offset:1px;background:#dceadf}.roster-shift.is-closed{background:#f2ece5;color:#6a5137;cursor:default}.roster-off{color:#6b756f}.roster-day-actions{padding-top:6px;text-align:center}.roster-day-actions button{border:0;background:none;color:#52645a;cursor:pointer;font-size:12px;padding:4px 0}.roster-shift:focus-visible,.roster-day-actions button:focus-visible{outline:2px solid #315e44;outline-offset:2px}.roster-shift:active:not(:disabled){transform:scale(.98)}.roster-mobile-day{display:none}@media(hover:hover){.roster-shift:hover:not(:disabled){background:#e0eae2}.roster-day-actions button:hover{text-decoration:underline}}@media(max-width:900px){.roster-week-grid{display:block}.roster-grid-heading{display:none}.roster-person-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.roster-person{grid-column:1/-1;flex-direction:row;align-items:center;flex-wrap:wrap;padding-bottom:4px}.roster-mobile-day{display:block;font-size:12px;color:#52645a;text-align:center;margin-bottom:8px}}@media(max-width:540px){.roster-person-row{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-day{padding:8px 4px}.roster-toolbar h2{font-size:16px}}.roster-selection{position:sticky;top:0;background:#fff;z-index:3;border-bottom:1px solid #e1e7e2}.roster-mobile-picker{display:none}@media(max-width:540px){.roster-mobile-picker{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.roster-mobile-picker .ant-btn{padding:4px 8px}.roster-person-row{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr)}.roster-person{grid-column:auto;flex-direction:column;align-items:flex-start;gap:8px}.roster-day:not(.is-focus-day){display:none}.roster-day .roster-mobile-day{display:none}}.roster-day-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:16px}.roster-date-section h3{display:flex;justify-content:space-between;margin:0;padding:12px 8px;border-bottom:2px solid #ccd8cf;font-size:16px}.roster-date-section h3 span{font-weight:400;color:#52645a}.roster-date-person{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,1fr);align-items:center;gap:12px;border-bottom:1px solid #e1e7e2;padding:4px 8px}.roster-date-person>strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.roster-date-person .roster-day{display:block;border:0;padding:6px 0}.roster-date-person .roster-mobile-day{display:none}.roster-date-person .roster-shift{min-height:52px}.roster-shift.has-absence{background:#f5edf8;color:#704c80}@media(max-width:540px){.roster-day-groups{grid-template-columns:minmax(0,1fr)}.weekly-roster:has(.roster-day-groups) .roster-mobile-picker{display:none}}.roster-timeline-scroll{max-width:100%;overflow-x:auto}.roster-timeline-scroll:focus-visible{outline:2px solid #737373;outline-offset:2px}.weekly-roster .roster-toolbar{gap:12px;margin-bottom:12px}.weekly-roster .roster-toolbar>.ant-space{flex-wrap:wrap;gap:6px!important}.roster-date-picker{width:245px}.weekly-roster .timeline-options{gap:8px;flex-wrap:wrap}.roster-staff-filter{width:200px;max-width:100%}.roster-help{max-width:300px;line-height:1.5}.roster-help p{margin:0 0 10px}.roster-help p:last-child{margin-bottom:0}.roster-selection[hidden]{display:none}.weekly-roster .schedule-timeline{margin-top:12px}.weekly-roster .timeline-day-picker{margin:0 0 12px;gap:4px}.weekly-roster .timeline-day-picker .ant-btn{box-shadow:none}@media(max-width:540px){.roster-date-picker{width:210px}.roster-staff-filter{flex:1;min-width:130px}.weekly-roster .timeline-options{width:100%}}.weekly-roster{container-type:inline-size}.weekly-roster .roster-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:12px;border:1px solid #dce4de;border-radius:8px;background:#fff}.roster-date-navigation{display:grid;grid-template-columns:40px 40px auto minmax(0,1fr);align-items:center;gap:6px;min-width:0}.roster-date-navigation .roster-date-picker{width:100%;min-width:0}.weekly-roster .timeline-options{display:flex;flex-wrap:nowrap;width:100%;min-width:0}.weekly-roster .roster-staff-filter{flex:1;min-width:100px;width:auto}.weekly-roster .timeline-options>.ant-btn{flex-shrink:0}@container (min-width:1000px){.weekly-roster .roster-toolbar{grid-template-columns:minmax(380px,1fr) minmax(400px,1fr);gap:24px}}@container (max-width:420px){.roster-date-navigation{grid-template-columns:40px 40px 1fr}.roster-date-navigation .roster-date-picker{grid-column:1/-1}.weekly-roster .timeline-options{flex-wrap:wrap}.weekly-roster .timeline-options>.ant-segmented{flex-basis:calc(100% - 44px)}.weekly-roster .roster-staff-filter{order:3;flex-basis:100%}}.weekly-roster .roster-selection{display:grid;grid-template-columns:auto minmax(0,1fr) 32px;align-items:center;gap:12px;min-height:0;padding:10px 12px;margin:0 0 12px;position:sticky;top:-28px;z-index:4;background:#fff;border:1px solid #dce4de;border-radius:12px}.weekly-roster .roster-selection[hidden]{display:none}.roster-selection>.roster-selection-summary{grid-column:1;grid-row:1;font-size:13px;font-weight:500;white-space:nowrap;color:#536158}.roster-selection .roster-clear-selection{grid-column:3;grid-row:1;width:32px;height:32px;padding:0;color:#657069}.roster-selection-actions{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.roster-selection-actions .ant-btn{box-shadow:none;height:36px;padding-inline:12px}@container (max-width:640px){.roster-selection.has-single-selection .roster-selection-actions{grid-column:1/-1;grid-row:2;justify-content:flex-start}}@container (max-width:460px){.roster-selection .roster-selection-actions{grid-column:1/-1;grid-row:2;justify-content:flex-start}.roster-selection>.roster-selection-summary{grid-column:1/3}}@media(max-width:767px){.weekly-roster .roster-selection{top:-12px}}.roster-selection-summary{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:2px}.roster-selection-summary strong{font-weight:600}.roster-selection .roster-expand-selection{height:auto;min-height:32px;padding:4px 0;font-size:12px;color:#315c4c;white-space:normal;text-align:left}.roster-week-selection{display:flex;flex-direction:column;gap:12px;max-width:min(340px,calc(100vw - 64px))}.roster-week-selection p{margin:0;font-size:12px;color:#59645f}.roster-week-selection .ant-checkbox-wrapper{margin:0;min-height:32px;align-items:center}.team-page .page-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.team-page .page-heading h1{margin:0}.team-description{color:#59645f;margin:6px 0 0}.team-roster{overflow:hidden}.team-roster-toolbar{padding:20px;display:grid;gap:20px}.team-period,.team-roster-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.team-period h2{font-size:17px;margin:0 auto 0 0;font-variant-numeric:tabular-nums}.team-roster-filters .ant-input-affix-wrapper{width:260px}.team-roster .ant-table-cell{vertical-align:top}.team-roster .ant-table-tbody>tr>td{padding:12px 8px}.team-roster .ant-table-tbody>tr>td:first-child{padding:18px 16px}.team-person{display:flex;align-items:center;flex-wrap:wrap;gap:4px;overflow-wrap:anywhere}.team-person strong{flex:1;min-width:70px}.team-person .ant-btn{flex:0 0 40px}.team-day-heading{display:flex;gap:4px;flex-direction:column}.team-day-heading>span{font-size:12px;color:#59645f;font-weight:400}.team-roster .ant-table-cell.team-today{background:#f0f5f1}.team-day-cell.ant-btn,.team-day-cell{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;height:auto;min-height:88px;padding:8px;text-align:left;white-space:normal;gap:5px}.team-shift-time{font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}.team-cell-note{font-size:12px;color:#59645f;line-height:1.5}.team-day-cell.is-off .team-shift-time{font-weight:400;color:#68716c}.team-absence{display:flex;flex-direction:column;color:#85501c;background:#fff4e6;padding:3px 6px;border-radius:4px;font-size:12px}.team-table-help{color:#59645f;padding:14px 20px;margin:0;font-size:13px;border-top:1px solid #e8eaed}.team-history{margin-top:24px;color:#59645f}.team-history summary{cursor:pointer;min-height:40px;padding:8px 0}.team-history-entry{border-bottom:1px solid #e8eaed;padding:16px 0}.team-history-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.team-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.team-change-section{border-bottom:1px solid #e8eaed;padding-bottom:24px;margin-bottom:24px}.team-scope-note{margin:0 0 24px;color:#59645f;line-height:1.6}.team-weekday-editor{display:grid;grid-template-columns:112px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #e8eaed;align-items:baseline}.team-weekday-editor:last-of-type{margin-bottom:24px}.team-interval .ant-form-item{margin-bottom:8px}.team-interval{display:flex;flex-wrap:wrap;gap:8px}.team-off-label{display:inline-block;color:#68716c;margin-right:12px}.team-mobile-week{display:flex;padding:0 12px 12px;gap:2px}.team-mobile-week .ant-btn{flex:1;min-width:0;height:58px;padding:6px 0;display:flex;flex-direction:column;gap:2px}.team-mobile-week .ant-btn span{font-size:11px}.team-page :focus-visible{outline:2px solid #315c4c;outline-offset:2px}@media(max-width:767px){.team-roster-toolbar{padding:16px 12px;gap:14px}.team-period{gap:8px}.team-period h2{font-size:15px}.team-period .ant-picker{flex:1}.team-roster-filters .ant-input-affix-wrapper{width:100%}.team-form-pair,.team-history-comparison{grid-template-columns:1fr;gap:0}.team-weekday-editor{grid-template-columns:1fr;gap:8px}.team-roster .ant-table-tbody>tr>td:first-child{padding:16px 12px}.team-person{align-items:flex-start}}.team-cell-content{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%}.team-shift-time{white-space:nowrap}.team-roster .ant-table-thead>tr>th{padding:12px 16px}.team-day-cell.ant-btn,.team-day-cell{min-height:68px}.team-cell-note{display:block}.team-page .page-heading{margin-bottom:12px}.team-advanced{margin-bottom:20px}.team-advanced summary{cursor:pointer;min-height:40px;color:#59645f}.team-roster .ant-input::placeholder{color:#69716d}@media(max-width:767px){.team-roster-toolbar{gap:12px}.team-mobile-week .ant-btn{height:50px}}.team-weekday-editor>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px}@media(min-width:560px)and (max-width:767px){.team-form-pair{grid-template-columns:1fr 1fr;gap:16px}.team-weekday-editor{grid-template-columns:112px 1fr;gap:12px}}@media(min-width:768px){.team-roster .ant-table-tbody>tr>td{padding:8px 4px}.team-day-cell.ant-btn,.team-day-cell{min-height:60px;padding:8px 4px}.team-cell-note{white-space:nowrap}}.team-cycle-editor>label{display:block;margin-bottom:8px}.team-cycle-editor>.ant-select{width:100%;margin-bottom:12px}.team-cycle-editor .ant-tabs-nav{margin-bottom:12px}.team-cycle-single .ant-tabs-nav{display:none}.holiday-calendar{padding:20px}.holiday-overview{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:32px;align-items:start}.holiday-month-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.holiday-date{min-height:36px;padding:6px;text-align:center}.holiday-date.is-closed{background:#f3e9df;color:#775033;font-weight:600}.holiday-date span{margin-left:3px}.holiday-list{padding:0;margin:0;list-style:none}.holiday-list li{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid #e4e8e5}.holiday-list time{min-width:48px;font-variant-numeric:tabular-nums}.holiday-list li>span:not(.ant-tag){flex:1}.holiday-edit-row{display:grid;grid-template-columns:150px minmax(160px,1fr) 110px 36px;gap:12px;align-items:center}.holiday-edit-row .ant-form-item{margin-bottom:12px}.holiday-edit-row>.ant-btn{margin-top:16px}.holiday-calendar .team-advanced{margin-top:24px}@media(max-width:767px){.holiday-overview{grid-template-columns:1fr;gap:16px}.holiday-edit-row{grid-template-columns:minmax(120px,1fr) minmax(130px,1fr);gap:8px;border-bottom:1px solid #e4e8e5;margin-bottom:16px}.holiday-edit-row>.ant-btn{margin-top:0;justify-self:end}}.roster-bulk-form .team-change-section{padding:16px 0;margin:0}.roster-bulk-form .team-change-section h5{margin:0 0 10px}.roster-bulk-form .team-change-section .ant-typography{font-size:14px}.roster-bulk-help{margin-bottom:4px}.holiday-save-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid #dce3de;padding:16px 0;z-index:2}.holiday-inline-editor{padding-top:12px}.holiday-inline-editor .holiday-edit-row{grid-template-columns:150px minmax(160px,1fr) 110px 36px}@media(max-width:600px){.holiday-inline-editor .holiday-edit-row{grid-template-columns:1fr 1fr}}.holiday-inline-editor .holiday-edit-row{grid-template-columns:90px minmax(160px,1fr) 110px 72px;padding:12px 0;border-bottom:1px solid #e1e7e2}.holiday-inline-editor .holiday-edit-row time{font-variant-numeric:tabular-nums;color:#52645a}.holiday-inline-editor .holiday-name{font-weight:500}.holiday-inline-editor .holiday-edit-row .ant-form-item{margin-bottom:0}.holiday-inline-editor .holiday-edit-row:has(input[type=date]:not([hidden])){align-items:center}@media(max-width:600px){.holiday-inline-editor .holiday-edit-row{grid-template-columns:70px minmax(100px,1fr)}.holiday-edit-row>.ant-space{justify-self:end}}.holiday-inline-editor .holiday-edit-row:has(>.ant-form-item:not(.ant-form-item-hidden) input[type=date]){grid-template-columns:150px minmax(160px,1fr) 110px 72px}@media(max-width:600px){.holiday-inline-editor .holiday-edit-row:has(>.ant-form-item:not(.ant-form-item-hidden) input[type=date]){grid-template-columns:1fr 1fr}}.holiday-inline-editor .holiday-edit-row{margin-bottom:0;padding:8px 0}.schedule-settings-sections{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.roster-bulk-help>p{margin:0 0 8px;color:#59645f;line-height:1.5}.roster-bulk-actions{display:flex;flex-wrap:wrap;gap:8px}.roster-bulk-actions .ant-btn{margin:0}.roster-bulk-explanation{margin-top:0;font-size:13px;color:#59645f}.roster-bulk-explanation summary{cursor:pointer;padding:8px 0;min-height:40px}.roster-bulk-explanation p{margin:8px 0 0;line-height:1.5;max-width:65ch}.roster-bulk-person{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;align-items:baseline;margin-bottom:12px}.roster-bulk-person strong{font-size:15px;overflow-wrap:anywhere}.roster-bulk-person>span{color:#59645f;font-size:13px;font-variant-numeric:tabular-nums}.roster-bulk-form .team-interval-compact{display:grid;grid-template-columns:minmax(0,200px) minmax(0,200px) 40px;align-items:start;gap:12px}.roster-bulk-form .team-interval-compact>.ant-space-item{min-width:0}.roster-bulk-form .team-interval-compact .ant-form-item-label{padding-bottom:4px}.roster-bulk-form .team-interval-compact>.ant-space-item:last-child{padding-top:28px}.roster-bulk-form .team-interval-compact .ant-input{width:100%;min-width:0}.roster-bulk-form .team-change-section:last-of-type{border-bottom:0}@media(max-width:480px){.roster-bulk-form .team-interval-compact{gap:8px}.roster-bulk-actions{flex-direction:column;align-items:flex-start}}.roster-bulk-copy{margin-top:8px;padding-top:8px}.roster-bulk-copy .ant-btn{padding-inline:8px;margin-left:-8px;color:#59645f;font-size:13px;white-space:normal;height:auto;min-height:40px}.roster-bulk-copy p{margin:0;max-width:65ch;color:#59645f;font-size:13px;line-height:1.5}.roster-bulk-form .team-change-section>.ant-btn-text{padding-inline:8px;margin-left:-8px;color:#59645f;font-size:13px}.roster-bulk-form .ant-btn:active:not(:disabled):not(:focus-visible){transform:scale(.98)}.roster-bulk-form .ant-btn:focus-visible{transform:none}@media(prefers-reduced-motion:reduce){.roster-bulk-form .ant-btn:active:not(:disabled){transform:none}}.holiday-template{margin:16px 0 24px;padding:16px 0;border-block:1px solid #e1e7e2}.holiday-template summary{cursor:pointer;font-weight:600;padding-block:8px}.holiday-template p{color:#59645f;max-width:65ch}.holiday-empty{padding-block:16px;color:#59645f}.holiday-save-bar>.ant-space{display:flex;justify-content:flex-end;flex-wrap:wrap}.holiday-settings h2,.absence-type-settings h2{margin:0;font-size:20px}.settings-description{margin:8px 0 0;color:#59645f;line-height:1.6;max-width:65ch}.holiday-settings .roster-toolbar{align-items:flex-start;margin-bottom:16px}.holiday-settings .roster-toolbar>.ant-select{flex-shrink:0;min-width:140px}.holiday-inline-editor .holiday-empty{margin:0 0 16px;padding:24px 0;max-width:55ch;line-height:1.6}.holiday-template{margin-bottom:16px}.holiday-save-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 0}.holiday-save-bar>.ant-space{margin-left:auto}.holiday-draft-note{font-size:12px;color:#59645f}.absence-type-settings{max-width:640px}.absence-type-settings .team-scope-note{margin:8px 0 24px}.absence-type-row{display:flex;gap:12px;align-items:center}.absence-type-row .ant-form-item{flex:1;margin-bottom:16px}.absence-type-row>.ant-btn{margin-top:12px;flex-shrink:0}@media(max-width:600px){.holiday-settings .roster-toolbar{gap:16px}.holiday-save-bar>.ant-space{width:100%}.holiday-save-bar .ant-btn{white-space:normal;height:auto;min-height:40px}}.holiday-add-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.holiday-inline-editor .holiday-empty{padding:12px 0;margin-bottom:0}.holiday-settings .team-scope-note{margin-top:12px}.closure-settings-link{display:flex;justify-content:flex-end;margin:-8px 0 12px}.closure-settings-link .ant-btn{padding-inline:0;color:#59645f;font-size:13px}.holiday-settings{max-width:960px}.holiday-settings .roster-toolbar{margin-bottom:20px}.holiday-inline-editor{padding-top:0}.holiday-add-actions{margin:0 0 16px}.closure-empty{display:flex;align-items:flex-start;gap:16px;padding:24px;background:#fff;border:1px solid #dce3de;border-radius:12px}.closure-empty>.anticon{font-size:24px;color:#68766d;margin-top:2px;flex-shrink:0}.closure-empty strong{font-size:15px}.closure-empty p{margin:8px 0 0;color:#59645f;line-height:1.6}.closure-dates:empty{display:none}.closure-dates:not(:empty){background:#fff;border:1px solid #dce3de;border-radius:12px;padding:0 16px}.closure-dates .holiday-edit-row:last-child{border-bottom:0}.closure-pending-date{display:grid;grid-template-columns:70px minmax(0,1fr) auto 32px;gap:12px;align-items:center;min-height:56px;border-bottom:1px solid #e1e7e2}.closure-pending-date:last-child{border-bottom:0}.closure-pending-date strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.closure-pending-date time{font-variant-numeric:tabular-nums;color:#52645a}.closure-pending-label{font-size:12px;color:#82591d}@media(max-width:600px){.closure-settings-link{justify-content:flex-start}.closure-pending-date{grid-template-columns:52px minmax(0,1fr) 32px;gap:4px 8px;padding:10px 0}.closure-pending-date .closure-pending-label{grid-column:2;grid-row:2}.closure-pending-date .ant-btn{grid-column:3;grid-row:1/3}.closure-dates:not(:empty){padding:0 12px}}.holiday-add-actions .ant-btn:active:not(:disabled):not(:focus-visible){transform:scale(.98)}@media(prefers-reduced-motion:reduce){.holiday-add-actions .ant-btn:active:not(:disabled){transform:none}}.holiday-settings .holiday-save-bar{margin-top:16px;padding:12px 16px;border:1px solid #dce3de;border-radius:12px}.holiday-settings .roster-toolbar{gap:16px}.closure-help{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin-top:20px;padding-top:12px;border-top:1px solid #dce3de;color:#59645f;font-size:13px}.closure-help p{margin:0;line-height:1.6}.closure-help a{color:var(--salon-primary, #315d4e);text-decoration:underline;text-underline-offset:3px}.closure-help .ant-btn{padding:8px 16px;font-size:14px;white-space:normal;text-align:left;height:auto;min-height:40px}@media(max-width:600px){.closure-empty{padding:20px 16px;gap:12px}.holiday-add-actions{display:grid;grid-template-columns:1fr}.holiday-add-actions .ant-btn{width:100%;min-height:40px;height:auto;padding:8px 12px;white-space:normal}.holiday-settings .roster-toolbar>div:first-child{flex-basis:100%}.closure-help{align-items:flex-start;flex-direction:column;gap:4px}}.closure-total{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin:20px 0 12px}.closure-total strong{font-size:14px;font-variant-numeric:tabular-nums}.closure-total span{font-size:12px;color:#59645f}.closure-help{gap:12px 24px}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--app-text, #20262d);background:var(--app-background, #f5f6f8);font-synthesis:none}*{box-sizing:border-box}body{margin:0}.ant-select-dropdown .client-create-option{margin-top:4px;border-top:1px solid #e8eaed;border-radius:0;color:#59665f;font-weight:400}.client-create-option-label{display:flex;align-items:center;gap:8px}.client-create-option-label>span:last-child{white-space:normal;overflow-wrap:anywhere}h1{font-size:28px;font-weight:650;line-height:1.3;margin:0}h2{font-size:18px;font-weight:600;margin:28px 0 16px}.app-layout{min-height:100dvh}.sidebar{border-right:1px solid #e8eaed;position:sticky!important;top:0;height:100dvh;overflow:auto;transition:none!important}.brand{padding:30px 24px;font-size:34px;font-weight:750;letter-spacing:-1px;color:var(--brand-primary, #315c4c)}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:#68717d;margin-top:4px}.ant-menu{border-inline-end:0!important}.account{padding:28px 16px;display:flex;flex-direction:column;gap:12px}.account .ant-btn{font-size:12px}.main-content{padding:36px;max-width:1800px;width:100%;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.page-heading .ant-typography{display:block;margin-top:6px}.surface{background:#fff;border:1px solid #e8eaed;border-radius:10px;overflow:hidden}.table-toolbar{padding:20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.catalog-search{max-width:400px}.service-title{display:flex;flex-direction:column;gap:3px;min-width:160px}.ean-caption{font-size:11px;font-variant-numeric:tabular-nums}.money{white-space:nowrap}.ant-table-pagination{padding:0 20px}.drawer-footer{display:flex;justify-content:flex-end;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .ant-input-number{width:100%}.collapse-summary{display:block;font-size:12px;color:#737b85;margin-top:4px}.ean-row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px}.ean-row>.ant-btn{margin-top:30px}.add-variant{margin-top:16px}.hours-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.absence-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center}.history-row{display:flex;justify-content:space-between;gap:16px;margin:12px 0}.price-summary{margin:20px 0;padding:16px;background:#f7f8fa;border-radius:8px;display:grid;gap:10px}.price-summary>div{display:flex;justify-content:space-between}.price-summary>div:last-child{font-size:18px}.checkout-line{display:grid;grid-template-columns:minmax(160px,1fr) 70px 120px 40px;gap:10px;align-items:center}.checkout-line .ant-input-number{width:100%}.checkout-body{display:flex;flex-direction:column;gap:20px;margin-top:24px}.checkout-footer{display:flex;flex-direction:column;gap:12px;padding:8px 0 max(8px,env(safe-area-inset-bottom))}.checkout-total,.checkout-change{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-variant-numeric:tabular-nums}.checkout-total strong{font-size:20px}.checkout-footer-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.payment-methods{display:flex;gap:12px;flex-wrap:wrap}.bank-settings-fields{border:0;padding:0;margin:0;min-width:0}.transfer-order{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.transfer-qr{display:flex;flex-direction:column;align-items:center;background:#fff;color:#000;padding:16px}.transfer-order .ant-descriptions{flex:1;min-width:220px}.transfer-order>.ant-typography{width:100%}@media print{.transfer-qr .ant-qrcode{width:33mm!important;height:33mm!important}.transfer-qr canvas,.transfer-qr svg{width:100%!important;height:100%!important}}.payment-methods .ant-radio-button-wrapper{flex:1 1 150px;text-align:left;height:auto;min-height:72px;line-height:1.5;padding:12px 14px;border:1px solid #c8ceca;border-radius:8px}.payment-methods .ant-radio-button-wrapper strong{display:block;font-weight:600}.payment-methods .payment-method-hint{display:block;font-size:12px}.checkout-dialog .ant-modal-content{padding:0;overflow:hidden;border-radius:16px}.checkout-dialog .ant-modal-header{margin:0;padding:24px 32px 20px;border-bottom:0;background:#f6f8f6}.checkout-dialog .ant-modal-close{top:22px;right:24px;width:40px;height:40px}.checkout-dialog-title{display:flex;flex-direction:column;gap:6px;padding-right:40px}.checkout-dialog-title>span:first-child{font-size:22px;font-weight:650;line-height:1.3}.checkout-dialog-title .ant-typography{font-size:13px;font-weight:400;color:#626c73}.checkout-dialog .ant-modal-body{padding:20px 32px 28px;overflow-y:auto;max-height:calc(100dvh - 280px);scrollbar-color:#b8c4bd transparent}.checkout-dialog .ant-modal-footer{margin:0;padding:20px 32px;background:#f6f8f6;border-top:1px solid #e1e7e3;text-align:left}.checkout-dialog .checkout-footer{padding:0;gap:16px}.checkout-dialog .checkout-total>span{color:#515e56;font-size:13px}.checkout-dialog .checkout-total strong{font-size:24px;letter-spacing:-.02em;color:#244b3b}.checkout-dialog .checkout-context{font-size:12px;color:#626c73;margin-bottom:20px}.checkout-dialog .checkout-context .ant-typography{color:inherit}.checkout-dialog .ant-steps{margin:0;padding-bottom:22px;border-bottom:1px solid #e8eaed}.checkout-dialog .ant-steps-item-title{font-size:12px}.checkout-dialog .checkout-body{margin-top:24px;gap:20px}.checkout-dialog .checkout-review{border:0;background:#f6f8f6;border-radius:8px}.checkout-dialog .checkout-review .ant-collapse-header{padding:10px 12px;font-size:13px}.checkout-dialog .checkout-review .ant-collapse-content{border:0}.checkout-dialog .payment-actions{gap:16px}.checkout-dialog .payment-actions h4{font-size:20px;font-weight:650;margin-bottom:4px}.checkout-dialog .payment-methods{display:flex;flex-direction:column;gap:0;border:1px solid #dce2de;border-radius:12px;overflow:hidden}.checkout-dialog .payment-methods .ant-radio-wrapper{width:100%;margin:0;padding:18px 20px;align-items:center;min-height:76px;border-bottom:1px solid #e5e9e6}.checkout-dialog .payment-methods .ant-radio-wrapper:last-child{border-bottom:0}.checkout-dialog .payment-methods .ant-radio-wrapper:hover{background:#f7f9f7}.checkout-dialog .payment-methods .ant-radio-wrapper-checked{background:#edf4ef}.checkout-dialog .payment-methods .ant-radio-wrapper>span:last-child{padding-inline-start:14px}.checkout-dialog .payment-methods strong{display:block;font-weight:600;font-size:15px;color:#243c30}.checkout-dialog .payment-method-hint{color:#58665d;margin-top:3px;font-size:13px}.checkout-dialog .payment-method-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.checkout-dialog .payment-method-actions .ant-btn{height:auto;min-height:94px;padding:14px 8px;flex-direction:column;justify-content:center;gap:10px;text-align:center;white-space:normal;border-radius:10px;line-height:1.35}.checkout-dialog .payment-method-actions .anticon{font-size:24px}.checkout-dialog .payment-method-actions .ant-btn:not(:disabled):hover{background:#edf4ef;border-color:var(--brand-primary, #315c4c)}.checkout-dialog .payment-method-actions strong{display:block;font-size:15px;font-weight:600}.checkout-dialog .payment-method-actions .ant-btn:disabled .payment-method-hint{color:inherit}.checkout-dialog .checkout-section-heading h4{font-size:20px}.checkout-dialog .checkout-cash-form{max-width:360px}.checkout-dialog .checkout-cash-form .ant-form-item{margin-bottom:0}.checkout-dialog .checkout-cash-form .ant-input-number-input{height:48px;font-size:20px;font-variant-numeric:tabular-nums}.checkout-dialog .checkout-change{padding:14px 0;border-top:1px solid #e5e9e6}.checkout-dialog .transfer-qr{padding:12px;border:1px solid #e5e9e6;border-radius:12px}.checkout-dialog .transfer-order .ant-descriptions-item-label{color:#58665d}.checkout-dialog .ant-btn{min-height:40px;box-shadow:none}.checkout-dialog .checkout-footer-actions .ant-btn-primary{padding-inline:22px}@media(max-width:575px){.checkout-dialog{max-width:calc(100vw - 24px);margin:12px auto;padding-bottom:0}.checkout-dialog .ant-modal-header{padding:20px}.checkout-dialog .ant-modal-close{right:12px;top:14px}.checkout-dialog .ant-modal-body{padding:16px 20px 24px;max-height:calc(100dvh - 310px)}.checkout-dialog .ant-modal-footer{padding:16px 20px}.checkout-dialog-title>span:first-child{font-size:20px}.checkout-dialog .ant-steps-item-title{font-size:11px}.checkout-dialog .ant-steps-item-content{width:auto!important;margin-top:6px}.checkout-dialog .ant-steps-item-title{padding:0;white-space:normal}.checkout-dialog .ant-steps-item-icon{margin-inline-start:0}.checkout-dialog .ant-steps-item-icon{margin-inline-end:5px}.checkout-dialog .payment-methods .ant-radio-wrapper{padding:14px}}.checkout-context{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;align-items:center}.checkout-context .ant-tag{margin:0;white-space:normal}.checkout-test-note{font-size:12px;color:#75531b;margin-top:8px}.checkout-review .ant-collapse-header{align-items:center!important}.checkout-review .ant-collapse-extra{font-variant-numeric:tabular-nums;white-space:nowrap}.checkout-review .summary{margin-bottom:0}.checkout-drawer .payment-help{margin-bottom:0;color:#515b64}.checkout-drawer .transfer-confirm{padding:16px 0;border-top:1px solid #e8eaed;align-items:flex-start;line-height:1.6}.checkout-drawer .transfer-order{align-items:flex-start;gap:16px}.checkout-drawer .transfer-order .ant-descriptions-item-content{overflow-wrap:anywhere}.checkout-drawer .payment-actions h4{margin:0}@media(max-width:480px){.payment-methods{gap:8px}.payment-methods .ant-radio-button-wrapper{flex-basis:100%;min-height:52px;padding:8px 12px}.checkout-drawer .transfer-order{justify-content:center}.checkout-drawer .transfer-order .ant-descriptions{flex-basis:100%;min-width:0}.checkout-review .ant-collapse-header{flex-wrap:wrap;row-gap:4px}}.payment-methods .ant-radio-button-wrapper:before{display:none}.checkout-drawer .payment-actions .ant-input-number{width:100%}.checkout-drawer .ant-steps{margin-top:16px}.checkout-drawer .ant-table-cell{overflow-wrap:anywhere}.checkout-drawer .checkout-body:focus{outline:none}.checkout-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.checkout-section-heading h4.ant-typography{margin:0;font-size:16px}.checkout-column-labels{display:grid;grid-template-columns:minmax(160px,1fr) 80px 160px 40px;gap:10px;font-size:12px;color:#515c55;margin-bottom:8px}.checkout-add-service{width:100%;margin-top:8px}.checkout-line-compact .ant-input-number-affix-wrapper{width:100%}.checkout-discount{margin:28px 0 24px;padding-top:24px;border-top:1px solid #e8eaed}.checkout-discount-fields{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px}.checkout-discount-fields .ant-form-item{margin-bottom:0}.checkout-discount-fields .ant-input-number,.checkout-discount-fields .ant-input-number-affix-wrapper{width:160px}@media(max-width:599px){.checkout-column-labels{display:none}.checkout-drawer .checkout-line-compact{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #e8eaed}.checkout-drawer .checkout-line-compact .ant-form-item{margin-bottom:0}}@media(min-width:600px){.checkout-drawer .checkout-line{grid-template-columns:minmax(160px,1fr) 70px 120px 40px;align-items:end;margin-bottom:16px}.checkout-drawer .checkout-line>.ant-form-item:first-child{grid-column:auto}.checkout-drawer .checkout-line .ant-form-item{margin-bottom:0}.checkout-drawer .checkout-line-compact{grid-template-columns:minmax(160px,1fr) 80px 160px 40px}.checkout-drawer .checkout-line-compact .ant-form-item-label{display:none}}@media(max-width:575px){.checkout-footer-actions>.ant-btn-primary{max-width:100%}.checkout-footer-actions{justify-content:flex-end}.checkout-total{flex-wrap:wrap;gap:4px}.checkout-drawer .ant-steps{flex-direction:row}.checkout-drawer .ant-steps-item{flex:1;padding:0!important}.checkout-drawer .ant-steps-item-tail{display:none}.checkout-drawer .ant-steps-item-title{font-size:12px}.checkout-drawer .ant-steps-item-title{white-space:normal;line-height:1.4}.checkout-drawer .ant-steps-item-content{min-height:0!important}}.payment-actions{display:flex;flex-direction:column;gap:16px}.spaced{margin-top:24px}.secondary{font-size:12px;color:#737b85;margin-top:4px}.settings{padding:24px;max-width:760px}.settings h2:first-child{margin-top:0}.audit-body{max-width:450px;white-space:pre-wrap;font-size:12px;word-break:break-word}.connection-status{display:flex;align-items:flex-start;gap:9px;margin:0 0 4px;padding:12px;border:1px solid #ead9ac;border-radius:12px;background:#fbf6e9;color:#78551b}.connection-status-icon{margin-top:3px;font-size:15px;flex-shrink:0}.connection-status-copy{min-width:0}.connection-status-copy strong{display:block;font-size:12px;line-height:18px;font-weight:600}.connection-status-copy p{margin:4px 0 7px;font-size:12px;line-height:18px;color:#7b6845}.connection-status .connection-retry.ant-btn{height:28px;padding:0 5px;margin-left:-5px;color:#78551b;font-size:12px}.connection-indicator.ant-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ead9ac;border-radius:12px;background:#fbf6e9;color:#8b601b;font-size:18px}.account>.connection-indicator{margin:0 auto 4px}.connection-indicator.ant-btn:focus-visible,.connection-retry.ant-btn:focus-visible{outline:2px solid #8b601b;outline-offset:3px}@media(hover:hover)and (pointer:fine){.connection-indicator.ant-btn:hover,.connection-status .connection-retry.ant-btn:hover{color:#684511!important;background:#f5ebd3!important}}.connection-indicator.ant-btn:active{transform:scale(.97)}.mobile-header-actions{display:flex;align-items:center;gap:8px}.connection-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #e8eaed}.mobile-header strong{font-size:26px;color:var(--brand-primary, #315c4c)}.login-page,.loading-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-panel{width:100%;max-width:400px;padding:32px;background:#fff;border:1px solid #e8eaed;border-radius:12px}.login-panel h1{color:var(--brand-primary, #315c4c);font-size:36px;margin-bottom:32px}.refund-panel{margin-top:24px}.print-only{display:none}::selection{background:#d8e7df}input{caret-color:var(--brand-primary, #315c4c)}@media(max-width:767px){.main-content{padding:20px 12px}.page-heading{align-items:flex-start;margin-bottom:20px}h1{font-size:23px}.page-heading>.ant-btn{flex-shrink:0}.table-toolbar{padding:12px;gap:12px}.table-toolbar>.ant-input-affix-wrapper,.catalog-search{max-width:none;width:100%}.form-grid,.form-grid.three{grid-template-columns:1fr}.ant-drawer-body{padding:20px!important}.checkout-line{grid-template-columns:1fr 1fr 40px}.checkout-line>.ant-form-item:first-child{grid-column:1/-1}.absence-row{grid-template-columns:1fr}.hours-row{grid-template-columns:80px 1fr 1fr}.ant-btn,.ant-select-selector{min-height:40px}.settings{padding:20px}.ean-row{grid-template-columns:1fr}.ean-row>.ant-btn{margin:0 0 20px;justify-self:start}.form-grid .ant-form-item{margin-bottom:12px}}@media print{body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;padding:20px}.print-only .price-summary{color:#000}}.catalog-surface{border-radius:12px}.catalog-status-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 0}.catalog-count{color:#68717d;font-size:13px;white-space:nowrap}.catalog-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;padding:0 24px 24px}.catalog-filters label{display:block;font-size:12px;color:#68717d;margin-bottom:6px}.catalog-filters .ant-select{width:100%}.catalog-surface .ant-table-thead>tr>th{background:#fafbfc;font-size:12px;color:#68717d;font-weight:500;border-top:1px solid #eef0f2}.catalog-surface .ant-table-tbody>tr>td{padding-top:20px;padding-bottom:20px}.catalog-surface .ant-table-tbody>tr:last-child>td{border-bottom:0}.service-name-button{font:inherit;font-size:15px;font-weight:600;color:var(--app-text, #20262d);border:0;padding:0;background:none;text-align:left;cursor:pointer;width:fit-content}.service-name-button:hover{color:var(--brand-primary, #315c4c);text-decoration:underline;text-underline-offset:4px}.service-name-button:focus-visible{outline:2px solid var(--brand-primary, #315c4c);outline-offset:4px;border-radius:2px}.service-meta{display:flex;gap:10px;color:#737b85;font-size:12px;min-height:18px}.service-meta>span{color:#526b60}.catalog-surface .money{font-weight:600;font-variant-numeric:tabular-nums;font-size:14px}.variant-list{padding:4px 20px 4px 38px}.variant-list-heading{font-size:12px;color:#737b85;margin-bottom:12px}.variant-list-heading strong{font-weight:500}.catalog-variant{display:grid;grid-template-columns:minmax(120px,1fr) 120px 210px 40px;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #e8eaed}.catalog-variant:last-of-type{margin-bottom:8px}.variant-description{display:flex;flex-direction:column;gap:4px}.variant-description strong{font-weight:500}.variant-description>span{font-size:12px;color:#68717d}.catalog-variant .money{text-align:right}.variant-duration{color:#68717d}.service-advanced{border-top:1px solid #e8eaed;padding:16px 0;margin-top:8px}.service-advanced summary{cursor:pointer;color:#68717d;font-size:13px}.service-advanced p{color:#737b85;font-size:12px}.mobile-service-price{display:flex;flex-wrap:wrap;gap:8px;font-weight:600;margin-top:8px}.mobile-service-price small{color:#68717d;font-weight:400}@media(max-width:767px){.catalog-status-row{padding:16px 12px 0;gap:8px}.catalog-count{font-size:12px}.catalog-filters{grid-template-columns:1fr 1fr;padding:0 12px 16px;gap:12px}.catalog-surface .service-title{min-width:0}.catalog-surface .ant-table-tbody>tr>td{padding-top:16px;padding-bottom:16px}.catalog-surface .ant-table-expanded-row>td{padding:12px!important}.variant-list{padding:4px}.catalog-variant{grid-template-columns:minmax(0,1fr) auto 40px;gap:4px 10px}.variant-description{grid-column:1;grid-row:1}.variant-duration{grid-column:1;grid-row:2;font-size:12px}.catalog-variant .money{grid-column:2;grid-row:1 / 3;font-size:13px}.catalog-variant>.ant-btn{grid-column:3;grid-row:1 / 3}.page-heading:has(+.catalog-surface){flex-wrap:wrap}}.sidebar .ant-menu-item-group-title{padding:18px 24px 8px;font-size:10px;font-weight:600;letter-spacing:1px;color:#89928e}.sidebar .ant-menu-item{width:calc(100% - 24px);margin-inline:12px}.brand{padding:26px 24px 16px}.account{border-top:1px solid #edf0ee;margin:20px 16px 0;padding:20px 0;gap:8px}.catalog-surface td.ant-table-column-sort{background:transparent}.sidebar .ant-layout-sider-children{display:flex;flex-direction:column;min-height:100%}.sidebar-heading{position:relative;min-height:104px;display:flex;align-items:center;justify-content:space-between;padding-right:16px;flex-shrink:0}.sidebar-heading .brand{padding:24px 20px}.sidebar-heading .sidebar-toggle{position:absolute;top:calc(50% + 3px);transform:translateY(-50%);right:0;width:32px;height:44px;padding:0;border-radius:8px 0 0 8px;color:#59665f;background:transparent;box-shadow:none;transition:none}.sidebar-toggle:before{content:"";position:absolute;top:8px;right:0;bottom:8px;left:4px;border:1px solid #dce2de;border-right:0;border-radius:7px 0 0 7px;background:#fff}.sidebar-toggle .anticon{position:relative;margin-left:4px;font-size:12px}.sidebar-heading .sidebar-toggle:focus-visible{outline:2px solid var(--brand-primary, #315c4c);outline-offset:-2px}.sidebar-heading .sidebar-toggle:active .anticon{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.sidebar-heading .sidebar-toggle:hover{color:var(--brand-primary, #315c4c);background:transparent}.sidebar-toggle:hover:before{background:var(--brand-soft, #eaf2ee);border-color:#aabeb3}}.sidebar .account{margin-top:auto;padding-bottom:20px}.sidebar>.ant-layout-sider-children>.ant-menu{padding-bottom:24px}.account-identity{display:flex;align-items:center;gap:10px;min-height:36px}.account-avatar{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--brand-soft, #eaf2ee);color:var(--brand-primary, #315c4c);font-size:12px;font-weight:600}.sidebar-collapsed .sidebar-heading{justify-content:center;padding:0}.sidebar-collapsed .brand{display:grid;place-items:center;width:32px;height:32px;padding:0 0 3px;border:1px solid var(--brand-border, #cbdad2);border-radius:50%;background:var(--brand-hover, #f5f9f7);font-size:24px;line-height:1;letter-spacing:0}.sidebar-collapsed .sidebar-toggle{top:50%}.sidebar-collapsed .sidebar-toggle:before{left:12px}.sidebar-collapsed .sidebar-toggle .anticon{margin-left:12px}.sidebar-collapsed .ant-menu-item-group-title{display:none}.sidebar-collapsed .ant-menu-item-group+.ant-menu-item-group{border-top:1px solid #e8eaed;margin-top:12px;padding-top:12px}.sidebar-collapsed .ant-menu-item{margin-inline:12px;width:52px;padding-inline:calc(50% - 20px)!important}.sidebar-collapsed .ant-menu-item .anticon{font-size:19px}.sidebar-collapsed .account{margin-inline:12px;align-items:center}.sidebar-collapsed .account .ant-btn{width:44px;height:44px}.navigation-drawer .ant-drawer-body{padding:0!important;display:flex;flex-direction:column}.navigation-drawer .account{margin-top:auto;padding:20px 0}@media(prefers-reduced-motion:reduce){.sidebar{transition:none!important}}.service-name-line{display:flex;align-items:center;gap:8px}.service-audiences{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.service-audience{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#737b85;font-size:13px}.catalog-surface .service-name-line .service-name-button{overflow-wrap:anywhere}.catalog-surface .catalog-variant{grid-template-columns:minmax(120px,1fr) 110px 200px 40px;gap:8px}.catalog-surface .catalog-variant .variant-description{grid-column:1;grid-row:1}.catalog-surface .catalog-variant .variant-duration{grid-column:2;grid-row:1}.catalog-surface .catalog-variant .money{grid-column:3;grid-row:1}.catalog-surface .catalog-variant>.ant-btn{grid-column:4;grid-row:1}.client-change-field{margin-top:12px;padding:10px 12px;background:#f7f8fa;border-radius:6px}.client-change-field>strong{display:block;font-size:12px;margin-bottom:6px}.client-change-field>div{display:flex;align-items:baseline;gap:10px;margin-top:4px}.client-change-field>div>span:last-child{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.change-label{color:#68717d;font-size:12px;min-width:54px;flex-shrink:0}.client-history{margin-top:28px;border-top:1px solid #e8eaed;padding-top:8px}.history-filters{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.history-filters>.ant-select{flex:1 1 200px;min-width:0}.history-filters>.ant-picker{flex:1 1 240px;min-width:0}.history-event-details{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.history-event-details>span{flex:1 1 100%}.history-footnote{font-size:12px;margin-top:20px}.client-heading{display:flex;flex-direction:column;gap:4px}.client-heading small{font-size:12px;color:#737b85;font-weight:400}.client-drawer .ant-tabs{margin-top:-12px}.client-section-title{font-size:16px;font-weight:600;margin:8px 0 20px}.client-status-setting{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e8eaed;padding-top:20px;margin-top:8px}.client-status-setting strong{font-weight:500}.client-status-setting p{color:#737b85;font-size:12px;margin:4px 0 0;max-width:460px}.client-drawer .client-history{border:0;margin:0;padding:0}.history-controls{position:sticky;top:-24px;background:#fff;z-index:2;padding:12px 0 16px;margin-bottom:24px;border-bottom:1px solid #edf0ee}.history-controls .history-filters{margin:0 0 12px}.history-results-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.history-results-bar .ant-typography{font-size:12px}.client-history .ant-timeline-item{padding-bottom:28px}.client-history .history-event-details{gap:8px 16px}.client-history .history-event-details>span{flex:1 1 180px;color:#68717d}.client-history .client-change-field{background:#f7f8fa;border-left:2px solid #dce7e1}.unsaved-label{margin-right:auto;align-self:center;color:#8a642b;font-size:12px}@media(max-width:767px){.history-controls{top:-20px}.client-drawer .drawer-footer{flex-wrap:wrap}.client-drawer .unsaved-label{flex-basis:100%}}@media(max-width:767px){.client-drawer .unsaved-label{order:-1}}.client-drawer .ant-drawer-header{padding:14px 20px}.client-drawer .ant-drawer-body{padding:16px 20px}.client-drawer .ant-tabs{margin-top:0}.client-drawer .ant-tabs-nav{margin-bottom:16px}.client-drawer .ant-tabs-tab{padding:8px 0}.client-drawer .ant-form-item{margin-bottom:14px}.client-drawer .ant-form-item-label{padding-bottom:4px}.client-drawer .form-grid{gap:12px}.client-drawer .history-controls{top:-16px;padding-top:4px;margin-bottom:16px}.client-drawer .ant-timeline-item{padding-bottom:18px}.client-drawer .client-change-field{padding:8px 10px;margin-top:8px}@media(max-width:767px){.client-drawer .ant-drawer-body{padding:16px!important}}.client-drawer .ant-form-item{margin-bottom:8px}.client-drawer .ant-input-prefix{color:#737b85;margin-right:8px}.client-notes-input{position:relative}.client-notes-input .notes-icon{position:absolute;left:12px;top:11px;color:#737b85;z-index:1}.client-notes-input textarea.ant-input{padding-left:34px;padding-top:8px;min-height:40px}.client-inline-history{border-top:1px solid #e8eaed;margin-top:8px;padding-top:12px}.client-inline-history>.ant-typography{margin:0 0 12px;font-size:14px}.client-drawer .history-controls{margin-bottom:12px;padding-bottom:10px}.client-drawer .history-filters{gap:8px;margin-bottom:8px}@media(max-width:767px){.client-drawer .form-grid .ant-form-item{margin-bottom:0}.client-drawer .form-grid{gap:8px;margin-bottom:8px}}.activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-heading{display:flex;align-items:center;gap:8px}.activity-heading>span{color:#8a929b;font-size:12px}.activity-filter-panel{display:flex;flex-wrap:wrap;gap:12px;padding:12px;margin:8px 0;background:#f7f8fa;border-radius:8px}.activity-filter-panel>label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#68717d;flex:1 1 220px;min-width:0}.activity-filter-panel .ant-select,.activity-filter-panel .ant-picker{width:100%}.activity-filter-summary{font-size:12px;color:#68717d;margin:8px 0}.activity-pagination{display:flex;justify-content:space-between;align-items:center;padding:4px 0 8px;font-size:12px;color:#737b85}.activity-day h3{font-size:12px;font-weight:500;margin:12px 0 0;padding:8px 10px;background:#f5f7f6;color:#68717d;border-radius:4px}.activity-event{border-bottom:1px solid #edf0ee}.activity-event>summary{display:flex;align-items:center;gap:10px;padding:12px 2px;cursor:pointer;list-style:none}.activity-event>summary::-webkit-details-marker{display:none}.activity-event>summary:hover{background:#fafbfa}.activity-event>summary:focus-visible{outline:2px solid var(--brand-primary, #315c4c);outline-offset:2px}.activity-event time{font-size:12px;color:#737b85;flex:0 0 36px;font-variant-numeric:tabular-nums}.activity-icon{color:#87948d;font-size:14px}.activity-description{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.activity-description strong{font-size:13px;font-weight:500}.activity-description small{font-size:12px;color:#737b85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-amount{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.activity-chevron{font-size:10px;color:#929b96}.activity-event[open] .activity-chevron{transform:rotate(90deg)}.activity-detail{padding:0 12px 14px 62px}.activity-exact-time{font-size:12px;color:#737b85}.activity-detail p{overflow-wrap:anywhere}@media(max-width:480px){.activity-event>summary{gap:7px;flex-wrap:wrap}.activity-description{flex-basis:calc(100% - 90px)}.activity-amount{margin-left:57px}.activity-chevron{margin-left:auto}.activity-detail{padding-left:12px}}.client-header-status{display:flex;align-items:center;gap:8px;font-size:12px;color:#68717d}.appointment-history-note{white-space:pre-wrap}.page-toolbar{padding:12px;gap:12px}.page-toolbar-filters{display:flex;align-items:center;flex:1;min-width:0;gap:8px;flex-wrap:wrap}.page-toolbar-filters>.ant-input-affix-wrapper{width:auto;flex:1;min-width:160px;max-width:440px}.page-toolbar-filters>.ant-btn,.page-toolbar-filters>.ant-badge{flex-shrink:0}.page-toolbar-actions{display:flex;flex-shrink:0;margin-left:auto;padding-left:12px;border-left:1px solid #e5e9e6}@media(max-width:575px){.page-toolbar-filters{flex-basis:100%}.page-toolbar-filters>.ant-input-affix-wrapper{max-width:none}.page-toolbar-actions{width:100%;padding-left:0;border-left:0}.page-toolbar-actions>.ant-btn,.page-toolbar-actions>span,.page-toolbar-actions>span>.ant-btn{width:100%}}.client-list-row{cursor:pointer}.client-list-row:focus-visible{outline:2px solid var(--brand-primary, #315c4c);outline-offset:-2px}.client-row-chevron{color:#8b939c;font-size:12px}.client-list-row:hover .client-row-chevron,.client-list-row:focus-visible .client-row-chevron{color:var(--brand-primary, #315c4c)}.appointment-time-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.appointment-duration{margin-top:12px}.slot-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:16px 0 8px}.appointment-bookings{margin-bottom:16px;max-height:180px;overflow:auto}.appointment-bookings>div{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:1px solid #e8eaed}.appointment-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px;max-height:264px;overflow:auto;padding:2px}.appointment-slots .ant-btn{min-height:40px;font-variant-numeric:tabular-nums}.booking-time-summary{display:flex;align-items:center;gap:12px;padding:16px 0}.booking-time-summary>.anticon{font-size:20px;color:#617269}.booking-time-summary>div{flex:1;min-width:0}.booking-time-summary strong,.booking-time-summary span:not(.ant-btn span),.booking-service-row>div>span{display:block}.booking-time-summary>div>span,.booking-service-row>div>span{color:#647067;font-size:13px;margin-top:4px}.booking-service-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e8ebe8}.booking-service-row>div:first-of-type{flex:1;min-width:0}.booking-service-row strong{font-weight:500;overflow-wrap:anywhere}.booking-service-number{color:#647067;font-size:12px;width:16px;flex-shrink:0}.booking-duration-control{display:flex;align-items:center;gap:8px;margin:12px 0;flex-wrap:wrap}.duration-popover{max-width:280px}.duration-input{margin:16px 0}.reschedule-controls{display:flex;gap:12px;flex-wrap:wrap}.reschedule-controls>.ant-select{flex:1;min-width:160px}.reschedule-selection{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0}.reschedule-selection strong{display:block;font-size:18px}.schedule-help{margin:16px 0!important;font-size:13px}.schedule-column-head{display:grid;grid-template-columns:72px 1fr 1fr;gap:8px;color:#647067;font-size:12px;padding:8px 0}.schedule-scroll{max-height:55vh;overflow:auto;border-block:1px solid #dce2dc;overscroll-behavior:contain}.schedule-day{position:relative;isolation:isolate}.schedule-tick{position:absolute;left:0;width:100%;height:40px;border:0;border-top:1px solid #e8ebe8;background:transparent;text-align:left;color:#536157;font:inherit;font-size:12px;cursor:pointer;padding:0}.schedule-tick span{display:block;width:56px;padding:2px 4px}.schedule-tick:hover:not(:disabled),.schedule-tick.selected{background:var(--brand-soft, #eaf2ee);color:#244d3e}.schedule-tick:focus-visible{outline:2px solid var(--brand-primary, #315b4b);outline-offset:-2px;z-index:4}.schedule-tick:disabled{cursor:not-allowed;color:#858b87}.schedule-booked,.schedule-selection{position:absolute;z-index:1;pointer-events:none;overflow:hidden;border-radius:6px;padding:4px 8px;box-sizing:border-box;font-size:12px}.schedule-booked{left:72px;width:calc((100% - 88px)/2);background:#e9ecea;color:#3d4941;border:1px solid #cdd5ce}.schedule-selection{left:calc(50% + 40px);right:0;background:#dceee4;border:1px solid #3b7259;color:#234f3a}.schedule-selection.conflict{background:#fff1f0;border-color:#d04444;color:#922626}.schedule-absence{background:#f4e8d4;color:#755420}.schedule-booked strong,.schedule-booked span,.schedule-selection strong,.schedule-selection span{display:block}.appointment-overview{margin-bottom:16px}@media(max-width:575px){.booking-time-summary{flex-wrap:wrap}.booking-time-summary strong{font-size:14px}.reschedule-controls>.ant-select{flex-basis:100%}.schedule-column-head{grid-template-columns:56px 1fr 1fr}.schedule-booked{left:56px;width:calc((100% - 72px)/2)}.schedule-selection{left:calc(50% + 32px)}.schedule-selection,.schedule-booked{padding:4px;font-size:11px}.reschedule-selection{flex-wrap:wrap}}.booking-add-service{width:100%;margin-top:12px}.schedule-booked,.schedule-selection{z-index:2}.schedule-processing{z-index:1;background:#fff;border:1px dashed #718b7d;color:#4b6456}.schedule-processing small{display:block}.schedule-reservation{padding:0;background:transparent;border:1px solid #77877d;border-radius:8px;overflow:hidden}.schedule-reservation.schedule-selection{border-color:var(--brand-primary, #315b4b)}.schedule-reservation.conflict{border-color:#c13f3f;background:transparent}.reservation-phase{position:absolute;inset-inline:0;padding:3px 7px;overflow:hidden;box-sizing:border-box}.reservation-phase strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-busy{background:#e4e9e5;color:#344a3c}.schedule-selection .reservation-busy{background:#dceee4;color:#234f3a}.conflict .reservation-busy{background:#fff1f0;color:#922626}.reservation-processing{background:#fff;border-block:1px dashed #8a9a90;color:#53685b}.reservation-processing strong{font-weight:400}.reservation-processing small{display:block}.schedule-lanes-scroll{overflow:auto;max-height:60vh}.schedule-lanes-head{display:grid;position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #dce2dc;padding-block:12px;font-size:12px;color:#536157}.schedule-lanes-head>span{padding-inline:8px}.schedule-your-lane{color:var(--brand-primary, #315b4b);font-weight:600}.schedule-lanes-day .schedule-tick span{position:sticky;left:0;background:#fff;height:100%;display:flex;align-items:center;box-sizing:border-box}.schedule-lanes-day .schedule-reservation{pointer-events:auto;cursor:pointer}.schedule-lanes-day .reservation-phase strong{white-space:normal;overflow-wrap:anywhere}.reservation-details{max-width:320px}.reservation-details>div{display:flex;gap:16px;padding-block:8px;border-bottom:1px solid #e8ebe8}.reservation-details>div>span:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}.schedule-lanes-day .reservation-phase strong{white-space:nowrap}.schedule-lanes-day .schedule-tick span{z-index:4}.schedule-lanes-head>span:first-child{position:sticky;left:0;z-index:6;background:#fff}.schedule-lanes-day .schedule-reservation{border:0;border-radius:0;background:transparent;overflow:visible;pointer-events:none}.schedule-lanes-day .schedule-reservation:hover,.schedule-lanes-day .schedule-reservation:focus-visible{outline:none}.schedule-reservation .reservation-busy{pointer-events:auto;border:1px solid #77877d;border-radius:6px;padding-right:24px;cursor:pointer}.schedule-selection .reservation-busy{border-color:var(--brand-primary, #315b4b)}.conflict .reservation-busy{border-color:#c13f3f}.schedule-reservation .reservation-processing{background:transparent;border:0;border-right:1px dashed #718b7d;border-radius:0;padding:0;pointer-events:none}.reservation-phase .processing-clock{position:absolute;right:5px;bottom:5px;font-size:12px;line-height:1}.schedule-reservation .reservation-busy.before-processing{border-bottom-style:dashed;border-bottom-left-radius:0;border-bottom-right-radius:0}.schedule-reservation .reservation-busy.after-processing{border-top-style:dashed;border-top-left-radius:0;border-top-right-radius:0}.schedule-lanes-day .schedule-reservation{z-index:auto}.schedule-reservation .reservation-processing{z-index:1;background:#315b4b0f}.schedule-reservation .reservation-busy{z-index:2}.schedule-reservation:has(.reservation-busy:hover) .reservation-busy,.schedule-reservation:focus-visible .reservation-busy{background:#d4e2d9;border-color:var(--brand-primary, #315b4b);border-width:2px;padding:2px 23px 2px 6px;outline:none}.schedule-selection:has(.reservation-busy:hover) .reservation-busy,.schedule-selection:focus-visible .reservation-busy{background:#c6e3d2}.schedule-reservation.conflict:has(.reservation-busy:hover) .reservation-busy,.schedule-reservation.conflict:focus-visible .reservation-busy{background:#ffe1dd;border-color:#a62f2f}.schedule-reservation:has(.reservation-busy:hover) .reservation-processing,.schedule-reservation:focus-visible .reservation-processing{border-right-color:var(--brand-primary, #315b4b);border-right-width:2px;background:#315b4b17}.schedule-reservation.conflict:has(.reservation-busy:hover) .reservation-processing,.schedule-reservation.conflict:focus-visible .reservation-processing{border-right-color:#a62f2f;background:#a62f2f0f}.schedule-reservation:not(.conflict) .reservation-busy{background:hsl(var(--reservation-hue, 160) 30% 92%);border-color:hsl(var(--reservation-hue, 160) 22% 55%);color:hsl(var(--reservation-hue, 160) 25% 24%)}.schedule-reservation:not(.conflict) .reservation-processing{background:hsl(var(--reservation-hue, 160) 35% 35% / .06);border-right-color:hsl(var(--reservation-hue, 160) 22% 55%)}.schedule-reservation:not(.conflict):has(.reservation-busy:hover) .reservation-busy,.schedule-reservation:not(.conflict):focus-visible .reservation-busy{background:hsl(var(--reservation-hue, 160) 30% 84%);border-color:hsl(var(--reservation-hue, 160) 30% 35%)}.schedule-reservation:not(.conflict):has(.reservation-busy:hover) .reservation-processing,.schedule-reservation:not(.conflict):focus-visible .reservation-processing{background:hsl(var(--reservation-hue, 160) 35% 35% / .09);border-right-color:hsl(var(--reservation-hue, 160) 30% 35%)}.stylist-working-hours{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px;background:#f0f3f1;border-radius:8px;color:#344a3c}.stylist-working-hours strong,.stylist-working-hours span{display:block}.stylist-working-hours>div>span{margin-top:3px;font-size:13px}.stylist-working-hours.outside-hours{background:#fff1f0;color:#922626}.schedule-save-reason{color:#922626;font-size:13px;flex:1}.schedule-shift-end{display:flex;align-items:center;gap:16px;padding:12px 8px;box-sizing:border-box;border-top:2px solid #77877d;background:#f0f3f1;color:#344a3c;font-size:12px}.schedule-shift-end strong{position:sticky;left:0}.schedule-outside-hours{position:absolute;left:0;right:0;background:#a6552312;pointer-events:none}.schedule-shift-boundary{position:absolute;left:64px;right:0;border-top:2px dashed #916849;z-index:3;pointer-events:none}.schedule-shift-boundary span{position:absolute;right:4px;bottom:2px;background:#fff8f1;color:#714b2d;padding:2px 6px;font-size:11px}.appointment-phase-row{display:flex;gap:16px;padding:10px 0;align-items:baseline}.appointment-phase-row+.appointment-phase-row{border-top:1px solid #f0f0f0}.appointment-phase-time{flex-shrink:0;font-variant-numeric:tabular-nums;color:#667085}.appointment-phase-description{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.appointment-phase-description strong{width:100%;overflow-wrap:anywhere;font-weight:600}.appointment-phase-label{color:#667085;font-size:13px}.appointment-phase-description .ant-tag{margin:0}@media(max-width:480px){.appointment-phase-row{gap:10px}.appointment-phase-time{font-size:12px}}.appointment-history{margin:24px 0;border-top:1px solid #eaecf0;padding-top:16px}.appointment-history-heading{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.appointment-history-event{padding:14px 0;border-bottom:1px solid #eaecf0}.appointment-history-event .ant-tag{margin-left:8px;white-space:normal}.appointment-history-meta{font-size:12px;color:#667085;margin:4px 0 8px}.appointment-history-change{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;margin-top:6px;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.appointment-history-change>span,.appointment-history-change del{color:#667085}.appointment-history-change strong{font-weight:500}.appointment-history .ant-pagination{margin-top:12px}@media(max-width:480px){.appointment-history-change{grid-template-columns:80px minmax(0,1fr)}}.appointment-detail .ant-drawer-body{padding:20px 24px}.appointment-detail .appointment-overview{gap:16px}.appointment-client-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.appointment-client-link.ant-btn{display:flex;height:auto;min-width:0;padding:4px 0;font-size:19px;font-weight:600;text-align:left;white-space:normal}.appointment-client-link>span:not(.anticon){overflow-wrap:anywhere}.appointment-client-link .anticon-right{font-size:12px;color:#667085}.appointment-client-heading .ant-tag{margin:0;flex-shrink:0}.appointment-detail .booking-time-summary{padding:12px 14px;background:#f6f7f8;border-radius:8px}.appointment-detail .booking-time-summary strong{font-size:17px}.appointment-detail .booking-service-row strong{font-size:14px}.appointment-total{border-top:1px solid #e5e7eb;padding-top:12px}.appointment-total>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.appointment-total>div:first-child:not(:last-child){color:#667085;font-size:13px}.appointment-total strong{font-size:16px}.appointment-note{margin:14px 0;font-size:13px}.appointment-note>span{color:#667085}.appointment-note .ant-typography{margin:4px 0 0;white-space:pre-wrap}.appointment-history-collapse{margin-top:12px;border-top:1px solid #e5e7eb}.appointment-history-collapse .ant-collapse-header{padding-left:0!important}.appointment-history-collapse .appointment-history{margin:0;padding:0;border:0}.appointment-history-collapse .ant-collapse-content-box{padding:0!important}.appointment-history-filter-label{color:#667085;font-size:13px}.appointment-actions{display:flex;justify-content:flex-end;padding:4px 0}@media(max-width:480px){.appointment-detail .ant-drawer-body{padding:16px}.appointment-client-link.ant-btn{font-size:17px}.appointment-actions .ant-btn{min-height:40px}}.appointment-booked-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px}.appointment-booked-line>span:first-child{min-width:0;overflow-wrap:anywhere}.appointment-booked-line>:last-child{white-space:nowrap}.appointment-detail .appointment-client-heading{margin:0 0 16px}.appointment-detail .appointment-client-link.ant-btn{font-size:22px;gap:10px}.appointment-facts{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;padding-bottom:18px}.appointment-facts>div{display:flex;align-items:flex-start;gap:10px;min-width:0}.appointment-facts>div>.anticon{color:#617269;font-size:18px;margin-top:3px}.appointment-facts>div>div{min-width:0}.appointment-facts strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere;margin:3px 0}.appointment-facts>div>div>span,.appointment-duration{font-size:12px;color:#667085}.appointment-state-summary{padding:12px 14px;border-radius:8px;background:#f5f7f6;margin-bottom:18px}.appointment-state-summary>div{display:flex;align-items:baseline;gap:12px;margin-bottom:5px;font-size:13px}.appointment-state-summary>div>span:first-child{width:55px;flex-shrink:0;color:#59665f}.appointment-state-summary strong{font-weight:500}.appointment-state-summary p{margin:8px 0 0;font-size:12px;color:#59665f;line-height:1.5}.appointment-note-emphasis{padding:12px 14px;background:#fff9e9;border:1px solid #eadbb5;border-radius:8px;color:#574720}.appointment-note-emphasis>strong{font-size:13px}.appointment-note-emphasis .ant-typography{color:#574720;line-height:1.6}.appointment-exceptions{display:flex;flex-wrap:wrap;gap:4px;padding:12px 0 0;margin-top:14px;border-top:1px solid #eaecf0}.appointment-exceptions .ant-btn{color:#667085;font-size:13px}.appointment-exceptions .ant-btn:disabled{color:#a0a6b0}@media(max-width:480px){.appointment-detail .appointment-client-link.ant-btn{font-size:20px}.appointment-facts{gap:14px;grid-template-columns:1.2fr 1fr}.appointment-facts strong{font-size:14px}.appointment-exceptions .ant-btn{min-height:40px}}.appointment-action-bar{display:flex;flex-direction:column;align-items:stretch;gap:12px}.appointment-action-bar .appointment-exceptions{border:0;border-top:1px solid #e2e6e3;padding:8px 0 0;margin:0;gap:0}.appointment-action-bar .appointment-actions{margin-left:0}.appointment-action-bar .appointment-exceptions .ant-btn{padding-inline:8px}@media(max-width:575px){.appointment-action-bar{flex-direction:column;align-items:stretch;gap:4px}.appointment-action-bar .appointment-exceptions{justify-content:space-between}.appointment-action-bar .appointment-actions{margin-left:0;display:flex}.appointment-action-bar .appointment-actions>.ant-space-item{flex:1}.appointment-action-bar .appointment-actions .ant-btn{width:100%}}.appointment-state-summary.needs-attention{background:#fff7e6}.appointment-state-summary.needs-attention strong,.appointment-state-summary.needs-attention p{color:#785016}.appointment-detail .booking-service-row>strong{flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}.appointment-detail .booking-service-row>div{overflow-wrap:anywhere}.appointment-detail .appointment-note-emphasis .ant-typography{overflow-wrap:anywhere}.appointment-detail .ant-drawer-footer{padding-bottom:max(8px,env(safe-area-inset-bottom))}.appointment-client-link:focus-visible{outline:2px solid #31594c;outline-offset:4px;border-radius:4px}@media(max-width:360px){.appointment-facts{grid-template-columns:1fr;gap:12px}.appointment-detail .booking-service-row{gap:8px}.appointment-detail .booking-service-row>strong{font-size:12px}}.appointment-notes{margin:16px 0;border:1px solid #eadbb5;border-radius:8px;background:#fffaf0;color:#574720}.appointment-notes-heading{display:flex;align-items:center;gap:8px;padding:12px 14px 0;font-size:14px}.appointment-notes-entry{padding:12px 14px}.appointment-notes-entry+.appointment-notes-entry{border-top:1px solid #eadfca}.appointment-notes-label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:5px;font-size:12px}.appointment-notes-label strong{font-weight:600}.appointment-notes-label>span:last-child:not(.anticon){color:#766442;margin-left:auto}.appointment-notes .ant-typography{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#574720;font-size:14px;line-height:1.6}.appointment-notes-offline{font-size:12px;margin:8px 0 0;color:#766442}.appointment-detail .appointment-client-heading{margin-bottom:10px}.appointment-header-details{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;margin-bottom:18px;align-items:center}.appointment-header-date,.appointment-header-staff{display:flex;align-items:baseline;gap:8px;font-size:13px;min-width:0}.appointment-header-date{grid-column:1 / -1;color:#667085}.appointment-header-date .anticon,.appointment-header-staff .anticon{color:#617269}.appointment-header-time{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.appointment-header-time strong{font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.4}.appointment-header-time>span{color:#667085;font-size:13px;white-space:nowrap}.appointment-header-staff{overflow-wrap:anywhere}.appointment-header-label{color:#667085;margin-right:4px}.appointment-header-hint{grid-column:1 / -1;color:#667085;font-size:12px}@media(max-width:575px){.appointment-header-details{grid-template-columns:minmax(0,1fr);gap:6px}.appointment-header-time strong{font-size:22px}.appointment-header-staff{margin-top:2px}}.appointment-status-badge{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;background:#f0f2f4;color:#59616c}.appointment-status-badge.status-confirmed{background:#edf3f9;color:#355f86}.appointment-status-badge.status-completed{background:#edf6ef;color:#326743}.appointment-status-badge.status-no_show{background:#fff4e8;color:#845421}.appointment-detail .appointment-client-heading{flex-wrap:wrap;gap:6px 12px}.appointment-detail .appointment-client-link{flex:1}.appointment-detail .appointment-header-details{margin-bottom:10px}.appointment-payment-line{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eaecf0;font-size:13px;color:#59665f}.appointment-payment-status{display:flex;align-items:center;gap:7px}.appointment-payment-status>span:not(.anticon){min-width:0}.appointment-payment-label{color:#667085;margin-right:5px}.appointment-payment-line.is-paid{color:#326743}.appointment-payment-line.needs-attention{background:#fff7e6;color:#785016;border:1px solid #f0dfb9;padding:10px 12px;border-radius:8px}.appointment-payment-line.needs-attention p{margin:5px 0 0;font-size:12px;line-height:1.5}.appointment-payment-help{display:block;max-width:min(280px,calc(100vw - 64px));font-size:13px}@media(max-width:360px){.appointment-client-heading .appointment-client-link{flex-basis:100%}}.appointment-detail .appointment-client-link.ant-btn{justify-content:flex-start}.checkout-dialog .checkout-test-note{margin:0 0 12px;font-size:11px}.checkout-dialog .checkout-stage-1>.checkout-review{order:0}.checkout-dialog .checkout-stage-1>.ant-collapse:not(.checkout-review){order:3}.checkout-dialog .checkout-stage-1 .payment-methods .ant-radio-wrapper{min-height:68px;padding-block:14px}.checkout-dialog .checkout-test-bar{margin:0 0 16px;padding:8px 12px;border:0;border-radius:6px;background:#fff8e9}.checkout-dialog .checkout-test-bar .ant-alert-message{font-size:12px;color:#765319}.checkout-dialog .checkout-test-bar .ant-alert-icon{font-size:14px;color:#946b25}.checkout-inline-bill .checkout-section-heading{margin-bottom:12px}.checkout-inline-bill>.checkout-section-heading .ant-typography-secondary{display:none}.checkout-inline-bill .checkout-line-compact{padding-block:8px;margin-bottom:0;border-bottom:1px solid #edf0ed}.checkout-inline-bill .ant-select:not(.ant-select-status-error) .ant-select-selector,.checkout-inline-bill .ant-input-number:not(.ant-input-number-status-error),.checkout-inline-bill .ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-status-error){background:#fafbf9;border-color:#e1e6e1;box-shadow:none}.checkout-inline-bill .ant-select:not(.ant-select-disabled):hover .ant-select-selector,.checkout-inline-bill .ant-input-number:not(.ant-input-number-disabled):hover,.checkout-inline-bill .ant-input-number-affix-wrapper:not(.ant-input-number-affix-wrapper-disabled):hover{background:#f6f8f6;border-color:#dce3dd}.checkout-inline-bill .ant-select-focused .ant-select-selector,.checkout-inline-bill .ant-input-number-focused,.checkout-inline-bill .ant-input-number-affix-wrapper-focused{background:#fff!important;border-color:#527760!important;outline:2px solid #d8e5dc;outline-offset:1px}.checkout-inline-bill .ant-input-number-affix-wrapper .ant-input-number{outline:none;border:0;background:transparent}.checkout-inline-bill .checkout-line .ant-input-number-input{text-align:right;font-variant-numeric:tabular-nums}.checkout-inline-bill .checkout-line>.ant-btn{color:#6c766e}.checkout-inline-bill .checkout-line>.ant-btn:hover{color:#b42318;background:#fff1f0}.checkout-inline-bill .checkout-add-service{width:min(100%,280px);margin-top:12px}.checkout-inline-bill .checkout-add-service .ant-select-selection-placeholder{color:#52695b}.checkout-inline-bill>.ant-alert{margin-top:16px}.checkout-inline-bill .checkout-line-compact{padding-bottom:12px}.checkout-inline-bill .checkout-column-labels{margin-bottom:0}.checkout-inline-bill .checkout-add-service{width:100%}.checkout-inline-bill .checkout-add-service .ant-select-selector{border-style:dashed;background:#fff}.checkout-receipt-discount{margin-top:0}.checkout-discount-row{display:grid;grid-template-columns:minmax(60px,1fr) 140px 110px 160px 40px;align-items:center;gap:10px}.checkout-discount-row .ant-form-item{margin:0;min-width:0}.checkout-discount-row .ant-input-number-affix-wrapper{width:100%}.checkout-discount-amount{text-align:right;font-variant-numeric:tabular-nums}.checkout-discount-row>.ant-btn{color:#6c766e}.checkout-discount-row>.ant-btn:hover{color:#b42318;background:#fff1f0}@media(max-width:599px){.checkout-discount-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}.checkout-discount-label{grid-column:1}.checkout-discount-amount{grid-column:2 / 4;grid-row:1}.checkout-discount-row .ant-form-item{grid-row:2}.checkout-discount-row>.ant-btn{grid-column:3;grid-row:2}}.checkout-dialog .ant-modal-header{padding-bottom:12px}.checkout-dialog .ant-steps.checkout-header-steps{margin:18px 0 0;padding:0;border:0;font-weight:400}.checkout-dialog .checkout-header-steps .ant-steps-item-icon{width:20px;height:20px;line-height:18px;margin-inline-end:6px;font-size:11px}.checkout-dialog .checkout-header-steps .ant-steps-item-title{font-size:11px;line-height:20px}.checkout-dialog .checkout-header-steps .ant-steps-item-title:after{top:10px}.checkout-dialog .checkout-header-steps .ant-steps-item-content{min-height:20px}.checkout-dialog .checkout-test-caption{color:#75664b;font-size:11px;line-height:16px;margin:-4px 0 12px}.checkout-dialog .checkout-body{margin-top:0}@media(max-width:575px){.checkout-dialog .checkout-header-steps .ant-steps-item-content{margin-top:4px}.checkout-dialog .checkout-header-steps .ant-steps-item-icon{margin-inline:0}}.checkout-dialog .ant-modal-header{background:transparent;isolation:isolate}.checkout-dialog .ant-steps.checkout-header-steps{position:relative}.checkout-dialog .checkout-header-steps:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-32px;right:-32px;bottom:calc(100% - 10px);height:1000px;background:#f6f8f6;border-bottom:1px solid #e1e7e3}@media(max-width:575px){.checkout-dialog .checkout-header-steps:before{left:-20px;right:-20px}}.checkout-dialog .checkout-header-steps .ant-steps-item-title:after,.checkout-dialog .checkout-header-steps .ant-steps-item-tail{display:none}.checkout-dialog .checkout-header-steps .ant-steps-item-wait .ant-steps-item-icon{background:#eceeec;border-color:#eceeec}.checkout-dialog .checkout-header-steps .ant-steps-item-finish .ant-steps-item-icon{background:#dbe5de;border-color:#dbe5de}.checkout-dialog .checkout-header-steps .ant-steps-item-process .ant-steps-item-icon{background:var(--brand-primary, #315c4c);border-color:var(--brand-primary, #315c4c)}.checkout-dialog .checkout-cash h4.ant-typography{margin:0 0 6px;font-size:18px}.checkout-dialog .checkout-cash-hint{margin:0 0 20px;color:#626c73;font-size:13px;max-width:55ch}.checkout-cash-calculator{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.checkout-dialog .checkout-cash-form{max-width:none;min-width:0}.checkout-dialog .checkout-cash-form .ant-input-number-affix-wrapper{width:100%}.checkout-dialog .checkout-cash-form .ant-form-item-extra{font-size:12px;color:#626c73;margin-top:5px}.checkout-cash-change{display:flex;flex-direction:column;gap:8px}.checkout-cash-change>span{font-size:14px;line-height:22px}.checkout-cash-change strong{display:flex;align-items:center;min-height:50px;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}@media(max-width:420px){.checkout-cash-calculator{grid-template-columns:minmax(0,1fr);gap:12px}.checkout-cash-change{flex-direction:row;justify-content:space-between;align-items:center}.checkout-cash-change strong{min-height:32px}}.schedule-reservation.reservation-completed .reservation-busy,.schedule-reservation.reservation-completed .reservation-processing{background:#f0f2f0;border-color:#cbd3cc;color:#526158}.checkout-fiscal-progress{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 12px;gap:12px}.checkout-fiscal-progress h4.ant-typography{margin:4px 0 0;font-size:18px}.checkout-fiscal-progress .ant-typography{margin:0}.checkout-fiscal-progress p.ant-typography{color:#626c73;font-size:13px}@media(prefers-reduced-motion:reduce){.ant-drawer-content-wrapper.ant-drawer-content-wrapper{transition:none!important;animation:none!important}}.checkout-dialog .ant-modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}.checkout-dialog .ant-modal-header{background:#f6f8f6;padding-bottom:20px}.checkout-dialog .checkout-header-steps:before{display:none}.checkout-dialog .ant-modal-body{min-height:0;max-height:none;flex:1}.checkout-dialog .ant-modal-footer{flex-shrink:0}.checkout-dialog .checkout-body{gap:24px}.checkout-dialog .checkout-outcome{padding:0 0 24px;border-bottom:1px solid #e1e7e3}.checkout-outcome-heading{display:flex;align-items:flex-start;gap:12px}.checkout-outcome-heading>.anticon{color:var(--brand-primary, #315c4c);font-size:24px;margin-top:2px}.checkout-dialog .checkout-outcome-heading h4{margin:0 0 4px;font-size:18px}.checkout-outcome-heading .ant-typography-secondary{font-size:13px;color:#626c73}.checkout-outcome-amount{display:block;margin:16px 0 0 36px;font-size:32px;line-height:1.2;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.checkout-dialog .checkout-paid-services .checkout-section-heading h4,.checkout-dialog .checkout-receipt-section .checkout-section-heading h4{font-size:15px}.checkout-paid-services .checkout-section-heading{margin-bottom:8px}.checkout-paid-line{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:8px 0}.checkout-paid-line>span{min-width:0;overflow-wrap:anywhere}.checkout-paid-line small{display:block;color:#626c73;margin-top:2px;font-size:12px}.checkout-paid-line strong{white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums}.checkout-receipt-section{border-top:1px solid #e1e7e3;padding-top:20px}.checkout-receipt-section .ant-tag{margin:0}.checkout-dialog .checkout-receipt-number{margin:8px 0 12px;color:#626c73;font-size:12px;overflow-wrap:anywhere}.checkout-print-state{display:flex;gap:8px;align-items:baseline;margin-bottom:16px}.checkout-receipt-actions{display:flex;flex-wrap:wrap;gap:8px}.checkout-dialog .checkout-document{margin-top:12px}.checkout-dialog .checkout-document>.ant-collapse-item>.ant-collapse-header{padding:8px 0;color:var(--brand-primary, #315c4c)}.checkout-dialog .checkout-document .ant-collapse-content-box{padding-inline:0}.checkout-result-dialog .checkout-footer-actions{margin-left:0}.checkout-result-dialog .ant-modal-footer{padding-block:16px}.checkout-dialog .checkout-test-caption{margin:0 0 16px}@media(max-width:575px){.checkout-dialog .ant-modal-content{max-height:calc(100dvh - 24px)}.checkout-outcome-amount{font-size:28px;margin-left:0}.checkout-result-dialog .checkout-footer-actions{width:100%}.checkout-receipt-actions>.ant-btn{flex:1 1 auto}}.checkout-dialog .checkout-outcome-refunded .checkout-outcome-amount{font-size:22px;color:#626c73}.checkout-dialog .checkout-refund-balance{margin:12px 0 0 36px;line-height:1.7}@media(max-width:575px){.checkout-dialog .checkout-refund-balance{margin-left:0}}.appointment-refund-notice{margin:16px 0}.appointment-refund-notice .ant-alert-message{font-size:16px}.appointment-refund-notice .ant-alert-description{overflow-wrap:anywhere}.account .account-trigger{display:flex;align-items:center;gap:10px;width:100%;height:auto;min-height:48px;padding:6px;font-size:14px;text-align:left}.account-name{flex:1;overflow:hidden;text-overflow:ellipsis}.account-menu-identity{display:flex;flex-direction:column;gap:4px;padding:8px 0;color:var(--app-text, #20262d)}.account-menu-identity span{color:#68717d}.settings-back{margin-bottom:20px}.settings-directory{max-width:1000px}.settings-group{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:32px;padding:24px 0;border-bottom:1px solid #e8eaed}.settings-group:first-child{padding-top:0}.settings-group h2{margin:0 0 8px}.settings-group p{margin:0}.settings-link.ant-btn{display:flex;justify-content:space-between;width:100%;height:auto;min-height:64px;padding:12px;text-align:left;white-space:normal}.settings-link>span:first-child{display:flex;flex-direction:column;gap:4px}.settings-link .secondary{font-size:13px}@media(max-width:575px){.settings-group{grid-template-columns:minmax(0,1fr);gap:12px}.settings-link.ant-btn{padding-inline:0}}.dialog-shortcut{font:inherit;font-size:11px;margin-inline-start:8px}@media(any-hover:none)and (any-pointer:coarse){html:not([data-keyboard-used=true]) .dialog-shortcut{display:none}}.drawer-footer{flex-wrap:wrap;align-items:center}.terminal-emulator-launcher{position:fixed;top:max(6px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));z-index:1100;display:grid;justify-items:end;gap:8px;max-width:280px}.terminal-emulator-launcher>.ant-btn{font-size:14px;color:#66736c;width:28px;height:28px;padding:0}.terminal-emulator{max-width:440px;margin:0 auto;padding:24px;display:grid;gap:20px}.terminal-emulator h1{font-size:24px;margin:8px 0}.terminal-emulator header p,.terminal-emulator-note{color:#59655f;font-size:13px;margin:0}.terminal-emulator-screen{display:grid;gap:12px;background:var(--brand-soft, #eaf2ee);border:1px solid #cbdcd2;border-radius:12px;padding:24px;text-align:center}.terminal-emulator-screen strong{font-size:28px;font-variant-numeric:tabular-nums}.terminal-emulator-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.terminal-emulator-actions>:nth-child(n+3){grid-column:1 / -1}.checkout-terminal-progress{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 24px 32px;text-align:center;background:#f5f8f6;border-radius:12px}.checkout-terminal-progress:focus{outline:none}.checkout-terminal-progress>div[role=status]{max-width:480px}.checkout-terminal-progress .ant-typography{margin-bottom:8px}.checkout-terminal-progress .checkout-terminal-check{color:#59655f;font-size:13px}.terminal-emulator-refund{background:#fff9ed;border-color:#e5d4ae}.terminal-emulator-refund>.ant-tag{justify-self:center;margin:0;font-weight:600}.terminal-emulator-actions>.ant-btn{height:auto;min-height:40px;white-space:normal}.schedule-scroll{overflow:auto;max-height:72vh;border-top:1px solid #e8eaed}.schedule-grid{display:grid;min-width:1036px}.schedule-grid-day{min-width:300px}.schedule-zone,.schedule-day-heading{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #dfe4e1;padding:8px 0;text-align:center}.schedule-zone{font-size:10px;color:#59665f;align-content:center}.schedule-day-heading{display:flex;flex-direction:column;border-left:1px solid #e8eaed}.schedule-day-heading .ant-btn{padding-inline:4px;white-space:normal;height:auto;min-height:40px}.schedule-day-heading.is-today{background:#edf5ef}.schedule-day-heading .secondary{font-size:12px}.schedule-hours{position:sticky;left:0;z-index:1;background:#fff}.schedule-hours>div{height:90px;padding:5px;font-size:12px;color:#59665f;font-variant-numeric:tabular-nums}.schedule-day{position:relative;border-left:1px solid #e8eaed}.schedule-hour{height:90px;border-bottom:1px solid #e8eaed}.schedule-event{position:absolute;display:flex;flex-direction:column;padding:4px 6px;overflow:hidden;text-align:left;border:1px solid #a8c4b3;border-radius:5px;background:#edf5ef;color:#234d3b;cursor:pointer;font:inherit;font-size:12px;line-height:17px}.schedule-event>*{flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.schedule-event-time{font-variant-numeric:tabular-nums}.schedule-event:focus-visible{outline:2px solid var(--brand-primary, #315c4c);outline-offset:1px;z-index:2}.schedule-event-cancelled,.schedule-event-no_show{color:#60666c;background:#f3f4f5;border-color:#cbd0d5}.schedule-event-cancelled strong{text-decoration:line-through}.schedule-event-completed{background:#eaf1fa;border-color:#b1c4df;color:#284d77}.schedule-event-lunch{background:#fff5df;border-color:#d8bc7d;color:#705015}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;flex-wrap:wrap}.schedule-navigation,.schedule-view-controls{display:flex;align-items:center;gap:8px}.schedule-navigation{flex-wrap:wrap}.schedule-date{width:150px}.schedule-view-controls>.ant-select{min-width:105px}.schedule-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-top:1px solid #e8eaed;background:#fafbfa}.schedule-staff-filter{display:flex;align-items:center;gap:4px;min-width:0;flex:1}.schedule-staff-filter>.ant-select{width:280px;min-width:160px;max-width:100%}.schedule-filters>.ant-input-search{max-width:300px;flex:1}.schedule-caption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:12px 20px;font-size:13px}.schedule-caption>span{color:#59665f}.schedule-lunch-settings{margin-top:8px}.schedule-empty{padding:8px 20px;color:#59665f}.schedule-slot{position:absolute;left:0;width:100%;border:0;padding:4px 8px;text-align:left;background:transparent;color:var(--brand-primary, #315c4c);cursor:pointer;font:inherit;font-size:12px}.schedule-slot>span{opacity:0}.schedule-slot:focus-visible{background:var(--brand-soft, #eaf2ee)}.schedule-slot:focus-visible>span{opacity:1}.schedule-slot:focus-visible{outline:2px solid var(--brand-primary, #315c4c);outline-offset:-2px}.schedule-event{z-index:1}@media(max-width:700px){.schedule-toolbar{padding:12px;gap:12px}.schedule-navigation,.schedule-view-controls{width:100%}.schedule-navigation{flex-wrap:nowrap}.schedule-date{flex:1;min-width:120px}.schedule-view-controls{justify-content:space-between}.schedule-filters{padding:12px;flex-wrap:wrap;gap:10px}.schedule-staff-filter{flex-basis:100%}.schedule-staff-filter>.ant-select{flex:1;width:auto}.schedule-filters>.ant-input-search{flex-basis:100%;max-width:none}.schedule-caption{padding:10px 12px}}.schedule-page-heading{gap:12px}.schedule-page-actions{display:flex;gap:8px;flex-wrap:wrap}.schedule-scroll{scrollbar-gutter:stable;scrollbar-color:#b7c2bc #f8faf9}.schedule-grid{isolation:isolate}.schedule-day-heading{z-index:4;padding:10px 0 8px;border-left-color:#edf0ee;gap:4px}.schedule-day-heading .ant-btn{display:flex;flex-direction:column;gap:3px;align-self:center;width:calc(100% - 12px);padding:0 4px;border-radius:6px}.schedule-weekday{color:#59665f;font-size:12px;line-height:18px}.schedule-date-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.schedule-day-heading.is-today{background:#fff}.schedule-day-heading.is-today .schedule-date-number{background:var(--brand-primary, #315c4c);color:#fff}.schedule-day-heading.is-today .schedule-weekday{color:var(--brand-primary, #315c4c);font-weight:600}.schedule-day-heading .secondary{font-size:11px;color:#68736d;line-height:16px}.schedule-zone{left:0;z-index:5;border-right:1px solid #edf0ee}.schedule-hours{z-index:3;border-right:1px solid #edf0ee}.schedule-day{border-left-color:#edf0ee}.schedule-hour{border-bottom-color:#e8ede9}.schedule-event{border-radius:6px;padding:5px 7px;border-color:#c2d5c9}.schedule-event>strong{font-weight:650}.schedule-event-time{font-size:11px;line-height:16px}.schedule-event-staff,.schedule-event-services{font-size:11px}.schedule-event-status{margin-top:auto;font-size:10px;font-weight:600;padding-top:2px}.schedule-event-completed{border-color:#c3d2e5}.schedule-event-lunch{border-color:#e3d3ad}.schedule-event-cancelled,.schedule-event-no_show{border-color:#d5dadd}.schedule-caption>strong{font-weight:600;font-variant-numeric:tabular-nums}.schedule-staff-filter .ant-select-selection-placeholder,.schedule-filters input::placeholder{color:#68736d}.schedule-surface .ant-segmented-thumb{transition:none}@media(hover:hover)and (pointer:fine){.schedule-event:hover{border-color:currentColor}.schedule-slot:hover{background:#f0f5f2}.schedule-slot:hover>span{opacity:1}.schedule-page-actions .ant-btn,.schedule-event{transition:transform .12s cubic-bezier(.23,1,.32,1)}.schedule-page-actions .ant-btn:active:not(:focus-visible),.schedule-event:active:not(:focus-visible){transform:scale(.98)}.schedule-page-actions .ant-btn:focus-visible,.schedule-event:focus-visible{transition:none}}@media(prefers-reduced-motion:reduce){.schedule-page-actions .ant-btn,.schedule-event{transition:none}.schedule-page-actions .ant-btn:active:not(:focus-visible),.schedule-event:active:not(:focus-visible){transform:none}}@media(max-width:700px){.schedule-page-heading{align-items:center;flex-wrap:wrap}.schedule-page-actions{margin-left:auto}.schedule-caption{align-items:flex-start;flex-direction:column;gap:3px}.schedule-caption>span{font-size:12px}}.schedule-filters[hidden]{display:none}.schedule-grid-three-days{min-width:0}@media(max-width:767px){.schedule-page-heading{flex-wrap:nowrap;margin-bottom:14px}.schedule-page-heading h1{font-size:23px}.schedule-page-actions{flex-wrap:nowrap;gap:6px}.schedule-page-actions .ant-btn{min-height:44px}.schedule-page-actions .ant-btn-primary{padding-inline:12px}.schedule-toolbar{padding:10px;gap:8px}.schedule-navigation,.schedule-view-controls{width:100%}.schedule-navigation{flex-wrap:nowrap;gap:6px}.schedule-navigation>.ant-btn{padding-inline:10px}.schedule-navigation .ant-btn,.schedule-view-controls .ant-btn{min-height:44px}.schedule-date{flex:1;width:auto;min-width:112px;height:44px;padding-inline:8px}.schedule-view-controls{justify-content:space-between}.schedule-mobile-view{min-width:125px;height:44px}.schedule-caption{padding:8px 12px 10px}.schedule-caption>span{font-size:12px}.schedule-grid{--schedule-time-width: 44px}.schedule-grid-day{min-width:0}.schedule-zone{font-size:9px}.schedule-hours>div{padding:5px 3px;font-size:11px}.schedule-day-heading{padding-top:6px}.schedule-grid-day .schedule-day-heading .ant-btn{flex-direction:row;justify-content:center;gap:8px;min-height:40px}.schedule-day-heading .secondary{display:none}.schedule-grid-three-days .schedule-event{padding-inline:4px}.schedule-grid-three-days .schedule-event-time{font-size:10px}.schedule-grid-three-days .schedule-weekday{font-size:11px}.schedule-scroll{max-height:72dvh}.schedule-date input,.schedule-filters input{font-size:16px}}.schedule-event{border-color:#8fa99a}.schedule-event:focus-visible{z-index:2}.schedule-day{isolation:isolate;z-index:0}.schedule-event:focus-visible{z-index:20!important}.schedule-staff-label{display:inline-flex;align-items:center;gap:7px;min-width:0}.schedule-staff-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.schedule-event-lunch,.schedule-event-no_show{border-style:dashed}.schedule-events{position:absolute;top:0;right:24px;bottom:0;left:0;pointer-events:none}.schedule-events .schedule-event{pointer-events:auto}.schedule-grid-day .schedule-events{right:32px}.schedule-staff-heading{display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 8px;min-width:0;font-size:12px}.schedule-staff-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-staff-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%}.schedule-staff-subcolumns{display:grid;margin-top:6px;border-top:1px solid #e8eaed}.schedule-staff-subheading{min-width:0;padding:6px 0 2px}.schedule-staff-subheading+.schedule-staff-subheading{border-left:1px solid #edf0ee}.schedule-staff-subcolumn{border-left-color:#f0f2f1}.schedule-date-start{border-left-color:#dfe4e1}.schedule-event-cancelled{background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgb(45 60 52 / 8%) 6px 8px)}.app-layout{height:100dvh;min-height:0;overflow:hidden}.app-layout>.ant-layout{min-height:0;min-width:0;overflow:hidden}.mobile-header{flex-shrink:0}.main-content{min-height:0;min-width:0;margin:0 auto;overflow:auto;overscroll-behavior:contain}.main-content:has(.schedule-page){display:flex;flex-direction:column;overflow:hidden}.main-content:has(.schedule-page)>.ant-alert{flex-shrink:0}.schedule-page{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.schedule-page-heading{flex-shrink:0}.schedule-surface{display:flex;flex-direction:column;flex:1;min-height:0}.schedule-toolbar,.schedule-filters,.schedule-caption,.schedule-empty{flex-shrink:0}.schedule-surface>.schedule-scroll{flex:1;min-height:0;max-height:none}.schedule-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}@media(max-height:600px){.main-content:has(.schedule-page){display:block;overflow:auto}.schedule-page,.schedule-surface{display:block}.schedule-surface>.schedule-scroll{overflow:visible;max-height:none}.schedule-surface,.schedule-list{overflow:visible}}.schedule-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.main-content:has(.schedule-page){padding:12px;max-width:none}.schedule-toolbar{padding:10px 12px;gap:12px}.schedule-toolbar .schedule-view-controls{margin-left:auto}.schedule-toolbar .schedule-page-actions{margin-left:0;flex-wrap:nowrap}.schedule-mobile-view{min-width:110px}.schedule-day-heading{padding-block:6px;gap:2px}.schedule-day-heading>.secondary{display:none}.schedule-staff-subcolumns{margin-top:4px}@media(max-width:767px){.main-content:has(.schedule-page){padding:6px}.app-layout:has(.schedule-page) .mobile-header{padding:6px 12px}.schedule-toolbar{display:grid;grid-template-columns:auto 1fr;gap:6px;padding:8px}.schedule-navigation{grid-column:1 / -1}.schedule-toolbar .schedule-view-controls{width:auto;margin-left:0;gap:6px;justify-content:flex-start}.schedule-toolbar .schedule-page-actions{justify-self:end;gap:6px}.schedule-mobile-view{min-width:82px;width:82px}.schedule-page-actions .ant-btn-primary{padding-inline:10px}}@media(max-width:767px){.schedule-toolbar .schedule-view-controls>.ant-select{min-width:82px}.schedule-toolbar>*{min-width:0}.schedule-navigation .schedule-date{min-width:0}}@media(max-width:380px){.schedule-page-actions .schedule-new-label{display:none}.schedule-page-actions .ant-btn-primary{width:36px;padding-inline:0;gap:0}}.schedule-grid-day .schedule-day-heading{padding:2px 0 0;gap:0}.schedule-grid-day .schedule-day-heading .ant-btn{flex-direction:row;justify-content:center;gap:7px;width:auto;min-height:32px;padding:0 10px}.schedule-grid-day .schedule-date-number{width:26px;height:26px;font-size:16px}.schedule-grid-day .schedule-staff-subcolumns{margin-top:2px}.schedule-grid-day .schedule-staff-subheading{padding:0}.schedule-grid-day .schedule-staff-heading{min-height:30px;padding:4px 8px}.schedule-grid-day .schedule-staff-subheading>.secondary{display:none}@media(pointer:coarse){.schedule-grid-day .schedule-day-heading .ant-btn{min-height:44px}}.schedule-toolbar .schedule-page-actions{padding-left:12px;border-left:1px solid #e5e9e6}.schedule-mobile-actions{flex-shrink:0;padding:8px 0 max(0px,env(safe-area-inset-bottom))}.schedule-mobile-actions .schedule-page-actions{display:flex;gap:8px;margin:0}.schedule-mobile-actions .ant-btn{flex:1;min-height:44px;padding-inline:8px;font-size:13px}.schedule-mobile-actions .ant-btn-primary{flex:1.2;width:auto;gap:6px}@media(max-width:767px){.schedule-toolbar{grid-template-columns:minmax(0,1fr)}.schedule-toolbar .schedule-view-controls{width:100%;justify-content:flex-start}.schedule-view-controls>.ant-btn:last-child{margin-left:auto}}.schedule-page{container-name:schedule;container-type:inline-size}@container schedule (max-width: 800px){.schedule-toolbar:has(>.schedule-page-actions){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}.schedule-toolbar:has(>.schedule-page-actions) .schedule-navigation{grid-column:1 / -1}.schedule-toolbar:has(>.schedule-page-actions) .schedule-view-controls{margin-left:0;justify-content:flex-start}.schedule-toolbar>.schedule-page-actions{justify-self:end;padding-left:0;border-left:0}}@container schedule (max-width: 640px){.schedule-toolbar:has(>.schedule-page-actions){grid-template-columns:minmax(0,1fr)}.schedule-toolbar>.schedule-page-actions{width:100%}.schedule-toolbar>.schedule-page-actions>.ant-btn{flex:1}}.schedule-navigation .schedule-date{flex:0 0 136px;width:136px;min-width:0}.schedule-display-settings{width:268px;max-width:calc(100vw - 48px);display:grid;gap:16px;padding:4px}.schedule-display-field{display:grid;gap:6px}.schedule-display-field>span{font-size:12px;font-weight:600;color:#68736d}.schedule-display-note{color:#68736d;font-size:13px}.schedule-display-note .ant-btn{padding-inline:0}.schedule-filters{flex-wrap:wrap}.occasion-tags{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.occasion-tags .ant-tag{margin:0}.occasion-compact{margin:0;gap:2px}.occasion-compact .ant-tag{font-size:10px;line-height:16px;padding-inline:3px}.birthday-celebration{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:20px;margin-block:16px;color:#684716;background:linear-gradient(115deg,#fff7df,#f4d88b);border-radius:12px}.birthday-celebration>.anticon{font-size:28px}.birthday-burst{position:absolute;right:42px;top:50%;pointer-events:none}.birthday-burst i{position:absolute;width:4px;height:9px;border-radius:2px;background:#a67922;transform:rotate(var(--ray)) translateY(-30px);animation:birthday-spark 1.5s cubic-bezier(.16,1,.3,1) both}@keyframes birthday-spark{0%{opacity:0;transform:rotate(var(--ray)) translateY(-6px) scale(.4)}25%{opacity:1}to{opacity:0;transform:rotate(var(--ray)) translateY(-55px) scale(.7)}}@media(prefers-reduced-motion:reduce){.birthday-burst{display:none}}@media(max-width:1100px){.home-layout{grid-template-columns:minmax(0,1fr)}}.occasion-inline{display:inline-flex;align-items:center;gap:4px;margin-right:5px}.home-dashboard{max-width:1440px;margin-inline:auto}.home-heading{margin-bottom:18px}.home-heading h1{margin-bottom:4px}.home-date{color:#65716b;font-size:14px;font-variant-numeric:tabular-nums}.home-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.home-widget{display:flex;flex-direction:column;background:#fff;border:1px solid #e1e6e2;border-radius:16px;overflow:hidden;min-width:0}.home-widget>header{display:flex;align-items:center;gap:12px;padding:16px 20px 12px}.home-widget h2{margin:0;font-size:18px;line-height:1.4;letter-spacing:-.025em}.home-widget header p{margin:3px 0 0;font-size:12px;color:#68746e}.home-widget-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:#edf3ef;color:var(--brand-primary, #315c4c);font-size:20px}.home-widget-count{margin-left:auto;align-self:start;color:var(--brand-primary, #315c4c);font-size:27px;font-weight:650;line-height:40px;font-variant-numeric:tabular-nums}.home-widget-attention .home-widget-icon{background:#fcf0e7;color:#9b5327}.home-widget-attention .home-widget-count{color:#9b5327}.home-widget-celebrations>header{background:#fff}.home-widget-celebrations .home-widget-icon{background:#f5f3ed;color:#806b43}.home-widget-celebrations .home-widget-count{color:#536158}.home-widget-list .ant-list-item{padding:0;border-color:#edf0ed}.home-booking.ant-btn{width:100%;height:auto;min-height:68px;display:grid;grid-template-columns:60px minmax(0,1fr) 16px;gap:16px;padding:9px 20px;border:0;border-radius:0;text-align:left;white-space:normal;color:#283d32}.home-booking-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.home-booking-copy>strong{font-size:14px;font-weight:650;overflow-wrap:anywhere}.home-booking-copy>span:not(.occasion-tags){color:#5c6a62;font-size:12px}.home-booking-copy>small{color:#68746e;font-size:11px}.home-booking-time{display:flex;flex-direction:column;align-self:start;gap:4px;padding-top:1px;font-variant-numeric:tabular-nums}.home-booking-time strong{font-size:18px;letter-spacing:-.03em}.home-booking-time small{font-size:11px;color:#68746e}.home-row-arrow{color:#7c8981;font-size:11px}.home-widget-list .ant-list-pagination{margin:0;border-top:1px solid #edf0ed;padding:8px 20px}.home-widget-list .ant-list-empty-text{padding:16px 24px 28px}.home-widget-list .ant-empty-description{color:#69756e;font-size:13px}.home-widget-tabs{padding:0 24px 16px;background:#fff}.home-widget-tabs .ant-segmented{font-size:12px}.home-birthday-medallion{display:grid;place-items:center;width:44px;height:44px;border:0;background:#f5f3ed;border-radius:12px;color:#806b43;font-size:21px}.occasion-gold{background:linear-gradient(110deg,#fff8e4,#f6df9f);color:#684716}.ant-table-tbody>tr.occasion-gold>td{background:#f9e8b9;border-bottom-color:#ddbd73;color:#684716}.ant-table-tbody>tr.occasion-gold:hover>td,.ant-table-tbody>tr.occasion-gold>td.ant-table-cell-row-hover{background:#f1d68f!important}.occasion-gold .secondary,.occasion-gold .home-booking-copy>span:not(.occasion-tags),.occasion-gold .home-booking-copy>small,.occasion-gold .home-booking-time small{color:#785b2e}.occasion-gold .home-booking.ant-btn{color:#684716}.occasion-gold .occasion-tags .ant-tag{background:#fff6d8;border-color:#d0aa52;color:#765016}.schedule-event.occasion-gold{background-image:linear-gradient(120deg,#fff4ce,#edca72);box-shadow:inset 0 1px #fff9e8}.schedule-event.occasion-gold .occasion-inline{color:#79521a}@media(hover:hover)and (pointer:fine){.home-booking.ant-btn:hover{background:#f3f6f4;color:#253e31}.occasion-gold .home-booking.ant-btn:hover{background:#f0d58f;color:#654313}.home-booking.ant-btn:active{transform:scale(.99)}}.home-booking.ant-btn:focus-visible{outline:none}.home-booking.ant-btn:focus-visible:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:2px solid var(--brand-primary, #315c4c);border-radius:8px;pointer-events:none}@media(max-width:850px){.home-widget-grid{grid-template-columns:minmax(0,1fr);gap:16px}}@media(max-width:480px){.home-widget>header{padding:18px 16px 14px;gap:10px}.home-widget h2{font-size:16px}.home-booking.ant-btn{padding:14px 16px;grid-template-columns:50px minmax(0,1fr) 12px;gap:12px}.home-widget-tabs{padding:0 16px 14px}.home-date{font-size:12px}}.activity-event.occasion-gold{border-color:#ddbd73}.activity-event.occasion-gold>summary,.activity-event.occasion-gold .activity-detail{background:transparent}.home-widget-celebrations .occasion-tags .ant-tag{background:#f6f5f1;color:#716247;border-color:transparent}.occasion-banner{display:flex;flex-wrap:wrap;gap:8px 20px;margin:4px 0 18px;padding:10px 0;border-bottom:1px solid #e9e7e0;color:#78633f;font-size:13px}.occasion-banner>span{display:inline-flex;align-items:center;gap:7px}.home-heading-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.home-widget>.home-widget-list{flex:1;display:flex;flex-direction:column}.home-widget-list>.ant-spin-nested-loading{flex:1}.home-widget-list>.ant-list-pagination{margin-top:auto}.home-widget .occasion-tags{margin:2px 0 0}.home-booking-staff{color:#68746e}@media(max-width:480px){.home-heading{align-items:flex-start;gap:12px}.home-heading-controls{gap:8px}.home-booking.ant-btn{padding-block:9px}.home-heading-controls .ant-segmented{font-size:12px}}.home-widget-list .ant-empty{margin-block:12px}.home-widget-list .ant-empty-image{height:32px}@media(max-width:480px){.home-heading{flex-direction:column}.home-heading-controls{width:100%;justify-content:space-between}}.schedule-list .ant-table-thead>tr>th{padding:12px 18px;font-size:12px;font-weight:500;color:#68746e;background:#f7f9f7}.schedule-list .ant-table-thead>tr>th:before{display:none}.schedule-list .ant-table-tbody>tr>td{padding:14px 18px;border-bottom-color:#edf0ed;vertical-align:middle}.schedule-appointment-row{cursor:pointer}.schedule-row-time{display:flex;flex-direction:column;gap:3px;font-variant-numeric:tabular-nums}.schedule-row-date{color:#67736b;font-size:11px}.schedule-row-time>strong{font-size:16px;font-weight:650;letter-spacing:-.025em;white-space:nowrap}.schedule-row-time>strong>span{font-size:13px;color:#67736b;font-weight:400;margin-left:3px}.schedule-row-time>small{font-size:11px;color:#67736b}.schedule-row-client{display:flex;flex-direction:column;gap:4px}.schedule-row-client>strong{font-size:14px;font-weight:600;color:#293e33}.schedule-row-client>.secondary{font-size:12px;line-height:1.5}.schedule-row-client .occasion-tags{margin:2px 0 0}.schedule-row-client .occasion-tags .ant-tag{font-size:11px;line-height:19px}.schedule-list .schedule-staff-label{font-size:12px;color:#53635a}.schedule-row-amount{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-row-status{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 8px;border-radius:6px;font-size:11px;line-height:18px;background:#f1f4f2;color:#4e6557;white-space:nowrap}.schedule-row-status>span{width:5px;height:5px;border-radius:50%;background:currentColor}.schedule-row-status.status-completed{color:#306941;background:#edf6ef}.schedule-row-status.status-cancelled{color:#747975;background:#f0f1f0}.schedule-row-status.status-no_show{color:#8b602e;background:#fbf2e7}.schedule-row-open.ant-btn{color:#69796f;width:40px;min-width:40px;padding:0}.schedule-list .occasion-gold .schedule-row-client>strong{color:#684716}.schedule-list .occasion-gold .schedule-row-time>small,.schedule-list .occasion-gold .schedule-row-date,.schedule-list .occasion-gold .schedule-row-time>strong>span{color:#785b2e}.schedule-row-mobile-meta{display:none}@media(hover:hover)and (pointer:fine){.schedule-list .ant-table-tbody>tr:not(.occasion-gold):hover>td{background:#f5f8f6}}@media(max-width:767px){.schedule-list .ant-table-tbody>tr>td,.schedule-list .ant-table-thead>tr>th{padding:12px 10px}.schedule-list .ant-table-cell:first-child{width:110px}.schedule-row-time>strong{font-size:14px}.schedule-row-time>strong>span{display:block;margin-left:0;font-size:12px}.schedule-row-mobile-meta{display:flex;flex-direction:column;gap:2px;color:#67736b;font-size:11px}.schedule-row-client>strong{overflow-wrap:anywhere}}.schedule-date-column,.schedule-duration-column{font-size:12px;color:#617066;font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-services-column{font-size:12px;color:#53635a;line-height:1.5}@media(min-width:992px){.schedule-list .schedule-inline-detail{display:none}.schedule-list .ant-table-tbody>tr>td,.schedule-list .ant-table-thead>tr>th{padding-inline:12px}}.home-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 24px;margin-bottom:22px}.home-heading h1{margin:0 0 6px;font-size:28px;line-height:1.2;letter-spacing:-.7px}.home-heading-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px}.home-heading-meta .home-date{font-size:13px;padding-left:12px;border-left:1px solid #d9dfdb}.home-heading-controls{grid-column:1 / -1}.home-quick-actions{display:flex;align-items:center;gap:8px}.home-quick-actions .ant-btn{height:40px;padding-inline:16px;border-radius:10px;font-weight:500;box-shadow:none}.home-quick-actions .ant-btn:active{transform:scale(.98)}@media(max-width:767px){.home-heading{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:18px}.home-heading h1{font-size:26px}.home-quick-actions{width:100%}.home-quick-actions .ant-btn{flex:1;height:44px;padding-inline:10px}.home-heading-controls{grid-row:2}}.client-payment-stats{padding:16px;border-top:1px solid #e3e9e4}.client-payment-stats .ant-statistic-content{font-size:22px;overflow-wrap:anywhere}.client-overview{margin-bottom:20px}.client-overview-stats{display:grid;grid-template-columns:150px minmax(0,1fr);background:#f6f8f6;border:1px solid #e6ebe7;border-radius:14px;padding:18px;gap:20px}.client-visit-count,.client-next-visit{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.client-visit-count{border-right:1px solid #dfe5e0}.client-visit-count>span,.client-next-visit>span{color:#69776e;font-size:12px}.client-visit-count>strong{color:#315d4e;font-size:34px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-1px}.client-next-visit>strong{font-size:14px;color:#2b3d33}.client-next-visit>small{color:#69776e;overflow-wrap:anywhere}.client-next-visit .ant-btn{padding-inline:0;color:#315d4e}.client-next-visit>.client-no-visit{font-weight:500;color:#69776e}.client-milestone{display:flex;gap:14px;align-items:center;padding:16px 18px;margin-top:10px;border:1px solid #e9d6a7;border-radius:14px;background:#fcf7e9;color:#795820}.client-milestone-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f4e7c4;font-size:22px;flex-shrink:0}.client-milestone small{display:block;font-size:10px;letter-spacing:1px;font-weight:600;margin-bottom:4px}.client-milestone strong{display:block;font-size:16px}.client-milestone p{margin:4px 0 0;font-size:12px;color:#8a734c}.client-profile-form{padding-top:4px}.client-drawer .client-profile-form .ant-form-item-label>label{font-size:12px;color:#65716b}@media(max-width:480px){.client-overview-stats{grid-template-columns:110px minmax(0,1fr);padding:14px;gap:14px}.client-milestone{padding:14px}.client-milestone strong{font-size:14px}}.client-drawer .client-heading{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center}.client-heading .client-heading-avatar{grid-row:1 / 3;display:grid;place-items:center;width:38px;height:38px;background:#edf3ef;color:#315d4e;border-radius:12px;font-size:14px;font-weight:600}.client-heading>span:not(.client-heading-avatar){font-size:15px;line-height:1.3;overflow-wrap:anywhere}.client-heading>small{grid-column:2}.client-overview{border:1px solid #e3e9e4;border-radius:12px;overflow:hidden;margin-bottom:18px}.client-overview-stats{border:0;border-radius:0;padding:14px 16px;gap:16px;grid-template-columns:125px minmax(0,1fr);background:#f8faf8}.client-visit-count{justify-content:center;gap:4px}.client-visit-count>strong{font-size:30px}.client-next-visit{position:relative;padding-right:28px;gap:4px}.client-next-visit .ant-btn{position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:30px;height:30px}.client-next-visit .ant-btn>span:not(.anticon){display:none}.client-next-visit>strong{font-size:13px}.client-next-visit>small{font-size:11px}.client-milestone{margin:0;padding:10px 16px;border:0;border-top:1px solid #eddfbb;border-radius:0;gap:10px;background:#fcf7e9}.client-milestone-icon{width:30px;height:30px;font-size:16px;border-radius:9px}.client-milestone small{font-size:9px;letter-spacing:.7px;margin-bottom:2px}.client-milestone strong{font-size:13px}.client-profile-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;row-gap:10px;padding:0}.client-profile-form>.form-grid{display:contents}.client-drawer .client-profile-form .ant-form-item{margin:0;min-width:0}.client-profile-form .client-notes-input{grid-column:1 / -1}.client-profile-form .client-notes-input .notes-icon{top:36px}.client-profile-form .ant-input,.client-profile-form .ant-input-affix-wrapper{border-radius:8px}.client-profile-form .ant-input-affix-wrapper .ant-input{border-radius:0}.client-drawer .client-inline-history{margin-top:18px;padding-top:12px}.client-drawer .activity-day h3{margin-top:14px}@media(max-width:380px){.client-profile-form{grid-template-columns:minmax(0,1fr)}.client-overview-stats{grid-template-columns:100px minmax(0,1fr);padding:12px;gap:12px}}.appointment-detail .ant-drawer-header{padding:14px 20px}.appointment-detail .ant-drawer-body{padding:16px 20px}.appointment-client-card{border:1px solid #e3e9e4;border-radius:12px;background:#f8faf8;overflow:hidden;margin-bottom:16px}.appointment-detail .appointment-client-heading{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px;margin:0}.appointment-client-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e9f0eb;color:#315d4e;font-weight:600;font-size:14px}.appointment-client-identity{min-width:0}.appointment-client-caption{display:block;font-size:11px;color:#708077;margin-bottom:2px}.appointment-detail .appointment-client-link.ant-btn{width:100%;font-size:16px;padding:0;gap:8px;line-height:1.4;min-height:24px}.appointment-client-link .anticon-right{margin-left:auto;flex-shrink:0}.appointment-client-phone{display:flex;align-items:center;gap:8px;margin-top:5px}.appointment-client-phone a{display:inline-flex;align-items:center;gap:7px;color:#315d4e;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-height:28px}.appointment-client-phone .ant-typography-copy{color:#708077;padding:4px}.appointment-client-no-phone{display:block;margin-top:5px;color:#7b857f;font-size:12px}.appointment-client-card .occasion-banner{margin:0;padding:9px 14px;border:0;border-top:1px solid #eadfbe;background:#fcf7e9;font-size:12px;gap:6px 16px}.appointment-client-heading>.ant-tag{grid-column:2 / -1;justify-self:start}.appointment-detail .appointment-header-details{padding:0 2px 14px;margin-bottom:14px;border-bottom:1px solid #e7ece8;gap:4px 16px}.appointment-header-time strong{font-size:22px;letter-spacing:-.5px}.appointment-detail .booking-service-order{border:1px solid #e7ece8;border-radius:10px;overflow:hidden}.appointment-detail .booking-service-row{padding:10px 12px}.appointment-detail .booking-service-row:last-child{border-bottom:0}.appointment-detail .appointment-total{margin-top:10px;border-top:0;padding:10px 12px;border-radius:10px;background:#f5f8f5}.appointment-detail .appointment-notes{background:#fafaf8;border-color:#e7e7df;padding:12px;margin-bottom:14px}.appointment-detail .appointment-notes .ant-typography{color:#526057;font-size:13px;line-height:1.5}.appointment-detail .appointment-notes-heading,.appointment-detail .appointment-notes-label{color:#67736b}@media(max-width:480px){.appointment-detail .ant-drawer-body{padding:14px}.appointment-detail .appointment-client-heading{grid-template-columns:32px minmax(0,1fr);padding:12px}.appointment-client-avatar{width:32px;height:32px;border-radius:10px;font-size:12px}.appointment-client-heading>.appointment-status-badge{grid-column:2;justify-self:start}.appointment-detail .appointment-client-link.ant-btn{font-size:15px}}.appointment-detail .appointment-ticket,.appointment-detail .appointment-ticket.has-milestone,.appointment-detail .appointment-ticket.has-birthday{background:none;border:0;border-radius:0;padding:0;margin:0 0 22px;overflow:visible}.appointment-detail .appointment-ticket .appointment-client-heading{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 16px;padding:0;margin:0}.appointment-ticket .appointment-client-identity{flex:1 1 240px}.appointment-ticket .appointment-client-caption{font-size:11px;color:#7b857f;margin:0 0 5px}.appointment-detail .appointment-ticket .appointment-client-link.ant-btn{width:auto;max-width:100%;padding:0;font-size:25px;font-weight:600;line-height:1.25;letter-spacing:-.7px;gap:8px}.appointment-ticket .appointment-client-link .anticon-right{margin-left:2px;font-size:12px}.appointment-ticket .appointment-status-badge{margin-top:2px;font-size:11px}.appointment-ticket .appointment-client-phone{margin-top:6px}.appointment-ticket .appointment-client-no-phone{font-size:12px;margin-top:6px;color:#7b857f}.appointment-occasion-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:12px;color:#876b38;font-size:12px}.appointment-milestone-mark{display:inline-flex;align-items:center;gap:6px;font-weight:600;padding:4px 9px;border-radius:5px;background:#f7efd9}.appointment-milestone-mark>span{font-size:16px}.appointment-detail .appointment-ticket .appointment-header-details{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;border:0;border-left:2px solid #dce5df;padding:0 0 0 12px;margin:18px 0 0}.appointment-ticket .appointment-header-date{font-size:12px;color:#68776d}.appointment-ticket .appointment-header-time strong{font-size:20px;font-weight:500;letter-spacing:-.4px}.appointment-ticket .appointment-header-time>span{font-size:12px}.appointment-ticket .appointment-header-staff{font-size:12px;color:#68776d;margin:0}.appointment-detail .booking-service-order{border:0;border-radius:0}.appointment-detail .booking-service-row{padding:10px 0}.appointment-detail .booking-service-number{display:none}.appointment-detail .booking-service-row{grid-template-columns:minmax(0,1fr) auto}.appointment-detail .slot-heading{padding-bottom:6px;border-bottom:1px solid #e8ece9;color:#69766d;font-size:12px}.appointment-detail .slot-heading strong{font-weight:500}.appointment-detail .appointment-total{border-radius:0;background:none;border-top:1px solid #e8ece9;padding:12px 0 0;margin:0 0 20px}.appointment-total>div:last-child>strong:last-child{font-size:20px;letter-spacing:-.4px}.appointment-detail .appointment-notes{border:0;border-radius:0;background:none;padding:0;margin:0 0 16px}.appointment-detail .appointment-notes-heading{font-size:12px;margin-bottom:6px}.appointment-detail .appointment-notes-entry{padding:8px 0}.appointment-detail .appointment-notes-entry+.appointment-notes-entry{border-color:#edf0ed}.appointment-detail .appointment-notes-label{font-size:11px;margin-bottom:3px}.appointment-detail .appointment-notes-label>span:last-child:not(.anticon){display:none}.appointment-detail .appointment-notes .ant-typography{font-size:12px;line-height:1.5;color:#6b756e}@media(max-width:480px){.appointment-detail .appointment-ticket .appointment-client-link.ant-btn{font-size:22px}.appointment-ticket .appointment-client-identity{flex-basis:210px}}.appointment-detail{--appointment-cover-tint: #f2f1ee;--appointment-status-accent: #64859e;--appointment-status-ink: #3f586c;--appointment-status-soft: #e4e9ed;--appointment-status-header: #e4ebf0}.appointment-detail-celebration{--appointment-cover-tint: #edcf83}.appointment-detail .ant-drawer-header{background:radial-gradient(ellipse 440px 140px at top left,var(--appointment-status-header) 0%,var(--appointment-status-header) 18%,var(--appointment-cover-tint) 100%);box-shadow:inset 5px 0 var(--appointment-status-accent);border-bottom:0;padding:14px 20px}.appointment-detail .ant-drawer-title{font-size:13px;font-weight:500;color:#78746a}.appointment-detail .ant-drawer-body{padding:20px}.appointment-cover{position:relative;background:var(--appointment-cover-tint);box-shadow:inset 5px 0 var(--appointment-status-accent);border-radius:0;color:#353634;margin:-20px -20px 26px;padding:16px 20px 28px}.appointment-cover-client{display:flex;align-items:center;gap:10px}.appointment-cover-client-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#fffdf9;border:1px solid #dcd7cb;box-shadow:0 1px 3px #51463112,inset 0 1px #fff;color:#766747;font-size:17px;font-weight:600}.appointment-cover-client-content{min-width:0}.appointment-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.appointment-cover-name.ant-btn{display:flex;justify-content:flex-start;padding:0;height:auto;min-height:22px;width:fit-content;max-width:100%;color:#353634;font-size:18px;font-weight:600;line-height:1.2;letter-spacing:-.2px;white-space:normal;text-align:left;gap:12px}.appointment-cover-name>span:not(.anticon){overflow-wrap:anywhere}.appointment-cover-name .anticon{font-size:10px;color:#78766e;flex-shrink:0}.appointment-cover-name.ant-btn:disabled{color:#353634}.appointment-client-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:0}.appointment-cover .appointment-client-phone{margin:0;gap:3px}.appointment-cover .appointment-client-phone a{min-height:20px;font-size:12px;line-height:1.4}.appointment-cover .appointment-client-phone .ant-typography-copy{display:inline-flex;padding:3px;margin:0;font-size:11px}.appointment-cover .appointment-client-phone a,.appointment-cover .appointment-client-phone .ant-typography-copy{color:#565953}.appointment-cover .appointment-client-no-phone{color:#78766e;margin-top:0;font-size:12px}.appointment-cover-occasion{display:flex;flex-wrap:wrap;gap:10px 20px;margin:20px 0 0;padding:0;background:none;color:#604d26;font-size:12px}.appointment-cover-occasion>span{display:inline-flex;align-items:center;gap:7px}.appointment-cover-occasion strong{font-weight:600}.appointment-cover-occasion>span>span:not(.anticon){font-size:11px}.appointment-cover-hint{font-size:11px;margin:30px 0 0;color:#716b5d}.appointment-detail .appointment-total{background:none;padding:15px 0 0;border:0;border-top:1px solid #e8ece9;border-radius:0;margin-top:8px}.appointment-detail .appointment-total>div{margin-bottom:0}.appointment-detail .appointment-notes{display:block;padding:0 0 24px;margin:0 0 22px;background:none;border:0;border-radius:0}.appointment-detail .appointment-notes-heading{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:0;color:#464039;font-size:15px}.appointment-detail .appointment-notes-heading>.anticon{display:grid;place-items:center;width:18px;height:22px;background:none;color:#89734b;font-size:14px}.appointment-detail .appointment-notes-entry{min-width:0;padding:0}.appointment-detail .appointment-notes-entry+.appointment-notes-entry{border:0;margin-top:16px;padding-top:0}.appointment-detail .appointment-notes-label{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#726b60;font-size:11px}.appointment-detail .appointment-notes .ant-typography{margin:0;color:#45423d;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.appointment-detail .ant-collapse{border:0;background:none;border-radius:0}.appointment-detail .ant-collapse>.ant-collapse-item{border-bottom:1px solid #edf0ed}.appointment-detail .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:9px 0;font-size:11px;color:#6e7971}.appointment-cover-name.ant-btn:focus-visible{outline:2px solid #ead5a0;outline-offset:5px}@media(hover:hover)and (pointer:fine){.appointment-cover-name.ant-btn:not(:disabled):hover{color:#353634;background:#00000005}.appointment-cover .appointment-client-phone a:hover{color:#353634}}@media(max-width:480px){.appointment-detail .ant-drawer-header{padding-inline:20px}.appointment-detail .ant-drawer-body{padding:20px}.appointment-cover{margin:-20px -20px 26px;padding:16px 20px 24px}.appointment-cover-name.ant-btn{font-size:18px}.appointment-detail .appointment-notes{grid-template-columns:minmax(0,1fr);gap:0}}.appointment-cover{padding-bottom:20px;margin-bottom:22px;border-radius:0}.appointment-schedule-summary{margin-bottom:26px}.appointment-schedule-date{display:flex;align-items:center;gap:8px;color:#626960;font-size:13px}.appointment-schedule-date>.anticon{color:#8a9188;font-size:14px}.appointment-schedule-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:9px}.appointment-schedule-clock{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.appointment-schedule-clock>strong{color:#303931;font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-1px;font-variant-numeric:tabular-nums}.appointment-schedule-clock>strong>span{color:#9a9f97;padding-inline:4px;font-weight:400}.appointment-schedule-clock>span{color:#71786e;font-size:12px}.appointment-schedule-staff{display:flex;flex-direction:column;gap:4px;min-width:140px;max-width:100%}.appointment-schedule-staff>span{font-size:11px;color:#7a8076}.appointment-schedule-staff>strong{display:flex;align-items:baseline;gap:7px;color:#444d43;font-weight:500;font-size:14px;overflow-wrap:anywhere}.appointment-schedule-staff .anticon{color:#8b9386;font-size:12px}.appointment-detail .appointment-notes{padding:0;margin-bottom:24px}.appointment-detail .appointment-notes-heading{margin-bottom:12px}.appointment-detail .appointment-notes-entry{padding-left:12px;border-left:2px solid #ded5bf}.appointment-detail .appointment-notes-entry+.appointment-notes-entry{border-left:2px solid #e6e8e2;margin-top:14px}.appointment-detail .appointment-notes-label{font-size:11px}.appointment-detail .appointment-notes-label .anticon{display:none}.appointment-billing{margin-bottom:18px;border:1px solid #e4e6df;border-radius:14px;overflow:hidden;background:#fff}.appointment-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:0;padding:14px 16px 10px}.appointment-section-heading>strong{color:#384238;font-size:15px;font-weight:600}.appointment-section-heading>span{color:#8a9086;font-size:11px}.appointment-detail .booking-service-row{padding:12px 0;border-bottom:1px solid #f0f1ed;gap:18px}.appointment-detail .booking-service-row>div>strong{font-size:14px;font-weight:500}.appointment-detail .booking-service-row>strong{font-size:14px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.appointment-detail .booking-service-row>div>span{font-size:11px;margin-top:2px;color:#81877b}.appointment-detail .appointment-total{margin:0;padding-top:14px;border-top:1px solid #dfe4da}.appointment-detail .appointment-total>div{align-items:baseline;gap:16px}.appointment-detail .appointment-total>div>span{font-size:12px;color:#727b6b}.appointment-detail .appointment-total>div>strong{font-size:14px;font-weight:600}.appointment-detail .appointment-total>div>strong:last-child{font-size:24px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.appointment-detail .ant-collapse,.appointment-detail .ant-collapse-item{box-shadow:none;border-radius:0}.appointment-detail .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:8px 0}@media(max-width:480px){.appointment-schedule-main{gap:12px;align-items:flex-start}.appointment-schedule-clock{gap:5px;flex-direction:column;align-items:flex-start}.appointment-schedule-clock>strong{font-size:26px}.appointment-schedule-staff{min-width:0;flex:0 1 42%}.appointment-schedule-staff>strong{font-size:13px}}.appointment-detail .appointment-billing .booking-service-order{padding:0 16px}.appointment-detail .appointment-billing .appointment-total{padding:14px 16px;background:#f6f7f3;border-top:1px solid #e4e6df}.appointment-detail .appointment-billing .appointment-total>div+div{margin-top:7px}.appointment-detail .appointment-billing .appointment-total>div>strong:last-child{font-size:22px}.appointment-state-completed{--appointment-status-accent: #81a17b;--appointment-status-ink: #396248;--appointment-status-soft: #e2ecdf;--appointment-status-header: #e5eddf}.appointment-state-cancelled{--appointment-status-accent: #c95a60;--appointment-status-ink: #a3333d;--appointment-status-soft: #f7e0e3;--appointment-status-header: #f4dadd}.appointment-state-no_show{--appointment-status-accent: #d36b47;--appointment-status-ink: #a3442c;--appointment-status-soft: #f8e4db;--appointment-status-header: #f6ddd1}.appointment-title-status{display:flex;align-items:center;gap:9px;color:var(--appointment-status-ink);font-size:16px;font-weight:600;line-height:1.35}.appointment-title-icon{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:#ffffff70;box-shadow:inset 0 0 0 1px #ffffff90;color:var(--appointment-status-ink);font-size:15px}.appointment-detail-celebration{--appointment-gold-finish: linear-gradient(90deg, #dec58d 0%, #f2e3bd 24%, #fff4d8 40%, #e8cf96 63%, #d2ae66 82%, #ead29a 100%)}.appointment-detail-celebration .ant-drawer-header{background:var(--appointment-gold-finish)}.appointment-cover.is-celebration{isolation:isolate;overflow:hidden;background:var(--appointment-gold-finish);box-shadow:inset 5px 0 var(--appointment-status-accent),inset 0 -1px #ad873b40}.appointment-cover.is-celebration:before{content:"";position:absolute;z-index:-1;pointer-events:none;top:-100%;right:-70%;bottom:-100%;left:-70%;background:linear-gradient(110deg,transparent 43%,#fffdf3a6 49%,#fffdf340 53%,transparent 59%);transform:translate(65%);animation:appointment-gold-sheen 1.6s cubic-bezier(.25,.46,.45,.94) both}.appointment-cover.is-celebration:after{content:"✦";position:absolute;pointer-events:none;right:24px;bottom:15px;color:#fff9e3;font-size:25px;text-shadow:0 1px 1px #946b28,0 0 12px #fff4c9}.is-celebration .appointment-cover-client-icon{border-color:#a98031;color:#76521d;background:linear-gradient(140deg,#fff8dc,#f1d385 55%,#cea44a);box-shadow:0 2px 6px #835d2330,inset 0 0 0 2px #fff3bf}.is-celebration .appointment-cover-name.ant-btn{color:#43321b}.is-celebration .appointment-client-phone a,.is-celebration .appointment-client-phone .ant-typography-copy,.is-celebration .appointment-client-no-phone{color:#67502b}.is-celebration .appointment-cover-occasion{color:#57401a;padding-right:28px;gap:8px 16px}.is-celebration .appointment-cover-occasion>span{background:#fffaf040;border:1px solid #fff9e680;border-radius:20px;padding:5px 10px;box-shadow:0 1px 2px #76521d0a}.is-celebration .appointment-cover-occasion .anticon{color:#8c611d}@keyframes appointment-gold-sheen{0%{transform:translate(-65%);opacity:0}20%{opacity:1}to{transform:translate(65%);opacity:0}}@media(prefers-reduced-motion:reduce){.appointment-cover.is-celebration:before{animation:none;opacity:0}}.brand-with-image img{width:48px;height:48px;object-fit:contain;display:block}.sidebar-heading .brand{max-width:calc(100% - 28px);overflow-wrap:anywhere}.sidebar:not(.sidebar-collapsed) .sidebar-heading .brand:not(.brand-with-image){font-size:26px}.sidebar-collapsed .brand{flex-shrink:0}.sidebar-collapsed .brand-with-image{padding:3px}.sidebar-collapsed .brand-with-image img{width:24px;height:24px}.salon-settings-grid{padding:24px;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:32px}.salon-settings-grid h2{margin-top:0}.salon-asset{display:grid;gap:12px}.salon-asset img{width:64px;height:64px;object-fit:contain;border:1px solid #e1e5e3;border-radius:8px}.salon-palette-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.salon-color-field{display:flex;gap:10px;align-items:center}.salon-color-field input[type=color]{width:44px;height:40px;border:1px solid #d9d9d9;border-radius:8px;padding:4px;background:#fff}@media(max-width:900px){.salon-settings-grid{grid-template-columns:1fr;gap:24px}.salon-preview{position:static}}.salon-file-control{position:relative;display:inline-flex;justify-content:center;align-items:center;width:fit-content;min-height:40px;padding:8px 16px;border:1px solid #d9d9d9;border-radius:8px;background:#fff}.salon-file-control input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.salon-file-control:focus-within{outline:2px solid var(--brand-primary);outline-offset:2px}.salon-file-control:has(input:disabled){opacity:.5}.salon-palette-dot{width:12px;height:12px;border-radius:50%}.salon-palette-options .ant-btn[aria-pressed=true]{border-color:var(--brand-primary);background:var(--brand-soft)}@media(max-width:600px){.salon-settings-grid{padding:16px}}.schedule-day-heading.is-today .schedule-date-number{background:var(--brand-accent-soft);color:var(--brand-accent-ink);box-shadow:inset 0 0 0 1px var(--brand-accent)}.schedule-day-heading.is-today .schedule-weekday,.home-widget:not(.home-widget-attention):not(.home-widget-celebrations) .home-widget-count{color:var(--brand-accent-ink)}.home-widget:not(.home-widget-attention):not(.home-widget-celebrations) .home-widget-icon{color:var(--brand-accent-ink);background:var(--brand-accent-soft)}.salon-preview{position:sticky;top:20px;align-self:start;min-width:0}.salon-preview-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px}.salon-preview-heading strong{font-size:17px}.salon-preview-heading p,.salon-preview-help{color:#68717d;font-size:12px;line-height:1.6;margin:5px 0 0}.salon-preview-heading>span{font-size:10px;padding:4px 8px;border-radius:20px;background:#f3f4f5;white-space:nowrap}.salon-preview-window{border:1px solid #dfe3e1;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #15251c0a;color:var(--preview-text)}.salon-preview-browser{display:flex;align-items:center;gap:18px;height:36px;padding:0 12px;background:#f4f5f6;border-bottom:1px solid #e1e5e3;font-size:10px}.salon-preview-browser>span:last-child{display:flex;gap:6px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.salon-preview-browser img{width:14px;height:14px;object-fit:contain}.salon-preview-dots{display:flex;gap:4px}.salon-preview-dots i{width:6px;height:6px;border-radius:50%;background:#cdd3cf}.salon-preview-app{display:flex;min-height:410px;background:var(--preview-background)}.salon-preview-nav{display:flex;flex-direction:column;align-items:center;gap:8px;width:52px;flex-shrink:0;padding:14px 5px;background:#fff;border-right:1px solid #e6e9e7}.salon-preview-brand{width:30px;height:30px;display:grid;place-items:center;color:var(--preview-primary);font-weight:750;font-size:20px;margin-bottom:16px}.salon-preview-brand img{width:30px;height:30px;object-fit:contain}.salon-preview-nav button,.salon-preview-nav-item{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:var(--preview-text);font-size:18px}.salon-preview-nav button{cursor:pointer}.salon-preview-nav button[aria-pressed=true]{color:var(--preview-ink);background:var(--preview-soft)}.salon-preview-nav button:focus-visible{outline:2px solid var(--preview-primary);outline-offset:1px}.salon-preview-nav button:active{transform:scale(.97)}.salon-preview-avatar{margin-top:auto;display:grid;place-items:center;border-radius:50%;background:var(--preview-soft);color:var(--preview-ink);width:28px;height:28px;font-size:10px}.salon-preview-main{padding:20px 16px;flex:1;min-width:0}.salon-preview-main>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px}.salon-preview-eyebrow{display:block;font-size:10px;opacity:.7;max-width:180px;overflow-wrap:anywhere}.salon-preview-main h3{margin:4px 0 0;font-size:18px;color:inherit;line-height:1.2}.salon-preview-primary{display:inline-flex;gap:5px;align-items:center;padding:8px 10px;color:#fff;background:var(--preview-primary);border-radius:6px;font-size:10px;white-space:nowrap}.salon-preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;margin-bottom:12px}.salon-preview-toolbar>span{display:flex;gap:8px;align-items:center}.salon-preview-calendar{background:#fff;border:1px solid #e1e5e3;border-radius:8px;overflow:hidden}.salon-preview-calendar-head{display:grid;grid-template-columns:42px 1fr 1fr;align-items:center;height:44px;font-size:10px;border-bottom:1px solid #e1e5e3}.salon-preview-calendar-head>span{padding-left:5px;font-size:8px;opacity:.6}.salon-preview-calendar-head strong{display:flex;justify-content:center;gap:6px;align-items:center}.salon-preview-calendar-head i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--preview-soft);color:var(--preview-ink);box-shadow:inset 0 0 0 1px var(--preview-accent)}.salon-preview-calendar-body{display:grid;grid-template-columns:42px 1fr 1fr;height:216px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 71px,#edf0ee 71px,#edf0ee 72px)}.salon-preview-hours{display:flex;flex-direction:column;font-size:9px;padding-top:5px;opacity:.65}.salon-preview-hours span{height:72px;padding-left:5px}.salon-preview-lane{border-left:1px solid #edf0ee;padding:4px;min-width:0}.salon-preview-event{display:flex;flex-direction:column;gap:4px;background:#eaf1ed;border-left:3px solid #779d8a;padding:7px 5px;border-radius:4px;font-size:9px;color:#284837;min-height:66px;overflow-wrap:anywhere}.salon-preview-event small{font-size:8px}.salon-preview-event-later{margin-top:72px;background:#edf0f9;border-color:#8a9bc5;color:#35476f}.salon-preview-free{margin-top:10px;border:1px dashed #d2d9d5;border-radius:4px;padding:10px 4px;text-align:center;font-size:9px;opacity:.6}.salon-preview-note{display:flex;gap:6px;align-items:center;font-size:9px;margin-top:12px}.salon-preview-accent-dot{width:6px;height:6px;border-radius:50%;background:var(--preview-accent);flex-shrink:0}.salon-preview-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;font-size:11px}.salon-preview-legend span{display:flex;gap:5px;align-items:center}.salon-preview-legend i{width:10px;height:10px;border-radius:50%;border:1px solid #00000015}.salon-preview-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.salon-preview-stats>div{background:#fff;border:1px solid #e1e5e3;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px;font-size:10px}.salon-preview-stats strong{color:var(--preview-ink);font-size:26px}.salon-preview-card{background:#fff;border:1px solid #e1e5e3;border-radius:8px;padding:12px}.salon-preview-card header{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:8px}.salon-preview-badge{background:var(--preview-soft);color:var(--preview-ink);font-size:9px;border-radius:4px;padding:3px 5px}.salon-preview-appointment{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid #edf0ee;font-size:10px}.salon-preview-appointment>div{display:flex;flex-direction:column;gap:3px;flex:1}.salon-preview-appointment>div>span{opacity:.7;font-size:9px}.salon-preview-search{background:#fff;border:1px solid #dfe3e1;padding:9px 10px;border-radius:6px;display:flex;gap:8px;font-size:10px;margin-top:12px}@media(max-width:1100px){.salon-settings-grid{grid-template-columns:minmax(0,1fr)}.salon-preview{position:static;max-width:680px;width:100%}}@media(max-width:500px){.salon-preview-heading{flex-direction:column}.salon-preview-main{padding:14px 8px}.salon-preview-main>header{flex-wrap:wrap}.salon-preview-toolbar{flex-wrap:wrap}.salon-preview-nav{width:44px;padding-inline:2px}}.home-heading .home-salon-title{margin:0 0 8px}.home-salon-logo{display:block;width:auto;max-width:min(220px,100%);height:48px;object-fit:contain;object-position:left center}@media(max-width:600px){.home-salon-logo{height:40px;max-width:min(180px,100%)}}.connection-cloud-icon{display:block;width:20px;height:20px;flex-shrink:0}.connection-status-icon.connection-cloud-icon{width:17px;height:17px;margin-top:2px}.connection-last-synced{display:flex;flex-direction:column;gap:2px;margin:8px 0;font-size:11px;line-height:16px;color:#7b6845}.connection-last-synced time{font-variant-numeric:tabular-nums}.connection-sync-tooltip{margin-top:4px;font-size:12px}.catalog-readonly{display:flex;align-items:flex-start;gap:9px;margin-bottom:20px;padding:12px 14px;border-radius:10px;background:#f1f2f2;color:#56606a;font-size:12px;line-height:18px}.catalog-readonly>.anticon{margin-top:3px;flex-shrink:0}.catalog-readonly strong{font-weight:600;color:#39434d}.catalog-readonly p{margin:3px 0 0}.booking-time-fields{padding:16px;border:1px solid #e5e8e2;border-radius:10px;background:#f8f9f6}.booking-time-inputs{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.booking-time-inputs label,.booking-time-end{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;color:#51594e}.booking-time-inputs .ant-picker,.booking-time-inputs .ant-input{width:100%;min-width:0;height:40px;background:#fff;font-variant-numeric:tabular-nums}.booking-time-end strong{display:flex;align-items:center;height:40px;font-size:17px;font-weight:500;font-variant-numeric:tabular-nums;color:#31392f}.booking-time-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.booking-time-meta>span{color:#687163;font-size:12px}@media(max-width:420px){.booking-time-fields{padding:12px}.booking-time-inputs{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.booking-time-end{grid-column:1 / -1;flex-direction:row;align-items:center}.booking-time-end strong{height:auto;font-size:14px}}.booking-editor .ant-drawer-body{padding:20px 24px}.booking-editor .ant-form-item{margin-bottom:20px}.booking-editor .slot-heading{margin:0 0 8px;font-size:14px}.booking-editor .booking-service-row{padding:10px 0}.booking-editor .booking-service-row .ant-btn{min-width:36px;min-height:36px}.booking-editor .booking-add-service{margin-top:10px}.booking-editor .booking-duration-control{margin:8px 0 14px;color:#687163;font-size:13px}.booking-editor .booking-duration-control .ant-btn{margin-left:auto;margin-right:-8px;padding-inline:8px;font-size:13px}.booking-editor .ant-collapse-header{padding-left:0!important}.booking-editor .ant-drawer-footer{padding:12px 24px max(12px,env(safe-area-inset-bottom))}.booking-footer-summary{margin-right:auto;min-width:120px}.booking-footer-summary>div{display:flex;flex-direction:column;gap:2px}.booking-footer-summary span{color:#687163;font-size:13px}.booking-footer-summary strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.booking-footer-summary small{display:block;margin-top:4px;color:#687163;font-size:12px;text-align:right}.booking-time-meta .ant-btn{color:#51594e;padding-inline:8px;margin-right:-8px}.booking-available{display:inline-flex;gap:6px;align-items:center}.booking-available:before{content:"";width:6px;height:6px;border-radius:50%;background:#65816b;flex-shrink:0}html:not([data-keyboard-used=true]) .booking-editor .ant-btn:not(:disabled):active{transform:scale(.98)}@media(max-width:600px){.booking-editor .ant-drawer-body{padding:16px}.booking-editor .ant-drawer-footer{padding-inline:16px}.booking-footer-summary strong{font-size:16px}}.booking-editor .form-grid{row-gap:0}@media(max-width:420px){.booking-editor .drawer-footer{gap:8px}.booking-editor .drawer-footer>.ant-btn{padding-inline:10px}}.booking-staff-calendar .schedule-scroll{max-height:55dvh}.booking-staff-calendar .schedule-slot[aria-disabled=true]{cursor:not-allowed;background:repeating-linear-gradient(135deg,transparent 0 6px,rgb(100 100 100 / 9%) 6px 7px),#f6f6f6}.booking-staff-calendar .schedule-slot[aria-disabled=true]:hover{background-color:#ededed}.schedule-draft-marker{position:absolute;left:3px;right:3px;z-index:30;pointer-events:none;border:2px solid #713e51;background:#f8eef3e8;color:#542c3b;border-radius:5px;padding:3px 6px;display:flex;flex-direction:column;overflow:hidden;font-size:11px;box-sizing:border-box}.schedule-draft-marker strong{font-size:12px}.booking-form-section{padding:14px 16px;margin-bottom:10px;border:1px solid #e3e6df;border-radius:12px;background:#fff}.booking-form-section:first-child{padding-top:14px}.booking-form-section h3{margin:0 0 10px;font-size:14px;font-weight:600}.booking-editor .booking-form-section .ant-form-item:last-child{margin-bottom:0}.booking-editor .booking-form-section .booking-duration-control{margin-bottom:0}.booking-editor .booking-form-section .booking-add-service{margin-top:8px}.booking-editor .booking-form-section .booking-service-order:empty+.booking-add-service{margin-top:0}.booking-editor .booking-schedule-section .booking-time-fields{padding:0;border:0;background:transparent}.booking-editor .booking-schedule-section .ant-alert{margin-top:14px}.booking-editor .booking-schedule-section .ant-form-item{margin-bottom:14px}.booking-editor .booking-time-meta{margin-top:8px}.booking-editor .booking-footer-summary small{text-align:left}@media(max-width:600px){.booking-editor .booking-footer-summary{flex-basis:100%;padding-bottom:8px}.booking-editor .booking-footer-summary>div{flex-direction:row;justify-content:space-between;align-items:baseline}}.booking-editor .booking-time-end strong{padding:0 12px;border:1px solid #e7e9e3;border-radius:8px;background:#f7f8f5;font-size:14px;box-sizing:border-box}.booking-editor .booking-service-row>.ant-space{flex-shrink:0;margin-right:-8px}.booking-editor .booking-time-meta>.ant-btn{margin-left:auto}.booking-editor .booking-overlap-warning{padding:14px 16px;border:1px solid #e8d9b2;background:#fffbf1;border-radius:10px}.booking-editor .booking-overlap-warning .ant-alert-icon{color:#aa7b21;font-size:18px;margin-top:2px}.booking-editor .booking-overlap-warning .ant-alert-message{color:#604d25;font-size:14px;font-weight:600;margin-bottom:8px}.booking-overlap-content{color:#66583c;font-size:13px;line-height:1.5}.booking-overlap-list{list-style:none;padding:0;margin:0}.booking-overlap-list li{display:flex;align-items:baseline;gap:12px;padding:3px 0}.booking-overlap-list strong{font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.booking-overlap-list span{min-width:0;overflow-wrap:anywhere}.booking-overlap-content p{margin:8px 0 12px}.booking-overlap-content .ant-checkbox-wrapper{color:#51462f;font-size:13px;align-items:flex-start}@media(max-width:420px){.booking-editor .booking-time-end strong{border:0;background:transparent;padding:0}.booking-overlap-list li{flex-wrap:wrap;gap:2px 12px}}.booking-editor .ant-drawer-body{background:#f6f7f3;padding:16px 20px}.booking-editor .booking-client-section .ant-form-item-label>label{font-weight:600}.booking-editor .booking-services-section .slot-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;margin-bottom:8px}.booking-editor .booking-services-section .booking-duration-control{margin:0;flex-wrap:nowrap}.booking-editor .booking-services-section .booking-duration-control .ant-btn{height:40px;color:#66705f;font-size:12px}.booking-editor .booking-services-section .booking-service-row{padding:8px 0}.booking-editor .booking-services-section .booking-service-row:first-child{padding-top:0}.booking-editor .booking-services-section .booking-service-row:last-child{border-bottom:0}.booking-editor .booking-schedule-section .booking-time-meta{margin-bottom:-4px}.booking-editor .ant-collapse{background:transparent}.booking-editor .ant-collapse-header{padding:4px 2px!important;color:#687163!important}.booking-editor .booking-overlap-warning{margin-top:12px}@media(max-width:600px){.booking-editor .ant-drawer-body,.booking-form-section{padding:12px}.booking-form-section:first-child{padding-top:12px}}.booking-editor .booking-services-section .booking-service-row>div:first-of-type{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}.booking-editor .booking-services-section .booking-service-row>div:first-of-type>span{margin-top:0;font-size:12px}.discount-entry{display:grid;grid-template-columns:minmax(140px,2fr) minmax(130px,1fr) minmax(110px,1fr) 32px;gap:12px;align-items:start}.discount-entry>.ant-btn{margin-top:30px}.discount-entry .ant-input-number-affix-wrapper,.discount-entry .ant-input-number{width:100%}@media(max-width:600px){.discount-entry{grid-template-columns:1fr 1fr 32px}.discount-entry>.ant-form-item:first-child{grid-column:1 / -1}}.discount-list{margin-top:8px}.discount-list .discount-add{min-height:40px;padding-inline:8px;margin-left:-8px;color:#667069;font-size:13px}.discount-list .discount-add:focus-visible{outline:2px solid #365b43;outline-offset:2px}.discount-list-active{margin-top:16px;padding-top:16px;border-top:1px solid #e7ebe7}.discount-list-active .discount-entry .ant-form-item{margin-bottom:12px}.discount-list-active .ant-typography{margin:6px 0 0;font-size:12px}@media(hover:hover)and (pointer:fine){.discount-list .discount-add:not(:disabled):hover{color:#284b36;background:#f1f5f1}.discount-list .discount-add:not(:disabled):active{transform:scale(.98)}}.booking-editor .drawer-footer{flex-wrap:nowrap}.booking-editor .booking-footer-summary{flex:1 1 120px;min-width:0}.booking-editor .drawer-footer>.ant-btn{flex-shrink:0}.booking-editor .booking-footer-summary small{overflow-wrap:anywhere}@media(max-width:600px){.booking-editor .drawer-footer{flex-wrap:wrap}.booking-editor .booking-footer-summary{flex-basis:100%}}.booking-editor .ant-select-selection-placeholder,.booking-editor input::placeholder,.booking-editor textarea::placeholder{color:#6b7068;opacity:1}.booking-editor .ant-form-item-label>label[for=notes]{font-weight:600}.booking-editor .booking-service-row>.ant-space .ant-btn,.booking-editor .discount-entry>.ant-btn{min-width:40px;min-height:40px}.booking-editor .discount-entry{grid-template-columns:minmax(140px,2fr) minmax(130px,1fr) minmax(110px,1fr) 40px}.booking-editor .booking-service-row strong,.booking-editor .booking-footer-summary strong{overflow-wrap:anywhere}@media(max-width:600px){.booking-editor .discount-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}.booking-editor .drawer-footer{gap:8px}.booking-editor .drawer-footer>.ant-btn{flex:1 1 0;min-width:0;min-height:40px;padding-inline:10px}.booking-editor .drawer-footer:has(>.ant-btn:nth-of-type(3))>.ant-btn:last-of-type{flex-basis:100%}.booking-editor .booking-footer-summary{padding-bottom:4px}.booking-editor .booking-footer-summary>div{gap:12px}.booking-editor .booking-footer-summary strong{text-align:right}}@media(max-width:380px){.booking-editor .discount-entry{grid-template-columns:minmax(0,1fr) 40px}.booking-editor .discount-entry>.ant-form-item:nth-child(2){grid-column:1 / -1}}.operation-confirm .ant-modal-content{padding:24px;border-radius:14px}.operation-confirm .ant-modal-confirm-title{font-size:20px;line-height:1.4}.operation-confirm .ant-modal-confirm-content{color:var(--app-text, #20262d);font-size:14px;line-height:1.6;margin-top:8px}.operation-confirm .ant-modal-confirm-btns{margin-top:24px}.operation-confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.operation-confirm .operation-confirm-actions>.ant-btn{margin:0;min-height:40px;height:auto;padding:8px 14px;white-space:normal}.operation-confirm .operation-confirm-actions>.dialog-destructive-action{margin-right:auto}.operation-confirm .ant-btn-dangerous.ant-btn-default{color:#ad2733;border-color:#e4b9be;background:#fff}@media(hover:hover)and (pointer:fine){.operation-confirm .ant-btn-dangerous.ant-btn-default:not(:disabled):hover{color:#8f1d28;border-color:#ad2733;background:#fff5f5}}@media(max-width:600px){.operation-confirm .ant-modal-content{padding:20px}.operation-confirm .ant-modal-confirm-title{font-size:18px}.operation-confirm .operation-confirm-actions>.ant-btn{flex:0 1 auto;max-width:100%}}.home-booking-copy .schedule-conflict-reasons{display:flex;flex-direction:column;gap:6px;margin-top:4px}.schedule-conflict-reasons>span{display:flex;flex-direction:column;gap:2px}.schedule-conflict-reasons strong{color:#a12d25;font-size:12px;font-weight:600;white-space:normal;overflow-wrap:anywhere}.schedule-conflict-reasons>span>span{color:#5c6a62;font-size:12px}.schedule-conflict-details{margin:0;padding-left:18px}.schedule-conflict-details li+li{margin-top:12px}.schedule-conflict-details p{margin:4px 0 0}.appointment-overview>.schedule-conflict-alert{margin-bottom:24px}.staff-name-inactive{color:#777;text-decoration:line-through;text-decoration-thickness:1px}.appointment-time-summary{display:flex;flex:1;min-width:0;flex-direction:column;gap:9px;padding:8px;margin:-8px;border:0;border-radius:8px;background:transparent;font:inherit;text-align:left}button.appointment-time-summary{cursor:pointer}button.appointment-time-summary:disabled{cursor:default}button.appointment-time-summary:focus-visible{outline:2px solid #737373;outline-offset:2px}.appointment-time-edit-icon{color:#71786e;font-size:14px}.appointment-schedule-main>.appointment-schedule-staff{align-self:flex-end}@media(hover:hover){button.appointment-time-summary:hover:not(:disabled){background:#00000005}}.schedule-shift-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.schedule-shift-ribbon{position:absolute;box-sizing:border-box;border-left:3px solid currentColor;background:currentColor;opacity:.1}.schedule-inactive-background{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,transparent 0 6px,rgb(100 100 100 / 9%) 6px 7px),#f6f6f6}.schedule-event-heading{display:flex;align-items:center;gap:5px}.schedule-event-heading>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:650}.schedule-status-icon{margin-left:auto;flex:0 0 auto;font-size:13px;line-height:16px}.schedule-field-label{font-weight:600}.schedule-status-badge{display:inline-flex;align-items:center;gap:5px;padding:0 5px;border-radius:3px;font-size:10px;line-height:17px;font-weight:600}.schedule-status-badge.status-confirmed{color:#44525d;background:#edf0f3}.schedule-status-badge.status-completed{color:#24543b;background:#dfefe4}.schedule-status-badge.status-no_show{color:#913e23;background:#fae8dd}.schedule-status-badge.status-cancelled{color:#5d6268;background:#e9ebed}.schedule-status-icon.status-completed{color:#24543b}.schedule-status-icon.status-no_show{color:#913e23}.schedule-status-icon.status-cancelled{color:#5d6268}.schedule-event-cancelled .schedule-event-heading strong{text-decoration:line-through}.schedule-detail-tooltip{max-width:min(340px,calc(100vw - 24px))}.schedule-detail-tooltip .ant-tooltip-inner{padding:12px 14px;color:#242b30}.schedule-detail{display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.5}.schedule-detail>strong{font-size:14px}.schedule-detail dl{display:grid;grid-template-columns:48px minmax(0,1fr);gap:7px 12px;margin:7px 0 0}.schedule-detail dt{color:#626c66}.schedule-detail dd{margin:0;overflow-wrap:anywhere}.schedule-detail .schedule-status-badge{font-size:12px;padding:2px 6px}@media(hover:hover){.schedule-day-past:not(:hover):not(:focus-within){filter:saturate(.2);background-color:#f5f5f5}}.schedule-event-compact .schedule-event-staff,.schedule-event-compact .schedule-event-services,.schedule-event-compact .schedule-event-status{display:none}.ant-menu-inline-collapsed-tooltip .ant-tooltip-inner{display:flex;align-items:center;padding:8px 12px}.ant-message .ant-message-notice.app-notice-wrapper .ant-message-notice-content{max-width:min(560px,calc(100vw - 32px));padding:12px 14px;border:1px solid var(--app-border, #e1e5e2);border-radius:12px}.ant-message .ant-message-notice.app-notice-wrapper .ant-message-custom-content{display:flex;align-items:flex-start;text-align:left}.ant-message .ant-message-notice.app-notice-wrapper .ant-message-custom-content>.anticon{margin-top:5px}.ant-message .ant-message-notice.app-notice-wrapper .ant-message-custom-content>span:last-child{min-width:0}.app-notice{display:flex;align-items:flex-start;gap:10px;min-width:0}.app-notice-body{display:flex;flex:1;flex-direction:column;min-width:0;gap:3px;overflow-wrap:anywhere}.app-notice-title{line-height:24px}.app-notice-description{color:var(--app-text-secondary, #66716b);font-size:13px;line-height:20px}.app-notice-body .ant-btn{color:var(--brand-primary, #315c4c);align-self:flex-start;height:auto;min-height:28px;padding:0;margin:2px 0 0;white-space:normal;text-align:left}.app-notice>.ant-btn{flex-shrink:0;margin:0}.app-notice-countdown{color:#737873;font-size:12px;line-height:24px;font-variant-numeric:tabular-nums;min-width:26px;white-space:nowrap;text-align:right}.standard-dialog .ant-modal-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;text-align:left}.standard-dialog .ant-modal-footer>.ant-btn+.ant-btn{margin-inline-start:0}.standard-dialog .ant-drawer-footer{text-align:right}.standard-dialog .ant-drawer-footer>.ant-space{display:flex;justify-content:flex-end;flex-wrap:wrap}.standard-dialog .drawer-footer{justify-content:flex-end;gap:8px;flex-wrap:wrap}.standard-dialog .drawer-footer>.booking-footer-summary,.standard-dialog .drawer-footer>.schedule-save-reason,.standard-dialog .drawer-footer>.unsaved-label{flex:0 0 100%;margin:0 0 4px}.standard-dialog .drawer-footer>.booking-footer-summary>div{flex-direction:row;justify-content:space-between;align-items:baseline}.standard-dialog .ant-modal-footer>.checkout-footer{width:100%}.schedule-conflict-indicator{color:#b42318;background:#fff;border-radius:50%;display:inline-flex;flex:0 0 auto;font-size:14px}.schedule-conflict-label{color:#a12d25;background:#fff1f0;padding:1px 5px;border-radius:4px;font-size:11px;font-weight:600}.schedule-event-conflict{border-style:solid}.schedule-detail .schedule-conflict-reasons{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid #e2e6e3}.schedule-detail .schedule-conflict-reasons>span{display:flex;flex-direction:column;gap:3px}.schedule-detail .schedule-conflict-reasons strong{color:#a12d25}.salon-anniversary{margin-bottom:16px;display:flex;align-items:center;gap:16px;padding:20px 24px;border:1px solid var(--salon-accent, #986b35);border-radius:12px;background:#fffaf0;color:#684716}.salon-anniversary>.anticon{flex-shrink:0;font-size:28px}.salon-anniversary h2{margin:0;font-size:18px;overflow-wrap:anywhere}.salon-anniversary p{margin:6px 0}.salon-anniversary time{font-size:13px}
