/* ===== Modal system pass 01: unified dialogs ===== */
:root{
 --crm-modal-radius:var(--modal-radius,16px);
 --crm-modal-border:rgba(161, 161, 161,.28);
 --crm-modal-shadow:0 28px 90px rgba(23, 23, 23,.26);
 --crm-modal-head:#ffffff;
 --crm-modal-body:#fafafa;
 --crm-modal-footer:#ffffff;
 --crm-modal-title:#181818;
 --crm-modal-text:#3f3f3f;
 --crm-modal-muted:#919191;
 --crm-modal-focus:rgba(40, 40, 40,.14);
}
body.dark{
 --crm-modal-border:rgba(161, 161, 161,.22);
 --crm-modal-shadow:0 32px 100px rgba(0,0,0,.62);
 --crm-modal-head:#1c1c1c;
 --crm-modal-body:#161616;
 --crm-modal-footer:#1c1c1c;
 --crm-modal-title:#f6f6f6;
 --crm-modal-text:#cdcdcd;
 --crm-modal-muted:#999999;
 --crm-modal-focus:rgba(212, 212, 212,.13);
}
.modal-bg{
 z-index:2000 !important;
 align-items:center !important;
 justify-content:center !important;
 padding:24px !important;
 overflow:auto !important;
 background:rgba(23, 23, 23,.52) !important;
 backdrop-filter:blur(6px) !important;
 -webkit-overflow-scrolling:touch;
}
body.dark .modal-bg{
 background:rgba(0,0,0,.62) !important;
}
.modal-bg > .modal,
.generic-modal-card,
.ui-modal-card,
.debt-card-modal,
.debt-calendar-modal{
 width:min(720px, calc(100vw - 48px)) !important;
 max-height:calc(100dvh - 48px) !important;
 overflow:hidden !important;
 display:flex !important;
 flex-direction:column !important;
 border-radius:var(--crm-modal-radius) !important;
 border:1px solid var(--crm-modal-border) !important;
 background:var(--crm-modal-head) !important;
 color:var(--crm-modal-title) !important;
 box-shadow:var(--crm-modal-shadow) !important;
 box-sizing:border-box !important;
}
#modal-payment > .modal,
#modal-edit-payment > .modal,
.debt-calendar-modal{
 width:min(760px, calc(100vw - 48px)) !important;
}
.debt-card-modal{
 width:min(940px, calc(100vw - 48px)) !important;
}
#modal-order #order-modal-box{
 width:min(560px, calc(100vw - 48px)) !important;
 height:auto !important;
 min-height:0 !important;
 max-height:calc(100dvh - 48px) !important;
}
#modal-edit-order > .modal{
 width:min(780px, calc(100vw - 48px)) !important;
 max-height:calc(100dvh - 48px) !important;
}
.ui-modal-head,
.modal-header,
.debt-card-header,
.debt-calendar-modal-head,
#modal-edit-order > .modal > div:first-child{
 flex:0 0 auto !important;
 padding:22px 26px 18px !important;
 background:var(--crm-modal-head) !important;
 background-image:none !important;
 color:var(--crm-modal-title) !important;
 border-bottom:1px solid var(--border-light) !important;
 border-radius:var(--crm-modal-radius) var(--crm-modal-radius) 0 0 !important;
}
body.dark .ui-modal-head,
body.dark .modal-header,
body.dark .debt-card-header,
body.dark .debt-calendar-modal-head,
body.dark #modal-edit-order > .modal > div:first-child{
 border-bottom-color:var(--border) !important;
}
.debt-calendar-modal-head::before{
 display:none !important;
}
.ui-modal-kicker,
.debt-card-eyebrow,
.debt-calendar-modal-kicker{
 color:var(--crm-modal-muted) !important;
 font-size:10px !important;
 line-height:1.2 !important;
 font-weight:800 !important;
 letter-spacing:.13em !important;
 text-transform:uppercase !important;
}
.ui-modal-title,
.debt-card-title,
.debt-calendar-modal-title,
.modal-header h3{
 margin:4px 0 0 !important;
 color:var(--crm-modal-title) !important;
 font-size:20px !important;
 line-height:1.15 !important;
 font-weight:850 !important;
 letter-spacing:0 !important;
}
.ui-modal-subtitle,
.debt-card-subtitle,
.debt-calendar-modal-sub{
 max-width:560px !important;
 margin-top:8px !important;
 color:var(--crm-modal-text) !important;
 font-size:12px !important;
 line-height:1.45 !important;
}
.modal-close,
.ui-modal-close,
.debt-card-close,
.order-sheet-close,
#modal-edit-order > .modal > div:first-child button[onclick*="closeModal"]{
 width:34px !important;
 height:34px !important;
 min-width:34px !important;
 padding:0 !important;
 border:1px solid var(--border) !important;
 border-radius:10px !important;
 background:var(--bg-surface-2) !important;
 color:var(--text-secondary) !important;
 box-shadow:none !important;
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 font-size:18px !important;
 line-height:1 !important;
}
.modal-close:hover,
.ui-modal-close:hover,
.debt-card-close:hover,
.order-sheet-close:hover{
 background:var(--bg-surface-3) !important;
 color:var(--text-primary) !important;
}
.modal-body,
.ui-modal-body,
.debt-calendar-modal-body,
.debt-card-form,
#booking-modal-body-v2,
#modal-edit-order > .modal > div:nth-child(2){
 flex:1 1 auto !important;
 min-height:0 !important;
 overflow:auto !important;
 padding:22px 26px !important;
 background:var(--crm-modal-body) !important;
 color:var(--crm-modal-text) !important;
 -webkit-overflow-scrolling:touch;
}
#modal-order #order-modal-box > div[style*="position:relative;overflow:hidden"]{
 flex:1 1 auto !important;
 min-height:360px !important;
 background:var(--crm-modal-body) !important;
}
#modal-order #order-modal-box > div[style*="position:relative;overflow:hidden"] > div[id^="wiz-step"]{
 padding:22px 26px !important;
}
.modal-footer,
.ui-modal-actions,
.debt-card-footer,
.debt-calendar-modal-actions,
#order-modal-box > div:last-child,
#modal-edit-order > .modal > div:last-child{
 flex:0 0 auto !important;
 padding:16px 26px !important;
 border-top:1px solid var(--border-light) !important;
 background:var(--crm-modal-footer) !important;
 display:flex !important;
 align-items:center !important;
 justify-content:flex-end !important;
 gap:10px !important;
 border-radius:0 0 var(--crm-modal-radius) var(--crm-modal-radius) !important;
}
body.dark .modal-footer,
body.dark .ui-modal-actions,
body.dark .debt-card-footer,
body.dark .debt-calendar-modal-actions,
body.dark #order-modal-box > div:last-child,
body.dark #modal-edit-order > .modal > div:last-child{
 border-top-color:var(--border) !important;
}
.ui-modal-grid,
.debt-card-grid,
.debt-calendar-modal .debt-card-grid{
 display:grid !important;
 grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
 gap:14px !important;
}
.ui-modal-grid-3{
 grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}
.ui-modal-field-wide,
.debt-card-field-wide{
 grid-column:1 / -1 !important;
}
.ui-modal-field,
.debt-card-field,
.debt-card-field-wide{
 min-width:0 !important;
 margin:0 !important;
}
.ui-modal-field label,
.debt-card-field label,
.om-lbl,
#modal-edit-order .modal div[style*="text-transform:uppercase"]{
 margin:0 0 7px !important;
 color:var(--crm-modal-muted) !important;
 font-size:var(--field-label-size,12px) !important;
 line-height:16px !important;
 font-weight:600 !important;
 letter-spacing:0 !important;
 text-transform:none !important;
}
.modal input:not([type="checkbox"]):not([type="radio"]),
.modal select,
.modal textarea,
.ui-modal-card input:not([type="checkbox"]):not([type="radio"]),
.ui-modal-card select,
.ui-modal-card textarea,
.debt-card-modal input:not([type="checkbox"]):not([type="radio"]),
.debt-card-modal select,
.debt-card-modal textarea,
.debt-calendar-modal input:not([type="checkbox"]):not([type="radio"]),
.debt-calendar-modal select,
.debt-calendar-modal textarea{
 min-height:var(--field-height,40px) !important;
 border:1px solid var(--border) !important;
 border-radius:var(--control-radius,8px) !important;
 background:var(--bg-surface) !important;
 color:var(--text-primary) !important;
 font-size:13px !important;
 line-height:1.25 !important;
 box-shadow:0 1px 2px rgba(23, 23, 23,.04) !important;
 box-sizing:border-box !important;
}
.modal textarea,
.ui-modal-card textarea,
.debt-card-modal textarea,
.debt-calendar-modal textarea{
 min-height:78px !important;
 resize:vertical !important;
}
.modal input:focus,
.modal select:focus,
.modal textarea:focus,
.ui-modal-card input:focus,
.ui-modal-card select:focus,
.ui-modal-card textarea:focus,
.debt-card-modal input:focus,
.debt-card-modal select:focus,
.debt-card-modal textarea:focus,
.debt-calendar-modal input:focus,
.debt-calendar-modal select:focus,
.debt-calendar-modal textarea:focus{
 border-color:var(--accent) !important;
 box-shadow:0 0 0 4px var(--crm-modal-focus) !important;
 outline:none !important;
}
.modal .btn,
.ui-modal-card .btn,
.debt-card-modal .btn,
.debt-calendar-modal .btn,
.order-sheet-actions button{
 min-height:var(--control-height,36px) !important;
 height:var(--control-height,36px) !important;
 padding:0 18px !important;
 border-radius:var(--control-radius,8px) !important;
 font-size:var(--control-font,12px) !important;
 font-weight:600 !important;
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 gap:7px !important;
 line-height:1 !important;
 white-space:nowrap !important;
}
.modal .btn-primary,
.ui-modal-card .btn-primary,
.debt-card-modal .btn-primary,
.debt-calendar-modal .btn-primary{
 background:var(--action-primary) !important;
 border-color:var(--action-primary) !important;
 color:#fff !important;
}
body.dark .modal .btn-primary,
body.dark .ui-modal-card .btn-primary,
body.dark .debt-card-modal .btn-primary,
body.dark .debt-calendar-modal .btn-primary{
 background:var(--action-primary) !important;
 border-color:var(--action-primary) !important;
 color:#fff !important;
}
.debt-card-layout{
 flex:1 1 auto !important;
 min-height:0 !important;
 overflow:hidden !important;
 grid-template-columns:minmax(0, 1.6fr) minmax(260px, .8fr) !important;
}
.debt-card-summary{
 overflow:auto !important;
 background:var(--crm-modal-body) !important;
}
.debt-card-summary-main,
.debt-card-header-icon{
 background:#282828 !important;
 background-image:none !important;
 color:#fff !important;
}
body.dark .debt-card-summary-main,
body.dark .debt-card-header-icon{
 background:#2a2a2a !important;
 color:#fafafa !important;
}
#modal-booking #booking-modal-inner{
 width:min(520px, calc(100vw - 48px)) !important;
 max-height:calc(100dvh - 48px) !important;
}
#modal-booking #booking-modal-header{
 background:var(--crm-modal-head) !important;
 color:var(--crm-modal-title) !important;
 border-bottom:1px solid var(--border-light) !important;
}
#modal-booking #booking-modal-client,
#modal-booking #booking-modal-header span{
 color:var(--crm-modal-title) !important;
}
#modal-booking #booking-modal-sub,
#modal-booking #booking-modal-header div{
 color:var(--crm-modal-text) !important;
}
.mob-export-bg,
.order-sheet-bg{
 z-index:2100 !important;
 background:rgba(23, 23, 23,.52) !important;
 backdrop-filter:blur(6px) !important;
}
.mob-export-sheet,
.order-sheet{
 max-height:92dvh !important;
 overflow:hidden !important;
 display:flex !important;
 flex-direction:column !important;
 border-radius:18px 18px 0 0 !important;
 border:1px solid var(--crm-modal-border) !important;
 background:var(--crm-modal-head) !important;
 box-shadow:0 -24px 70px rgba(23, 23, 23,.28) !important;
}
.order-sheet-head{
 flex:0 0 auto !important;
 padding-bottom:12px !important;
 border-bottom:1px solid var(--border-light) !important;
}
#order-sheet-body{
 flex:1 1 auto !important;
 min-height:0 !important;
 overflow:auto !important;
 padding-top:12px !important;
}
.order-sheet-actions{
 flex:0 0 auto !important;
 padding-top:14px !important;
 border-top:1px solid var(--border-light) !important;
}
@media (max-height:760px){
 .modal-bg{
  align-items:flex-start !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
 }
 .modal-bg > .modal,
 .generic-modal-card,
 .ui-modal-card,
 .debt-card-modal,
 .debt-calendar-modal,
 #modal-booking #booking-modal-inner,
 #modal-order #order-modal-box,
 #modal-edit-order > .modal{
  max-height:calc(100dvh - 24px) !important;
 }
}
@media (max-width:820px){
 .modal-bg{
  padding:12px !important;
 }
 .modal-bg > .modal,
 .generic-modal-card,
 .ui-modal-card,
 .debt-card-modal,
 .debt-calendar-modal,
 #modal-order #order-modal-box,
 #modal-edit-order > .modal,
 #modal-booking #booking-modal-inner{
  width:calc(100vw - 24px) !important;
  max-height:calc(100dvh - 24px) !important;
  border-radius:16px !important;
 }
 .ui-modal-head,
 .modal-header,
 .debt-card-header,
 .debt-calendar-modal-head,
 #modal-edit-order > .modal > div:first-child,
 .modal-body,
 .ui-modal-body,
 .debt-calendar-modal-body,
 .debt-card-form,
 #booking-modal-body-v2,
 #modal-edit-order > .modal > div:nth-child(2),
 .modal-footer,
 .ui-modal-actions,
 .debt-card-footer,
 .debt-calendar-modal-actions,
 #order-modal-box > div:last-child,
 #modal-edit-order > .modal > div:last-child{
  padding-left:18px !important;
  padding-right:18px !important;
 }
 .ui-modal-grid,
 .ui-modal-grid-3,
 .debt-card-grid,
 .debt-calendar-modal .debt-card-grid,
 .debt-card-layout{
  grid-template-columns:1fr !important;
 }
 .debt-card-summary{
  border-left:0 !important;
  border-top:1px solid var(--border-light) !important;
 }
}
@media (max-width:520px){
 .modal-bg{
  padding:0 !important;
  align-items:flex-end !important;
 }
 .modal-bg > .modal,
 .generic-modal-card,
 .ui-modal-card,
 .debt-calendar-modal,
 #modal-order #order-modal-box,
 #modal-edit-order > .modal,
 #modal-booking #booking-modal-inner{
  width:100vw !important;
  max-width:100vw !important;
  max-height:94dvh !important;
  border-radius:18px 18px 0 0 !important;
 }
 .modal-footer,
 .ui-modal-actions,
 .debt-card-footer,
 .debt-calendar-modal-actions,
 #order-modal-box > div:last-child,
 #modal-edit-order > .modal > div:last-child{
  align-items:stretch !important;
  flex-wrap:wrap !important;
 }
 .modal-footer .btn,
 .ui-modal-actions .btn,
 .debt-card-footer .btn,
 .debt-calendar-modal-actions .btn,
 #order-modal-box > div:last-child .btn,
 #modal-edit-order > .modal > div:last-child .btn{
 flex:1 1 0 !important;
 }
}

