/* v14.17.3 — 관리자 관리 도구 표시 및 Figma 모바일 레이아웃 */
body.admin-page .admin-nav-tools { width: 100%; margin-top: 8px; }
body.admin-page .admin-nav-tools summary {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 42px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.28);
  border-radius: 10px; background: #092b22; color: #fff;
  font-size: 14px; font-weight: 900; line-height: 1.2; cursor: pointer;
  list-style: none; letter-spacing: -.01em;
}

/* v14.17.5: 휴대폰 탭 전환 시 상품 영역을 확실하게 분리 */
@media (max-width: 780px) {
  body:not(.admin-page).customer-mode-guide #productCategoryTitle,
  body:not(.admin-page).customer-mode-guide #cats,
  body:not(.admin-page).customer-mode-guide #productListTitle,
  body:not(.admin-page).customer-mode-guide .ai-image-notice,
  body:not(.admin-page).customer-mode-guide #products,
  body:not(.admin-page).customer-mode-guide .customer-help-footer,
  body:not(.admin-page).customer-mode-myorders #productCategoryTitle,
  body:not(.admin-page).customer-mode-myorders #cats,
  body:not(.admin-page).customer-mode-myorders #productListTitle,
  body:not(.admin-page).customer-mode-myorders .ai-image-notice,
  body:not(.admin-page).customer-mode-myorders #products,
  body:not(.admin-page).customer-mode-myorders .customer-help-footer {
    display: none !important;
  }
  body:not(.admin-page).customer-mode-myorders #myOrderLookupSection:not(.hide) {
    display: block !important; position: static !important; width: 100% !important;
    margin: 12px 0 0 !important; padding: 14px !important; border-radius: 16px !important;
  }
  body:not(.admin-page).customer-mode-myorders #myOrderLookupSection .lookup-box-two {
    display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important;
  }
  body:not(.admin-page).customer-mode-myorders #myOrderLookupSection .lookup-box-two input,
  body:not(.admin-page).customer-mode-myorders #myOrderLookupSection .lookup-box-two button {
    width: 100% !important; min-height: 48px !important;
  }
}
body.admin-page .admin-nav-tools summary::-webkit-details-marker { display: none; }
body.admin-page .admin-nav-tools summary::after { content: '＋'; color: #ffe000; font-size: 17px; line-height: 1; }
body.admin-page .admin-nav-tools[open] summary::after { content: '−'; }
body.admin-page .admin-nav-secondary {
  display: flex; flex-direction: column; gap: 8px; width: 100%; padding-top: 8px;
}
@media (max-width: 780px) {
  html { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
  body { min-width: 0; overflow-x: hidden; }
  body *, body *::before, body *::after { box-sizing: border-box; min-width: 0; }
  .shell { width: 100%; max-width: 100%; margin: 0; overflow: hidden; }
  .btn, button, select, input { word-break: keep-all; }

  body:not(.admin-page) header {
    position: sticky !important; top: 0 !important; z-index: 40 !important;
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important;
    width: 100% !important; min-height: 76px !important; padding: 11px 12px !important;
    gap: 8px !important; align-items: center !important; border-radius: 0 !important;
  }
  body:not(.admin-page) .brand { overflow: hidden !important; }
  body:not(.admin-page) .brand b {
    display: block !important; max-width: 100% !important; overflow: hidden !important;
    font-size: clamp(16px, 4.7vw, 19px) !important; line-height: 1.3 !important;
    text-overflow: ellipsis !important; white-space: nowrap !important;
  }
  body:not(.admin-page) .brand small {
    display: block !important; max-width: 100% !important; overflow: hidden !important;
    font-size: 10px !important; line-height: 1.35 !important; text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body:not(.admin-page) .header-actions {
    display: grid !important; grid-template-columns: 40px 40px !important;
    width: 86px !important; gap: 6px !important; align-items: center !important;
  }
  body:not(.admin-page) #backToAdminBtn,
  body:not(.admin-page) .pwa-install-btn { display: none !important; }
  body:not(.admin-page) .header-actions .btn {
    display: grid !important; place-items: center !important; width: 40px !important;
    min-width: 40px !important; height: 40px !important; min-height: 40px !important;
    padding: 0 !important; border-radius: 12px !important; overflow: hidden !important;
    font-size: 0 !important;
  }
  body:not(.admin-page) #customerRefreshBtn::before { content: '↻'; font-size: 22px; line-height: 1; }
  body:not(.admin-page) #customerRefreshBtn > span { display: none !important; }
  body:not(.admin-page) #openChat .chat-icon { display: inline !important; font-size: 18px !important; }
  body:not(.admin-page) #openChat .chat-text { display: none !important; }
  body:not(.admin-page) main { width: 100%; padding: 8px 10px 112px !important; }
  body:not(.admin-page) .mobile-entry-actions {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  body:not(.admin-page) .mobile-entry-button {
    width: 100% !important; min-height: 48px !important; padding: 8px 4px !important;
    line-height: 1.2 !important;
  }
  body:not(.admin-page) .mobile-entry-button span { display: none !important; }
  body:not(.admin-page) .mobile-entry-button b { font-size: 13px !important; white-space: nowrap !important; }
  body:not(.admin-page).customer-mode-order #cats {
    display: flex !important; width: 100% !important; gap: 7px !important;
    padding: 3px 0 7px !important; overflow-x: auto !important; scrollbar-width: none;
  }
  body:not(.admin-page).customer-mode-order #cats::-webkit-scrollbar { display: none; }
  body:not(.admin-page).customer-mode-order #cats .chip {
    flex: 0 0 auto !important; width: auto !important; min-width: 62px !important;
    min-height: 40px !important; padding: 8px 12px !important; font-size: 13px !important;
    line-height: 1.2 !important; white-space: nowrap !important;
  }
  body:not(.admin-page).customer-mode-order #products.grid {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important; gap: 9px !important;
  }
  body:not(.admin-page) #products .card { width: 100% !important; overflow: hidden !important; }

  body.admin-page header {
    position: sticky !important; top: 0 !important; z-index: 50 !important;
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important;
    width: 100% !important; min-height: 82px !important; padding: 12px 14px !important;
    gap: 8px !important; align-items: center !important;
  }
  body.admin-page .brand { overflow: hidden !important; }
  body.admin-page .brand b {
    display: block !important; max-width: 100% !important; overflow: hidden !important;
    font-size: clamp(17px, 5vw, 20px) !important; line-height: 1.25 !important;
    text-overflow: ellipsis !important; white-space: nowrap !important;
  }
  body.admin-page .brand small {
    display: block !important; max-width: 100% !important; overflow: hidden !important;
    font-size: 10px !important; text-overflow: ellipsis !important; white-space: nowrap !important;
  }
  body.admin-page .header-actions {
    display: grid !important; grid-template-columns: 46px 46px !important;
    width: 98px !important; gap: 6px !important;
  }
  body.admin-page .header-actions .btn {
    display: grid !important; place-items: center !important; width: 46px !important;
    min-width: 46px !important; height: 40px !important; min-height: 40px !important;
    padding: 0 3px !important; font-size: 11px !important; line-height: 1.1 !important;
    text-align: center !important; overflow: hidden !important;
  }
  body.admin-page .header-actions .btn:first-child { font-size: 0 !important; }
  body.admin-page .header-actions .btn:first-child::after { content: '링크'; font-size: 11px; }
  body.admin-page .header-actions a::after { content: none !important; }
  body.admin-page .header-actions .pwa-install-btn { display: none !important; }
  body.admin-page main { width: 100%; padding: 0 12px 88px !important; }
  body.admin-page #panel:not(.hide) { display: block !important; width: 100% !important; }

  body.admin-page .admin-nav {
    position: static !important; display: block !important; width: auto !important;
    max-height: none !important; margin: 0 -12px 14px !important; padding: 8px 12px 10px !important;
    overflow: visible !important; border: 0 !important; border-bottom: 1px solid var(--halla-border) !important;
    border-radius: 0 !important; background: #fff !important;
  }
  body.admin-page .admin-nav-primary {
    display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: 100% !important; gap: 5px !important;
  }
  body.admin-page .admin-nav-primary .btn {
    width: 100% !important; min-width: 0 !important; min-height: 42px !important;
    padding: 6px 2px !important; border-radius: 10px !important; font-size: 11px !important;
    line-height: 1.15 !important; text-align: center !important; white-space: nowrap !important;
    background: var(--halla-soft) !important; color: var(--halla-ink) !important;
  }
  body.admin-page .admin-nav-primary [data-admin-tab].btn-primary {
    background: var(--halla-green) !important; color: #fff !important;
  }
  body.admin-page .admin-nav-tools { width: 100% !important; margin-top: 7px !important; }
  body.admin-page .admin-nav-tools summary {
    display: flex; align-items: center; justify-content: space-between; min-height: 40px; padding: 8px 12px;
    border: 1px solid var(--halla-border); border-radius: 10px; background: #f4f8f6;
    color: var(--halla-green); font-size: 13px; font-weight: 900; cursor: pointer;
  }
  body.admin-page .admin-nav-secondary {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    width: 100% !important; gap: 7px !important; padding-top: 8px !important;
  }
  body.admin-page .admin-nav-secondary .btn {
    width: 100% !important; min-width: 0 !important; min-height: 42px !important;
    padding: 7px 5px !important; border-radius: 10px !important; font-size: 11px !important;
    line-height: 1.2 !important; text-align: center !important; white-space: normal !important;
    background: var(--halla-soft) !important; color: var(--halla-ink) !important;
  }
  body.admin-page .admin-nav-secondary .btn-gold { background: #fff4c9 !important; color: #634c00 !important; }
  body.admin-page .admin-nav-secondary .btn-danger { background: #fee9e7 !important; color: #9d2822 !important; }

  body.admin-page .section-title,
  body.admin-page .section-title.row.between {
    display: flex !important; flex-direction: column !important; align-items: stretch !important;
    width: 100% !important; margin: 18px 0 12px !important; gap: 9px !important;
    font-size: 22px !important; line-height: 1.3 !important; word-break: keep-all !important;
  }
  body.admin-page .section-title.row.between > span { width: 100% !important; white-space: normal !important; }
  body.admin-page .section-title.row.between > .row {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    width: 100% !important; gap: 8px !important;
  }
  body.admin-page .section-title .btn,
  body.admin-page .section-title.row.between .btn {
    width: 100% !important; min-width: 0 !important; min-height: 44px !important;
    padding: 9px 6px !important; font-size: 12px !important; line-height: 1.2 !important;
    white-space: normal !important;
  }
  body.admin-page .admin-search-row {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    width: 100% !important; gap: 8px !important;
  }
  body.admin-page .admin-search-row input { grid-column: 1 / -1 !important; width: 100% !important; }
  body.admin-page .admin-search-row select,
  body.admin-page .admin-search-row button { width: 100% !important; min-width: 0 !important; }
  body.admin-page .stats,
  body.admin-page #statsTab .stats {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    width: 100% !important; gap: 8px !important; margin: 12px 0 !important;
    overflow: visible !important; background: transparent !important;
  }
  body.admin-page .stat,
  body.admin-page #statsTab .stat {
    width: 100% !important; min-height: 92px !important; padding: 13px 11px !important;
    border: 1px solid var(--halla-border) !important; border-radius: 14px !important;
    background: #fff !important; font-size: 11px !important;
  }
  body.admin-page .stat b,
  body.admin-page #statsTab .stat b {
    display: block !important; max-width: 100% !important; font-size: clamp(17px, 5.5vw, 22px) !important;
    line-height: 1.25 !important; white-space: normal !important; overflow-wrap: anywhere !important;
  }
  body.admin-page .table-wrap { width: 100% !important; max-width: 100% !important; }
  body.admin-page #productsTab .table-wrap,
  body.admin-page #statsTab .table-wrap,
  body.admin-page #salesTab .table-wrap,
  body.admin-page #customersTab .table-wrap {
    overflow-x: auto !important; -webkit-overflow-scrolling: touch !important;
  }
}

