/* ============================================================
 * 聚合支付平台 · v3 UI 扩展样式（与 Ynova Auth v3 设计令牌一致）
 * 主色 #2B6DF3  文本 #1d2129  次级 #4e5969  弱化 #86909c
 * 边框 #e5e6eb  背景 #f5f7fa  圆角 4/8/12
 * ============================================================ */

:root{
  --pay-primary:#2B6DF3;--pay-primary-dark:#1b4df0;--pay-primary-soft:#eef4ff;
  --pay-text:#1d2129;--pay-text-2:#4e5969;--pay-text-3:#86909c;
  --pay-border:#e5e6eb;--pay-bg:#f5f7fa;--pay-success:#52c41a;--pay-warning:#fa8c16;--pay-danger:#ff4d4f;
  --pay-radius:8px;--pay-shadow:0 2px 8px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04);
}

/* 品牌 Logo */
.site-logo{display:inline-flex;align-items:center;height:40px;text-decoration:none}
.site-logo img{height:38px;width:auto;display:block}
.se-sidebar_logo .site-logo{height:100%}
.se-sidebar_logo .site-logo img{height:34px}

/* 容器 */
.pay-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.pay-page{padding:32px 0 56px}
.pay-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.pay-page-title{font-size:22px;font-weight:600;color:var(--pay-text);margin:0 0 6px}
.pay-page-desc{font-size:14px;color:var(--pay-text-3);margin:0}

/* 卡片 */
.pay-card{background:#fff;border:1px solid var(--pay-border);border-radius:var(--pay-radius);box-shadow:var(--pay-shadow)}
.pay-card+.pay-card{margin-top:20px}
.pay-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--pay-border)}
.pay-card-title{font-size:16px;font-weight:600;color:var(--pay-text);margin:0}
.pay-card-body{padding:20px}
.pay-card-body--flush{padding:0}
.pay-card-foot{padding:14px 20px;border-top:1px solid var(--pay-border)}