/* ===== Modal system pass 01b: booking preview is a card, not a form ===== */
#modal-booking #booking-modal-inner{
 width:min(520px, calc(100vw - 48px)) !important;
 max-height:calc(100dvh - 48px) !important;
 border-radius:18px !important;
 overflow:hidden !important;
 background:var(--bg-surface) !important;
 border:1px solid var(--crm-modal-border) !important;
 box-shadow:var(--crm-modal-shadow) !important;
}
#modal-booking #booking-modal-header{
 flex:0 0 auto !important;
 padding:16px 20px 18px !important;
 background:#282828 !important;
 background-image:none !important;
 color:#fff !important;
 border-bottom:0 !important;
 border-radius:18px 18px 0 0 !important;
}
#modal-booking #booking-modal-header > div:first-child{
 display:flex !important;
 align-items:center !important;
 justify-content:space-between !important;
 gap:10px !important;
 margin-bottom:14px !important;
 color:rgba(255,255,255,.72) !important;
}
#modal-booking #booking-modal-badges{
 display:flex !important;
 align-items:center !important;
 gap:8px !important;
 flex-wrap:wrap !important;
 min-width:0 !important;
}
#modal-booking #booking-modal-badges span{
 color:rgba(255,255,255,.78) !important;
 font-size:12px !important;
 line-height:1 !important;
}
#modal-booking #booking-modal-badges span:first-child{
 display:inline-flex !important;
 align-items:center !important;
 min-height:28px !important;
 padding:0 13px !important;
 border-radius:9px !important;
 border:1px solid rgba(255,255,255,.72) !important;
 background:rgba(255,255,255,.08) !important;
 color:#fff !important;
 font-size:12px !important;
 font-weight:800 !important;
}
#modal-booking #booking-modal-header button[onclick*="closeModal"]{
 width:auto !important;
 min-width:74px !important;
 height:30px !important;
 padding:0 13px !important;
 border:1px solid rgba(255,255,255,.18) !important;
 border-radius:9px !important;
 background:rgba(255,255,255,.08) !important;
 color:rgba(255,255,255,.9) !important;
 font-size:12px !important;
 font-weight:800 !important;
 box-shadow:none !important;
}
#modal-booking #booking-modal-header button[onclick*="closeModal"]:hover{
 background:rgba(255,255,255,.16) !important;
 color:#fff !important;
}
#modal-booking #booking-modal-client{
 margin:0 0 5px !important;
 color:#fff !important;
 font-size:20px !important;
 line-height:1.2 !important;
 font-weight:850 !important;
 letter-spacing:0 !important;
}
#modal-booking #booking-modal-sub{
 color:rgba(255,255,255,.66) !important;
 font-size:13px !important;
 line-height:1.35 !important;
}
#modal-booking #booking-modal-meta{
 display:grid !important;
 grid-template-columns:repeat(3, minmax(0,1fr)) !important;
 gap:9px !important;
 margin-top:16px !important;
}
#modal-booking #booking-modal-meta > div{
 min-width:0 !important;
 padding:10px 12px !important;
 border:1px solid rgba(255,255,255,.10) !important;
 border-radius:12px !important;
 background:rgba(255,255,255,.06) !important;
 color:#fff !important;
}
#modal-booking #booking-modal-meta > div > div:first-child{
 color:rgba(255,255,255,.48) !important;
 font-size:10px !important;
 font-weight:800 !important;
 letter-spacing:.08em !important;
 text-transform:uppercase !important;
}
#modal-booking #booking-modal-meta > div > div:last-child,
#modal-booking #booking-modal-meta > div > div:last-child span{
 color:#fff !important;
 font-size:13px !important;
 font-weight:800 !important;
}
#modal-booking #booking-modal-body-v2{
 flex:1 1 auto !important;
 min-height:0 !important;
 overflow:auto !important;
 padding:18px 20px !important;
 background:var(--bg-surface-2) !important;
 color:var(--text-primary) !important;
 gap:14px !important;
}
#modal-booking #booking-modal-inner > div:last-child{
 flex:0 0 auto !important;
 display:flex !important;
 align-items:center !important;
 justify-content:space-between !important;
 gap:12px !important;
 padding:14px 20px !important;
 border-top:1px solid var(--border) !important;
 background:var(--bg-surface) !important;
 border-radius:0 0 18px 18px !important;
}
#modal-booking #booking-modal-inner > div:last-child > div{
 display:flex !important;
 gap:10px !important;
 flex:0 0 auto !important;
}
#modal-booking #booking-edit-btn,
#modal-booking #booking-pay-btn,
#modal-booking #booking-save-dt-btn{
 height:38px !important;
 min-height:38px !important;
 border-radius:11px !important;
 padding:0 18px !important;
 font-size:12px !important;
 font-weight:850 !important;
 line-height:1 !important;
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 white-space:nowrap !important;
}
#modal-booking #booking-edit-btn{
 min-width:190px !important;
 background:#282828 !important;
 border-color:#282828 !important;
 color:#fff !important;
}
#modal-booking #booking-pay-btn,
#modal-booking #booking-save-dt-btn{
 min-width:104px !important;
 background:var(--bg-surface) !important;
 border:1px solid var(--border) !important;
 color:var(--text-primary) !important;
}
body.dark #modal-booking #booking-modal-header{
 background:#1c1c1c !important;
 border-bottom:1px solid var(--border) !important;
}
body.dark #modal-booking #booking-edit-btn{
 background:#ececec !important;
 border-color:#ececec !important;
 color:#181818 !important;
}
body.dark #modal-booking #booking-pay-btn,
body.dark #modal-booking #booking-save-dt-btn{
 background:#272727 !important;
 border-color:#3f3f3f !important;
 color:#f6f6f6 !important;
}
@media (max-width:620px){
 #modal-booking #booking-modal-meta{
  grid-template-columns:1fr !important;
 }
 #modal-booking #booking-modal-inner > div:last-child{
  align-items:stretch !important;
  flex-direction:column !important;
 }
 #modal-booking #booking-modal-inner > div:last-child > div{
  width:100% !important;
 }
 #modal-booking #booking-edit-btn,
 #modal-booking #booking-pay-btn,
 #modal-booking #booking-save-dt-btn{
  flex:1 1 0 !important;
  min-width:0 !important;
 }
}

/* ===== Modal system pass 01c: readable booking preview header ===== */
#modal-booking #booking-modal-inner{
 border:0 !important;
 outline:0 !important;
 box-shadow:0 26px 70px rgba(23, 23, 23,.34) !important;
}
#modal-booking #booking-modal-header,
#modal-booking #booking-modal-header *:not(button){
 color:#fafafa !important;
}
#modal-booking #booking-modal-client{
 color:#fafafa !important;
 opacity:1 !important;
 text-shadow:none !important;
}
#modal-booking #booking-modal-sub,
#modal-booking #booking-modal-badges span:not(:first-child){
 color:rgba(250, 250, 250,.74) !important;
 opacity:1 !important;
}
#modal-booking #booking-modal-meta > div > div:first-child{
 color:rgba(250, 250, 250,.58) !important;
}
#modal-booking #booking-modal-meta > div > div:last-child,
#modal-booking #booking-modal-meta > div > div:last-child *{
 color:#fff !important;
 opacity:1 !important;
}
#modal-booking #booking-modal-header button[onclick*="closeModal"]{
 color:#fafafa !important;
}
body.dark #modal-booking #booking-modal-inner{
 border:0 !important;
 outline:0 !important;
 box-shadow:0 30px 80px rgba(0,0,0,.58) !important;
}

/* ===== Modal system pass 01d: graphite booking preview header ===== */
#modal-booking #booking-modal-header{
 background:#292929 !important;
 background-image:none !important;
}
#modal-booking #booking-edit-btn{
 background:#292929 !important;
 border-color:#292929 !important;
 color:#fff !important;
}
#modal-booking #booking-modal-header button[onclick*="closeModal"]{
 background:rgba(255,255,255,.08) !important;
 border-color:rgba(255,255,255,.20) !important;
}
body.dark #modal-booking #booking-modal-header{
 background:#1a1a1a !important;
 background-image:none !important;
}
body.dark #modal-booking #booking-edit-btn{
 background:#525252 !important;
 border-color:#525252 !important;
 color:#fff !important;
}
/* ===== Booking wizard footer hardening ===== */
#modal-order [hidden]{
 display:none !important;
}

/* Edit order modal header hotfix: keep the header readable after the shared modal pass. */
#modal-edit-order > .modal > div:first-child{
 background:#282828 !important;
 background-image:none !important;
 color:#fff !important;
 min-height:72px !important;
 padding:16px 20px !important;
 border-bottom:1px solid rgba(255,255,255,.10) !important;
 box-sizing:border-box !important;
 gap:14px !important;
}
#modal-edit-order > .modal > div:first-child > div:first-child{
 min-width:0 !important;
 flex:1 1 auto !important;
}
#modal-edit-order #eo-client-avatar{
 width:34px !important;
 height:34px !important;
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 opacity:1 !important;
 visibility:visible !important;
 background:#404040 !important;
 color:#fff !important;
}
#modal-edit-order #eo-client-name{
 display:block !important;
 max-width:280px !important;
 overflow:hidden !important;
 text-overflow:ellipsis !important;
 white-space:nowrap !important;
 color:#fff !important;
 opacity:1 !important;
 font-size:15px !important;
 font-weight:800 !important;
 line-height:1.2 !important;
}
#modal-edit-order #eo-order-meta{
 display:block !important;
 max-width:280px !important;
 overflow:hidden !important;
 text-overflow:ellipsis !important;
 white-space:nowrap !important;
 color:rgba(255,255,255,.72) !important;
 opacity:1 !important;
 font-size:11px !important;
 line-height:1.25 !important;
 margin-top:3px !important;
}
#modal-edit-order #eo-status-dd{
 display:block !important;
 flex:0 0 auto !important;
 opacity:1 !important;
 visibility:visible !important;
}
#modal-edit-order .eo-status-dd-btn{
 display:inline-flex !important;
 align-items:center !important;
 justify-content:center !important;
 gap:7px !important;
 min-width:104px !important;
 height:32px !important;
 padding:0 11px !important;
 border:1px solid rgba(255,255,255,.20) !important;
 border-radius:10px !important;
 background:rgba(255,255,255,.08) !important;
 color:#fff !important;
 opacity:1 !important;
 box-shadow:none !important;
}
#modal-edit-order #eo-status-dd-label{
 display:inline !important;
 color:#fff !important;
 opacity:1 !important;
 font-size:11px !important;
 font-weight:800 !important;
 line-height:1 !important;
}
#modal-edit-order #eo-status-dd-dot{
 display:inline-block !important;
 width:7px !important;
 height:7px !important;
 border-radius:50% !important;
 opacity:1 !important;
}
#modal-edit-order > .modal > div:first-child button[onclick*="closeModal"]{
 display:inline-flex !important;
 width:32px !important;
 height:32px !important;
 min-width:32px !important;
 border:1px solid rgba(255,255,255,.18) !important;
 border-radius:10px !important;
 background:rgba(255,255,255,.08) !important;
 color:#fff !important;
 opacity:1 !important;
}

@media(max-width:560px){
 #modal-edit-order > .modal > div:first-child{
  padding:14px 16px !important;
 }
 #modal-edit-order #eo-client-name,
 #modal-edit-order #eo-order-meta{
  max-width:170px !important;
 }
 #modal-edit-order .eo-status-dd-btn{
  min-width:88px !important;
 }
}
#modal-order #order-modal-box > div:last-child{
 display:grid !important;
 grid-template-columns:minmax(0, 1fr) auto !important;
 align-items:center !important;
 gap:12px !important;
 padding:12px 22px !important;
 overflow:hidden !important;
}
#modal-order #order-modal-box > div:last-child > div{
 min-width:0 !important;
 display:flex !important;
 align-items:center !important;
 gap:8px !important;
}
#modal-order #order-modal-box > div:last-child > div:first-child{
 justify-content:flex-start !important;
 overflow:hidden !important;
}
#modal-order #order-modal-box > div:last-child > div:last-child{
 justify-content:flex-end !important;
 flex-wrap:nowrap !important;
}
#modal-order #order-modal-box > div:last-child .btn,
#modal-order #wiz-block-btn{
 min-height:38px !important;
 height:38px !important;
 flex:0 0 auto !important;
 white-space:nowrap !important;
 align-items:center !important;
 justify-content:center !important;
 box-sizing:border-box !important;
}
#modal-order #wiz-step-counter{
 flex:0 0 auto !important;
 white-space:nowrap !important;
}
#modal-order #wiz-block-btn{
 max-width:132px !important;
 overflow:hidden !important;
 text-overflow:ellipsis !important;
 padding:0 12px !important;
}

/* ===== iPad orders + calendar + finance layout v4 =====
   Stable workspaces for iPad without changing phone or desktop layouts. */
