/* Responsive admin layout. Keep information reachable without page-wide scrolling. */
body.yatoon-app-shell-on .yatoon-app-actions { display:flex; align-items:center; gap:8px; }
body.yatoon-app-shell-on .yatoon-app-actions-toggle,
body.yatoon-app-shell-on .yatoon-app-action-label { display:none; }
body.yatoon-app-shell-on .yatoon-app-actions-toggle {
  align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px;
  border:1px solid var(--yapp-border); border-radius:10px;
  background:var(--yapp-surface); color:var(--yapp-ink-soft); cursor:pointer;
}
body.yatoon-app-shell-on .yatoon-mobile-scroll { min-width:0; max-width:100%; overflow:auto; }
body.yatoon-app-shell-on .yatoon-mobile-scroll:focus-visible { outline:2px solid #2563eb; outline-offset:2px; }
body.yatoon-app-shell-on .sbs-toggle { position:relative; min-height:44px; }
body.yatoon-app-shell-on .sbs-toggle input {
  display:block !important; position:absolute; width:1px !important; height:1px !important;
  min-width:0 !important; margin:0; opacity:0;
}
body.yatoon-app-shell-on .sbs-toggle input:focus-visible + .sbs-toggle-slider { outline:2px solid #2563eb; outline-offset:3px; }
body.yatoon-app-shell-on .yatoon-message-details summary { min-height:44px; cursor:pointer; padding:8px 0; }
body.yatoon-app-shell-on .yatoon-message-details summary span { color:var(--yapp-accent,#2563eb); text-decoration:underline; }
body.yatoon-app-shell-on .yatoon-message-details summary:focus-visible { outline:2px solid #2563eb; outline-offset:3px; }
body.yatoon-app-shell-on .yatoon-message-full { white-space:pre-wrap; overflow-wrap:anywhere; }
/* jQuery filters use inline display:none; the old grid !important must not undo it. */
body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row[style*="display: none"],
body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row[style*="display:none"],
body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row[hidden] { display:none !important; }
@media (max-width:1100px) {
  body.yatoon-app-shell-on .yatoon-app-actions-toggle { display:inline-flex; }
  body.yatoon-app-shell-on .yatoon-app-actions {
    display:none; position:absolute; inset-inline-end:12px; top:calc(100% + 6px);
    width:min(290px,calc(100vw - 24px)); padding:8px; border:1px solid var(--yapp-border);
    border-radius:12px; background:var(--yapp-surface); box-shadow:var(--yapp-shadow);
  }
  body.yatoon-app-shell-on .yatoon-app-actions.is-open { display:grid; gap:2px; }
  body.yatoon-app-shell-on .yatoon-app-actions .yatoon-app-topbar-icon {
    justify-content:flex-start; gap:12px; width:100%; height:auto; min-height:44px;
    padding:10px 12px; border-radius:8px; font-size:14px;
  }
  body.yatoon-app-shell-on .yatoon-app-action-label { display:inline; }
  body.yatoon-app-shell-on .yatoon-app-actions .yatoon-app-notification-count { top:12px !important; right:10px !important; }
  body.yatoon-app-shell-on #sbs-services-table tbody { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row {
    grid-template-columns:44px minmax(0,1fr) minmax(0,1fr); gap:0 8px;
    border:1px solid var(--y4-border); border-radius:12px; padding:12px;
    background:var(--y4-surface); overflow:hidden;
  }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td {
    height:auto; min-height:44px; display:block !important; overflow:visible;
    padding:8px 0 !important; overflow-wrap:anywhere; color:var(--y4-text); background:transparent !important;
  }
  body.yatoon-app-shell-on .wrap #sbs-services-table tr.sbs-main-service-row:hover td,
  body.yatoon-app-shell-on .wrap #sbs-services-table tr.sbs-main-service-row td { background:transparent !important; }
  body.yatoon-app-shell-on .wrap #sbs-services-table tr.sbs-main-service-row.is-selected { background:color-mix(in srgb,var(--yapp-accent,#2563eb) 8%,var(--y4-surface)) !important; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:first-child { display:flex !important; grid-column:1; grid-row:1; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(5) { grid-column:2/-1; grid-row:1; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(5) strong { white-space:normal; overflow:visible; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(2),
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(4),
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(9) { display:none !important; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(3) { grid-column:1/3; grid-row:2; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(6) { grid-column:3; grid-row:2; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(7) { grid-column:1/3; grid-row:3; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(10) { grid-column:3; grid-row:3; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(8) { display:block !important; grid-column:1/-1; grid-row:4; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(11) { display:flex !important; grid-column:1/-1; grid-row:5; gap:8px; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(11) .button:not(.sbs-edit-service) { display:none !important; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:nth-child(11) .sbs-edit-service { min-height:44px; width:100%; }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td[data-yatoon-mobile-label]::before {
    display:block !important; content:attr(data-yatoon-mobile-label) !important; position:static !important;
    width:auto !important; margin:0 0 5px !important; color:var(--y4-muted); font-size:12px; font-weight:500; text-transform:none; letter-spacing:0;
  }
  body.yatoon-app-shell-on #sbs-services-table tr.sbs-main-service-row td:is(:first-child,:nth-child(5),:nth-child(11))::before { display:none !important; }
  body.yatoon-app-shell-on #sbs-services-table thead { display:block !important; }
  body.yatoon-app-shell-on #sbs-services-table thead tr { display:block; }
  body.yatoon-app-shell-on #sbs-services-table thead th { display:none; }
  body.yatoon-app-shell-on #sbs-services-table thead th:first-child { display:flex; align-items:center; gap:10px; width:auto !important; min-height:44px; padding:8px 0; }
  body.yatoon-app-shell-on #sbs-services-table thead th:first-child::after { content:attr(data-yatoon-mobile-label); font-size:13px; }
  body.yatoon-app-shell-on #sbs-services-table .sbs-order-input { min-height:44px; }
  body.yatoon-app-shell-on #sbs-services-table .sbs-status-toggle { min-height:44px; max-width:100%; white-space:normal; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards,
  body.yatoon-app-shell-on table.yatoon-mobile-cards tbody { display:block !important; width:100% !important; min-width:0 !important; table-layout:auto; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards thead { display:none !important; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards tbody > tr { display:block; margin:0 0 12px; padding:14px; border:1px solid var(--y4-border); border-radius:12px; background:var(--y4-surface); }
  body.yatoon-app-shell-on table.yatoon-mobile-cards tbody > tr > :is(td,th) {
    display:block !important; width:auto !important; min-width:0 !important; max-width:none !important;
    padding:8px 0 !important; border:0 !important; white-space:normal !important; overflow:visible; overflow-wrap:anywhere;
  }
  body.yatoon-app-shell-on table.yatoon-mobile-cards tbody > tr > [data-yatoon-mobile-label]::before {
    content:attr(data-yatoon-mobile-label) !important; display:block !important; position:static !important;
    width:auto !important; margin:0 0 4px !important; color:var(--y4-muted) !important; font-size:12px !important;
    font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important;
  }
  body.yatoon-app-shell-on table.yatoon-mobile-cards tbody > tr > [colspan]::before { display:none !important; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards .yatoon-col-resizer,
  body.yatoon-app-shell-on .yatoon-mobile-scroll .yatoon-table-x-scrollbar { display:none; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards.yatoon-mobile-cards-has-selection thead { display:block !important; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards.yatoon-mobile-cards-has-selection thead :is(tr,th,td) { display:none; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards.yatoon-mobile-cards-has-selection thead tr:first-child { display:block; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards.yatoon-mobile-cards-has-selection thead tr:first-child :is(th,td):first-child { display:flex; gap:10px; align-items:center; width:auto !important; min-height:44px; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards.yatoon-mobile-cards-has-selection thead :is(th,td):first-child::after { content:attr(data-yatoon-mobile-label); }
  body.yatoon-app-shell-on table.yatoon-mobile-cards tbody > tr > :first-child:has(input[type=checkbox])::before { display:none !important; }
  body.yatoon-app-shell-on :is(#sbs-staff-table,#sbs-settings-staff-table) thead { display:block !important; }
  body.yatoon-app-shell-on .wrap table.yatoon-mobile-cards:is(#sbs-staff-table,#sbs-settings-staff-table) { width:100% !important; min-width:0 !important; max-width:100% !important; }
  body.yatoon-app-shell-on :is(#sbs-staff-table,#sbs-settings-staff-table) tbody > tr { display:grid; grid-template-columns:44px minmax(0,1fr) minmax(0,1fr); gap:0 8px; }
  body.yatoon-app-shell-on :is(#sbs-staff-table,#sbs-settings-staff-table) tbody > tr > * { grid-column:1/-1; }
  body.yatoon-app-shell-on :is(#sbs-staff-table,#sbs-settings-staff-table) tbody > tr > :first-child { grid-column:1; grid-row:1; }
  body.yatoon-app-shell-on :is(#sbs-staff-table,#sbs-settings-staff-table) tbody > tr > :first-child::before { display:none !important; }
  body.yatoon-app-shell-on #sbs-staff-table tbody > tr > :nth-child(4) { grid-column:2/-1; grid-row:1; }
  body.yatoon-app-shell-on #sbs-staff-table tbody > tr > :nth-child(3) { display:none !important; }
  body.yatoon-app-shell-on #sbs-staff-table tbody > tr > :is(:nth-child(2),:nth-child(7),:nth-child(11)) { grid-column:1/3; }
  body.yatoon-app-shell-on #sbs-staff-table tbody > tr > :is(:nth-child(5),:nth-child(8),:nth-child(12)) { grid-column:3; }
  body.yatoon-app-shell-on :is(#sbs-staff-table,#sbs-settings-staff-table) tbody > tr > :last-child { display:flex !important; gap:8px; flex-wrap:wrap; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards tbody { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }

}
@media (max-width:782px) {
  body.yatoon-app-shell-on { --yapp-topbar-h:calc(110px + env(safe-area-inset-top,0px)); }
  body.yatoon-app-shell-on .yatoon-app-topbar {
    display:grid; grid-template-columns:44px minmax(0,1fr) 44px; grid-template-rows:44px 44px;
    gap:6px 10px; height:var(--yapp-topbar-h); padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;
  }
  body.yatoon-app-shell-on #wpbody-content { padding-top:var(--yapp-topbar-h) !important; }
  body.yatoon-app-shell-on .yatoon-app-menu-toggle { grid-row:1; grid-column:1; width:44px; height:44px; }
  body.yatoon-app-shell-on .yatoon-app-quick-create { grid-row:1; grid-column:2; justify-self:end; min-height:44px; height:44px; }
  body.yatoon-app-shell-on .yatoon-app-actions-toggle { grid-row:1; grid-column:3; }
  body.yatoon-app-shell-on .yatoon-app-search { grid-row:2; grid-column:1/-1; min-width:0; width:100%; max-width:none; }
  body.yatoon-app-shell-on .yatoon-app-search input { height:44px; font-size:16px; }
  body.yatoon-app-shell-on .yatoon-app-topbar-spacer { display:none; }
  body.yatoon-app-shell-on .yatoon-app-search-results { max-height:min(380px,calc(100dvh - 150px)); }
  body.yatoon-app-shell-on .yatoon-app-search-results a { min-height:44px; }
  body.yatoon-app-shell-on .yatoon-app-sidebar { height:100vh; height:100dvh; overscroll-behavior:contain; }
  body.yatoon-app-shell-on .yatoon-app-sidebar:not(.is-open) { visibility:hidden; }
  body.yatoon-app-shell-on .yatoon-app-nav a,
  body.yatoon-app-shell-on .yatoon-app-nav-label { min-height:44px; }
  body.yatoon-app-shell-on .wrap :is(h1,h2,h3,p,code) { overflow-wrap:anywhere; }
  body.yatoon-app-shell-on .wrap :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) {
    box-sizing:border-box; max-width:100% !important; min-width:0 !important; font-size:16px !important;
  }
  body.yatoon-app-shell-on .wrap :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select) { min-height:44px; }
  body.yatoon-app-shell-on .wrap input:is([type=checkbox],[type=radio]) { width:24px; height:24px; min-width:24px; }
  body.yatoon-app-shell-on .wrap :is(.button,.sbs-status-toggle) { min-height:44px !important; white-space:normal; line-height:1.4; }
  body.yatoon-app-shell-on .wrap .form-table,
  body.yatoon-app-shell-on .wrap .form-table tbody,
  body.yatoon-app-shell-on .wrap .form-table tr,
  body.yatoon-app-shell-on .wrap .form-table th,
  body.yatoon-app-shell-on .wrap .form-table td { display:block; width:100% !important; max-width:100%; min-width:0; box-sizing:border-box; }
  body.yatoon-app-shell-on .wrap .form-table th { padding:12px 0 6px; }
  body.yatoon-app-shell-on .wrap .form-table td { padding:4px 0 14px; }
  body.yatoon-app-shell-on .sbs-card { padding:16px !important; }
  body.yatoon-app-shell-on #sbs-services-table tbody { grid-template-columns:1fr; }
  body.yatoon-app-shell-on .sbs-selected-service-actions .button:disabled { display:none !important; }
  body.yatoon-app-shell-on :is(.sbs-services-page,.sbs-staff-page) .sbs-table-search { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
  body.yatoon-app-shell-on :is(.sbs-services-page,.sbs-staff-page) .sbs-table-search > * { width:100% !important; margin:0 !important; }
  body.yatoon-app-shell-on :is(.sbs-services-page,.sbs-staff-page) .sbs-table-search > input { grid-column:1/-1; }
  body.yatoon-app-shell-on .sbs-staff-page .sbs-table-actions .button:disabled { display:none !important; }
  body.yatoon-app-shell-on .sbs-table-actions { flex-wrap:wrap; gap:8px; }
  body.yatoon-app-shell-on .sbs-selected-services-summary { text-align:start; font-size:13px; }
  body.yatoon-app-shell-on table.yatoon-mobile-cards tbody { display:block !important; }
  body.yatoon-app-shell-on #yatoon-notif-wrap .yn-card { padding:16px !important; }
  body.yatoon-app-shell-on #yatoon-notif-wrap .yn-row { flex-direction:column; gap:6px; }
  body.yatoon-app-shell-on #yatoon-notif-wrap .yn-row > * { min-width:0 !important; max-width:100%; }
  body.yatoon-app-shell-on #yatoon-notif-wrap :is(.yn-actions,.yn-test-row) { flex-wrap:wrap; }
  body.yatoon-app-shell-on #yatoon-notif-wrap pre { white-space:pre-wrap; overflow-wrap:anywhere; }
  body.yatoon-app-shell-on #yatoon-automations-wrap .ya-row { flex-wrap:wrap; }
  body.yatoon-app-shell-on #yatoon-automations-wrap .ya-row > * { min-width:0; max-width:100%; }
  body.yatoon-app-shell-on :is(#sbs-service-modal,#sbs-staff-modal,#sbs-edit-services-modal,#sbs-category-modal,#sbs-category-services-modal,#sbs-copy-addon-modal) {
    box-sizing:border-box; height:100vh !important; height:100dvh !important; padding:12px !important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important; overflow-y:auto;
  }
  body.yatoon-app-shell-on :is(#sbs-service-modal,#sbs-staff-modal,#sbs-edit-services-modal,#sbs-category-modal,#sbs-category-services-modal,#sbs-copy-addon-modal) > div {
    width:100% !important; max-width:100% !important; max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px)) !important;
    margin:0 !important; box-sizing:border-box; overflow:auto;
  }
  body.yatoon-app-shell-on :is(.sbs-service-modal-panel,#sbs-category-modal>div,#sbs-category-services-modal>div,#sbs-copy-addon-modal>div,.sbs-staff-modal-body) { padding:16px !important; }
  body.yatoon-app-shell-on :is(#sbs-service-modal,#sbs-staff-modal,#sbs-edit-services-modal,#sbs-category-modal,#sbs-category-services-modal,#sbs-copy-addon-modal) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) {
    max-width:100% !important; min-width:0 !important; min-height:44px; font-size:16px !important; box-sizing:border-box;
  }
  body.yatoon-app-shell-on :is(#sbs-service-modal,#sbs-staff-modal,#sbs-edit-services-modal,#sbs-category-modal,#sbs-category-services-modal,#sbs-copy-addon-modal) input:is([type=checkbox],[type=radio]) { width:24px; height:24px; min-width:24px; }
  body.yatoon-app-shell-on :is(#sbs-service-modal,#sbs-staff-modal,#sbs-edit-services-modal,#sbs-category-modal,#sbs-category-services-modal,#sbs-copy-addon-modal) :is(.button,.sbs-service-modal-close,#sbs-staff-modal-close) { min-height:44px !important; min-width:44px; white-space:normal; }
  body.yatoon-app-shell-on :is(#sbs-service-modal,#sbs-staff-modal) .form-table :is(tbody,tr,th,td) { display:block; width:100% !important; min-width:0; padding-inline:0 !important; box-sizing:border-box; }
  body.yatoon-app-shell-on .sbs-service-image-preview { flex-wrap:wrap; }
  body.yatoon-app-shell-on #sbs-service-form .sbs-service-number-fields { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px !important; }
  body.yatoon-app-shell-on #sbs-service-form .sbs-service-number-fields > span { min-width:0; overflow-wrap:anywhere; }
  body.yatoon-app-shell-on #sbs-service-form .sbs-service-number-fields input { width:100% !important; }
  body.yatoon-app-shell-on #sbs-service-modal label { overflow-wrap:anywhere; }
  body.yatoon-app-shell-on .sbs-service-image-preview-frame { max-width:100%; }
  body.yatoon-app-shell-on .sbs-staff-services-toolbar { grid-template-columns:minmax(0,1fr); }
  body.yatoon-app-shell-on .yc-mobile-staff-tabs button,
  body.yatoon-app-shell-on .yc-col-head .button { min-height:44px !important; }
  body.yatoon-app-shell-on [id^="yatoon-"] { scroll-margin-top:calc(var(--yapp-topbar-h) + 16px); }
}
@media (prefers-reduced-motion:reduce) {
  body.yatoon-app-shell-on .yatoon-app-sidebar { transition:none; }
}