@media (max-width: 360px) {
  body.admin-page .admin-nav-primary .btn { font-size: 10px !important; }
  body:not(.admin-page) .brand small,
  body.admin-page .brand small { display: none !important; }
}

/* 손님용 상단을 간결하게 하고, 사용 안내와 도구를 공지사항에 모읍니다. */
body:not(.admin-page) .customer-help-notice { display: none; }
body:not(.admin-page).customer-mode-guide .customer-help-notice {
  display: block !important;
  margin: 14px 0 18px;
  padding: 18px;
  border: 1px solid #d8e5dc;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(14,58,43,.07);
}
body:not(.admin-page).customer-mode-myorders .customer-help-notice { display: none !important; }
body:not(.admin-page) .customer-help-notice-title {
  margin-bottom: 8px;
  color: #123f30;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.4px;
}
body:not(.admin-page) .customer-help-notice > p {
  margin: 0 0 14px;
  color: #52645b;
  font-size: 14px;
  line-height: 1.65;
  word-break: keep-all;
}
body:not(.admin-page) .customer-help-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
}
body:not(.admin-page) .customer-help-actions .btn {
  display: inline-flex !important;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
}
body:not(.admin-page) .customer-help-actions .pwa-install-btn:not(.hide) { display: inline-flex !important; }
body:not(.admin-page) .customer-install-steps {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 13px 15px 13px 32px;
  border-radius: 12px;
  background: #f3f7f3;
  color: #48594f;
  font-size: 13px;
  line-height: 1.6;
  word-break: keep-all;
}
body:not(.admin-page) .customer-help-notice .refresh-status { margin-top: 8px; }