@media (min-width:769px) and (max-width:1200px){
 #page-orders{
  height:100dvh !important;
  overflow:hidden !important;
 }
 #page-orders > .content{
  height:calc(100dvh - 56px) !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  padding:14px 16px 16px !important;
 }
 #page-orders #orders-filter-bar{
  position:relative !important;
  top:auto !important;
  z-index:15 !important;
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) auto !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  padding:10px 12px !important;
  background:var(--bg-surface) !important;
 }
 #page-orders #orders-filter-bar > div:first-child{
  width:100% !important;
  min-width:0 !important;
 }
 #page-orders #of-date-range{
  grid-column:2 / span 2;
 }
 #page-orders #of-asg-row{
  min-width:142px !important;
 }
 #page-orders #of-active-chips{
  min-width:0 !important;
  overflow-x:auto !important;
  flex-wrap:nowrap !important;
  scrollbar-width:none;
 }
 #page-orders #of-active-chips::-webkit-scrollbar{
  display:none;
 }
 #page-orders #orders-summary{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:6px !important;
  overflow:visible !important;
 }
 #page-orders #orders-summary > *{
  min-width:0 !important;
  width:auto !important;
  margin:0 !important;
 }
 #page-orders #orders-table-view{
  flex:1 1 auto !important;
  min-height:0 !important;
  min-width:0 !important;
  overflow:hidden !important;
 }
 #page-orders #orders-table-view .table-wrap{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:none !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
 }
 #page-orders #orders-table{
  min-width:1500px !important;
 }
 #page-orders #orders-table thead th{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
 }
 #page-orders #orders-table.orders-ipad-columns [data-col-id="_seq"],
 #page-orders #orders-table.orders-ipad-columns [data-col-id="date"],
 #page-orders #orders-table.orders-ipad-columns [data-col-id="client"],
 #page-orders #orders-table.orders-ipad-columns [data-col-id="status"]{
  position:sticky !important;
  box-sizing:border-box !important;
  background:var(--bg-surface) !important;
 }
 #page-orders #orders-table.orders-ipad-columns [data-col-id="_seq"]{
  left:0 !important;
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  z-index:7 !important;
 }
 #page-orders #orders-table.orders-ipad-columns [data-col-id="date"]{
  left:42px !important;
  width:88px !important;
  min-width:88px !important;
  max-width:88px !important;
  z-index:7 !important;
 }
 #page-orders #orders-table.orders-ipad-columns [data-col-id="client"]{
  left:130px !important;
  width:174px !important;
  min-width:174px !important;
  max-width:174px !important;
  z-index:7 !important;
 }
 #page-orders #orders-table.orders-ipad-columns [data-col-id="status"]{
  left:304px !important;
  width:116px !important;
  min-width:116px !important;
  max-width:116px !important;
  z-index:7 !important;
  box-shadow:8px 0 12px -12px rgba(23, 23, 23,.65) !important;
 }
 #page-orders #orders-table.orders-ipad-columns thead [data-col-id="_seq"],
 #page-orders #orders-table.orders-ipad-columns thead [data-col-id="date"],
 #page-orders #orders-table.orders-ipad-columns thead [data-col-id="client"],
 #page-orders #orders-table.orders-ipad-columns thead [data-col-id="status"]{
  z-index:12 !important;
  background:var(--bg-surface-2) !important;
 }
 #page-orders #orders-table.orders-ipad-columns tbody tr:hover [data-col-id="_seq"],
 #page-orders #orders-table.orders-ipad-columns tbody tr:hover [data-col-id="date"],
 #page-orders #orders-table.orders-ipad-columns tbody tr:hover [data-col-id="client"],
 #page-orders #orders-table.orders-ipad-columns tbody tr:hover [data-col-id="status"]{
  background:var(--bg-surface-2) !important;
 }

 #page-calendar{
  height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
 }
 #page-calendar > .topbar + div{
  min-height:48px !important;
  height:48px !important;
  padding:0 12px !important;
  justify-content:flex-start !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
 }
 #page-calendar > .topbar + div::-webkit-scrollbar{
  display:none;
 }
 #page-calendar > .topbar + div > *{
  flex:0 0 auto !important;
 }
 #page-calendar #cal-main-area[data-cal-view="week"]{
  min-width:0 !important;
  min-height:0 !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }
 #page-calendar #cal-week-view{
  --cal-time-gutter:52px;
  width:max(100%,980px) !important;
  min-width:980px !important;
  height:auto !important;
  min-height:100% !important;
  display:block !important;
  overflow:visible !important;
 }
 #page-calendar:has(#cal-user-both.active) #cal-week-view{
  width:1480px !important;
  min-width:1480px !important;
 }
 #page-calendar #cal-week-header{
  position:sticky !important;
  top:0 !important;
  z-index:12 !important;
  width:100% !important;
  min-width:100% !important;
  padding-right:0 !important;
 }
 #page-calendar #cal-week-scroll-body{
  width:100% !important;
  min-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:var(--cal-time-gutter) minmax(0,1fr) !important;
  align-items:start !important;
  overflow:visible !important;
  scrollbar-gutter:auto !important;
 }
 #page-calendar #cal-time-col{
  position:sticky !important;
  left:0 !important;
  z-index:8 !important;
  width:var(--cal-time-gutter) !important;
  min-width:var(--cal-time-gutter) !important;
  background:var(--bg-surface-2) !important;
 }
 #page-calendar #cal-week-body{
  width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
 }
 #page-calendar #cal-day-view{
  width:max(100%,860px) !important;
  min-width:860px !important;
 }
 #page-calendar #cal-month-view{
  min-width:860px !important;
 }

 #page-finance{
  height:100dvh !important;
  overflow:hidden !important;
 }
 #page-finance > .finance-shell{
  height:calc(100dvh - 56px) !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:0 !important;
 }
 #page-finance .finance-subnav{
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  flex:0 0 50px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:5px !important;
  padding:7px 12px !important;
  border-right:0 !important;
  border-bottom:1px solid var(--border) !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
 }
 #page-finance .finance-subnav::-webkit-scrollbar{
  display:none;
 }
 #page-finance .finance-subnav > *{
  flex:0 0 auto !important;
 }
 #page-finance .finance-subnav > div{
  display:none !important;
 }
 #page-finance .finance-subnav .settings-nav-btn{
  width:auto !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 11px !important;
  border-radius:9px !important;
  font-size:12px !important;
  white-space:nowrap !important;
 }
 #page-finance .finance-subnav .settings-nav-icon{
  width:15px !important;
  height:15px !important;
  flex:0 0 15px !important;
 }
 #page-finance .finance-content{
  flex:1 1 auto !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:16px !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }
 #page-finance .payment-page-head{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) minmax(0,auto) !important;
  align-items:center !important;
  gap:10px 16px !important;
 }
 #page-finance .payment-page-actions{
  min-width:0 !important;
  max-width:100% !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding-bottom:3px !important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
 }
 #page-finance .payment-page-actions::-webkit-scrollbar{
  display:none;
 }
 #finance-section-debts .debt-calendar-block{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
 }
 #finance-section-debts .debt-calendar-filters,
 #finance-section-debts #debt-calendar,
 #finance-section-debts .debt-calendar-grid{
  min-width:860px !important;
 }
}

@media (min-width:769px) and (max-width:980px){
 #page-orders #orders-filter-bar{
  grid-template-columns:minmax(230px,1fr) auto !important;
 }
 #page-orders #orders-summary{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  overflow:visible !important;
  padding-bottom:0 !important;
 }
 #page-finance .payment-page-head{
  grid-template-columns:1fr !important;
 }
 #page-finance .payment-page-actions{
  justify-content:flex-start !important;
 }
}
@media (max-width:560px){
 #modal-order #order-modal-box > div:last-child{
  grid-template-columns:1fr !important;
  gap:10px !important;
 }
 #modal-order #order-modal-box > div:last-child > div{
  width:100% !important;
 }
 #modal-order #order-modal-box > div:last-child > div:last-child{
  justify-content:stretch !important;
 }
 #modal-order #order-modal-box > div:last-child .btn{
  flex:1 1 0 !important;
 }
}

/* Booking modal v20 — clean multi-service dropdown shell and scrolling. */
#modal-order .booking-section-services{
 position:relative!important;
 z-index:90!important;
}
#modal-order .booking-address-block{
 position:relative!important;
 z-index:1!important;
}

#modal-order .svc2-wrap .svc2-items.svc2-multi:focus{
 border:0!important;
 box-shadow:none!important;
 outline:0!important;
}




#modal-order .svc2-multi-menu::-webkit-scrollbar-thumb{
 border-radius:999px!important;
 background:var(--text-muted)!important;
}
#modal-order .svc2-multi-option{
 min-height:32px!important;
 padding:7px 8px!important;
 border-radius:6px!important;
}

/* Booking modal v10 — CRM-aligned controls and compact finance layout */
#modal-order #order-modal-box.booking-one-page{
 border:1px solid #d4d4d4!important;
 border-radius:12px!important;
 background:#fff!important;
 box-shadow:0 24px 64px rgba(19, 19, 19,.28)!important;
 overflow:hidden!important;
}
#modal-order .booking-one-page > div:first-child{
 background:#181818!important;
 border-bottom:1px solid #313131!important;
}
#modal-order .booking-one-page .booking-one-page-body{
 background:#f6f6f6!important;
}
#modal-order .booking-one-page .booking-section,
#modal-order .booking-one-page .booking-flow-block{
 border-color:#dfdfdf!important;
 border-radius:9px!important;
 box-shadow:0 1px 2px rgba(23, 23, 23,.035)!important;
}
#modal-order .booking-one-page .form-input,
#modal-order .booking-one-page #order-time-start-display,
#modal-order .booking-one-page #order-time-end-display{
 border-color:#d8d8d8!important;
 color:#212121!important;
 transition:border-color .15s,box-shadow .15s,background .15s!important;
}
#modal-order .booking-one-page .form-input:hover,
#modal-order .booking-one-page #order-time-start-display:hover,
#modal-order .booking-one-page #order-time-end-display:hover{
 border-color:#aeaeae!important;
}
#modal-order .booking-one-page .form-input:focus,
#modal-order .booking-one-page #order-time-start-display:focus,
#modal-order .booking-one-page #order-time-end-display:focus{
 border-color:var(--accent)!important;
 box-shadow:var(--crm-focus)!important;
 outline:0!important;
}

#modal-order .svc2-wrap{
 display:grid!important;
 grid-template-columns:minmax(120px,.78fr) minmax(0,1.55fr)!important;
 gap:8px!important;
 height:34px!important;
 max-height:none!important;
 border:0!important;
 border-radius:0!important;
 overflow:visible!important;
 background:transparent!important;
}
#modal-order .svc2-wrap .svc2-cats,
#modal-order .svc2-wrap .svc2-items{
 display:block!important;
 box-sizing:border-box!important;
 width:100%!important;
 min-width:0!important;
 height:34px!important;
 max-height:none!important;
 margin:0!important;
 padding:0 30px 0 10px!important;
 border:1px solid #d8d8d8!important;
 border-radius:7px!important;
 background-color:#fff!important;
 color:#212121!important;
 font:500 11px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif!important;
 cursor:pointer!important;
 overflow:visible!important;
}
#modal-order .svc2-wrap .svc2-cats:focus,
#modal-order .svc2-wrap .svc2-items:focus{
 border-color:var(--accent)!important;
 box-shadow:var(--crm-focus)!important;
 outline:0!important;
}

#modal-order .booking-datetime-block{
 z-index:30!important;
 overflow:visible!important;
}
#modal-order .booking-section-payment{
 z-index:2!important;
 overflow:visible!important;
}
#modal-order #order-time-drop-start,
#modal-order #order-time-drop-end,
#modal-order #order-client-drop,
#modal-order #order-loc-city-drop{
 position:absolute!important;
 top:calc(100% + 4px)!important;
 left:0!important;
 width:min(420px,calc(100vw - 64px))!important;
 min-width:min(100%,420px)!important;
 max-width:calc(100vw - 64px)!important;
 max-height:220px!important;
 overflow-y:auto!important;
 box-sizing:border-box!important;
 background:var(--bg-surface)!important;
 z-index:1200!important;
 border-color:#d4d4d4!important;
 border-style:solid!important;
 border-width:1px!important;
 border-radius:8px!important;
 box-shadow:0 14px 32px rgba(23, 23, 23,.18)!important;
}
#modal-order #order-loc-city-drop{
 padding:6px!important;
 border-radius:12px!important;
}
#modal-order .city-suggestion-section{
 padding:6px 10px 5px;
 color:var(--text-muted);
 font-size:10px;
 font-weight:800;
 letter-spacing:.07em;
 text-transform:uppercase;
}
#modal-order .city-suggestion{
 display:block;
 padding:9px 10px;
 border-radius:9px;
 color:var(--text-primary);
 cursor:pointer;
 transition:background .08s ease,box-shadow .08s ease;
}
#modal-order .city-suggestion:hover{
 background:var(--bg-surface-2);
}
#modal-order .city-suggestion + .city-suggestion{
 margin-top:2px;
}
#modal-order .city-suggestion-main{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 gap:10px;
}
#modal-order .city-suggestion-main strong{
 min-width:0;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 font-size:12px;
 line-height:1.25;
}
#modal-order .city-suggestion-price{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:54px;
 padding:3px 7px;
 border-radius:999px;
 background:var(--accent-light);
 color:var(--accent);
 font-size:11px;
 font-weight:800;
 white-space:nowrap;
}
#modal-order .city-suggestion-meta{
 margin-top:3px;
 min-width:0;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:var(--text-muted);
 font-size:11px;
 line-height:1.25;
}
#modal-order .city-suggestion-empty{
 padding:10px 12px;
 color:var(--text-muted);
 font-size:12px;
}
#modal-order .city-suggestion-add{
 display:flex;
 align-items:center;
 gap:7px;
 border-top:1px solid var(--border-light);
 color:var(--accent);
 font-size:12px;
 font-weight:700;
}
#modal-order .city-suggestion-add-icon{
 font-size:14px;
 line-height:1;
}
#modal-order #order-time-drop-start,
#modal-order #order-time-drop-end{
 width:100%!important;
}

#modal-order .booking-finance-content{
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 grid-template-rows:auto auto!important;
 box-sizing:border-box!important;
 column-gap:9px!important;
 row-gap:8px!important;
 padding:9px 14px!important;
}




#modal-order #svc2-expenses{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:5px 7px!important;
 min-width:0!important;
}
#modal-order #svc2-expenses .booking-expenses-title{
 grid-column:1/-1!important;
 margin:0!important;
 color:#737373!important;
 font-size:9px!important;
 letter-spacing:.02em!important;
 text-transform:none!important;
}
#modal-order #svc2-expenses .booking-expense-field{
 display:flex!important;
 flex-direction:column!important;
 align-items:stretch!important;
 gap:3px!important;
 min-width:0!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 background:transparent!important;
}
#modal-order #svc2-expenses .booking-expense-field > span{
 overflow:hidden!important;
 color:#868686!important;
 font-size:8px!important;
 line-height:1.1!important;
 text-overflow:ellipsis!important;
 white-space:nowrap!important;
}
#modal-order #svc2-expenses .booking-expense-field > div{width:100%!important}
#modal-order #svc2-expenses .booking-expense-field input{
 box-sizing:border-box!important;
 width:100%!important;
 height:30px!important;
 padding:5px 16px 5px 7px!important;
 border:1px solid #d8d8d8!important;
 border-radius:7px!important;
 background:#fafafa!important;
 color:#212121!important;
 font-size:10px!important;
 font-weight:600!important;
 text-align:left!important;
}
#modal-order #svc2-expenses .booking-expense-field input:focus{
 border-color:var(--accent)!important;
 background:#fff!important;
 box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)!important;
 outline:0!important;
}
#modal-order #svc2-expenses .booking-expenses-note{display:none!important}
#modal-order .booking-finance-details > summary{
 background:transparent!important;
}
#modal-order .booking-finance-content #order-status-vis3{
 padding-right:26px!important;
}
@media (min-width:930px) and (max-height:680px){
 #modal-order{padding:10px!important}
 #modal-order #order-modal-box.booking-one-page{
  height:calc(100dvh - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
 }
 #modal-order .booking-one-page > div:first-child{min-height:48px!important}
 #modal-order .booking-one-page .booking-one-page-body{
  grid-template-rows:140px 82px 145px!important;
  gap:10px 16px!important;
  padding:12px 16px!important;
  overflow-y:auto!important;
 }
 #modal-order .booking-one-page .booking-datetime-block{
  top:12px!important;
  height:226px!important;
  padding:12px!important;
 }
 #modal-order .booking-one-page .booking-section-payment{
  top:248px!important;
  height:169px!important;
 }
 #modal-order .booking-one-page textarea.form-input{
  min-height:48px!important;
  height:48px!important;
 }
 #modal-order .booking-one-page-footer{min-height:58px!important}
}

