.page-content{padding:1.25rem}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 1rem 0}
.breadcrumb{font-size:12px;color:#6c757d;display:flex;align-items:center;gap:6px}
.breadcrumb .sep{opacity:.7}
.page-title{font-size:1.125rem;font-weight:700;margin-top:.25rem}
.card{border-radius:10px}
.card-body .rounded, .card-body .border.rounded{border-radius:6px}
/* Legacy pages place content directly inside .card and need padding. Native
   Rocker cards already contain .card-body, so never pad their outer shell. */
body:not(.bg-login) .page-content .card{padding:18px}
body:not(.bg-login) .page-content .card.radius-10,
body:not(.bg-login) .page-content .card .card{padding:0}
.agent-dashboard-kpis{width:auto}
.agent-dashboard-kpis>.col{display:flex;min-width:0}
.agent-dashboard-kpis>.col>.card{width:100%;min-width:0;padding:0}
.card-title{margin-bottom:16px}
.card-title{font-weight:700}
.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.list-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.list-left,.list-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.muted{color:#6c757d}
.table-container{width:100%;overflow:auto}
.table{margin:0}

/* Site-wide data-table grid. Admin, agent and dialog tables share complete
   horizontal and vertical borders. Add .no-grid only to a layout table. */
.table-container,
.table-responsive,
.dl-table-wrap{
  overflow:auto;
  border:1px solid #edf0f4;
  border-radius:8px;
  background:#fff;
}
.table-container table,
.table-responsive table,
.dl-table-wrap table,
table.table,
table.table.dataTable,
.wdt-table{
  border-collapse:collapse;
  border-spacing:0;
  border:1px solid #e1e5ea;
  margin:0;
  vertical-align:middle;
}
.table-container table th,
.table-container table td,
.table-responsive table th,
.table-responsive table td,
.dl-table-wrap table th,
.dl-table-wrap table td,
table.table th,
table.table td,
.wdt-table th,
.wdt-table td{
  border-width:1px;
  border-style:solid;
  border-color:#e1e5ea;
}
.table-container table thead th,
.table-responsive table thead th,
.dl-table-wrap table thead th,
table.table thead th,
.wdt-table thead th{
  color:#53616f;
  background:#f8f9fa;
  font-weight:600;
  white-space:nowrap;
  border-bottom:1px solid #dee2e6;
}

/* Covers tables that do not use the legacy .table/.table-container classes. */
body.rocker-enhanced .page-content table:not(.no-grid),
body.rocker-enhanced .modal table:not(.no-grid),
body.rocker-enhanced .rc-modal table:not(.no-grid),
body.rocker-enhanced .w-modal table:not(.no-grid){
  border-collapse:collapse;
  border-spacing:0;
  border:1px solid #e1e5ea;
}
body.rocker-enhanced .page-content table:not(.no-grid) th,
body.rocker-enhanced .page-content table:not(.no-grid) td,
body.rocker-enhanced .modal table:not(.no-grid) th,
body.rocker-enhanced .modal table:not(.no-grid) td,
body.rocker-enhanced .rc-modal table:not(.no-grid) th,
body.rocker-enhanced .rc-modal table:not(.no-grid) td,
body.rocker-enhanced .w-modal table:not(.no-grid) th,
body.rocker-enhanced .w-modal table:not(.no-grid) td{
  border:1px solid #e1e5ea !important;
}
.pagination-link{display:inline-block;margin:0 4px;padding:6px 10px;border:1px solid rgba(0,0,0,.1);border-radius:8px;color:inherit;text-align:center;min-width:32px;background:#fff;text-decoration:none}
.pagination-link.active{background:rgba(13,110,253,.12);color:#0d6efd;border-color:rgba(13,110,253,.25)}
.pagination-link:hover{background:rgba(13,110,253,.06);border-color:rgba(13,110,253,.25)}
.btn{border-radius:5px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.btn:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.18)}
.btn.small{padding:.3rem .65rem;font-size:.82rem}
.btn.primary{color:#fff;background:#0d6efd;border-color:#0d6efd}
.btn.success{color:#fff;background:#15ca20;border-color:#15ca20}
.btn.danger{color:#fff;background:#fd3550;border-color:#fd3550}
.btn.small:not(.primary):not(.success):not(.danger):not([class*="btn-"]){color:#0d6efd;background:#fff;border:1px solid #0d6efd}
.btn.small:not(.primary):not(.success):not(.danger):not([class*="btn-"]):hover{color:#fff;background:#0d6efd}
.badge{display:inline-flex;align-items:center;justify-content:center;padding:.35em .6em;border-radius:999px;font-size:12px;font-weight:600}
.badge-success{background:rgba(25,135,84,.12);color:#198754}
.badge-warn{background:rgba(255,193,7,.18);color:#a06d00}
.alert{border-radius:.75rem}
.input,.select{display:block;width:100%}
.input{padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.input:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.input::placeholder{color:#6c757d;opacity:1}
.input:disabled,.input[readonly]{background-color:#e9ecef;opacity:1}
textarea.input{min-height:calc(1.5em + .75rem + 2px)}
.select{padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}
.select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.select:disabled{background-color:#e9ecef}
.form-label{font-weight:600}
.form-row{display:flex;align-items:center;gap:14px;padding:8px 0}
.form-lab{width:140px;flex:0 0 140px;font-size:13px;font-weight:700}
.form-ctrl{flex:1;min-width:0}
.req{color:#dc3545;margin-left:4px}

.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.kpi-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:18px 16px;display:flex;align-items:center;justify-content:space-between;min-height:104px;box-shadow:0 10px 22px rgba(0,0,0,.06);position:relative;overflow:hidden}
.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#0d6efd}
.kpi-card.kpi-red:before{background:#dc3545}
.kpi-card.kpi-green:before{background:#198754}
.kpi-card.kpi-orange:before{background:#fd7e14}
.kpi-left{min-width:0}
.kpi-label{font-size:13px;color:#6c757d;margin-bottom:8px}
.kpi-value{font-size:24px;font-weight:800;color:#0d6efd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-sub{font-size:12px;color:#6c757d;margin-top:8px}
.kpi-card.kpi-red .kpi-value{color:#dc3545}
.kpi-card.kpi-green .kpi-value{color:#198754}
.kpi-card.kpi-orange .kpi-value{color:#fd7e14}
.kpi-icon{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;color:#fff;flex:0 0 auto;box-shadow:0 8px 16px rgba(0,0,0,.12)}
.kpi-icon .icon{width:20px;height:20px}
.kpi-icon-blue{background:linear-gradient(135deg,#0d6efd,#60a5fa)}
.kpi-icon-red{background:linear-gradient(135deg,#dc3545,#fb7185)}
.kpi-icon-green{background:linear-gradient(135deg,#198754,#86efac)}
.kpi-icon-orange{background:linear-gradient(135deg,#fd7e14,#fbbf24)}

.dashboard-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.2fr);gap:12px;align-items:start}
.dashboard-chart .chart-box{height:320px}
.chart-box{display:flex;align-items:center;justify-content:center;min-height:180px}
.dashboard-chart .chart-box{display:block}
.chart-tabs{display:flex;align-items:center;gap:10px;font-size:12px;color:#6c757d;font-weight:800}
.chart-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(13,110,253,.06);border:1px solid rgba(0,0,0,.08)}
.chart-tab.active{color:#212529;background:#fff}
.trending-body{display:flex;align-items:center;gap:14px}
.trending-donut{flex:0 0 auto}
.trending-list{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}
.trend-item{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#212529}
.trend-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}
.trend-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trend-badge{min-width:30px;height:22px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:12px;padding:0 8px}
.legend-dot{width:8px;height:8px;border-radius:999px;display:inline-block}
.legend-dot.income{background:#0d6efd}
.legend-dot.orders{background:#fd7e14}
.bar-chart{width:100%;height:240px}
.bar-chart .grid line{stroke:rgba(0,0,0,.06);stroke-width:1}
.bar-chart .yLabel{font-size:11px;fill:#6c757d}
.bar-chart .xLabel{font-size:11px;fill:#6c757d}
.bar-chart .bar{opacity:.92}
.bar-chart .bar.income{fill:#0d6efd}
.bar-chart .bar.orders{fill:#fd7e14}
.donut-svg{width:100%;height:240px;display:block}
.donut-bg{stroke:rgba(0,0,0,.08)}
.donut-seg{transform:rotate(-90deg);transform-origin:60px 60px}
.donut-seg.paid{stroke:#fd7e14;stroke-linecap:round}
.donut-seg.unpaid{stroke:#0d6efd;stroke-linecap:round}

@media (max-width:1200px){
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid{grid-template-columns:1fr}
}
@media (max-width:480px){
  .kpi-grid{grid-template-columns:1fr}
}

body.ui-form{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:#212529}
body.ui-form .page-content{font-size:14px;line-height:1.5}
body.ui-form .page-head .page-title{font-size:18px;font-weight:600}
body.ui-form .breadcrumb{font-size:13px}
body.ui-form .card-title{font-size:16px;font-weight:600;letter-spacing:.02em}
body.ui-form .form-label,body.ui-form label,body.ui-form .form-lab{font-size:15px;font-weight:500;color:#212529}
body.ui-form .form-row{padding:10px 0}
body.ui-form .table,body.ui-form table{font-size:14px}
body.ui-form .table th,body.ui-form table th{font-weight:600;font-size:14px;color:#64748b;background:#f8f9fa;padding:12px 10px;letter-spacing:0}
body.ui-form .table td,body.ui-form table td{padding:12px 10px;vertical-align:middle;font-size:14px}

.tpl-cards{display:flex;flex-direction:column;gap:12px}
.tpl-item{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid rgba(0,0,0,.08);border-radius:18px;background:#fff;box-shadow:0 10px 22px rgba(0,0,0,.06)}
.tpl-thumb{width:160px;height:240px;border-radius:18px;border:1px solid rgba(148,163,184,.45);background:linear-gradient(135deg,#bae6fd,#c7d2fe);position:relative;overflow:hidden;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.tpl-thumb:after{content:"";position:absolute;left:10px;right:10px;top:12px;bottom:12px;border-radius:16px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.10);pointer-events:none}
.tpl-thumb-live{background:#e2e8f0}
.tpl-phone{position:absolute;left:50%;top:50%;width:375px;height:720px;transform:translate(-50%,-50%) scale(.275);transform-origin:center}
.tpl-device{position:absolute;inset:0;border-radius:54px;background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(15,23,42,.75));box-shadow:0 20px 50px rgba(15,23,42,.22)}
.tpl-screen{position:absolute;left:14px;right:14px;top:14px;bottom:14px;border-radius:46px;background:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(148,163,184,.35)}
.tpl-status{position:absolute;left:0;right:0;top:0;height:46px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#0f172a;font-size:14px;letter-spacing:.08em;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid rgba(148,163,184,.25);z-index:3}
.tpl-notch{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:138px;height:26px;border-radius:999px;background:rgba(15,23,42,.88);z-index:4;box-shadow:inset 0 -2px 0 rgba(255,255,255,.06)}
.tpl-notch:before{content:"";position:absolute;left:14px;top:9px;width:44px;height:8px;border-radius:999px;background:rgba(255,255,255,.18)}
.tpl-notch:after{content:"";position:absolute;right:18px;top:8px;width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.2);box-shadow:0 0 0 3px rgba(255,255,255,.06)}
.tpl-home{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:132px;height:5px;border-radius:999px;background:rgba(15,23,42,.14);z-index:3}
.tpl-iframe{position:absolute;left:0;right:0;top:46px;bottom:0;width:100%;height:calc(100% - 46px);border:0;display:block;pointer-events:none;z-index:1}
.tpl-thumb:hover .tpl-device{filter:brightness(1.03)}
.tpl-thumb:hover{transform:translateY(-1px);transition:transform .15s ease}
.tpl-thumb{transition:transform .15s ease,box-shadow .15s ease}
.tpl-thumb-live{background:#fff}
.tpl-load{position:absolute;left:14px;right:14px;top:14px;bottom:14px;border-radius:46px;background:linear-gradient(135deg,#f8fafc,#eef2ff);display:grid;place-items:center;color:#64748b;font-weight:800;font-size:12px;letter-spacing:.18em;z-index:2}
.tpl-load.hidden{display:none}
.tpl-meta{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.tpl-info{min-width:0}
.tpl-name{font-weight:800;font-size:16px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpl-sub{margin-top:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#64748b;font-size:12px}
.tpl-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.btn-ghost{background:#fff;color:#0f172a;border:1px solid rgba(0,0,0,.12)}
.btn-ghost:hover{background:#f8fafc}
.btn-disabled{pointer-events:none;opacity:.55;filter:grayscale(1)}
.tpl-bind-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:100%}
.tpl-bind-controls .select{min-width:0;flex:1 1 0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpl-bind-controls .tpl-mobile-btn{flex:0 0 auto}

.product-grid{--w-id:80px;--w-avatar:78px;--w-name:260px;--w-price:140px;--w-tpl:200px;--w-status:120px;--w-sort:90px;--w-promo:120px;--w-actions:340px}
.product-grid .product-table{table-layout:fixed;width:100%}
.product-grid .product-table col.col-id{width:var(--w-id)}
.product-grid .product-table col.col-avatar{width:var(--w-avatar)}
.product-grid .product-table col.col-name{width:var(--w-name)}
.product-grid .product-table col.col-price{width:var(--w-price)}
.product-grid .product-table col.col-tpl{width:var(--w-tpl)}
.product-grid .product-table col.col-status{width:var(--w-status)}
.product-grid .product-table col.col-sort{width:var(--w-sort)}
.product-grid .product-table col.col-promo{width:var(--w-promo)}
.product-grid .product-table col.col-actions{width:var(--w-actions)}
.product-grid .product-table th,.product-grid .product-table td{text-align:center;vertical-align:middle}
.product-grid .product-table td{padding:10px 10px}
.product-grid .cell{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.product-grid .cell-text{word-break:break-word;overflow-wrap:anywhere;line-height:1.25}
.product-grid .cell-actions{gap:8px;flex-wrap:nowrap;white-space:nowrap}
.product-grid .cell-actions form{margin:0;display:inline-flex}
.product-grid .cell-actions .btn,.product-grid .cell-actions button{min-height:36px;padding:6px 10px !important}
.product-grid .cell-actions .btn{display:inline-flex;align-items:center;justify-content:center}

@media (max-width:1200px){
  .product-grid{--w-name:220px;--w-tpl:180px;--w-actions:320px}
}
@media (max-width:992px){
  .product-grid{--w-name:200px;--w-price:120px;--w-tpl:170px;--w-actions:300px}
}
@media (max-width:768px){
  /* 表格容器强制横向滚动，内容不压缩 */
  .product-grid{--w-id:64px;--w-avatar:70px;--w-name:180px;--w-price:100px;--w-tpl:160px;--w-status:84px;--w-sort:64px;--w-promo:100px;--w-actions:280px}
  .product-grid .product-table td{padding:7px 6px}
  .product-grid .cell{min-height:38px}
  .product-grid .cell-actions{flex-wrap:nowrap;justify-content:center;gap:5px}
  .product-grid .cell-actions .btn,.product-grid .cell-actions button{min-height:34px;padding:5px 8px !important;font-size:12px}
}

@media (max-width:520px){
  .tpl-bind-row{flex-direction:column;align-items:stretch}
  .tpl-bind-row .form-lab{width:auto;flex:0 0 auto}
  .tpl-bind-controls{width:100%}
  .tpl-bind-controls .select{flex:1 1 auto}
  body.ui-form .tpl-bind-controls .select{min-height:44px;padding-top:10px;padding-bottom:10px}
  body.ui-form .tpl-bind-controls .btn,body.ui-form .tpl-bind-controls .tpl-mobile-btn,body.ui-form .tpl-bind-controls .btn-ghost{min-height:44px}
  body.ui-form .tpl-bind-controls .tpl-mobile-btn{width:100% !important;padding:10px 12px !important;justify-content:center}
  body.ui-form .tpl-bind-controls .btn-ghost{width:100% !important;padding:10px 12px !important;justify-content:center}
}
@media (max-width:720px){
  .tpl-meta{flex-direction:column;align-items:flex-start}
  .tpl-actions{width:100%;justify-content:flex-start}
  .tpl-thumb{width:140px;height:220px}
  .tpl-phone{transform:translate(-50%,-50%) scale(.255)}
}

/* ── 手机端全宽布局 ── */
@media (max-width:768px){
  /* 页面内容区左右留白以匹配参考项目1:1比例 */
  .page-content{
    padding-left:12px !important;
    padding-right:12px !important;
    padding-top:.75rem;
    padding-bottom:.75rem;
  }
  /* card 保持外围圆角提供基础内边距 */
  body:not(.bg-login) .page-content .card{
    border-radius:6px !important;
    padding:16px 14px !important;
  }
  /* 彻底消除产生黑框和空间缩水的盒中盒内层边距与边框 */
  body:not(.bg-login) .page-content .card .card-body,
  body:not(.bg-login) .page-content .card .card-body .p-4.border.rounded,
  body:not(.bg-login) .page-content .card .card-body .p-4.border {
    padding: 0 !important;
    border: none !important;
  }
  /* 页面容器已有内边距，取消单独补偿 */
  .page-head{
    padding-left:0;
    padding-right:0;
  }
  /* 表格容器横向滚动，填满全宽 */
  .table-container,
  .table-responsive{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:8px;
  }
  /* 表格内容不换行，保持可读性 */
  .table-container table th,
  .table-container table td,
  .table-responsive table th,
  .table-responsive table td,
  .table th,
  .table td{
    white-space:nowrap;
    text-align:center !important;
  }
  .table-container table th,
  .table-responsive table th,
  .table th{
    font-size:14px !important;
    padding:12px 8px !important;
    color:var(--muted);
  }
  .table-container table td,
  .table-responsive table td,
  .table td{
    font-size:16px !important;
    padding:16px 8px !important;
  }
  /* 分页可点击尺寸 */
  .pagination-link{
    padding:9px 13px;
    min-width:40px;
    font-size:14px;
    margin:0 3px;
  }
  /* list-tools 换行 */
  .list-head{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .list-tools{
    flex-wrap:wrap;
    gap:8px;
  }
  .list-left,.list-right{
    flex-wrap:wrap;
    gap:8px;
  }
  .list-left .btn,.list-right .btn{
    flex:1 1 auto;
    justify-content:center;
  }
  .list-right .input{
    width:100%;
  }
  /* 表单行竖排 */
  .form-row{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:10px 0;
  }
  .form-lab{
    width:auto !important;
    flex:0 0 auto !important;
    font-size:12px;
  }
  /* kpi 卡片减小内边距 */
  .kpi-card{
    padding:14px 12px;
    min-height:88px;
  }
  .kpi-value{
    font-size:20px;
  }
  /* 模板列表：thumb 缩小 */
  .tpl-item{
    gap:12px;
    padding:12px 12px;
  }
  .tpl-thumb{
    width:120px;
    height:190px;
  }
  .tpl-phone{
    transform:translate(-50%,-50%) scale(.22);
  }
  /* 操作按钮触摸高度 */
  .btn-ghost,.btn{
    min-height:40px;
  }
}

/* ── 超小屏（手机竖屏） ── */
@media (max-width:520px){
  /* 模板列表：完全竖排 */
  .tpl-item{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .tpl-thumb{
    width:140px;
    height:220px;
    flex:0 0 auto;
  }
  .tpl-phone{
    transform:translate(-50%,-50%) scale(.255);
  }
  .tpl-meta{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .tpl-actions{
    width:100%;
    justify-content:center;
  }
  /* bind controls */
  .tpl-bind-row{flex-direction:column;align-items:stretch}
  .tpl-bind-row .form-lab{width:auto;flex:0 0 auto}
  .tpl-bind-controls{width:100%}
  .tpl-bind-controls .select{flex:1 1 auto}
  body.ui-form .tpl-bind-controls .select{min-height:44px;padding-top:10px;padding-bottom:10px}
  body.ui-form .tpl-bind-controls .btn,body.ui-form .tpl-bind-controls .tpl-mobile-btn,body.ui-form .tpl-bind-controls .btn-ghost{min-height:44px}
  body.ui-form .tpl-bind-controls .tpl-mobile-btn{width:100% !important;padding:10px 12px !important;justify-content:center}
  body.ui-form .tpl-bind-controls .btn-ghost{width:100% !important;padding:10px 12px !important;justify-content:center}
  /* 分页更紧凑 */
  .pagination-link{
    padding:8px 10px;
    min-width:36px;
    font-size:13px;
    margin:0 2px;
  }
  /* 表格最小字体 */
  .table-container table th,
  .table-container table td{
    font-size:14px;
    padding:9px 6px;
  }
}

/* 去除全站表格操作按钮自带的背景框 */
.order-actions a:not(.rocker-table-icon-action),
.order-actions button:not(.rocker-table-icon-action) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    padding: 2px 4px !important;
}
.order-actions {
    gap: 12px;
    justify-content: center;
}

/* ===== 移除列表操作按钮按下时的系统黑框，并添加现代按压反馈 ===== */
table button:focus, table button:active, table button:focus-visible, table a:focus, table a:active {
    outline: none !important;
    box-shadow: none !important;
}

/* 针对表格操作区（按钮与管理链接），增加顺滑细腻的交互动画 */
table td button[onclick], table td a[href*="?a="] {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-block;
}
table td button[onclick]:hover, table td a[href*="?a="]:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    filter: brightness(0.96);
}
table td button[onclick]:active, table td a[href*="?a="]:active {
    transform: scale(0.92) translateY(0);
    box-shadow: none !important;
    transition: transform 0.1s !important;
}