@media (max-width: 780px) {
  body:not(.admin-page) header {
    grid-template-columns: minmax(0,1fr) auto !important;
    min-height: 96px !important;
    padding: 18px 16px !important;
  }
  body:not(.admin-page) .brand { overflow: visible !important; }
  body:not(.admin-page) .brand b {
    overflow: visible !important;
    white-space: normal !important;
    font-size: clamp(27px,7.6vw,34px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.8px !important;
  }
  body:not(.admin-page) .brand small {
    display: block !important;
    max-width: none !important;
    margin-top: 5px;
    overflow: visible !important;
    white-space: normal !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  body:not(.admin-page) .header-actions { width: 0 !important; gap: 0 !important; }
  body:not(.admin-page) .customer-help-notice { padding: 16px; }
}

@media (max-width: 360px) {
  body:not(.admin-page) .brand small { display: block !important; }
  body:not(.admin-page) .customer-help-actions { grid-template-columns: 1fr; }
}

/* 공지사항 화면의 새로고침·카카오톡 버튼을 휴대폰에서 또렷하게 표시 */
@media (max-width: 780px) {
  body:not(.admin-page).customer-mode-guide .customer-help-actions .btn {
    min-height: 64px !important;
    gap: 9px !important;
    border: 2px solid transparent !important;
    border-radius: 16px !important;
    box-shadow: 0 5px 12px rgba(16,33,59,.13) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }
  body:not(.admin-page).customer-mode-guide .customer-help-actions #customerRefreshBtn {
    background: #0e3a2b !important;
    border-color: #0e3a2b !important;
    color: #fff !important;
  }
  body:not(.admin-page).customer-mode-guide .customer-help-actions #customerRefreshBtn:before {
    content: none !important;
  }
  body:not(.admin-page).customer-mode-guide .customer-help-actions #customerRefreshBtn > .notice-action-icon,
  body:not(.admin-page).customer-mode-guide .customer-help-actions #customerRefreshBtn > .notice-action-label {
    display: inline !important;
  }
  body:not(.admin-page).customer-mode-guide .customer-help-actions #openChat {
    background: #ffe500 !important;
    border-color: #e3cb00 !important;
    color: #302600 !important;
  }
  body:not(.admin-page).customer-mode-guide .customer-help-actions .notice-action-icon {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 23px !important;
    line-height: 1 !important;
  }
  body:not(.admin-page).customer-mode-guide .customer-help-actions .notice-action-label {
    display: inline !important;
    color: inherit !important;
    white-space: nowrap !important;
  }
  body:not(.admin-page).customer-mode-guide .customer-help-actions .btn:focus-visible {
    outline: 3px solid #3285ff !important;
    outline-offset: 3px !important;
  }
}