/* ===== iPad clients + services + modal workspace v1 ===== */
@media (min-width:769px) and (max-width:1366px){
 #page-clients,
 #page-services{
  height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
 }

 #page-clients > .content{
  height:calc(100dvh - 56px) !important;
  min-height:0 !important;
  padding:14px 0 16px 16px !important;
  overflow:hidden !important;
 }
 #page-clients > .content > div:first-child{
  flex-wrap:nowrap !important;
  min-height:38px !important;
  margin-bottom:10px !important;
  padding-right:16px !important;
  overflow-x:auto !important;
  scrollbar-width:thin;
 }
 #page-clients > .content > div:first-child > div:first-child{
  min-width:220px !important;
  max-width:320px !important;
 }
 #page-clients > .content > div:nth-child(2){
  position:relative !important;
  min-height:0 !important;
 }
 #page-clients > .content > div:nth-child(2) > div:first-child{
  min-height:0 !important;
  padding-right:16px !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }
 #page-clients .clients-board-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
 }
 #clients-side-panel{
  position:fixed !important;
  z-index:410 !important;
  top:56px !important;
  right:0 !important;
  bottom:0 !important;
  width:min(390px,46vw) !important;
  max-width:420px !important;
  height:auto !important;
  background:var(--bg-card) !important;
  border-left:1px solid var(--border) !important;
  box-shadow:-18px 0 38px rgba(23, 23, 23,.16) !important;
  transform:translateX(105%) !important;
  transition:transform .2s ease !important;
  overflow:hidden !important;
 }
 #clients-side-panel.mobile-open,
 #clients-side-panel[style*="width: 360px"],
 #clients-side-panel[style*="width:360px"],
 #clients-side-panel[style*="width: 100%"],
 #clients-side-panel[style*="width:100%"]{
  transform:translateX(0) !important;
 }
 #clients-side-inner{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }

 #page-services > .svc-page-content{
  display:flex !important;
  flex-direction:column !important;
  height:calc(100dvh - 56px) !important;
  min-height:0 !important;
  padding:14px 16px 16px !important;
  overflow:hidden !important;
 }
 #page-services .svc-page-tabs{
  flex:0 0 auto !important;
  margin-bottom:10px !important;
 }
 #page-services #svc-page-catalog{
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  min-height:0 !important;
  overflow:hidden !important;
 }
 #svc-page-catalog > .settings-section-desc{
  flex:0 0 auto !important;
  margin:0 0 10px !important;
 }
 #svc-page-catalog > .svc-workspace{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
 }
 #svc-page-catalog .svc-layout{
  grid-template-columns:240px minmax(0,1fr) !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
 }
 #svc-page-catalog .svc-sidebar,
 #svc-page-catalog .svc-content,
 #svc-page-catalog .svc-content-body{
  min-height:0 !important;
 }
 #svc-page-catalog .svc-nav-list{
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }
 #svc-page-catalog .svc-content{
  display:flex !important;
  flex-direction:column !important;
  padding:16px !important;
  overflow:hidden !important;
 }
 #svc-page-catalog .svc-content-body{
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  overflow:hidden !important;
 }
 #svc-page-catalog .svc-grid{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }
 #svc-page-catalog .svc-hero{
  padding:12px 14px !important;
 }
 #svc-page-catalog .svc-metrics{
  flex:0 0 auto !important;
  margin:8px 0 !important;
 }

 .modal-bg{
  align-items:center !important;
  padding:16px !important;
  overflow:hidden !important;
 }
 .modal-bg > .modal,
 .modal-bg > .ui-modal-card,
 #modal-order #order-modal-box{
  display:flex !important;
  flex-direction:column !important;
  max-height:calc(100dvh - 32px) !important;
  overflow:hidden !important;
 }
 .modal-bg .modal-header,
 .modal-bg .ui-modal-head,
 .modal-bg .modal-footer,
 .modal-bg .ui-modal-footer{
  flex:0 0 auto !important;
 }
 .modal-bg .modal-body,
 .modal-bg .ui-modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
 }
 #modal-order #order-modal-box{
  width:min(720px,calc(100vw - 32px)) !important;
  height:min(720px,calc(100dvh - 32px)) !important;
 }
 #modal-edit-order > .modal{
  width:min(760px,calc(100vw - 32px)) !important;
 }
 #modal-client > .ui-modal-card{
  width:min(680px,calc(100vw - 32px)) !important;
 }
 #modal-payment > .modal,
 #modal-edit-payment > .modal,
 #modal-schedule > .modal,
 #modal-export-slots > .modal{
  width:min(620px,calc(100vw - 32px)) !important;
 }
 #modal-block > .modal,
 #modal-svc-block > .modal{
  width:min(560px,calc(100vw - 32px)) !important;
 }
}

@media (min-width:769px) and (max-width:980px){
 #page-clients .clients-board-grid{
  grid-template-columns:1fr !important;
 }
 #clients-side-panel{
  width:min(420px,54vw) !important;
 }
 #svc-page-catalog .svc-layout{
  grid-template-columns:210px minmax(0,1fr) !important;
 }
 #svc-page-catalog .svc-content{
  padding:12px !important;
 }
}

@media (min-width:769px) and (max-height:820px){
 .modal-bg{
  align-items:flex-start !important;
  padding:12px 16px !important;
  overflow-y:auto !important;
 }
 .modal-bg > .modal,
 .modal-bg > .ui-modal-card,
 #modal-order #order-modal-box{
  max-height:calc(100dvh - 24px) !important;
 }
 #modal-order #order-modal-box{
  height:calc(100dvh - 24px) !important;
 }
}

/* Final booking one-page overrides: keep after the shared modal audit layer. */
#modal-order #order-modal-box.booking-one-page{
 width:min(960px,calc(100vw - 32px))!important;
 max-width:960px!important;
 height:min(760px,calc(100vh - 32px))!important;
 max-height:calc(100vh - 32px)!important;
}
#modal-order .booking-one-page .booking-wizard-progress{display:none!important}
#modal-order .booking-one-page .booking-one-page-body{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 grid-template-areas:"client payment" "services location"!important;
 gap:12px!important;
 padding:14px!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 align-content:start!important;
}
#modal-order .booking-one-page .booking-section{
 position:static!important;
 inset:auto!important;
 display:block!important;
 min-height:0!important;
 height:auto!important;
 padding:15px!important;
 overflow:visible!important;
}
#modal-order .booking-one-page .booking-section-client{display:flex!important;grid-area:client}
#modal-order .booking-one-page .booking-section-services{grid-area:services}
#modal-order .booking-one-page .booking-section-payment{grid-area:payment}
#modal-order .booking-one-page .booking-section-location{grid-area:location}
#modal-order .booking-one-page .booking-section-summary{display:none!important}
#modal-order .booking-one-page-footer #wiz-btn-back,
#modal-order .booking-one-page-footer #wiz-btn-next,
#modal-order .booking-one-page-footer #wiz-step-counter{display:none!important}
@media(max-width:720px){
 #modal-order #order-modal-box.booking-one-page{
  width:calc(100vw - 16px)!important;
  height:calc(100dvh - 16px)!important;
  max-height:calc(100dvh - 16px)!important;
 }
 #modal-order .booking-one-page .booking-one-page-body{display:flex!important;flex-direction:column!important}
}

/* Booking form v2: compact three-column desktop workspace. */
@media (min-width:981px){
 #modal-order{
  align-items:center!important;
  padding:18px!important;
  overflow:hidden!important;
 }
 #modal-order #order-modal-box.booking-one-page{
  width:min(1180px,calc(100vw - 36px))!important;
  max-width:1180px!important;
  height:auto!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:hidden!important;
 }
 #modal-order .booking-one-page > div:first-child{
  padding:13px 20px!important;
 }
 #modal-order .booking-one-page > div:first-child > div:first-child{
  margin-bottom:10px!important;
 }
 #modal-order .booking-one-page #wiz-assignee-row{
  width:220px!important;
 }
 #modal-order .booking-one-page .booking-one-page-body{
  display:grid!important;
  grid-template-columns:minmax(250px,.88fr) minmax(290px,1fr) minmax(340px,1.15fr)!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:
   "client payment location"
   "services payment location"!important;
  column-gap:12px!important;
  row-gap:10px!important;
  align-items:start!important;
  align-content:start!important;
  flex:0 1 auto!important;
  min-height:0!important;
  padding:12px!important;
  overflow:visible!important;
 }
 #modal-order .booking-one-page .booking-section{
  align-self:start!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:12px!important;
  overflow:visible!important;
  border-radius:8px!important;
 }
 #modal-order .booking-one-page .booking-section-client{
  grid-area:client!important;
  display:flex!important;
 }
 #modal-order .booking-one-page .booking-section-services{grid-area:services!important}
 #modal-order .booking-one-page .booking-section-payment{grid-area:payment!important}
 #modal-order .booking-one-page .booking-section-location{grid-area:location!important}
 #modal-order .booking-one-page .booking-section-title{
  margin-bottom:10px!important;
  padding-bottom:8px!important;
 }
 #modal-order .booking-one-page .form-input,
 #modal-order .booking-one-page #order-time-start-display,
 #modal-order .booking-one-page #order-time-end-display{
  min-height:36px!important;
  height:36px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
 }
 #modal-order .booking-one-page textarea.form-input{
  height:54px!important;
  min-height:54px!important;
 }
 #modal-order .booking-one-page #order-amount-vis{
  font-size:15px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
 }
 #modal-order .booking-one-page .booking-section-payment > div,
 #modal-order .booking-one-page .booking-section-location > div{
  gap:9px!important;
 }
 #modal-order .booking-one-page #svc2-expenses > div:not(:first-child):not(:last-child){
  grid-template-columns:minmax(0,1fr) 82px!important;
 }
 #modal-order .booking-one-page #svc2-expenses input{
  min-width:0!important;
  box-sizing:border-box!important;
 }
 #modal-order .booking-one-page-footer{
  padding:10px 14px!important;
 }
}

/* iPad and narrow laptop fallback: two columns with one shared scroll area. */
@media (min-width:721px) and (max-width:980px){
 #modal-order #order-modal-box.booking-one-page{
  width:calc(100vw - 24px)!important;
  height:calc(100dvh - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
 }
 #modal-order .booking-one-page .booking-one-page-body{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-areas:"client payment" "services location"!important;
  align-items:start!important;
 }
 #modal-order .booking-one-page .booking-section{
  align-self:start!important;
 }
}

/* Booking form v3: client -> service -> location -> date and time. */
#modal-order .booking-step-number{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:24px;
 height:20px;
 margin-right:7px;
 border-radius:6px;
 background:var(--bg-surface-2);
 border:1px solid var(--border-light);
 color:var(--text-muted);
 font-size:10px;
 font-weight:800;
}
#modal-order .booking-finance-details{width:100%}
#modal-order .booking-finance-details > summary{
 display:flex;
 align-items:center;
 justify-content:space-between;
 min-height:42px;
 padding:0 14px;
 cursor:pointer;
 list-style:none;
 color:var(--text-secondary);
 font-size:12px;
 font-weight:700;
 user-select:none;
}
#modal-order .booking-finance-details > summary::-webkit-details-marker{display:none}
#modal-order .booking-finance-details > summary::after{
 content:'+';
 display:flex;
 align-items:center;
 justify-content:center;
 width:22px;
 height:22px;
 margin-left:10px;
 border:1px solid var(--border);
 border-radius:6px;
 color:var(--text-muted);
 font-size:15px;
 font-weight:500;
}
#modal-order .booking-finance-details[open] > summary::after{content:'−'}
#modal-order .booking-finance-hint{
 margin-left:auto;
 color:var(--text-muted);
 font-size:10px;
 font-weight:500;
}
#modal-order .booking-finance-content{
 padding:14px;
 border-top:1px solid var(--border-light);
}
#modal-order .booking-location-layout{display:grid;gap:12px}
#modal-order .booking-flow-block{
 min-width:0;
 padding:15px;
 border:1px solid var(--border-light);
 border-radius:8px;
 background:var(--bg-surface);
}
#modal-order .booking-datetime-block{
 display:flex;
 flex-direction:column;
 gap:13px;
}
#modal-order .booking-notes-field{margin-top:auto}

@media (min-width:981px){
 #modal-order #order-modal-box.booking-one-page{
  width:min(1180px,calc(100vw - 36px))!important;
  max-width:1180px!important;
 }
 #modal-order .booking-one-page .booking-one-page-body{
  grid-template-columns:minmax(270px,.82fr) minmax(0,2.18fr)!important;
  grid-template-rows:auto auto auto!important;
  grid-template-areas:
   "client location"
   "services location"
   "payment payment"!important;
  gap:12px!important;
  padding:14px!important;
 }
 #modal-order .booking-one-page .booking-section-client,
 #modal-order .booking-one-page .booking-section-services{
  padding:15px!important;
 }
 #modal-order .booking-one-page .booking-section-location{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
 }
 #modal-order .booking-one-page .booking-location-layout{
  grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);
  height:100%;
 }
 #modal-order .booking-one-page .booking-section-payment{
  padding:0!important;
  overflow:hidden!important;
 }
 #modal-order .booking-one-page .booking-finance-content{
  display:grid!important;
  grid-template-columns:1fr 1fr 1.4fr 1fr;
  align-items:start;
  gap:12px!important;
 }
 #modal-order .booking-one-page #svc2-expenses{min-width:0}
}

@media (min-width:721px) and (max-width:980px){
 #modal-order .booking-one-page .booking-one-page-body{
  grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)!important;
  grid-template-areas:
   "client location"
   "services location"
   "payment payment"!important;
 }
 #modal-order .booking-one-page .booking-section-location{
  padding:0!important;
  border:0!important;
  background:transparent!important;
 }
 #modal-order .booking-one-page .booking-location-layout{grid-template-columns:1fr}
 #modal-order .booking-one-page .booking-section-payment{padding:0!important}
}

@media (max-width:720px){
 #modal-order .booking-one-page .booking-section-client{order:1}
 #modal-order .booking-one-page .booking-section-services{order:2}
 #modal-order .booking-one-page .booking-section-location{order:3}
 #modal-order .booking-one-page .booking-section-payment{order:4;padding:0!important}
 #modal-order .booking-one-page .booking-location-layout{grid-template-columns:1fr}
 #modal-order .booking-one-page .booking-flow-block{padding:14px}
}

/* Booking form v4 — faithful compact two-column layout. */
#modal-order{
 padding:20px!important;
 background:rgba(23, 23, 23,.48)!important;
 backdrop-filter:blur(5px);
}
#modal-order #order-modal-box.booking-one-page{
 width:min(930px,calc(100vw - 40px))!important;
 max-width:930px!important;
 height:min(596px,calc(100dvh - 40px))!important;
 max-height:calc(100dvh - 40px)!important;
 border:1px solid rgba(212, 212, 212,.82)!important;
 border-radius:10px!important;
 box-shadow:0 26px 70px rgba(23, 23, 23,.28)!important;
}
#modal-order .booking-one-page > div:first-child{
 display:grid!important;
 grid-template-columns:1fr auto!important;
 align-items:center!important;
 gap:16px!important;
 min-height:48px!important;
 padding:0 16px!important;
 background:#131313!important;
}
#modal-order .booking-one-page > div:first-child > div:first-child{
 display:contents!important;
 margin:0!important;
}
#modal-order .booking-one-page > div:first-child > div:first-child > div{
 order:1;
}
#modal-order .booking-one-page > div:first-child > div:first-child > button{
 order:2;
 width:26px!important;
 height:26px!important;
 border:0!important;
 background:transparent!important;
 color:#a1a1a1!important;
 font-size:17px!important;
}
#modal-order .booking-one-page #wiz-assignee-row{
 display:none!important;
}
#modal-order .booking-one-page #wiz-assignee-row > button{
 width:auto!important;
 min-width:86px!important;
 height:30px!important;
 padding:4px 9px!important;
 border:1px solid rgba(255,255,255,.08)!important;
 border-radius:7px!important;
 background:rgba(255,255,255,.08)!important;
 box-shadow:none!important;
}
#modal-order .booking-one-page #assignee-btn-admin > span:first-child{
 width:20px!important;
 height:20px!important;
 background:rgba(255,255,255,.13)!important;
}
#modal-order .booking-one-page #assignee-check-admin{display:none!important}

