/* 后台独立响应样式；仅比较表格在内部横向滚动，业务列表转成带字段名的卡片。 */
.admin-app .layout { grid-template-columns:212px minmax(0,1fr); }
.admin-app .layout>*,.admin-app .layout-2col>*,.admin-main .card,.admin-main .cfg-item { min-width:0; }
.admin-main { overflow-wrap:anywhere; }
.admin-app .topbar-in { flex-wrap:wrap; }
.admin-brand { min-width:180px; }
.admin-nav-opener,.admin-nav-heading { display:none; }
.admin-nav-backdrop[hidden],.side-nav [hidden] { display:none; }
.admin-nav-backdrop { position:fixed;inset:0;z-index:119;background:rgba(47,29,37,.38);border:0; }
.admin-app .side { max-height:calc(100dvh - 90px);overflow-y:auto;top:90px; }
.admin-app .side-nav { display:block;overflow:visible; }
.nav-group-toggle { width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;padding:12px;background:#f5eff2;border:0;border-bottom:1px solid var(--line);font:inherit;font-weight:600;font-size:13px;color:var(--ink-700);cursor:pointer;min-height:44px; }
.nav-group-toggle.current { color:var(--pink-800); }
.nav-group-toggle small { margin-left:8px;font-weight:400;font-size:10px; }
.nav-group-toggle[aria-expanded="false"] .nav-caret { transform:rotate(-90deg); }
.admin-app .side-nav a { min-height:44px;padding-left:24px;white-space:normal;border-right:0; }
.admin-app .side-nav a:focus-visible,.nav-group-toggle:focus-visible { outline:3px solid #a64b72;outline-offset:-3px; }
.admin-main .between,.admin-main .center { flex-wrap:wrap; }
.admin-main .row4 { display:grid;grid-template-columns:repeat(4,minmax(0,1fr)); }
.admin-main .row2,.admin-main .row3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-main .admin-table-scroll { max-width:100%;overflow-x:auto;overscroll-behavior-x:contain; }
.admin-main .admin-comparison-table { min-width:520px; }
.admin-app .mask.modal-center { padding:16px;align-items:center; }
.admin-app .mask .sheet { max-width:680px;width:100%;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-block:70px; }
.admin-app .mask .sheet-hd { position:sticky;top:0;background:#fff;z-index:2;gap:8px; }
.admin-app #ed-save { position:sticky;bottom:0;z-index:2;min-height:44px; }
.admin-app .mask:not(.modal-center) { align-items:center;padding:16px; }
.admin-app .mask>.modal-center { background:#fff;border-radius:16px;width:100%;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior-y:contain;overflow-wrap:anywhere; }
.admin-app .modal-head { display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-20px;background:#fff;padding-block:8px;z-index:2; }
.admin-app .modal-head .x { width:44px;height:44px;flex:none;border:0;background:#faf5f7;border-radius:8px;font-size:26px;cursor:pointer; }
.admin-app .modal-foot { display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;position:sticky;bottom:-20px;background:#fff;padding-block:10px;z-index:2; }
@media(max-width:880px) {
  .admin-app .layout { display:block; }
  .admin-app .desk { padding-left:12px;padding-right:12px; }
  .admin-app .topbar-in { padding:10px 12px !important;gap:8px; }
  .admin-app .topbar { position:relative; }
  .admin-brand { flex:1 1 calc(100% - 100px) !important;min-width:0; }
  .admin-brand .sub { overflow-wrap:anywhere; }
  .admin-nav-opener { display:flex; }
  .admin-app .side { display:none;position:fixed;left:0;top:0;bottom:0;width:min(320px,calc(100vw - 28px));max-height:100dvh;z-index:120;background:#fff;padding:12px;overflow-y:auto;overscroll-behavior-y:contain; }
  .admin-app .side.is-open { display:block; }
  .admin-nav-heading { display:flex;align-items:center;justify-content:space-between;margin-bottom:10px; }
  .admin-main .row4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-main>.desk { padding:0; }
  .admin-main .tbl.admin-card-table,.admin-card-table tbody,.admin-card-table tr,.admin-card-table td { display:block;width:100%; }
  .admin-card-table thead { display:none; }
  .admin-card-table tr { padding:10px;border-bottom:1px solid var(--line); }
  .admin-card-table td { display:flex !important;align-items:flex-start;gap:10px;border:0 !important;padding:6px !important;text-align:left !important;min-width:0;flex-wrap:wrap; }
  .admin-card-table td::before { content:attr(data-label);flex:0 0 70px;color:var(--ink-500);font-weight:500;font-size:12px; }
  .admin-card-table td.table-actions::before { flex-basis:100%; }
  .admin-card-table td.table-empty-cell::before { display:none; }
  .admin-card-table .table-actions { gap:8px; }
  .admin-app .btn,.admin-app .seg button,.admin-app .segs button,.admin-app .seg-btn,.admin-app .tabs button { min-height:44px; }
  .admin-main .seg,.admin-main .segs,.admin-main .tabs { flex-wrap:wrap; }
  .admin-main .seg button,.admin-main .segs button { white-space:normal; }
  .admin-main .inp,.admin-app .mask .inp { min-width:0;max-width:100%;font-size:16px; }
  .admin-main .field { min-width:0; }
  .admin-main [style*="display:flex"],.admin-main [style*="display: flex"] { flex-wrap:wrap;max-width:100%; }
  .admin-main .line { flex-wrap:wrap;gap:6px; }
  .admin-main .line .am { min-width:0;overflow-wrap:anywhere; }
  .admin-main .bd-item>div { min-width:0; }
  .admin-main input[type="checkbox"],.admin-app .mask input[type="checkbox"] { min-width:24px;min-height:24px; }
  .admin-app .mask.modal-center { padding:10px; }
  .admin-app .mask .sheet { max-height:calc(100dvh - 20px);padding:14px; }
  .admin-app .mask .row2,.admin-app .mask .row3 { grid-template-columns:minmax(0,1fr); }
  .admin-main .role-perm { grid-template-columns:minmax(0,1fr); }
  .admin-main .config-order-controls .btn { min-height:44px; }
  .admin-app .mm-x { top:0;right:0;min-width:44px;min-height:44px;line-height:44px;font-size:26px; }
  .admin-app .lightbox .lb-close { min-width:44px;min-height:44px;text-align:center;line-height:44px; }
  .admin-app .mask>.modal-center { max-height:calc(100dvh - 20px);padding:12px; }
  .admin-app .mask>.modal-center .card { padding:12px;min-width:0; }
}
@media(max-width:480px) {
  .admin-main .row2,.admin-main .row3,.admin-main .row4 { grid-template-columns:minmax(0,1fr); }
  .admin-main .card { padding:12px; }
  .admin-main .mgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-main .mcard { padding:10px; }
  .admin-main .mcard .vl { font-size:21px; }
  .admin-main .between>div[style*="flex:1"] { flex-basis:100%;min-width:0; }
}