/* Keep all five weekday pickup dates visible in the mobile checkout. */
@media (max-width: 780px) {
  body:not(.admin-page) .checkout-date-panel #dates {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 5px !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 3px 0 5px !important;
    scrollbar-width: none !important;
  }
  body:not(.admin-page) .checkout-date-panel #dates .chip {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 5px 2px !important;
    font-size: clamp(11px, 3.3vw, 13px) !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
  }
}

/* Compact mobile admin product management into category accordions and readable cards. */
.admin-products-mobile { display: none; }
@media (max-width: 780px) {
  body.admin-page #productsTab > .admin-products-table { display: none !important; }
  body.admin-page #productsTab > .admin-products-mobile {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 12px 0 24px !important;
  }
  body.admin-page .admin-mobile-product-group {
    overflow: hidden !important;
    border: 1px solid #d9e4dc !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(14,58,43,.05) !important;
  }
  body.admin-page .admin-mobile-product-group > summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 52px !important;
    padding: 12px 15px !important;
    background: #f0f6f2 !important;
    color: #123f30 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    list-style: none !important;
  }
  body.admin-page .admin-mobile-product-group > summary::-webkit-details-marker { display: none !important; }
  body.admin-page .admin-mobile-product-group > summary::after {
    content: '＋' !important;
    margin-left: 10px !important;
    color: #0c8d80 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }
  body.admin-page .admin-mobile-product-group[open] > summary::after { content: '−' !important; }
  body.admin-page .admin-mobile-product-group > summary b {
    margin-left: auto !important;
    color: #66756d !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }
  body.admin-page .admin-mobile-product-list {
    display: grid !important;
    gap: 9px !important;
    padding: 10px !important;
  }
  body.admin-page .admin-mobile-product-card {
    display: grid !important;
    gap: 9px !important;
    min-width: 0 !important;
    padding: 11px !important;
    border: 1px solid #e1e8e3 !important;
    border-radius: 13px !important;
    background: #fff !important;
  }
  body.admin-page .admin-mobile-product-head {
    display: grid !important;
    grid-template-columns: 70px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 11px !important;
    min-width: 0 !important;
  }
  body.admin-page .admin-mobile-product-head img {
    width: 70px !important;
    height: 62px !important;
    border-radius: 9px !important;
    object-fit: cover !important;
    background: #f5f5f2 !important;
  }
  body.admin-page .admin-mobile-product-head > div {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
  }
  body.admin-page .admin-mobile-product-category {
    color: #66756d !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }
  body.admin-page .admin-mobile-product-head b {
    overflow-wrap: anywhere !important;
    color: #173a2e !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
  }
  body.admin-page .admin-mobile-product-head small {
    color: #667085 !important;
    font-size: 12px !important;
  }
  body.admin-page .admin-mobile-product-price {
    color: #b9382e !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }
  body.admin-page .admin-mobile-product-options {
    display: grid !important;
    grid-template-columns: 44px minmax(0,1fr) !important;
    gap: 5px !important;
    color: #53625a !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }
  body.admin-page .admin-mobile-product-options span { color: #7a8580 !important; font-weight: 800 !important; }
  body.admin-page .admin-mobile-stock,
  body.admin-page .admin-mobile-stock-unlimited {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    color: #355d47 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }
  body.admin-page .admin-mobile-stock > div { display: flex !important; gap: 5px !important; }
  body.admin-page .admin-mobile-stock button {
    min-width: 42px !important;
    min-height: 36px !important;
    padding: 5px 8px !important;
    border: 1px solid #cddbd1 !important;
    border-radius: 8px !important;
    background: #f5f9f6 !important;
    color: #123f30 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }
  body.admin-page .admin-mobile-product-toggles,
  body.admin-page .admin-mobile-product-actions {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 7px !important;
  }
  body.admin-page .admin-mobile-product-toggles .mini-toggle,
  body.admin-page .admin-mobile-product-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 7px 5px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }
  body.admin-page .admin-products-empty {
    margin: 0 !important;
    padding: 18px !important;
    border: 1px dashed #cddbd1 !important;
    border-radius: 12px !important;
    color: #66756d !important;
    text-align: center !important;
  }
}

/* Show every customer product category in two compact rows on phones. */
@media (max-width: 780px) {
  body:not(.admin-page).customer-mode-order #cats {
    display: grid !important;
    grid-template-columns: repeat(var(--category-columns, 4), minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(38px, auto) !important;
    width: 100% !important;
    gap: 7px !important;
    overflow: visible !important;
    padding: 3px 0 7px !important;
    scrollbar-width: none !important;
  }
  body:not(.admin-page).customer-mode-order #cats .chip {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 38px !important;
    padding: 6px 5px !important;
    overflow-wrap: anywhere !important;
    font-size: clamp(11px, 3.5vw, 14px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
  }
}

/* 관리자↔손님 화면 이동 버튼: 모바일에서도 라벨이 읽히고 눌리도록 표시 */
@media (max-width: 780px) {
  body.admin-page .header-actions {
    display: grid !important;
    grid-template-columns: 44px 96px !important;
    width: 146px !important;
    gap: 6px !important;
  }
  body.admin-page .header-actions > .btn:first-child {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    font-size: 0 !important;
  }
  body.admin-page .header-actions > .customer-view-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 96px !important;
    min-width: 96px !important;
    height: 44px !important;
    padding: 5px !important;
    overflow: visible !important;
    border: 2px solid #fff !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: #0e3a2b !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }
  body.admin-page .header-actions > .customer-view-link::after {
    content: none !important;
  }
  body:not(.admin-page).customer-admin-return-enabled .header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    gap: 0 !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: 128px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    border: 2px solid #d6bd00 !important;
    border-radius: 13px !important;
    background: #ffe500 !important;
    color: #123f30 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide) span:first-child {
    display: inline !important;
    margin-right: 5px !important;
    font-size: 16px !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide) span:last-child {
    display: inline !important;
    font-size: 13px !important;
  }
}

/* Final mobile customer header layout: center the store title and keep the return label whole. */
@media (max-width: 780px) {
  body:not(.admin-page) > .shell > header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 0 !important;
    padding: 16px 12px !important;
    text-align: center !important;
  }
  body:not(.admin-page) > .shell > header > .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-align: center !important;
  }
  body:not(.admin-page) > .shell > header > .brand b {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    font-size: clamp(18px, 5vw, 21px) !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: -.45px !important;
    white-space: nowrap !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
  }
  body:not(.admin-page) > .shell > header > .brand small {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    margin-top: 4px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
  }
  body:not(.admin-page).customer-admin-return-enabled .header-actions {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0 !important;
  }
  body:not(.admin-page):not(.customer-admin-return-enabled) > .shell > header > .header-actions {
    display: none !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide) {
    display: inline-flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 132px !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 6px 10px !important;
    overflow: visible !important;
    border: 2px solid #d6bd00 !important;
    border-radius: 13px !important;
    background: #ffe500 !important;
    color: #123f30 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: -.2px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide)::before {
    content: none !important;
    display: none !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide) span:first-child {
    display: none !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide) span:last-child {
    display: inline !important;
    flex: 0 0 auto !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  body:not(.admin-page) > .shell > header > .brand b {
    font-size: 17px !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide) {
    flex-basis: 120px !important;
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    font-size: 13px !important;
  }
  body:not(.admin-page).customer-admin-return-enabled #backToAdminBtn:not(.hide) span:last-child {
    font-size: 13px !important;
  }
}

@media (max-width: 780px) {
  body.admin-page #productsTab .admin-category-buttons {
    display: grid !important;
    grid-template-columns: repeat(var(--admin-category-columns, 4), minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    overflow: visible !important;
    padding-bottom: 6px !important;
  }
  body.admin-page #productsTab .admin-category-buttons .chip {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 44px !important;
    padding: 7px 5px !important;
    font-size: clamp(11px, 3.4vw, 13px) !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