#modal-order .booking-one-page .booking-one-page-body{
 display:grid!important;
 grid-template-columns:minmax(0,1.36fr) minmax(340px,1fr)!important;
 grid-template-rows:166px 92px 164px!important;
 grid-template-areas:
  "client datetime"
  "services datetime"
  "address payment"!important;
 gap:12px 16px!important;
 padding:16px!important;
 overflow:hidden!important;
 align-content:stretch!important;
 background:#fafafa!important;
}
#modal-order.open .booking-one-page .booking-one-page-body{
 display:grid!important;
}
#modal-order .booking-one-page .booking-section,
#modal-order .booking-one-page .booking-flow-block{
 min-width:0!important;
 min-height:0!important;
 height:auto!important;
 padding:14px!important;
 overflow:visible!important;
 border:1px solid #e4e4e4!important;
 border-radius:8px!important;
 background:var(--bg-surface)!important;
 box-shadow:0 1px 2px rgba(23, 23, 23,.02)!important;
}
#modal-order #order-modal-box > div.booking-one-page-body > div[id^="wiz-step"]{
 padding:14px!important;
}
#modal-order #order-modal-box > div.booking-one-page-body > #wiz-step-3,
#modal-order #order-modal-box > div.booking-one-page-body > #wiz-step-4{
 padding:0!important;
}
#modal-order .booking-one-page .booking-section-client{
 grid-area:client!important;
 display:flex!important;
 flex-direction:column!important;
}
#modal-order .booking-one-page .booking-section-services{grid-area:services!important}
#modal-order .booking-one-page .booking-section-payment{
 grid-area:payment!important;
 display:block!important;
 align-self:stretch!important;
 height:100%!important;
 padding:0!important;
 overflow:hidden!important;
}
#modal-order .booking-one-page .booking-section-location,
#modal-order .booking-one-page .booking-location-layout{
 display:contents!important;
}
#modal-order .booking-one-page #wiz-step-4{display:contents!important}
#modal-order .booking-one-page .booking-address-block{
 grid-area:address!important;
 align-self:stretch!important;
 height:100%!important;
}
#modal-order .booking-one-page .booking-datetime-block{
 grid-area:datetime!important;
 display:flex!important;
 flex-direction:column!important;
 gap:10px!important;
}
#modal-order .booking-one-page .booking-section-title{
 display:flex!important;
 align-items:center!important;
 min-height:23px!important;
 margin:0 0 10px!important;
 padding:0!important;
 border:0!important;
 color:#212121!important;
 font-size:12px!important;
 font-weight:800!important;
}
#modal-order .booking-step-number{
 width:20px!important;
 height:20px!important;
 margin-right:8px!important;
 border:0!important;
 border-radius:50%!important;
 background:var(--action-primary)!important;
 color:var(--action-primary-contrast)!important;
 font-size:9px!important;
}
#modal-order .booking-one-page .form-input,
#modal-order .booking-one-page #order-time-start-display,
#modal-order .booking-one-page #order-time-end-display{
 box-sizing:border-box!important;
 min-height:34px!important;
 height:34px!important;
 padding:7px 10px!important;
 border-color:#e0e0e0!important;
 border-radius:7px!important;
 background:var(--bg-surface)!important;
 font-size:11px!important;
 box-shadow:0 1px 2px rgba(23, 23, 23,.025)!important;
}
#modal-order .booking-one-page textarea.form-input{
 min-height:58px!important;
 height:58px!important;
 resize:none!important;
}
#modal-order .booking-one-page .om-lbl,
#modal-order .booking-mini-label{
 margin:0 0 5px!important;
 color:#868686!important;
 font-size:9px!important;
 font-weight:700!important;
 letter-spacing:0!important;
 text-transform:none!important;
}

#modal-order .booking-time-select{padding-top:14px!important}
#modal-order .booking-time-select .booking-mini-label{
 position:absolute;
 top:0;
 left:0;
}
#modal-order .booking-date-field{margin:0!important}
#modal-order .booking-time-field{margin:0!important}
#modal-order .booking-notes-field{margin-top:0!important}
#modal-order #order-duration-pill,
#modal-order #order-busy-slots-wrap{margin-top:4px!important}


#modal-order #order-client-section{gap:8px!important}
#modal-order #order-client-search{padding-left:30px!important}
#modal-order .booking-client-card{
 display:flex;
 align-items:center;
 gap:10px;
 min-height:52px;
 padding:8px 10px;
 border:1px solid #e0e0e0;
 border-radius:7px;
 background:var(--bg-surface);
}
#modal-order .booking-client-avatar{
 display:flex;
 align-items:center;
 justify-content:center;
 width:34px;
 height:34px;
 flex:0 0 34px;
 border-radius:10px;
 background:var(--accent-light);
 color:#727272;
 font-size:10px;
 font-weight:800;
}
#modal-order .booking-client-meta{
 margin-top:2px;
 overflow:hidden;
 color:#727272;
 font-size:10px;
 text-overflow:ellipsis;
 white-space:nowrap;
}
#modal-order .booking-client-sep{padding:0 4px;color:#d4d4d4}
#modal-order .booking-client-change{
 border:0;
 background:transparent;
 color:var(--accent);
 cursor:pointer;
 font:600 10px/1 inherit;
}
#modal-order .booking-client-remove{
 display:flex;
 align-items:center;
 justify-content:center;
 width:24px;
 height:32px;
 padding:0;
 border:0;
 border-left:1px solid #e7e7e7;
 background:transparent;
 color:#727272;
 cursor:pointer;
 font-size:16px;
}

#modal-order .booking-section-services{padding:10px 14px!important}
#modal-order .booking-section-services .booking-section-title{min-height:20px!important;margin-bottom:6px!important}
#modal-order .svc2-wrap{
 grid-template-columns:130px 1fr!important;
 height:36px!important;
 max-height:36px!important;
 border-radius:7px!important;
}
#modal-order .svc2-cats{padding:3px!important}
#modal-order .svc2-cat-btn{min-height:28px!important;padding:4px 7px!important;font-size:10px!important}
#modal-order .svc2-items{height:36px!important}
#modal-order .svc2-item{min-height:34px!important;padding:4px 10px!important}
#modal-order #svc2-table,
#modal-order #svc2-total-wrap{display:none!important}

#modal-order #order-location-section{
 position:relative;
 display:grid!important;
 grid-template-columns:minmax(130px,1.15fr) minmax(120px,1fr) 70px 66px!important;
 gap:8px!important;
 align-items:end!important;
}
#modal-order #order-location-section > .om-lbl,
#modal-order #order-location-section > details,
#modal-order #order-loc-preview{grid-column:1/-1!important}
#modal-order #order-location-section > .om-lbl{margin-bottom:-2px!important}
#modal-order #order-location-section > details summary{padding-top:2px!important}
#modal-order #order-loc-preview{margin-top:0!important}

#modal-order .booking-finance-details{height:100%!important}
#modal-order .booking-finance-details > summary{
 min-height:40px!important;
 padding:0 14px!important;
 border-bottom:1px solid #e8e8e8!important;
 color:#333333!important;
 font-size:12px!important;
 font-weight:800!important;
 pointer-events:none;
}
#modal-order .booking-finance-details > summary::after,
#modal-order .booking-finance-hint{display:none!important}
#modal-order .booking-finance-content{
 display:grid!important;
 grid-template-columns:minmax(0,1.45fr) minmax(92px,.8fr)!important;
 grid-template-rows:auto auto!important;
 align-items:start!important;
 column-gap:12px!important;
 row-gap:10px!important;
 height:calc(100% - 40px)!important;
 padding:10px 14px!important;
 border:0!important;
}

#modal-order .booking-finance-content > div:nth-child(1){grid-column:1;grid-row:1}
#modal-order .booking-finance-content > div:nth-child(2){grid-column:2;grid-row:1}
#modal-order .booking-finance-content > div:nth-child(3){grid-column:1;grid-row:2}
#modal-order .booking-finance-content > div:nth-child(4){grid-column:2;grid-row:2}
#modal-order .booking-finance-content #order-amount-vis{
 min-height:40px!important;
 height:40px!important;
 padding:7px 16px 7px 5px!important;
 color:var(--accent)!important;
 font-size:12px!important;
}
#modal-order .booking-finance-content #order-amount-vis + span{
 right:5px!important;
 font-size:10px!important;
}
#modal-order .booking-finance-content input[type="number"]{
 appearance:textfield;
 -moz-appearance:textfield;
}
#modal-order .booking-finance-content input[type="number"]::-webkit-inner-spin-button,
#modal-order .booking-finance-content input[type="number"]::-webkit-outer-spin-button{
 margin:0;
 appearance:none;
}
#modal-order #svc2-expenses{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:7px!important;
 min-width:0!important;
}
#modal-order #svc2-expenses > div:first-child{
 grid-column:1/-1!important;
 margin-bottom:0!important;
 font-size:9px!important;
}
#modal-order #svc2-expenses > div:not(:first-child):not(:last-child):not(:nth-last-child(2)){
 display:grid!important;
 grid-template-columns:1fr!important;
 gap:3px!important;
 min-width:0!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 background:transparent!important;
}
#modal-order #svc2-expenses > div:not(:first-child):not(:last-child):not(:nth-last-child(2)) > span{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
#modal-order #svc2-expenses input{
 box-sizing:border-box!important;
 width:100%!important;
 min-width:0!important;
 padding:5px 14px 5px 6px!important;
}
#modal-order #svc2-expenses > div:nth-last-child(2),
#modal-order #svc2-expenses > div:last-child{display:none!important}

#modal-order .booking-one-page-footer{
 min-height:64px!important;
 padding:0 16px!important;
 border-top:1px solid #e7e7e7!important;
 background:var(--bg-surface)!important;
}
#modal-order .booking-one-page-footer .btn,
#modal-order .booking-one-page-footer #wiz-block-btn{
 min-height:var(--control-height,36px)!important;
 padding:0 16px!important;
 border-radius:var(--control-radius,8px)!important;
 font-size:var(--control-font,12px)!important;
}
#modal-order .booking-one-page-footer #order-save-btn{
 min-width:116px!important;
 background:var(--action-primary)!important;
 border-color:var(--action-primary)!important;
 box-shadow:0 5px 14px rgba(22,131,75,.2)!important;
}

body.dark #modal-order .booking-one-page .booking-one-page-body{background:var(--bg-app)!important}
body.dark #modal-order .booking-one-page .booking-section,
body.dark #modal-order .booking-one-page .booking-flow-block{border-color:var(--border)!important}

@media (min-width:930px){
 #modal-order .booking-one-page .booking-one-page-body{
  grid-template-columns:minmax(0,510px) 372px!important;
  grid-template-rows:169px 92px 159px!important;
  grid-template-areas:
   "client ."
   "services ."
   "address ."!important;
  gap:15px 16px!important;
  position:relative!important;
 }
 #modal-order .booking-one-page .booking-datetime-block{
  position:absolute!important;
  grid-area:auto!important;
  top:16px!important;
  right:16px!important;
  bottom:auto!important;
  left:auto!important;
  width:372px!important;
  height:258px!important;
  box-sizing:border-box!important;
 }
 #modal-order .booking-one-page .booking-section-payment{
  position:absolute!important;
  grid-area:auto!important;
  top:290px!important;
  right:16px!important;
  bottom:auto!important;
  left:auto!important;
  width:372px!important;
  height:177px!important;
  box-sizing:border-box!important;
 }
}

@media (max-width:840px){
 #modal-order{padding:12px!important}
 #modal-order #order-modal-box.booking-one-page{
  width:calc(100vw - 24px)!important;
  height:calc(100dvh - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
 }
 #modal-order .booking-one-page .booking-one-page-body{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:10px!important;
  overflow-y:auto!important;
 }
 #modal-order .booking-one-page .booking-section-location,
 #modal-order .booking-one-page .booking-location-layout{display:contents!important}
 #modal-order .booking-one-page .booking-section,
 #modal-order .booking-one-page .booking-flow-block{
  flex:0 0 auto!important;
  align-self:stretch!important;
  width:auto!important;
  height:auto!important;
 }
 #modal-order .booking-one-page .booking-section-client{order:1!important}
 #modal-order .booking-one-page .booking-section-services{order:2!important}
 #modal-order .booking-one-page .booking-address-block{order:3!important}
 #modal-order .booking-one-page .booking-datetime-block{order:4!important}
 #modal-order .booking-one-page .booking-section-payment{order:5!important;min-height:170px!important}
 #modal-order #order-location-section{grid-template-columns:1fr 1fr 70px 66px!important}
 #modal-order .booking-finance-content{grid-template-columns:1fr 1fr!important;height:auto!important}
 #modal-order #svc2-expenses{grid-column:1/-1!important}
}

/* Booking modal v19 — content-sized service row without overlap */
#modal-order{
 padding:8px!important;
}
#modal-order #order-modal-box.booking-one-page{
 max-height:calc(100dvh - 16px)!important;
}
#modal-order .booking-one-page .booking-one-page-body{
 grid-template-rows:126px max-content 196px!important;
 gap:10px 16px!important;
 padding:12px 16px!important;
}
#modal-order .booking-one-page .booking-section-client{
 min-height:126px!important;
}
#modal-order .booking-section-services{
 min-height:max-content!important;
}
@media (max-width:840px){
 #modal-order{padding:5px!important}
 #modal-order #order-modal-box.booking-one-page{max-height:calc(100dvh - 10px)!important}
}

@media (max-width:560px){
 #modal-order .booking-one-page > div:first-child{grid-template-columns:1fr auto!important;gap:8px!important}
 #modal-order #order-location-section{grid-template-columns:1fr 1fr!important}
 #modal-order #order-location-section > .om-lbl,
 #modal-order #order-location-section > details,
 #modal-order #order-loc-preview{grid-column:1/-1!important}
 #modal-order .booking-finance-content{grid-template-columns:1fr!important}
 #modal-order #svc2-expenses{grid-column:auto!important}
 #modal-order .booking-one-page-footer{min-height:58px!important;padding:8px!important}
 #modal-order .booking-one-page-footer #wiz-block-btn{font-size:0!important;width:40px!important;padding:0!important}
 #modal-order .booking-one-page-footer #wiz-block-btn svg{margin:0!important;width:14px!important;height:14px!important}
}

/* Booking modal v10 final cascade guard */
#modal-order .booking-section-payment{overflow:visible!important}
#modal-order .booking-finance-content{
 box-sizing:border-box!important;
 padding:1px 14px!important;
 row-gap:1px!important;
}
#modal-order #order-duration-pill{display:none!important}
@media (min-width:930px){
 #modal-order .booking-finance-content{height:135px!important}
}
@media (min-width:930px) and (max-height:680px){
 #modal-order .booking-finance-content{height:127px!important}
}

/* Booking modal v11 — exact reference geometry */
@media (min-width:841px){
 #modal-order .booking-one-page .booking-one-page-body{
  grid-template-columns:minmax(0,508px) minmax(0,372px)!important;
  grid-template-rows:169px 92px 159px!important;
  gap:15px 16px!important;
  padding:16px!important;
  align-content:stretch!important;
 }
 #modal-order .booking-one-page #wiz-step-1,
 #modal-order .booking-one-page #wiz-step-2,
 #modal-order .booking-one-page .booking-address-block{
  box-sizing:border-box!important;
  align-self:stretch!important;
  width:100%!important;
  height:100%!important;
 }
 #modal-order .booking-one-page #wiz-step-1,
 #modal-order .booking-one-page #wiz-step-2{
  justify-self:stretch!important;
 }
 #modal-order .booking-one-page .booking-section-client{
  min-height:169px!important;
 }
 #modal-order .booking-one-page .booking-section-services{
  min-height:92px!important;
 }
 #modal-order .booking-one-page .booking-address-block{
  min-height:159px!important;
  overflow:hidden!important;
 }
 #modal-order #order-services-block{
  display:block!important;
 }
 #modal-order #order-location-section > details:not([open]) > :not(summary){
  display:none!important;
 }
}

