.calendar-grid.phase-calendar-grid{grid-template-columns:52px repeat(var(--day-count),minmax(var(--calendar-day-width,140px),1fr))}.calendar-grid.phase-calendar-grid.day-mode{grid-template-columns:60px minmax(var(--calendar-day-width,140px),1fr)}.calendar-event:focus-visible{outline:2px solid #234b38;outline-offset:1px;z-index:3}.calendar-event.calendar-event-phased{padding:0;display:block;background:color-mix(in srgb,currentColor 7%,white)}.calendar-event.calendar-event-phased>.calendar-phase{position:absolute;overflow:hidden;inset-inline:0;display:flex;flex-direction:column;align-items:stretch;gap:1px;padding:5px;margin:0;opacity:1;line-height:15px;text-align:left;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}.calendar-event.calendar-event-phased>.calendar-phase:first-child{border-top:0}.calendar-event .calendar-phase.active{background:color-mix(in srgb,currentColor 13%,white)}.calendar-event .calendar-phase.processing{background:repeating-linear-gradient(135deg,transparent,transparent 5px,color-mix(in srgb,currentColor 8%,transparent) 0,color-mix(in srgb,currentColor 8%,transparent) 7px);border-top-style:dashed}.calendar-event .calendar-phase>*{flex-shrink:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event .calendar-phase .phase-kind-label,.calendar-event .calendar-phase .phase-name,.calendar-event .calendar-phase small{font-size:11px;line-height:15px}.calendar-event .calendar-phase .phase-customer{font-size:12px;line-height:16px}.calendar-event .calendar-phase .phase-name{font-weight:600}.calendar-event .calendar-phase .phase-kind-label{opacity:.9}.calendar-event.calendar-event-phased>.phase-compact{padding-block:3px}.calendar-event .phase-compact:first-child .phase-name{display:none}.calendar-event.calendar-event-phased>.phase-micro{flex-direction:row;align-items:center;gap:5px;padding:0 4px}.calendar-event .phase-micro small{flex-shrink:1}.calendar-event .phase-micro .phase-customer,.calendar-event .phase-micro .phase-name{flex-shrink:1;font-size:11px}.calendar-event .phase-micro:first-child .phase-name{display:none}.booking-phase-timeline{border:1px solid #e2e8dc;border-radius:12px;overflow:hidden;background:#fcfdf9}.booking-phase-timeline h3{font-size:14px;padding:12px 14px;margin:0;border-bottom:1px solid #e2e8dc}.booking-phase-timeline ol{list-style:none;padding:0;margin:0}.booking-phase-timeline li{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-left:4px solid #74905f}.booking-phase-timeline li+li{border-top:1px solid #e2e8dc}.booking-phase-timeline li.processing{border-left-style:dashed;background:repeating-linear-gradient(135deg,#f6f8f2,#f6f8f2 7px,#edf1e5 0,#edf1e5 9px)}.booking-phase-timeline .phase-timeline-time{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.booking-phase-timeline li div{display:flex;flex-direction:column;gap:3px;min-width:0}.booking-phase-timeline li b{font-size:13px;overflow-wrap:anywhere}.booking-phase-timeline .phase-timeline-duration,.booking-phase-timeline li div>span{font-size:12px;color:#62725c}.booking-phase-timeline .phase-timeline-duration{white-space:nowrap}@media (max-width:480px){.booking-phase-timeline li{grid-template-columns:77px minmax(0,1fr);gap:7px;padding:10px 9px}.booking-phase-timeline .phase-timeline-duration{grid-column:2}}.service-catalog-dialog{width:min(820px,calc(100vw - 32px));max-width:min(820px,calc(100vw - 32px))!important;padding:28px}.service-catalog-dialog .service-duration-total{display:flex;align-items:center;gap:9px;min-height:46px;margin-top:7px;padding:11px 12px;border:1px solid #dfe5da;border-radius:8px;background:#f6f8f3;font-size:.875rem;font-variant-numeric:tabular-nums}.service-phase-editor{min-width:0;border:1px solid #dfe6dc;border-radius:16px;padding:20px;background:#fafcf8}.service-phase-heading{display:flex;align-items:flex-start;gap:12px}.service-phase-heading-icon{display:grid;width:40px;height:40px;flex-shrink:0;place-items:center;border-radius:12px;color:#315c41;background:#e5efde}.service-phase-heading h3{margin:0;font-size:1.025rem;font-weight:750;color:#234534;line-height:1.5}.service-phase-heading p{margin:3px 0 0;color:#60735f;font-size:.8rem;line-height:1.55}.service-phase-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 16px}.service-phase-summary>div{padding-left:13px;border-left:2px solid #dce7d4}.service-phase-summary span,.service-phase-summary strong{display:block}.service-phase-summary span{color:#63735f;font-size:.74rem;line-height:1.5}.service-phase-summary strong{margin-top:3px;color:#234534;font-size:1.05rem;font-variant-numeric:tabular-nums}.service-phase-preview{margin:18px 0 22px}.service-phase-preview-caption{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:#687663;font-size:.72rem}.service-phase-timeline{display:flex;gap:3px;min-height:34px;margin:0;padding:0;overflow:hidden;border-radius:8px;list-style:none}.service-phase-timeline li{display:grid;align-content:center;flex-basis:0;min-width:0;text-align:center;overflow:hidden;font-size:.72rem;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}.service-phase-timeline li>span:not(.sr-only){overflow:hidden;text-overflow:ellipsis;padding:0 4px}.service-phase-legend .active,.service-phase-timeline .active{color:#fff;background:#315c41}.service-phase-legend .processing,.service-phase-timeline .processing{color:#675428;background:repeating-linear-gradient(-45deg,#f0e7cd,#f0e7cd 4px,#fbf6e9 0,#fbf6e9 8px)}.service-phase-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:9px;font-size:.7rem;color:#5e7059}.service-phase-legend>span{display:inline-flex;align-items:center;gap:6px}.service-phase-legend i{display:block;height:9px;width:9px;border-radius:2px;flex-shrink:0}.service-phase-list{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0;margin:0}.service-phase-row{min-width:0;border:1px solid #dbe5d6;border-left:3px solid #699153;border-radius:11px;background:white;padding:10px 12px 14px;transition:border-color .14s ease,opacity .14s ease,box-shadow .14s ease}.service-phase-row.processing{border-left-color:#c7ab64}.service-phase-row.dragging{opacity:.5}.service-phase-row.drop-target{box-shadow:0 -3px 0 #82a967;border-top-color:#82a967}.service-phase-row-actions,.service-phase-row-top{display:flex;align-items:center;gap:4px}.service-phase-number{display:grid;place-items:center;width:24px;height:24px;color:#476840;background:#eef4e8;border-radius:7px;font-size:.73rem;font-weight:700}.service-phase-row.processing .service-phase-number{background:#f8f2e1;color:#806b34}.service-phase-range{margin-left:4px;color:#71816c;font-size:.73rem;font-variant-numeric:tabular-nums}.service-phase-row-actions{margin-left:auto}.service-phase-row-top button{display:grid;place-items:center;min-width:32px;height:32px;padding:0;border:0;border-radius:7px;color:#62785b;background:transparent;cursor:pointer}.service-phase-row-top button:hover:not(:disabled){background:#edf3e7;color:#2d513a}.service-phase-row-top button.service-phase-delete:hover:not(:disabled){background:#fff0ec;color:#a8453e}.service-phase-preset:focus-visible,.service-phase-row-top button:focus-visible{outline:2px solid #709553;outline-offset:2px}.service-phase-row-top button:disabled{opacity:.28;cursor:default}.service-phase-row-top .service-phase-drag{cursor:grab;margin-left:-5px;min-width:25px}.service-phase-fields{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(88px,.62fr) minmax(0,1.1fr);align-items:end;gap:12px;margin-top:8px}.service-phase-fields .field-label{min-width:0;font-size:.73rem;color:#60715b;font-weight:600}.service-phase-fields .field,.service-phase-fields .pick{height:41px;font-size:.81rem;margin-top:5px;padding:8px 10px}.service-phase-fields .pick{min-width:0;width:100%}.service-phase-fixed-kind{display:flex;align-items:center;gap:7px;min-height:41px;margin-top:5px;padding:8px 10px;background:#f3f7ef;border:1px solid #e4ebdf;border-radius:8px;color:#47683b;font-size:.81rem}.service-phase-add{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.service-phase-add .btn{background:white}.service-phase-add .btn:disabled{opacity:.4}.service-phase-hint{display:flex;align-items:flex-start;gap:8px;font-size:.74rem;line-height:1.6;color:#6b7a63;margin:14px 0 0}.service-phase-hint svg{flex-shrink:0;margin-top:2px}.service-phase-preset{display:block;text-align:left;margin:9px 0 0 24px;padding:2px 0;background:none;border:0;color:#496941;font-size:.74rem;line-height:1.6;text-decoration:underline;text-underline-offset:3px;cursor:pointer}@media (max-width:600px){.service-catalog-dialog{padding:20px 16px}.service-phase-editor{padding:15px 11px;border-radius:12px}.service-phase-summary{gap:8px}.service-phase-summary>div{padding-left:8px}.service-phase-summary span{font-size:.68rem}.service-phase-summary strong{font-size:.94rem}.service-phase-fields{grid-template-columns:minmax(0,1fr) 90px;gap:10px}.service-phase-kind{grid-column:1/-1}.service-phase-row-top button{min-width:34px;height:34px}}