/* 统计卡 */
.pay-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.pay-stat{background:#fff;border:1px solid var(--pay-border);border-radius:var(--pay-radius);padding:18px 20px;transition:all .2s ease}
.pay-stat:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(43,109,243,.08)}
.pay-stat-label{font-size:13px;color:var(--pay-text-3);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.pay-stat-value{font-size:24px;font-weight:600;color:var(--pay-text);line-height:1.2}
.pay-stat-value small{font-size:14px;font-weight:400;color:var(--pay-text-3);margin-left:4px}
.pay-stat-sub{margin-top:8px;font-size:12px;color:var(--pay-text-3)}
.pay-stat--primary{background:linear-gradient(135deg,#2B6DF3 0%,#1A90FF 100%);border:none;color:#fff}
.pay-stat--primary .pay-stat-label,.pay-stat--primary .pay-stat-value,.pay-stat--primary .pay-stat-sub{color:#fff}
.pay-stat--primary .pay-stat-label{opacity:.85}
.pay-stat--primary .pay-stat-sub{opacity:.75}

/* 表格 */
.pay-table-wrap{width:100%;overflow-x:auto}
.pay-table{width:100%;border-collapse:collapse;font-size:13px}
.pay-table th{text-align:left;font-weight:500;color:var(--pay-text-2);background:#fafbfc;padding:11px 14px;border-bottom:1px solid var(--pay-border);white-space:nowrap}
.pay-table td{padding:12px 14px;border-bottom:1px solid #f2f3f5;color:var(--pay-text-2);vertical-align:middle}
.pay-table tbody tr:hover td{background:#fafcff}
.pay-table td.mono,.pay-table th.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}
.pay-table .t-strong{color:var(--pay-text);font-weight:500}
.pay-table .t-money{color:var(--pay-text);font-weight:600}
.pay-table .t-sub{color:var(--pay-text-3);font-size:12px}

/* 标签 */
.pay-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:12px;line-height:20px;background:#f2f3f5;color:var(--pay-text-2);white-space:nowrap}
.pay-tag--success{background:#f0fbf0;color:var(--pay-success)}
.pay-tag--warning{background:#fff7e8;color:var(--pay-warning)}
.pay-tag--danger{background:#fff1f0;color:var(--pay-danger)}
.pay-tag--primary{background:var(--pay-primary-soft);color:var(--pay-primary)}
.pay-tag--info{background:#eef4ff;color:#1a6ddc}

/* 按钮 */
.pay-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:4px;border:1px solid var(--pay-border);background:#fff;color:var(--pay-text-2);font-size:13px;cursor:pointer;text-decoration:none;transition:all .2s ease;white-space:nowrap}
.pay-btn:hover{border-color:var(--pay-primary);color:var(--pay-primary)}
.pay-btn--primary{background:var(--pay-primary);border-color:var(--pay-primary);color:#fff}
.pay-btn--primary:hover{background:var(--pay-primary-dark);border-color:var(--pay-primary-dark);color:#fff}
.pay-btn--danger{background:#fff1f0;border-color:#ffccc7;color:var(--pay-danger)}
.pay-btn--danger:hover{background:var(--pay-danger);border-color:var(--pay-danger);color:#fff}
.pay-btn--sm{height:30px;padding:0 10px;font-size:12px}
.pay-btn--block{width:100%}
.pay-btn:disabled{background:#f2f3f5;border-color:var(--pay-border);color:var(--pay-text-3);cursor:not-allowed}

/* 表单 */
.pay-form-row{display:flex;gap:16px;flex-wrap:wrap}
.pay-form-group{margin-bottom:18px}
.pay-label{display:block;font-size:13px;color:var(--pay-text-2);margin-bottom:8px}
.pay-label .req{color:var(--pay-danger);margin-left:2px}
.pay-input,.pay-select,.pay-textarea{width:100%;box-sizing:border-box;padding:9px 12px;font-size:14px;color:var(--pay-text);border:1px solid var(--pay-border);border-radius:4px;background:#fff;transition:border-color .2s,box-shadow .2s;outline:none}
.pay-input:focus,.pay-select:focus,.pay-textarea:focus{border-color:var(--pay-primary);box-shadow:0 0 0 2px rgba(43,109,243,.1)}
.pay-input::placeholder{color:#c9cdd4}
.pay-textarea{min-height:96px;resize:vertical;line-height:1.6}
.pay-help{font-size:12px;color:var(--pay-text-3);margin-top:6px;line-height:1.6}
.pay-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--pay-text-2);cursor:pointer}

/* 筛选条 */
.pay-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pay-filter .pay-input,.pay-filter .pay-select{width:auto;min-width:140px;height:36px;padding:0 12px}

/* 空状态 */
.pay-empty{padding:56px 20px;text-align:center;color:var(--pay-text-3)}
.pay-empty svg{width:72px;height:72px;opacity:.35;margin-bottom:12px}
.pay-empty p{font-size:14px;margin:0}

/* 分页 */
.pay-pager{display:flex;gap:6px;justify-content:center;padding:18px 0 4px;flex-wrap:wrap}
.pay-pager a,.pay-pager span{min-width:32px;height:32px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--pay-border);border-radius:4px;font-size:13px;color:var(--pay-text-2);text-decoration:none}
.pay-pager a:hover{border-color:var(--pay-primary);color:var(--pay-primary)}
.pay-pager .active{background:var(--pay-primary);border-color:var(--pay-primary);color:#fff}
.pay-pager .disabled{color:#c9cdd4}

/* 提示条 */
.pay-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:6px;font-size:13px;line-height:1.7;background:var(--pay-primary-soft);color:#1d4edd;border:1px solid #d6e4ff}
.pay-alert--warning{background:#fff7e8;color:#ad6800;border-color:#ffe7ba}
.pay-alert--danger{background:#fff1f0;color:#cf1322;border-color:#ffccc7}
.pay-alert--success{background:#f6ffed;color:#389e0d;border-color:#d9f7be}

/* 金额/代码 */
.pay-amount{font-size:30px;font-weight:700;color:var(--pay-text)}
.pay-amount small{font-size:16px;font-weight:500;margin-right:2px}
.pay-code{display:block;background:#1e2430;color:#d7e3ff;border-radius:8px;padding:18px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.8;overflow-x:auto;white-space:pre}

/* 描述列表 */
.pay-dl{display:grid;grid-template-columns:120px 1fr;gap:12px 16px;font-size:13px}
.pay-dl dt{color:var(--pay-text-3)}
.pay-dl dd{margin:0;color:var(--pay-text);word-break:break-all}

/* 首页增强 */
.se-header_pay{background:linear-gradient(120deg,#eef4ff 0%,#f7fbff 42%,#fff 100%)}
.se-header_badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.se-header_badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--pay-text-2);background:rgba(255,255,255,.8);border:1px solid #dce6f7;border-radius:999px;padding:5px 12px}
.se-header_badge i{width:6px;height:6px;border-radius:50%;background:var(--pay-success);display:inline-block}
.se-header_actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.se-btn--ghost{background:#fff;color:var(--pay-primary);border:1px solid var(--pay-primary)}
.se-btn--ghost:hover{background:var(--pay-primary-soft)}
.pay-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;max-width:1200px;margin:0 auto;padding:0 20px}
.pay-rate-item{background:#fff;border:1px solid var(--pay-border);border-radius:var(--pay-radius);padding:20px;display:flex;align-items:center;gap:14px}
.pay-rate-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--pay-primary-soft);color:var(--pay-primary);font-weight:600;font-size:13px;flex:none}
.pay-rate-icon img{width:26px;height:26px;object-fit:contain}
.pay-rate-name{font-size:14px;color:var(--pay-text);font-weight:500}
.pay-rate-value{font-size:13px;color:var(--pay-text-3);margin-top:2px}
.pay-rate-value b{color:var(--pay-primary);font-size:15px}

/* 文档 */
.pay-doc-grid{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}
.pay-doc-nav{position:sticky;top:90px}
.pay-doc-nav a{display:block;padding:9px 12px;border-radius:4px;color:var(--pay-text-2);text-decoration:none;font-size:13px}
.pay-doc-nav a:hover{background:var(--pay-bg);color:var(--pay-primary)}
.pay-doc-nav a.active{background:var(--pay-primary-soft);color:var(--pay-primary);font-weight:500}
.pay-doc h2{font-size:20px;color:var(--pay-text);margin:28px 0 12px}
.pay-doc h3{font-size:16px;color:var(--pay-text);margin:20px 0 10px}
.pay-doc p,.pay-doc li{font-size:14px;color:var(--pay-text-2);line-height:1.9}
.pay-doc table{width:100%;border-collapse:collapse;margin:12px 0 18px;font-size:13px}
.pay-doc table th,.pay-doc table td{border:1px solid var(--pay-border);padding:9px 12px;text-align:left}
.pay-doc table th{background:#fafbfc;font-weight:500;color:var(--pay-text-2)}
.pay-doc code{background:#f2f3f5;padding:2px 6px;border-radius:4px;font-size:12.5px;color:#c7254e}

/* 响应式 */
@media screen and (max-width:992px){
  .pay-doc-grid{grid-template-columns:1fr}
  .pay-doc-nav{position:static;display:flex;flex-wrap:wrap;gap:6px}
}
@media screen and (max-width:768px){
  .pay-page{padding:20px 0 40px}
  .pay-card-body{padding:16px}
  .pay-dl{grid-template-columns:96px 1fr}
  .pay-stat-value{font-size:20px}
  .pay-table th,.pay-table td{padding:10px}
}

/* ============================================================
 * 人性化打磨（v8.1）
 * 目标：更清晰的层级、更友好的反馈、更稳的移动端体验
 * ============================================================ */

/* ---------- 基础可读性 ---------- */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-size: 14px; color: var(--pay-text-2); }
::selection { background: rgba(43, 109, 243, .16); }
:focus-visible {
    outline: 2px solid rgba(43, 109, 243, .55);
    outline-offset: 2px;
    border-radius: 4px;
}
a { color: var(--pay-primary); }
a:hover { color: var(--pay-primary-dark); }
hr { border: none; border-top: 1px solid var(--pay-border); margin: 20px 0; }

/* ---------- 导航滚动阴影 ---------- */
.se-nav.is-scrolled { box-shadow: 0 4px 16px rgba(15, 32, 64, .08); }

/* ---------- 按钮：加载态与点击反馈 ---------- */
.pay-btn { position: relative; }
.pay-btn:active { transform: translateY(1px); }
.pay-btn.is-loading { pointer-events: none; opacity: .8; }
.pay-btn.is-loading::before {
    content: ""; width: 13px; height: 13px; margin-right: 6px;
    border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%;
    display: inline-block; vertical-align: -2px;
    animation: pay-spin .7s linear infinite;
}
@keyframes pay-spin { to { transform: rotate(360deg); } }

/* ---------- 表单：一致的输入体验 ---------- */
.pay-input, .pay-select, .pay-textarea { min-height: 38px; }
.pay-input:hover, .pay-select:hover, .pay-textarea:hover { border-color: #c9d4e6; }
.pay-input:disabled, .pay-select:disabled, .pay-textarea:disabled {
    background: #f7f8fa; color: var(--pay-text-3); cursor: not-allowed;
}
.pay-input.is-invalid, .pay-select.is-invalid, .pay-textarea.is-invalid {
    border-color: var(--pay-danger); box-shadow: 0 0 0 2px rgba(255, 77, 79, .1);
}
.pay-label .req::after { content: "*"; color: var(--pay-danger); margin-left: 3px; }
.pay-help { display: flex; gap: 6px; align-items: flex-start; }
.pay-check input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--pay-primary); }

/* ---------- 表格：粘性表头 + 斑马纹 + 滚动提示 ---------- */
.pay-table-wrap { border-radius: 8px; }
.pay-table thead th {
    position: sticky; top: 0; z-index: 2;
    background: #fafbfc; backdrop-filter: blur(2px);
}
.pay-table tbody tr:nth-child(even) td { background: #fcfdff; }
.pay-table tbody tr:hover td { background: #f4f8ff; }
.pay-table td .pay-btn + .pay-btn { margin-left: 4px; }
.pay-table td:last-child .pay-btn { margin-bottom: 2px; }
@media (max-width: 768px) {
    .pay-table-wrap { position: relative; }
    .pay-table-wrap::after {
        content: "← 左右滑动查看更多 →";
        position: sticky; left: 0; display: block; width: 100%;
        padding: 6px 0; font-size: 11px; color: var(--pay-text-3); text-align: center;
        background: linear-gradient(180deg, rgba(255,255,255,0), #fff 70%);
    }
}

/* ---------- 空状态更友好 ---------- */
.pay-empty { padding: 48px 20px; }
.pay-empty p { margin-bottom: 14px; }
.pay-empty .pay-btn { margin: 0 4px; }

/* ---------- 卡片与分区节奏 ---------- */
.pay-card { transition: box-shadow .2s ease, border-color .2s ease; }
.pay-card:hover { border-color: #dbe3f0; }
.pay-card-head { padding: 15px 20px; }
.pay-card-title { display: flex; align-items: center; gap: 8px; }
.pay-page-head { margin-bottom: 22px; }
.pay-stat { padding: 18px 20px; }

/* ---------- 状态标签 ---------- */
.pay-tag { border: 1px solid transparent; }
.pay-tag--success { border-color: #d9f7be; }
.pay-tag--warning { border-color: #ffe7ba; }
.pay-tag--danger { border-color: #ffccc7; }
.pay-tag--info { border-color: #d6e4ff; }

/* ---------- 侧栏：选中指示条 + 遮罩 ---------- */
.se-sidebar_link { position: relative; }
.se-sidebar_link.active::before {
    content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px;
    border-radius: 0 3px 3px 0; background: var(--pay-primary);
}
.se-sidebar { transition: transform .25s ease; }
.sidebar-mask {
    display: none; position: fixed; inset: 0; background: rgba(15, 32, 64, .35);
    z-index: 999; opacity: 0; transition: opacity .2s ease;
}
.sidebar-mask.active { display: block; opacity: 1; }
@media (min-width: 769px) { .sidebar-mask { display: none !important; } }

/* ---------- 顶栏：头像与下拉 ---------- */
.se-header_user { padding: 5px 10px; border-radius: 999px; transition: background .2s; }
.se-header_user:hover { background: #f5f7fa; }
.se-header_avatar {
    width: 30px; height: 30px; font-size: 12px; font-weight: 600; color: var(--pay-primary);
    background: var(--pay-primary-soft);
}
.se-header_dropdown {
    border-radius: 8px; box-shadow: 0 10px 30px rgba(15, 32, 64, .12);
    overflow: hidden; animation: pay-drop .16s ease;
}
@keyframes pay-drop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.se-header_menu-item { gap: 8px; padding: 10px 14px; }
.se-header_menu-item:hover { background: var(--pay-primary-soft); color: var(--pay-primary); }

/* ---------- 面包屑 ---------- */
.pay-breadcrumb {
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
    font-size: 12px; color: var(--pay-text-3); margin-bottom: 8px;
}
.pay-breadcrumb a { color: var(--pay-text-3); text-decoration: none; }
.pay-breadcrumb a:hover { color: var(--pay-primary); }
.pay-breadcrumb .sep { color: #c9cdd4; }

/* ---------- 两栏布局：移动端自动堆叠 ---------- */
@media (max-width: 960px) {
    .pay-page > div[style*="grid-template-columns"],
    .admin-shell > div[style*="grid-template-columns"],
    .pay-page > div[style*="display:grid"],
    .admin-shell > div[style*="display:grid"] {
        display: block !important;
    }
    .pay-page > div[style*="display:grid"] > div + div,
    .admin-shell > div[style*="display:grid"] > div + div { margin-top: 16px; }
    .pay-filter .pay-input, .pay-filter .pay-select { flex: 1 1 140px; min-width: 0; }
}

/* ---------- 金额与数字 ---------- */
.t-money, .pay-amount { font-variant-numeric: tabular-nums; }
.pay-stat-value { font-variant-numeric: tabular-nums; }

/* ---------- 收银台/扫码页细节 ---------- */
.cashier-type { min-height: 62px; }
.cashier-pay { transition: transform .15s ease, box-shadow .2s ease; }
.cashier-pay:active { transform: scale(.99); }
.qr-status { font-variant-numeric: tabular-nums; }
.qr-tip a { color: var(--pay-primary); }

/* ---------- 减少动效偏好 ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
    html { scroll-behavior: auto; }
}

/* ---------- 移动端细节 ---------- */
@media (max-width: 768px) {
    .se-header_container, .se-nav_container { padding-left: 16px; padding-right: 16px; }
    .pay-btn { height: 38px; }
    .pay-page-head { gap: 10px; }
    .pay-page-title { font-size: 19px; }
    .pay-stat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .pay-stat { padding: 14px; }
    .pay-card-head { flex-wrap: wrap; }
    .pay-filter { width: 100%; }
    .pay-dl { grid-template-columns: 88px 1fr; gap: 10px; }
}

/* 公共导航当前项 */
.se-nav_link.is-active { color: var(--pay-primary); }
.se-nav_link.is-active::after { width: 100%; }

/* 结果页图标动画 */
@keyframes pay-pop { 0% { transform: scale(.6); opacity: 0; } 60% { transform: scale(1.08); } 100% { transform: scale(1); opacity: 1; } }
.res-wrap .pay-card-body > div:first-child { animation: pay-pop .45s cubic-bezier(.2,.9,.3,1.2) both; }

/* 首页底部 CTA */
.pay-cta {
    max-width: 1000px; margin: 0 auto; padding: 40px 24px; border-radius: 12px;
    background: linear-gradient(120deg, #2B6DF3 0%, #1A90FF 100%); color: #fff;
    display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.pay-cta h3 { margin: 0 0 8px; font-size: 22px; font-weight: 600; }
.pay-cta p { margin: 0; opacity: .88; font-size: 14px; }
.pay-cta .pay-btn { background: #fff; border-color: #fff; color: var(--pay-primary); font-weight: 500; height: 40px; }
.pay-cta .pay-btn:hover { background: #eef4ff; color: var(--pay-primary); }
@media (max-width: 768px) { .pay-cta { padding: 28px 20px; } .pay-cta h3 { font-size: 19px; } }

/* ---------- 登录/注册：分栏品牌区 ---------- */
.auth-shell {
    min-height: 100vh; display: grid; grid-template-columns: 1.05fr .95fr;
    background: #f5f7fa;
}
.auth-brand {
    position: relative; overflow: hidden; padding: 56px 64px;
    background: linear-gradient(140deg, #1b4df0 0%, #2B6DF3 52%, #1A90FF 100%); color: #fff;
    display: flex; flex-direction: column; justify-content: center;
}
.auth-brand::before, .auth-brand::after {
    content: ""; position: absolute; border-radius: 50%;
    background: rgba(255, 255, 255, .09);
}
.auth-brand::before { width: 420px; height: 420px; right: -140px; top: -120px; }
.auth-brand::after { width: 260px; height: 260px; left: -80px; bottom: -80px; }
.auth-brand_inner { position: relative; z-index: 1; max-width: 460px; }
.auth-brand_logo { height: 40px; margin-bottom: 40px; filter: brightness(0) invert(1); }
.auth-brand h1 { font-size: 30px; line-height: 1.4; margin: 0 0 14px; font-weight: 600; }
.auth-brand p.lead { font-size: 15px; line-height: 1.9; opacity: .9; margin: 0 0 32px; }
.auth-brand ul { list-style: none; margin: 0 0 36px; padding: 0; }
.auth-brand li {
    display: flex; align-items: center; gap: 10px; font-size: 14px; opacity: .95;
    padding: 8px 0;
}
.auth-brand li i {
    width: 18px; height: 18px; border-radius: 50%; background: rgba(255, 255, 255, .22);
    display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-size: 11px;
}
.auth-brand_stats { display: flex; gap: 36px; }
.auth-brand_stats b { display: block; font-size: 22px; font-weight: 700; }
.auth-brand_stats span { font-size: 12px; opacity: .8; }
.auth-panel { display: flex; align-items: center; justify-content: center; padding: 48px 24px; }
.auth-panel .login-box { box-shadow: 0 12px 40px rgba(15, 32, 64, .08); border: 1px solid #eef1f6; }
@media (max-width: 900px) {
    .auth-shell { grid-template-columns: 1fr; }
    .auth-brand { display: none; }
    .auth-panel { padding: 96px 18px 40px; }
}

@media (max-width: 768px) {
    .se-header_container { padding-left: 58px !important; }
    .admin-header { padding-left: 58px; }
}

/* ---------- 第三方登录 ---------- */
.oauth-divider {
    display: flex; align-items: center; gap: 10px;
    margin: 22px 0 14px; color: #c9cdd4; font-size: 12px;
}
.oauth-divider::before, .oauth-divider::after {
    content: ""; flex: 1; height: 1px; background: var(--pay-border);
}
.oauth-row { display: flex; gap: 10px; }
.oauth-btn {
    flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    height: 40px; border: 1px solid var(--pay-border); border-radius: 6px;
    color: var(--pay-text-2); font-size: 13px; text-decoration: none; transition: all .2s ease;
    background: #fff;
}
.oauth-btn:hover { border-color: var(--pay-primary); color: var(--pay-primary); background: #f7faff; }
.oauth-btn svg { flex: none; }