/* Booking modal v12 — native CRM tokens and rebalanced sections */
#modal-order #order-modal-box.booking-one-page{
 border-color:var(--border)!important;
 border-radius:var(--radius-lg)!important;
 background:var(--bg-surface)!important;
 box-shadow:var(--shadow-lg)!important;
}
#modal-order .booking-one-page > div:first-child{
 background:var(--sidebar-bg-dark)!important;
 border-color:var(--border)!important;
}
#modal-order .booking-one-page .booking-one-page-body{
 background:var(--bg-app)!important;
}
#modal-order .booking-one-page .booking-section,
#modal-order .booking-one-page .booking-flow-block{
 border-color:var(--border)!important;
 border-radius:var(--radius-md)!important;
 background:var(--bg-surface)!important;
 box-shadow:var(--shadow-sm)!important;
}
#modal-order .booking-step-number{
 background:var(--accent)!important;
}
#modal-order .booking-one-page .form-input,
#modal-order .booking-one-page #order-time-start-display,
#modal-order .booking-one-page #order-time-end-display,
#modal-order .svc2-wrap .svc2-cats,
#modal-order .svc2-wrap .svc2-items{
 border-color:var(--border)!important;
 border-radius:var(--radius-md)!important;
 background:var(--bg-surface)!important;
 color:var(--text-primary)!important;
 box-shadow:none!important;
}
#modal-order .booking-one-page .form-input:focus,
#modal-order .booking-one-page #order-time-start-display:focus,
#modal-order .booking-one-page #order-time-end-display:focus,
#modal-order .svc2-wrap .svc2-cats:focus,
#modal-order .svc2-wrap .svc2-items:focus{
 border-color:var(--accent)!important;
 box-shadow:0 0 0 3px var(--accent-light)!important;
}
#modal-order .booking-one-page-footer #order-save-btn{
 background:var(--action-primary)!important;
 border-color:var(--action-primary)!important;
 box-shadow:var(--shadow-sm)!important;
}
#modal-order .booking-one-page-footer #order-save-btn:hover{
 background:var(--action-primary-hover)!important;
 border-color:var(--action-primary-hover)!important;
}

#modal-order .booking-finance-details > summary.booking-section-title{
 box-sizing:border-box!important;
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:0!important;
 min-height:40px!important;
 height:40px!important;
 margin:0!important;
 padding:0 14px!important;
 border:0!important;
 border-bottom:1px solid var(--border-light)!important;
 border-radius:0!important;
 background:transparent!important;
 color:var(--text-primary)!important;
 font-size:12px!important;
 font-weight:800!important;
 list-style:none!important;
}
#modal-order .booking-finance-details > summary.booking-section-title .booking-step-number{
 display:inline-flex!important;
 flex:0 0 20px!important;
 margin-right:8px!important;
}

#modal-order #svc2-expenses .booking-expense-field{
 display:block!important;
 min-width:0!important;
}
#modal-order #svc2-expenses .booking-expense-field > span{
 display:block!important;
 margin:0 0 5px!important;
 color:var(--text-muted)!important;
 font-size:9px!important;
 font-weight:700!important;
 line-height:1!important;
}
#modal-order #svc2-expenses .booking-expense-field input{
 width:100%!important;
 padding:7px 22px 7px 10px!important;
 border:1px solid var(--border)!important;
 border-radius:var(--radius-md)!important;
 background:var(--bg-surface)!important;
 color:var(--text-primary)!important;
 font-size:11px!important;
 font-weight:400!important;
 text-align:left!important;
}
#modal-order #svc2-expenses .booking-expense-field input:focus{
 border-color:var(--accent)!important;
 box-shadow:0 0 0 3px var(--accent-light)!important;
}

@media (min-width:841px){
 #modal-order .booking-one-page .booking-one-page-body{
  grid-template-rows:132px 92px 196px!important;
 }
 #modal-order .booking-one-page .booking-section-client{min-height:132px!important}
 #modal-order .booking-one-page .booking-address-block{
  min-height:196px!important;
  overflow:visible!important;
 }
 #modal-order #order-location-section > details{grid-column:1/-1!important}
 #modal-order #order-location-section > details > summary{
  min-height:18px!important;
  padding:2px 0!important;
 }
 #modal-order #order-location-section > details[open] > div{
  display:grid!important;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr) minmax(0,1fr)!important;
  gap:8px!important;
  margin-top:7px!important;
 }
 #modal-order #order-location-section > details[open] > div > *{
  min-width:0!important;
  width:100%!important;
 }
 #modal-order #order-location-section > details[open] #order-loc-geo{
  min-width:0!important;
 }
}

/* Booking modal v13 — graphite header and simplified finance block */
#modal-order .booking-one-page > div:first-child{
 background:var(--accent)!important;
}
#modal-order .booking-finance-details > summary.booking-section-title{
 border-bottom:0!important;
}
#modal-order #svc2-expenses .booking-expenses-title{
 display:none!important;
}

/* Booking modal v15 — multi-service selector */
#modal-order .svc2-multi{
 position:relative!important;
 min-width:0!important;
 border:0!important;
 background:transparent!important;
 overflow:visible!important;
}
#modal-order .svc2-multi-button{
 box-sizing:border-box!important;
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 width:100%!important;
 height:36px!important;
 padding:0 34px 0 13px!important;
 border:1px solid var(--border)!important;
 border-radius:var(--radius-md)!important;
 background:var(--bg-surface)!important;
 color:var(--text-primary)!important;
 font:inherit!important;
 font-size:12px!important;
 text-align:left!important;
 cursor:pointer!important;
 position:relative!important;
}
#modal-order .svc2-multi-button::after{
 content:'';
 position:absolute;
 right:14px;
 top:50%;
 width:6px;
 height:6px;
 border-right:2px solid currentColor;
 border-bottom:2px solid currentColor;
 transform:translateY(-65%) rotate(45deg);
}
#modal-order .svc2-multi-button > span{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
#modal-order .svc2-multi-button[aria-expanded="true"]{
 border-color:var(--accent)!important;
 box-shadow:0 0 0 3px var(--accent-light)!important;
}
#modal-order .svc2-multi-menu{
 position:absolute!important;
 z-index:520!important;
 top:calc(100% + 4px)!important;
 left:0!important;
 right:0!important;
 max-height:230px!important;
 padding:5px!important;
 overflow-y:auto!important;
 border:1px solid var(--border)!important;
 border-radius:var(--radius-md)!important;
 background:var(--bg-surface)!important;
 box-shadow:var(--shadow-md)!important;
}
#modal-order .svc2-service-search{
 position:sticky;
 z-index:2;
 top:-5px;
 display:block;
 padding:5px 3px 8px;
 background:var(--bg-surface);
 color:var(--text-muted);
}
#modal-order .svc2-service-search svg{position:absolute;z-index:1;top:50%;left:13px;transform:translateY(-56%);pointer-events:none}
#modal-order .svc2-service-search input{
 box-sizing:border-box;width:100%;height:34px;padding:0 30px 0 34px;
 border:1px solid var(--border);border-radius:7px;outline:0;
 background:var(--bg-surface-2);color:var(--text-primary);font:inherit;font-size:12px;
}
#modal-order .svc2-service-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}
#modal-order .svc2-service-search input::placeholder{color:var(--text-muted);opacity:1}
#modal-order .svc2-search-empty{padding:18px 12px;color:var(--text-muted);font-size:12px;text-align:center}
#modal-order .svc2-search-empty[hidden],
#modal-order .svc2-multi-option[hidden]{display:none!important}
#modal-order .svc2-multi-option{
 display:grid;
 grid-template-columns:18px minmax(0,1fr) auto!important;
 align-items:center!important;
 gap:8px!important;
 width:100%!important;
 min-height:34px!important;
 padding:6px 8px!important;
 border:0!important;
 border-radius:6px!important;
 background:transparent!important;
 color:var(--text-primary)!important;
 font:inherit!important;
 font-size:12px!important;
 text-align:left!important;
 cursor:pointer!important;
}
#modal-order .svc2-multi-option:hover,
#modal-order .svc2-multi-option.is-selected{
 background:var(--accent-light)!important;
}
#modal-order .svc2-multi-check{
 box-sizing:border-box!important;
 width:16px!important;
 height:16px!important;
 margin:0!important;
 accent-color:var(--accent)!important;
 pointer-events:none!important;
}
#modal-order .svc2-multi-name{
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
#modal-order .svc2-multi-duration{
 color:var(--text-muted)!important;
 font-size:10px!important;
}

/* Booking modal v21 — coherent graphite palette in CRM dark mode. */
body.dark #modal-order{
 background:rgba(12, 12, 12,.68)!important;
 backdrop-filter:blur(6px)!important;
}
body.dark #modal-order #order-modal-box.booking-one-page{
 border-color:#4f4f4f!important;
 background:#1b1b1b!important;
 box-shadow:0 28px 72px rgba(0,0,0,.55)!important;
}
body.dark #modal-order .booking-one-page > div:first-child{
 background:var(--bg-surface)!important;
 border-bottom-color:var(--border)!important;
}
body.dark #modal-order .booking-one-page > div:first-child > div:first-child > div{
 color:var(--text-primary)!important;
}
body.dark #modal-order .booking-one-page > div:first-child > div:first-child > button{
 color:#cbcbcb!important;
}
body.dark #modal-order .booking-one-page > div:first-child > div:first-child > button:hover{
 background:rgba(255,255,255,.08)!important;
 color:#fff!important;
}
body.dark #modal-order .booking-one-page .booking-one-page-body{
 background:#1b1b1b!important;
}
body.dark #modal-order .booking-one-page .booking-section,
body.dark #modal-order .booking-one-page .booking-flow-block{
 border-color:#444444!important;
 background:#252525!important;
 box-shadow:0 1px 2px rgba(0,0,0,.28)!important;
}
body.dark #modal-order .booking-one-page .booking-section-title,
body.dark #modal-order .booking-finance-details > summary.booking-section-title{
 color:#f2f2f2!important;
}
body.dark #modal-order .booking-step-number{
 background:#717171!important;
 color:#fff!important;
}
body.dark #modal-order .om-lbl,
body.dark #modal-order .booking-mini-label,
body.dark #modal-order .booking-client-meta,
body.dark #modal-order .svc2-selected-duration,
body.dark #modal-order .svc2-multi-duration{
 color:#9d9d9d!important;
}
body.dark #modal-order .booking-one-page .form-input,
body.dark #modal-order .booking-one-page #order-time-start-display,
body.dark #modal-order .booking-one-page #order-time-end-display,
body.dark #modal-order .svc2-wrap .svc2-cats,
body.dark #modal-order .svc2-multi-button,
body.dark #modal-order #svc2-expenses .booking-expense-field input{
 border-color:#4a4a4a!important;
 background:#202020!important;
 color:#f2f2f2!important;
}
body.dark #modal-order .booking-one-page .form-input:hover,
body.dark #modal-order .booking-one-page #order-time-start-display:hover,
body.dark #modal-order .booking-one-page #order-time-end-display:hover,
body.dark #modal-order .svc2-wrap .svc2-cats:hover,
body.dark #modal-order .svc2-multi-button:hover{
 border-color:#656565!important;
}
body.dark #modal-order .booking-one-page .form-input:focus,
body.dark #modal-order .booking-one-page #order-time-start-display:focus,
body.dark #modal-order .booking-one-page #order-time-end-display:focus,
body.dark #modal-order .svc2-wrap .svc2-cats:focus,
body.dark #modal-order .svc2-multi-button[aria-expanded="true"],
body.dark #modal-order #svc2-expenses .booking-expense-field input:focus{
 border-color:#8a8a8a!important;
 box-shadow:0 0 0 3px rgba(138, 138, 138,.18)!important;
}
body.dark #modal-order .booking-one-page .form-input::placeholder,
body.dark #modal-order #svc2-expenses .booking-expense-field input::placeholder{
 color:#7a7a7a!important;
 opacity:1!important;
}
body.dark #modal-order .svc2-multi-menu,
body.dark #modal-order #order-client-drop,
body.dark #modal-order #order-loc-city-drop,
body.dark #modal-order #order-time-drop-start,
body.dark #modal-order #order-time-drop-end{
 border-color:#505050!important;
 background:#252525!important;
 color:#f2f2f2!important;
 box-shadow:0 16px 36px rgba(0,0,0,.42)!important;
}
body.dark #modal-order .svc2-service-search{background:#252525;color:#9d9d9d}
body.dark #modal-order .svc2-service-search input{border-color:#4a4a4a;background:#202020;color:#f2f2f2}
body.dark #modal-order .svc2-service-search input:focus{border-color:#8a8a8a;box-shadow:0 0 0 3px rgba(138, 138, 138,.18)}
body.dark #modal-order .svc2-multi-option{
 color:#ececec!important;
}
body.dark #modal-order .svc2-multi-option:hover,
body.dark #modal-order .svc2-multi-option.is-selected{
 background:#383838!important;
}
body.dark #modal-order .svc2-selected-row{
 border-color:#454545!important;
 background:#2b2b2b!important;
}
body.dark #modal-order .svc2-selected-name{color:#f2f2f2!important}
body.dark #modal-order .svc2-selected-price input,
body.dark #modal-order .svc2-selected-remove{
 border-color:#4b4b4b!important;
 background:#202020!important;
 color:#f2f2f2!important;
}
body.dark #modal-order .booking-one-page-footer{
 border-top-color:#444444!important;
 background:#202020!important;
}
body.dark #modal-order .booking-one-page-footer .btn:not(.btn-primary),
body.dark #modal-order #wiz-block-btn{
 border-color:#4b4b4b!important;
 background:#2b2b2b!important;
 color:#ececec!important;
}
body.dark #modal-order .booking-one-page-footer .btn:not(.btn-primary):hover,
body.dark #modal-order #wiz-block-btn:hover{
 background:#383838!important;
}
body.dark #modal-order .booking-one-page-footer #order-save-btn,
body.dark #modal-order .booking-one-page-footer #wiz-btn-next{
 border-color:var(--action-primary)!important;
 background:var(--action-primary)!important;
 color:var(--action-primary-contrast)!important;
 box-shadow:0 4px 12px rgba(0,0,0,.24)!important;
}
body.dark #modal-order .booking-one-page-footer #order-save-btn:hover,
body.dark #modal-order .booking-one-page-footer #wiz-btn-next:hover{
 border-color:var(--action-primary-hover)!important;
 background:var(--action-primary-hover)!important;
}

/* Booking modal unified layout — one measured grid for desktop, tablet and phone. */
#modal-order{
 padding:16px!important;
 align-items:center!important;
 justify-content:center!important;
}
#modal-order #order-modal-box.booking-one-page{
 box-sizing:border-box!important;
 width:min(1080px,calc(100vw - 48px))!important;
 max-width:1080px!important;
 min-height:min(620px,calc(100dvh - 32px))!important;
 height:min(708px,calc(100dvh - 32px))!important;
 max-height:calc(100dvh - 32px)!important;
 overflow:hidden!important;
 border:0!important;
 border-radius:14px!important;
 background:var(--bg-surface)!important;
 box-shadow:0 28px 72px rgba(23, 23, 23,.24)!important;
}
#modal-order .booking-one-page > div:first-child{
 box-sizing:border-box!important;
 display:flex!important;
 align-items:center!important;
 min-height:56px!important;
 padding:0 20px!important;
 border-bottom:1px solid var(--border)!important;
 background:var(--bg-surface)!important;
}
#modal-order .booking-one-page > div:first-child > div:first-child{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 width:100%!important;
 margin:0!important;
}
#modal-order #order-modal-title-display{
 color:var(--text-primary)!important;
 font-size:16px!important;
 font-weight:700!important;
 line-height:1.25!important;
}
#modal-order .booking-one-page > div:first-child > div:first-child > button{
 width:40px!important;
 height:40px!important;
 border-radius:9px!important;
 font-size:19px!important;
}
#modal-order .booking-wizard-progress{display:none!important}

#modal-order .booking-one-page .booking-one-page-body,
#modal-order.open .booking-one-page .booking-one-page-body{
 box-sizing:border-box!important;
 display:grid!important;
 grid-template-columns:minmax(0,1.2fr) minmax(430px,1fr)!important;
 grid-template-rows:max-content max-content max-content!important;
 grid-template-areas:
  "client datetime"
  "services payment"
  "address status"!important;
 align-content:start!important;
 gap:12px 14px!important;
 min-height:0!important;
 padding:16px!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
 scrollbar-gutter:stable!important;
 overscroll-behavior:contain!important;
 background:var(--bg-surface-2)!important;
}
#modal-order.open .booking-one-page #wiz-step-1,
#modal-order.open .booking-one-page #wiz-step-2,
#modal-order.open .booking-one-page #wiz-step-3,
#modal-order.open .booking-one-page #wiz-step-4,
#modal-order.open .booking-one-page #wiz-step-6{
 position:static!important;
 inset:auto!important;
 min-width:0!important;
 min-height:0!important;
 overflow:visible!important;
}
#modal-order.open .booking-one-page #wiz-step-1{display:flex!important;grid-area:client!important}
#modal-order.open .booking-one-page #wiz-step-2{display:block!important;grid-area:services!important}
#modal-order.open .booking-one-page #wiz-step-3{display:block!important;grid-area:payment!important}
#modal-order.open .booking-one-page #wiz-step-4{display:contents!important}
#modal-order.open .booking-one-page #wiz-step-5{display:none!important}
#modal-order .booking-one-page .booking-location-layout{display:contents!important}
#modal-order .booking-one-page .booking-address-block{grid-area:address!important}
#modal-order .booking-one-page .booking-datetime-block{grid-area:datetime!important}

#modal-order .booking-one-page .booking-section,
#modal-order .booking-one-page .booking-flow-block{
 box-sizing:border-box!important;
 width:auto!important;
 height:auto!important;
 margin:0!important;
 padding:16px!important;
 border:1px solid var(--border)!important;
 border-radius:11px!important;
 background:var(--bg-surface)!important;
 box-shadow:0 1px 2px rgba(23, 23, 23,.035)!important;
}
#modal-order .booking-one-page .booking-section-client,
#modal-order .booking-one-page .booking-section-services,
#modal-order .booking-one-page .booking-address-block,
#modal-order .booking-one-page .booking-datetime-block,
#modal-order .booking-one-page .booking-section-payment,
#modal-order .booking-one-page .booking-section-status{
 position:static!important;
 inset:auto!important;
 box-sizing:border-box!important;
 width:auto!important;
 height:auto!important;
 min-width:0!important;
 margin:0!important;
 align-self:start!important;
 justify-self:stretch!important;
}
#modal-order .booking-address-block,
#modal-order .booking-section-payment{min-height:0!important}
#modal-order.open .booking-one-page .booking-address-block{
 position:relative!important;
 overflow:visible!important;
 z-index:80!important;
}
#modal-order.open .booking-one-page .booking-section-payment,
#modal-order.open .booking-one-page .booking-section-status{
 z-index:1!important;
}
#modal-order.open #order-location-section,
#modal-order.open #order-loc-city-wrap{
 overflow:visible!important;
}
#modal-order.open .booking-one-page #wiz-step-3.booking-section-payment{
 overflow:hidden!important;
 border-radius:11px!important;
}
#modal-order.open .booking-one-page #wiz-step-3.booking-section-payment .booking-finance-details{
 overflow:visible!important;
 border-radius:0!important;
}
#modal-order.open .booking-one-page #wiz-step-3.booking-section-payment .booking-finance-details > summary{
 border-radius:10px 10px 0 0!important;
}
#modal-order .booking-section-client{gap:0!important}
#modal-order .booking-one-page .booking-section-title,
#modal-order .booking-finance-details > summary.booking-section-title{
 box-sizing:border-box!important;
 display:flex!important;
 align-items:center!important;
 gap:8px!important;
 min-height:24px!important;
 margin:0 0 12px!important;
 padding:0 0 10px!important;
 border-bottom:1px solid var(--border-light)!important;
 color:var(--text-primary)!important;
 font-size:13px!important;
 font-weight:750!important;
 line-height:1.25!important;
}
#modal-order .booking-step-number,
#modal-order .booking-finance-details > summary.booking-section-title .booking-step-number{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:22px!important;
 min-width:22px!important;
 height:22px!important;
 border-radius:7px!important;
 background:#5f5f5f!important;
 color:#fff!important;
 font-size:10px!important;
 font-weight:800!important;
 line-height:1!important;
}
#modal-order .booking-one-page .om-lbl,
#modal-order .booking-mini-label,
#modal-order #svc2-expenses .booking-expense-field > span{
 min-height:16px!important;
 margin:0 0 5px!important;
 color:var(--text-secondary)!important;
 font-size:var(--field-label-size,12px)!important;
 font-weight:600!important;
 line-height:16px!important;
}
#modal-order .booking-one-page .form-input,
#modal-order .booking-one-page #order-time-start-display,
#modal-order .booking-one-page #order-time-end-display,
#modal-order .svc2-wrap .svc2-cats,
#modal-order .svc2-multi-button,
#modal-order #svc2-expenses .booking-expense-field input{
 box-sizing:border-box!important;
 min-height:40px!important;
 height:40px!important;
 border-radius:8px!important;
 font-size:12px!important;
 line-height:1.25!important;
}
#modal-order .booking-one-page textarea.form-input{
 min-height:76px!important;
 height:76px!important;
 padding:10px 12px!important;
}
#modal-order #order-client-section{gap:0!important}
#modal-order #order-client-search{padding-left:34px!important}

#modal-order .svc2-wrap{
 display:grid!important;
 grid-template-columns:minmax(150px,.72fr) minmax(0,1.85fr)!important;
 align-items:stretch!important;
 gap:8px!important;
 height:40px!important;
 max-height:40px!important;
}
#modal-order .svc2-wrap .svc2-items.svc2-multi,
#modal-order .svc2-multi-button{
 min-height:40px!important;
 height:40px!important;
 max-height:40px!important;
}
#modal-order .svc2-wrap .svc2-items.svc2-multi{
 position:relative!important;
 display:block!important;
 box-sizing:border-box!important;
 width:100%!important;
 min-width:0!important;
 padding:0!important;
 overflow:visible!important;
 border:0!important;
 background:transparent!important;
}
#modal-order .svc2-multi-button{width:100%!important}
#modal-order #svc2-table{margin-top:9px!important}
#modal-order #svc2-table{display:block!important}
#modal-order #svc2-total-wrap{display:none!important}
#modal-order .svc2-selected-header{
 display:flex;
 align-items:center;
 justify-content:space-between;
 margin:0 0 6px;
 padding:0 2px;
 color:var(--text-muted);
 font-size:var(--field-label-size,12px);
 font-weight:600;
}
#modal-order .svc2-selected-header b{color:var(--text-secondary);font-size:inherit}
#modal-order .svc2-selected-row{
 box-sizing:border-box;
 display:grid;
 grid-template-columns:minmax(0,1fr) 112px 32px;
 align-items:center;
 gap:8px;
 min-height:42px;
 margin:0 0 6px;
 padding:6px 7px 6px 10px;
 border:1px solid var(--border-light);
 border-radius:8px;
 background:var(--bg-surface-2);
}
#modal-order .svc2-selected-row:last-child{margin-bottom:0}
#modal-order .svc2-selected-info{min-width:0}
#modal-order .svc2-selected-name{overflow:hidden;color:var(--text-primary);font-size:11px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
#modal-order .svc2-selected-duration{margin-top:2px;color:var(--text-muted);font-size:9px;line-height:1}
#modal-order .svc2-selected-price{position:relative}
#modal-order .svc2-selected-price input{
 box-sizing:border-box;
 width:100%;
 height:30px;
 padding:5px 23px 5px 8px;
 border:1px solid var(--border);
 border-radius:6px;
 background:var(--bg-surface);
 color:var(--text-primary);
 font:600 11px/1 inherit;
}
#modal-order .svc2-selected-price input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--accent-light)}
#modal-order .svc2-selected-price span{position:absolute;top:50%;right:8px;transform:translateY(-50%);color:var(--text-muted);font-size:10px;pointer-events:none}
#modal-order .svc2-selected-remove{
 display:flex;
 align-items:center;
 justify-content:center;
 width:30px;
 height:30px;
 padding:0;
 border:1px solid var(--border);
 border-radius:6px;
 background:var(--bg-surface);
 color:var(--text-muted);
 font:400 16px/1 inherit;
 cursor:pointer;
}
#modal-order .svc2-selected-remove:hover{border-color:#ef4444;color:#ef4444}
#modal-order .svc2-selected-header{min-height:16px;margin-bottom:5px;padding-inline:1px}
#modal-order .svc2-selected-row{grid-template-columns:minmax(0,1fr) 112px 32px;gap:8px;padding:3px 6px 3px 10px}
#modal-order .svc2-selected-price input{min-height:32px!important;height:32px!important;border-radius:8px!important;font-family:inherit;font-size:12px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums;appearance:textfield}
#modal-order .svc2-selected-price input::-webkit-inner-spin-button,
#modal-order .svc2-selected-price input::-webkit-outer-spin-button{appearance:none;margin:0}
#modal-order .svc2-selected-remove{box-sizing:border-box;width:32px;min-height:32px;height:32px;border-radius:8px}

/* One centered disclosure icon for native and custom booking controls. */
#modal-order #order-modal-box.booking-one-page select,
#modal-order #order-modal-box.booking-one-page .svc2-multi-button,
#modal-order #order-modal-box.booking-one-page .svc2-addon-picker-button,
#modal-order #order-modal-box.booking-one-page #order-time-start-display,
#modal-order #order-modal-box.booking-one-page #order-time-end-display{
 appearance:none;
 background:var(--bg-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23707070' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center / 16px 16px!important;
 padding-right:36px!important;
}
#modal-order .booking-one-page .svc2-multi-button::after,
#modal-order .booking-one-page .svc2-addon-picker-button > svg,
#modal-order .booking-one-page #order-time-start-display > svg,
#modal-order .booking-one-page #order-time-end-display > svg{display:none}
#modal-order .svc2-property-type{margin-top:8px}
#modal-order .booking-object-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
#modal-order .booking-object-tabs [aria-pressed="true"]{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}
#modal-order .booking-object-note{margin:0 0 8px;font-size:12px;line-height:16px;color:var(--text-secondary)}
#modal-order .booking-address-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px;line-height:18px}
#modal-order .booking-address-summary > div{min-width:0;overflow-wrap:anywhere}
#modal-order .booking-address-summary .btn{flex-shrink:0}
#modal-order #order-location-section[data-address-view="inherited"]{display:flex!important;flex-wrap:wrap;gap:12px!important}
#modal-order #order-location-section[data-address-view="inherited"] > .om-lbl,
#modal-order #order-location-section[data-address-view="inherited"] > #order-unit-field,
#modal-order #order-location-section[data-address-view="inherited"] > .booking-location-extra{width:100%}
#modal-order #order-location-section[data-address-view="inherited"] > #order-loc-city-wrap,
#modal-order #order-location-section[data-address-view="inherited"] > #order-street-field,
#modal-order #order-location-section[data-address-view="inherited"] > #order-house-field,
#modal-order #order-location-section[data-address-view="inherited"] > #order-corpus-field,
#modal-order #order-location-section[data-address-view="inherited"] > #order-loc-tariff,
#modal-order #order-location-section[data-address-view="shared-edit"] > #order-unit-field,
#modal-order #order-location-section[data-address-view="shared-edit"] .booking-address-field:has(#order-loc-intercom),
#modal-order #order-location-section[data-address-view="shared-edit"] .booking-address-field:has(#order-loc-cadaster),
#modal-order #order-location-section[data-address-view="inherited"] .booking-address-field:has(#order-loc-geo){display:none!important}
#modal-order #order-location-section[data-address-view="inherited"] .booking-location-extra > div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#modal-order #order-location-section[data-address-view="shared-edit"] .booking-location-extra > div{grid-template-columns:1fr!important}
#modal-order .booking-finance-content > .booking-discount-field{grid-column:1/-1!important;grid-row:3!important;min-width:0}
#modal-order .booking-discount-controls{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:12px}
#modal-order .booking-discount-tax-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#modal-order .booking-discount-tax-grid > div{min-width:0}
#modal-order .booking-discount-tax-grid .booking-discount-controls{grid-template-columns:minmax(0,1fr) 54px;gap:6px}
#modal-order .booking-tax-control{position:relative}
#modal-order .booking-tax-control input{padding-right:28px}
#modal-order .booking-tax-control span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:12px;pointer-events:none}
#modal-order .booking-tax-help{font-size:11px;line-height:16px;color:var(--text-muted);margin:0 0 8px}
#modal-order .booking-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#modal-order .booking-status-grid > div{min-width:0}
#modal-order #booking-discount-summary{margin:8px 0;font-size:13px;line-height:18px;font-weight:600;color:var(--text-primary)}
#modal-order .svc2-addon-picker{position:relative;margin-top:8px}
#modal-order .svc2-addon-picker-button{
 box-sizing:border-box;
 display:flex;
 align-items:center;
 justify-content:space-between;
 width:100%;
 height:40px;
 padding:0 12px;
 border:1px solid var(--border);
 border-radius:8px;
 background:var(--bg-surface);
 color:var(--text-primary);
 font-family:inherit;
 font-size:12px;
 font-weight:400;
 line-height:1.25;
 cursor:pointer;
}
#modal-order .svc2-addon-picker-button[aria-expanded="true"]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}
#modal-order .svc2-addon-picker-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#modal-order .svc2-addon-menu{
 position:absolute;
 top:calc(100% + 4px);
 left:0;
 right:0;
 z-index:160;
 grid-template-columns:1fr;
 gap:5px;
 max-height:190px;
 padding:6px;
 overflow-y:auto;
 border:1px solid var(--border);
 border-radius:8px;
 background:var(--bg-surface);
 box-shadow:var(--shadow-md);
}
#modal-order .svc2-addon-title{
 grid-column:1/-1;
 margin:0 0 3px 2px;
 color:var(--text-secondary);
 font-size:10px;
 font-weight:800;
 letter-spacing:.02em;
 text-transform:uppercase;
}
#modal-order .svc2-addon-row{
 box-sizing:border-box;
 display:grid;
 grid-template-columns:minmax(0,1fr) 18px;
 align-items:center;
 gap:8px;
 min-height:36px;
 width:100%;
 margin-bottom:0;
 padding:8px 10px;
 border:0;
 border-radius:6px;
 background:transparent;
 color:var(--text-secondary);
 font-family:inherit;
 font-size:12px;
 text-align:left;
 cursor:pointer;
}
#modal-order .svc2-addon-row:last-child{margin-bottom:0}
#modal-order .svc2-addon-row.is-selected{border-color:var(--accent-border);background:var(--accent-light)}
#modal-order .svc2-addon-row:hover{background:var(--bg-surface-2)}
#modal-order .svc2-addon-row > span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#modal-order .svc2-addon-check{color:var(--accent);font-size:13px;font-weight:800;text-align:center}

#modal-order #order-location-section{
 display:grid!important;
 grid-template-columns:repeat(15,minmax(0,1fr))!important;
 grid-auto-rows:auto!important;
 align-items:end!important;
 gap:8px!important;
}
#modal-order #order-location-section > .om-lbl{grid-column:1/-1!important;grid-row:1!important;margin:0!important}
#modal-order #order-loc-city-wrap{grid-column:1/5;grid-row:2;position:relative;z-index:40}
#modal-order #order-street-field{grid-column:5/9;grid-row:2}
#modal-order #order-house-field{grid-column:9/11;grid-row:2}
#modal-order #order-corpus-field{grid-column:11/13;grid-row:2}
#modal-order #order-unit-field{grid-column:13/16;grid-row:2}
#modal-order .booking-address-field{min-width:0}
#modal-order .booking-field-label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:var(--field-label-size,12px);font-weight:600;line-height:16px}
#modal-order .booking-field-error{margin-top:6px;color:var(--status-danger);font-size:12px;line-height:16px;font-weight:500}
#modal-order .booking-one-page .form-input[aria-invalid="true"],
:is(#modal-payment,#modal-edit-payment,#modal-generic) [data-crm-error]{border-color:var(--status-danger)!important;box-shadow:0 0 0 2px var(--status-danger-bg)!important}
#modal-order #order-client-section > div > svg{top:20px!important}
#modal-order #order-loc-tariff{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:8px;
  grid-column:1/-1!important;
  grid-row:3!important;
 box-sizing:border-box!important;
 min-height:24px!important;
 margin:0!important;
 padding:2px 8px!important;
 border:1px solid var(--accent-border)!important;
 border-radius:8px!important;
 background:var(--accent-light)!important;
 color:var(--text-secondary)!important;
 font-size:10px!important;
}
#modal-order #order-loc-tariff strong{flex:0 0 auto;color:var(--accent)!important;font-size:11px!important;white-space:nowrap}
#modal-order #order-loc-tariff span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#modal-order .booking-location-extra{
 grid-column:1/-1!important;
 grid-row:4!important;
 min-width:0!important;
 margin-top:1px!important;
}
#modal-order .booking-location-extra > div{
 display:grid!important;
 grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,4fr)!important;
 align-items:center!important;
 gap:8px!important;
 margin-top:0!important;
}
#modal-order .booking-location-extra > div > *{min-width:0!important}
#modal-order .booking-location-extra > div > div{display:flex!important;gap:8px!important}
#modal-order .booking-location-extra .booking-address-field{flex-direction:column;align-self:start;}
#modal-order .booking-location-extra .booking-field-label{margin-bottom:0}
#modal-order .booking-geo-meta{
 grid-column:1/-1;
 grid-row:5;
 display:flex;
 align-items:center;
 gap:5px;
 min-width:0;
 height:12px;
 overflow:hidden;
 line-height:12px;
}
#modal-order .booking-geo-meta > *{
 min-width:0;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
#modal-order #order-loc-geo-status{flex:0 1 auto}
#modal-order #order-loc-geo-attribution{flex:0 0 auto}
#modal-order .booking-one-page #order-loc-preview{display:none!important}

#modal-order .booking-one-page .booking-datetime-block{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 grid-template-rows:auto auto auto!important;
 column-gap:12px!important;
 row-gap:12px!important;
 align-items:start!important;
}
#modal-order .booking-datetime-block > .booking-section-title{grid-column:1/-1!important;margin-bottom:0!important}
#modal-order .booking-date-field,
#modal-order .booking-time-select,
#modal-order #order-duration-pill,
#modal-order #order-busy-slots-wrap,
#modal-order .booking-notes-field{margin:0!important}
#modal-order .booking-date-field{grid-column:1!important;grid-row:2!important}
#modal-order .booking-time-start{grid-column:2!important;grid-row:2!important}
#modal-order .booking-time-end{grid-column:3!important;grid-row:2!important}
#modal-order #order-duration-pill,
#modal-order #order-busy-slots-wrap{grid-column:1/-1!important}
#modal-order .booking-date-field,
#modal-order .booking-time-select{
 display:flex!important;
 flex-direction:column!important;
 gap:6px!important;
 min-width:0!important;
}
#modal-order .booking-date-field .form-input,
#modal-order #order-time-start-display,
#modal-order #order-time-end-display{
 height:40px!important;
 box-sizing:border-box!important;
}
#modal-order #order-time-start-display,
#modal-order #order-time-end-display{
 min-width:0!important;
 padding-left:10px!important;
 white-space:nowrap!important;
}
#modal-order #order-time-start-label,
#modal-order #order-time-end-label{
 min-width:0!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
 white-space:nowrap!important;
}
#modal-order .booking-notes-field{grid-column:1/-1!important;align-self:start!important}

#modal-order .booking-one-page .booking-datetime-block .booking-date-field,
#modal-order .booking-one-page .booking-datetime-block .booking-time-select{
 padding-top:0!important;
 display:grid!important;
 grid-template-rows:16px 40px!important;
 gap:6px!important;
 align-items:start!important;
}
#modal-order .booking-one-page .booking-datetime-block .om-lbl,
#modal-order .booking-one-page .booking-datetime-block .booking-mini-label{
 position:static!important;
 inset:auto!important;
 display:block!important;
 min-height:16px!important;
 height:16px!important;
 margin:0!important;
 line-height:16px!important;
}

@media (min-width:901px){
 #modal-order{
  padding:12px!important;
 }
 #modal-order #order-modal-box.booking-one-page{
  min-height:0!important;
  height:auto!important;
  max-height:calc(100dvh - 24px)!important;
 }
 #modal-order .booking-one-page .booking-one-page-body,
 #modal-order.open .booking-one-page .booking-one-page-body{
  flex:0 1 auto!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:max-content max-content max-content!important;
  gap:8px 14px!important;
  padding:6px 16px!important;
  overflow:auto!important;
  scrollbar-gutter:auto!important;
 }
 #modal-order .booking-layout-column{
  display:contents;
 }
 #modal-order .booking-section-status{grid-area:status}
 #modal-order .booking-layout-column > .booking-section,
 #modal-order .booking-layout-column > .booking-flow-block{
  flex:0 0 auto;
  align-self:stretch!important;
  padding:10px!important;
 }
 #modal-order .booking-section-status .booking-notes-field{margin-top:12px!important}
 #modal-order .svc2-selected-row{height:40px;min-height:40px;padding-top:3px;padding-bottom:3px}
 #modal-order #order-loc-tariff:not(:empty){
  position:static;
  width:100%;
  max-width:none;
  min-height:20px!important;
  padding:2px 7px!important;
  border-radius:6px!important;
 }
 #modal-order #order-loc-city-drop{
  max-height:min(320px,calc(100dvh - 500px))!important;
 }
}

@media (max-width:640px){
 #modal-order .booking-one-page .booking-datetime-block{
  grid-template-columns:1fr!important;
 }
 #modal-order .booking-date-field,
 #modal-order .booking-time-start,
 #modal-order .booking-time-end,
 #modal-order #order-duration-pill,
 #modal-order #order-busy-slots-wrap,
 #modal-order .booking-notes-field{
  grid-column:1!important;
  grid-row:auto!important;
 }
}

#modal-order #order-modal-box.booking-one-page > div.booking-one-page-body > #wiz-step-3.booking-section-payment{padding:16px!important}
#modal-order .booking-finance-details{
 box-sizing:border-box!important;
 display:flex!important;
 flex-direction:column!important;
 height:100%!important;
 min-height:0!important;
}
#modal-order .booking-finance-details > summary.booking-section-title{
 flex:0 0 auto!important;
 height:auto!important;
 margin:0 0 12px!important;
 padding:0 0 10px!important;
 border-bottom:1px solid var(--border-light)!important;
 list-style:none;
 cursor:default!important;
}
#modal-order .booking-finance-details > summary::-webkit-details-marker{display:none!important}
#modal-order .booking-finance-content{
 box-sizing:border-box!important;
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 grid-template-rows:auto auto auto!important;
 align-content:start!important;
 gap:12px!important;
 height:auto!important;
 min-height:0!important;
 padding:0!important;
}
#modal-order .booking-finance-content > div{min-width:0!important;width:100%}
#modal-order .booking-finance-amount{grid-column:1!important;grid-row:1!important}
#modal-order .booking-finance-advance{grid-column:2!important;grid-row:1!important}
#modal-order .booking-finance-content > #svc2-expenses{grid-column:1/-1!important;grid-row:2!important}
#modal-order #svc2-expenses{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 align-items:end!important;
 gap:12px!important;
}
#modal-order #order-modal-box.booking-one-page .booking-finance-content > #svc2-expenses{
 grid-column:1/-1!important;
 width:100%!important;
 min-width:0!important;
}
#modal-order .booking-finance-content #order-amount-vis{
 padding:0 30px 0 11px!important;
 font-size:13px!important;
 font-weight:750!important;
}

#modal-order .booking-one-page-footer{
 box-sizing:border-box!important;
 min-height:64px!important;
 padding:10px 20px!important;
 gap:12px!important;
 border-top:1px solid var(--border)!important;
 background:var(--bg-surface)!important;
 box-shadow:0 -8px 24px rgba(23, 23, 23,.045)!important;
}
#modal-order .booking-one-page-footer .btn,
#modal-order .booking-one-page-footer #wiz-block-btn{
 box-sizing:border-box!important;
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 min-height:40px!important;
 height:40px!important;
 margin:0!important;
 padding:0 16px!important;
 border-radius:8px!important;
 font-size:12px!important;
 font-weight:650!important;
}
#modal-order .booking-one-page-footer #order-save-btn{min-width:148px!important}
#modal-order .booking-one-page-footer #wiz-block-btn{min-width:128px!important}
#modal-order .booking-one-page-footer #order-delete-btn{
 min-width:128px;
 color:var(--status-danger,#b42335);
 border-color:var(--status-danger-border,#e8b8c0);
 background:transparent;
}
#modal-order .booking-one-page-footer #order-delete-btn:hover{
 background:var(--status-danger-bg,#fff1f3);
}

@media (min-width:641px) and (max-width:900px){
 #modal-order{padding:12px!important}
 #modal-order #order-modal-box.booking-one-page{
  width:calc(100vw - 24px)!important;
  min-height:0!important;
  height:calc(100dvh - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
 }
 #modal-order .booking-one-page .booking-one-page-body,
 #modal-order.open .booking-one-page .booking-one-page-body{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:12px 12px 20px!important;
  overflow-y:auto!important;
 }
 #modal-order .booking-layout-column{display:contents}
 #modal-order .booking-one-page .booking-section,
 #modal-order .booking-one-page .booking-flow-block{flex:0 0 auto!important;width:100%!important}
 #modal-order .booking-section-client{order:1!important}
 #modal-order .booking-section-services{order:2!important}
 #modal-order .booking-address-block{order:3!important}
 #modal-order .booking-datetime-block{order:4!important}
 #modal-order .booking-section-payment{order:5!important}
 #modal-order .booking-section-status{order:6}
 #modal-order.open .booking-one-page #wiz-step-4,
 #modal-order .booking-one-page .booking-location-layout{display:contents!important}
 #modal-order .booking-one-page .booking-datetime-block{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:auto auto 1fr!important}
 #modal-order .booking-datetime-block > .booking-section-title{grid-column:1/-1!important}
 #modal-order .booking-notes-field{grid-column:1/-1!important}
}

@media (max-width:640px){
 #modal-order{padding:8px!important;align-items:stretch!important}
 #modal-order #order-modal-box.booking-one-page{
  width:100%!important;
  min-height:0!important;
  height:calc(100dvh - 16px)!important;
  max-height:calc(100dvh - 16px)!important;
  border-radius:12px!important;
 }
 #modal-order .booking-layout-column{display:contents}
 #modal-order .booking-one-page > div:first-child{min-height:56px!important;padding:0 12px 0 16px!important}
 #modal-order .booking-one-page .booking-one-page-body,
 #modal-order.open .booking-one-page .booking-one-page-body{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:10px 10px 18px!important;
  overflow-y:auto!important;
  scrollbar-gutter:auto!important;
 }
 #modal-order .booking-one-page .booking-section,
 #modal-order .booking-one-page .booking-flow-block{flex:0 0 auto!important;width:100%!important;padding:14px!important}
 #modal-order .booking-section-client{order:1!important}
 #modal-order .booking-section-services{order:2!important}
 #modal-order .booking-address-block{order:3!important}
 #modal-order .booking-datetime-block{order:4!important}
 #modal-order #order-modal-box.booking-one-page > div.booking-one-page-body > #wiz-step-3.booking-section-payment{order:5!important;padding:14px!important}
 #modal-order .booking-section-status{order:6}
 #modal-order.open .booking-one-page #wiz-step-4,
 #modal-order .booking-one-page .booking-location-layout{display:contents!important}
 #modal-order .svc2-wrap{grid-template-columns:minmax(124px,.78fr) minmax(0,1.7fr)!important}
 #modal-order #order-location-section{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #modal-order #order-location-section > .om-lbl{grid-column:1/-1!important;grid-row:1!important}
 #modal-order #order-loc-city-wrap{grid-column:1/-1!important;grid-row:2!important}
 #modal-order #order-street-field{grid-column:1/-1!important;grid-row:3!important}
 #modal-order #order-house-field{grid-column:1!important;grid-row:4!important}
 #modal-order #order-corpus-field{grid-column:2!important;grid-row:4!important}
 #modal-order #order-unit-field{grid-column:1/-1;grid-row:5}
 #modal-order #order-loc-tariff{grid-column:1/-1!important;grid-row:6!important}
 #modal-order .booking-location-extra{grid-column:1/-1!important;grid-row:7!important}
 #modal-order .booking-location-extra > div{grid-template-columns:1fr!important}
 #modal-order .booking-geo-meta{grid-column:1/-1;grid-row:8}
 #modal-order .booking-one-page .booking-datetime-block{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto!important}
 #modal-order .booking-notes-field{align-self:auto!important}
 #modal-order .booking-finance-content{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto auto auto auto!important}
 #modal-order .booking-finance-amount{grid-column:1!important;grid-row:1!important}
 #modal-order .booking-finance-advance{grid-column:2!important;grid-row:1!important}
 #modal-order .booking-status-grid{grid-template-columns:1fr}
 #modal-order #order-modal-box.booking-one-page > .booking-one-page-footer{display:flex!important;min-height:64px!important;padding:8px 10px!important;flex-direction:row!important;flex-wrap:nowrap!important}
 #modal-order #order-modal-box.booking-one-page > .booking-one-page-footer > div:first-child{flex:0 0 auto!important;min-width:40px!important;width:auto!important}
 #modal-order #order-modal-box.booking-one-page > .booking-one-page-footer > div:last-child{display:grid!important;grid-template-columns:minmax(80px,.8fr) minmax(132px,1.35fr)!important;min-width:0!important;flex:1!important;gap:8px!important}
 #modal-order .booking-one-page-footer .btn{width:100%!important;min-width:0!important;padding:0 10px!important}
 #modal-order .booking-one-page-footer #order-save-btn{width:100%!important;min-width:0!important;flex:0 1 auto!important}
 #modal-order .booking-one-page-footer #wiz-block-btn{width:40px!important;min-width:40px!important;padding:0!important;font-size:0!important}
 #modal-order .booking-one-page-footer #wiz-block-btn svg{width:14px!important;height:14px!important;margin:0!important}
 #modal-order .booking-one-page-footer #order-delete-btn{width:116px;min-width:116px;padding:0 8px}
}

@media (max-width:420px){
 #modal-order{padding:0!important}
 #modal-order #order-modal-box.booking-one-page{height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
}
