:root {
  font-family: "Microsoft YaHei", "Segoe UI", Arial, sans-serif;
  color: var(--night-ink,#233752);
  background: var(--night-soft,#f3f5f8);
  font-size: 14px;
  font-synthesis: none;
  --page-bg: var(--night-soft,#f3f5f8);
  --sidebar: #17243c;
  --text: var(--night-ink,#233752);
  --muted: #72839b;
  --primary: #365dc4;
  --primary-hover: #294daf;
  --line: #dbe3ee;
  --soft: var(--night-soft,#f7f9fc);
  --success: #278c72;
  --danger: #c44754;
  --radius: 14px;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .52; }
button, input, select, textarea { color: inherit; }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #99b3ff; outline-offset: 3px; }
input, select, textarea { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid var(--night-line,#d4deeb); border-radius: 7px; background: var(--night-panel,#fff); line-height: 1.45; }
input::placeholder, textarea::placeholder { color: var(--night-muted,#9aa7b9); }
input:focus, select:focus, textarea:focus { border-color: var(--night-line,#6385dc); }
input[type="checkbox"], input[type="radio"] { width: 16px; min-height: 16px; height: 16px; accent-color: var(--primary); vertical-align: middle; padding: 0; flex: 0 0 auto; }
input[readonly] { background: var(--night-tint-blue,#f5f7fa); color: var(--night-muted,#687a93); }
textarea { resize: vertical; min-height: 100px; }
h1, h2, h3, h4, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-size: 25px; font-weight: 600; line-height: 1.4; }
h2 { font-size: 17px; line-height: 1.5; font-weight: 600; }
h3 { font-size: 15px; line-height: 1.5; font-weight: 600; }
p { line-height: 1.7; }
small { font-size: 12px; }
svg { flex-shrink: 0; vertical-align: middle; }
hr { height: 1px; border: 0; background: var(--line); margin: 22px 0; }
.skip-link { position: fixed; top: -70px; left: 12px; z-index: 200; padding: 12px 18px; background: var(--night-panel,#ffffff); border: 2px solid var(--primary); border-radius: 6px; }
.skip-link:focus { top: 12px; }
.shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 232px; background: var(--sidebar); color: var(--night-muted,#c1cbdb); z-index: 30; display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 11px; padding: 27px 24px 29px; color: #fff; text-decoration: none; flex-shrink: 0; }
.brand:hover { text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 42px; height: 44px; border-radius: 12px; background: #535bda; color: #fff; font-size: 26px; font-weight: 600; line-height: 1; }
.brand-name { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; }
.brand-caption { display: block; margin-top: 5px; font-size: 8px; color: var(--night-muted,#8292ae); letter-spacing: 1.15px; white-space: nowrap; }
.sidebar-nav { padding: 0 14px 22px; overflow-y: auto; flex: 1; }
.nav-link { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 11px 16px; margin-bottom: 6px; color: var(--night-muted,#bdc8da); border-radius: 8px; line-height: 22px; font-size: 14px; }
.nav-link:hover { color: #fff; background: #22334f; text-decoration: none; }
.nav-link.active { color: #fff; background: #365dc4; box-shadow: 0 4px 12px #0c173326; }
.nav-link svg { width: 18px; height: 18px; opacity: .95; }
.sidebar-foot { border-top: 1px solid #2a3a54; color: var(--night-muted,#8798b3); padding: 20px 24px; font-size: 11px; line-height: 1.8; }
.logout-button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 4px; color: var(--night-muted,#a9b8cf); background: transparent; border: 0; font-size: 13px; text-align: left; }
.logout-button:hover { color: #fff; }
.account-name { color: var(--night-muted,#526985); font-size: 13px; }
.main-area { margin-left: 232px; min-height: 100vh; display: flex; flex-direction: column; }
.topbar { min-height: 98px; padding: 18px 28px; background: var(--night-panel,#fbfcfe); border-bottom: 1px solid var(--night-line,#e5eaf1); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar h1 { margin: 0 0 5px; font-size: 24px; }
.page-subtitle { color: var(--night-muted,#6b809f); line-height: 1.7; margin: 0; }
.topbar-side { display: flex; align-items: center; gap: 10px; color: var(--night-muted,#8290a4); font-size: 12px; flex-shrink: 0; }
.user-avatar { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--night-line,#d8e1f0); border-radius: 50%; background: var(--night-tint-blue,#eef3ff); color: var(--night-blue,#4567bb); font-size: 12px; }
.page-content { padding: 22px 28px 32px; width: 100%; flex: 1; outline: none; }
.mobile-bar { display: none; }
.demo-footer { padding: 12px 28px 18px; color: var(--night-muted,#8a98aa); font-size: 11px; text-align: center; line-height: 1.7; }
.frame-page { padding: 16px; min-height: 100vh; background: var(--night-panel,#fff); }
.frame-page .demo-footer { padding-bottom: 4px; }
.panel { background: var(--night-panel,#fff); border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 20px; overflow: hidden; box-shadow: 0 2px 9px #243b5b02; }
.panel-head, .panel-header { padding: 20px 22px 0; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.panel-head h2, .panel-header h2 { margin: 0; }
.panel-head > :last-child, .panel-header > :last-child { flex-shrink: 0; }
.panel-head > h2:first-child, .panel-header > h2:first-child { flex-shrink: 1; }
.panel-body { padding: 20px 22px 22px; }
.panel-body > :last-child { margin-bottom: 0; }
.panel-title { font-size: 17px; font-weight: 600; }
.panel-subtitle, .muted, .text-muted { color: var(--muted); }
.panel-subtitle { font-size: 12px; margin-top: 5px; line-height: 1.7; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.nowrap { white-space: nowrap; }
.mono { font-family: Consolas, "SFMono-Regular", monospace; font-size: 12px; overflow-wrap: anywhere; }
.small { font-size: 12px; }
.strong { font-weight: 600; }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
.grid { display: grid; gap: 18px; }
.grid-2, .two-col, .two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.grid > *, .grid-2 > *, .grid-3 > *, .grid-4 > * { min-width: 0; }
.grid-2 > .panel, .grid-3 > .panel, .grid-4 > .panel { margin-bottom: 0; }
.stack { display: flex; flex-direction: column; gap: 16px; }
.flex, .actions, .button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.between { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.btn, button.primary, button.secondary, button.danger, .button { display: inline-flex; justify-content: center; align-items: center; gap: 7px; min-height: 40px; padding: 9px 17px; border: 1px solid var(--night-line,#d5dff0); border-radius: 7px; background: var(--night-panel,#ffffff); color: var(--night-ink,#294674); font-size: 14px; font-weight: 500; line-height: 20px; white-space: nowrap; text-decoration: none; transition: background .15s, border-color .15s; }
.btn:hover, .button:hover { background: var(--night-soft,#f5f8ff); border-color: var(--night-line,#bdcdeb); text-decoration: none; }
.btn-primary, .btn.primary, button.primary { background: var(--primary); border-color: var(--primary); color: #fff; box-shadow: 0 2px 5px #365dc41a; }
.btn-primary:hover, .btn.primary:hover, button.primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.btn-danger, .btn.danger, button.danger { color: var(--danger); border-color: var(--night-line,#edcbd1); background: var(--night-panel,#fff); }
.btn-danger:hover, .btn.danger:hover { background: var(--night-soft,#fff4f5); }
.btn-sm { min-height: 31px; padding: 5px 10px; font-size: 12px; line-height: 19px; }
.btn-ghost, .btn-link { background: transparent; border-color: transparent; box-shadow: none; color: var(--primary); padding-left: 6px; padding-right: 6px; }
.icon-button { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 5px; background: transparent; color: var(--night-muted,#71839b); font-size: 22px; }
.icon-button:hover { background: var(--night-tint-blue,#edf1f7); }
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 5px; background: var(--night-tint-blue,#f0f3f8); color: var(--night-muted,#69809d); line-height: 1.35; font-size: 12px; white-space: nowrap; }
.badge.success, .badge-success, .badge.green { color: var(--night-green,#27866e); background: var(--night-tint-green,#edf8f3); }
.badge.warning, .badge-warning, .badge.orange { color: var(--night-amber,#a6752d); background: var(--night-tint-amber,#fff7e9); }
.badge.danger, .badge-danger, .badge.red { color: var(--night-rose,#ba4f5c); background: var(--night-tint-rose,#fff0f1); }
.badge.info, .badge-info, .badge.blue { color: var(--night-blue,#4d6fc7); background: var(--night-tint-blue,#edf2ff); }
.status-pill { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--night-line,#c6e4d8); border-radius: 22px; background: var(--night-tint-green,#f0faf6); color: var(--night-green,#34846e); font-size: 12px; line-height: 19px; padding: 6px 11px; white-space: nowrap; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.field { display: block; min-width: 0; margin-bottom: 16px; }
.field > label, .field-label { display: block; font-size: 13px; margin-bottom: 8px; color: var(--night-ink,#374d6c); font-weight: 500; }
.field > span:first-child { display: block; font-size: 13px; margin-bottom: 8px; color: var(--night-ink,#374d6c); font-weight: 500; }
.field > small, .field .hint, .field-hint { display: block; color: var(--night-muted,#8998ac); margin-top: 6px; font-size: 12px; line-height: 1.6; }
.field .required { color: var(--night-rose,#ce5360); margin-left: 2px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.form-grid .full { grid-column: 1 / -1; }
.checkbox-label { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; }
.input-group { display: flex; align-items: stretch; }
.input-group > input { min-width: 0; border-radius: 6px 0 0 6px; }
.input-group > .btn { border-radius: 0 6px 6px 0; border-left: 0; }
.toolbar, .filter-bar { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.toolbar .field, .filter-bar .field { margin-bottom: 0; flex: 1 1 150px; }
.toolbar > input, .toolbar > select { width: auto; flex: 1 1 160px; max-width: 260px; }
.toolbar .actions { padding-bottom: 1px; }
.alert, .notice { border: 1px solid var(--night-line,#d8e5fb); background: var(--night-tint-blue,#f1f6ff); border-radius: 8px; padding: 13px 16px; margin-bottom: 18px; color: var(--night-muted,#526e99); font-size: 13px; line-height: 1.8; }
.alert p:last-child, .notice p:last-child { margin-bottom: 0; }
.alert.warning, .notice.warning { border-color: var(--night-line,#eedfc3); background: var(--night-tint-amber,#fffaf1); color: var(--night-amber,#97743f); }
.alert.danger { border-color: var(--night-line,#f0d7dc); background: var(--night-soft,#fff6f7); color: var(--night-muted,#ad5a69); }
.tabs { display: flex; gap: 23px; border-bottom: 1px solid var(--line); margin-bottom: 20px; overflow-x: auto; }
.tab { padding: 0 3px 13px; color: var(--night-muted,#798aa1); border: 0; border-bottom: 2px solid transparent; background: transparent; white-space: nowrap; }
.tab.active, .tabs .active { color: var(--primary); border-bottom-color: var(--primary); }
.table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--night-line,#e3e9f1); border-radius: 8px; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 12px; }
th { padding: 13px 14px; background: var(--night-soft,#f7f9fc); border-bottom: 1px solid var(--night-line,#e5ebf3); color: var(--night-muted,#667b98); font-weight: 500; line-height: 1.6; white-space: nowrap; }
td { padding: 14px; border-bottom: 1px solid var(--night-line,#edf0f5); color: var(--night-muted,#49617e); line-height: 1.6; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: var(--night-panel,#fbfcff); }
td .btn { margin: 2px 4px 2px 0; }
td .subtext { display: block; margin-top: 4px; font-size: 11px; color: var(--night-muted,#96a2b4); }
.table-footer, .pagination { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 16px; color: var(--night-muted,#8291a5); font-size: 12px; }
.pagination-controls { display: flex; gap: 6px; }
.pagination .current { color: #fff; background: var(--primary); border-color: var(--primary); }
.empty, .empty-state { padding: 38px 16px; text-align: center; color: var(--night-muted,#94a2b6); line-height: 1.8; font-size: 13px; }
.empty svg { display: block; margin: 0 auto 14px; opacity: .5; }
.empty h3 { font-weight: 500; margin-bottom: 6px; color: var(--night-muted,#71839c); }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.metric { padding: 17px 18px; background: var(--night-soft,#f8fafe); border: 1px solid var(--night-line,#e7edf6); border-radius: 9px; min-width: 0; }
.metric-label { color: var(--night-muted,#7c8da4); font-size: 12px; }
.metric-value { margin-top: 10px; font-size: 26px; font-weight: 600; line-height: 1.35; color: var(--night-ink,#29466f); letter-spacing: -.6px; }
.metric-note { font-size: 11px; color: var(--night-muted,#94a1b4); margin-top: 7px; line-height: 1.7; }
.section-label { display: flex; justify-content: space-between; align-items: center; margin: 0 0 15px; }
.section-label h3 { margin: 0; }
.wallet-panel { background: var(--night-tint-blue,#f0f4fa); border-radius: 18px; }
.wallet-panel .panel-head { padding: 23px 23px 0; align-items: center; }
.wallet-panel .panel-body { padding: 20px 23px 23px; }
.wallet-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.balance-card { padding: 25px 24px 23px; background: var(--night-panel,#fff); border: 1px solid var(--night-line,#dce5f2); border-radius: 14px; }
.balance-card.primary-balance { background: #304b82; border-color: #304b82; color: #fff; }
.balance-label { font-size: 14px; color: var(--night-muted,#7b8fab); margin-bottom: 12px; }
.primary-balance .balance-label { color: #dbe7ff; }
.balance-amount { font-size: 36px; line-height: 1.25; font-weight: 600; letter-spacing: -.6px; margin-bottom: 12px; }
.balance-help { color: var(--night-muted,#7690b0); font-size: 13px; line-height: 1.7; }
.primary-balance .balance-help { color: #dae5fb; }
.wallet-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.price-reference { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.price-item { padding: 0 20px; border-right: 1px solid var(--night-line,#e6ebf3); }
.price-item:first-child { padding-left: 0; }
.price-item:last-child { border-right: 0; padding-right: 0; }
.price-name { color: var(--night-ink,#385884); font-size: 13px; line-height: 1.8; }
.price-name .badge { margin-left: 6px; font-size: 10px; padding: 2px 5px; }
.price-amount { font-size: 23px; font-weight: 600; color: var(--night-ink,#294974); margin-top: 8px; }
.price-detail { font-size: 11px; color: var(--night-muted,#97a4b5); margin-top: 6px; line-height: 1.8; }
.month-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.month-column + .month-column { border-left: 1px solid var(--night-line,#e4eaf2); padding-left: 26px; }
.month-top { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.month-top h3 { margin: 0; color: var(--night-muted,#435e80); }
.month-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.month-metric-label { font-size: 12px; color: var(--night-muted,#8494a9); }
.month-metric-value { font-size: 25px; font-weight: 600; color: var(--night-ink,#2e4b75); margin-top: 9px; }
.month-details { margin-top: 20px; padding-top: 13px; border-top: 1px dashed var(--night-line,#dfe7f1); display: flex; flex-wrap: wrap; gap: 12px 24px; color: var(--night-muted,#8b9bb0); font-size: 11px; line-height: 1.8; }
.month-details b { color: var(--night-muted,#5e7595); font-weight: 500; margin-left: 5px; }
.transaction-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.transaction-metric .metric-note { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; }
.month-amount { font-size: 31px; margin-top: 13px; }
.month-period { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: var(--night-muted,#8a9aaf); font-size: 11px; margin-top: 14px; line-height: 1.8; }
.previous-month-detail { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--night-line,#e5ebf3); }
.previous-month-detail h3 { margin-bottom: 15px; color: var(--night-muted,#55708f); font-size: 13px; }
.previous-month-detail .metric { padding: 14px; }
.previous-month-detail .metric-value { font-size: 21px; }
.batch-progress { min-width: 145px; }
.batch-progress > span { display: block; color: var(--night-muted,#647d9b); font-size: 11px; }
.batch-progress progress { display: block; height: 5px; width: 100%; border: 0; border-radius: 5px; overflow: hidden; margin: 6px 0; background: var(--night-tint-blue,#e9eef6); appearance: none; }
.batch-progress progress::-webkit-progress-bar { background: var(--night-tint-blue,#e9eef6); border-radius: 5px; }
.batch-progress progress::-webkit-progress-value { background: #7091d6; border-radius: 5px; }
.batch-progress progress::-moz-progress-bar { background: #7091d6; border-radius: 5px; }
.batch-progress small { font-size: 10px; color: var(--night-muted,#8c9cb0); white-space: nowrap; }
.transaction-summary .metric-value { font-size: 24px; }
.detail-disclosure { margin-top: 18px; border-top: 1px solid var(--night-line,#e7ecf4); padding-top: 15px; }
.detail-disclosure summary { color: var(--night-blue,#5676b9); font-size: 12px; cursor: pointer; width: fit-content; padding: 2px 0; }
.detail-disclosure[open] summary { margin-bottom: 14px; }
.detail-disclosure p { color: var(--night-muted,#8193ac); font-size: 12px; margin-bottom: 13px; }
.dashboard-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.dashboard-bottom .panel { min-width: 0; }
.dashboard-bottom th, .dashboard-bottom td { padding: 11px 10px; font-size: 11px; }
.dashboard-bottom .panel-body { padding-left: 18px; padding-right: 18px; }
.inline-link { font-size: 12px; color: var(--night-blue,#5b7cc1); white-space: nowrap; line-height: 25px; }
.demo-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--night-muted,#8493a8); }
.demo-chip:before { content: ""; display: block; width: 5px; height: 5px; background: var(--night-raised,#a6b5c9); border-radius: 50%; }
.page-not-found { margin: 70px auto; max-width: 420px; text-align: center; }
.page-not-found h2 { margin-bottom: 10px; }
.page-not-found p { color: var(--night-muted,#8091a8); }
.modal-backdrop, .modal-overlay { position: fixed; inset: 0; z-index: 100; background: #13243d78; display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal, .modal-dialog { background: var(--night-panel,#fff); border: 1px solid var(--night-line,#dbe3ee); border-radius: 14px; width: min(540px, 100%); max-height: calc(100dvh - 40px); display: flex; flex-direction: column; box-shadow: 0 22px 75px #162d5338; }
dialog.modal { position: fixed; inset: 0; margin: auto; padding: 0; }
dialog.modal::backdrop { background: #13243d78; }
.modal-header, .modal-head { padding: 19px 22px; display: flex; justify-content: space-between; align-items: center; gap: 16px; border-bottom: 1px solid var(--night-line,#e7ecf3); }
.modal-header h2, .modal-head h2 { margin: 0; font-size: 17px; }
.modal-body { padding: 22px; overflow-y: auto; min-height: 0; }
.modal-body p:last-child { margin-bottom: 0; }
.modal-footer, .modal-actions { padding: 16px 22px; border-top: 1px solid var(--night-line,#e7ecf3); display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.modal-close { width: 30px; height: 30px; background: transparent; border: 0; border-radius: 5px; color: var(--night-muted,#7d8ba2); font-size: 23px; }
.modal-close:hover { background: var(--night-tint-blue,#f1f4f9); }
.ui-modal { padding: 0; width: min(540px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); border: 1px solid var(--night-line,#dbe3ee); border-radius: 14px; color: var(--text); background: var(--night-panel,#fff); box-shadow: 0 22px 75px #162d5338; }
.ui-modal::backdrop { background: #13243d78; }
.modal-form { display: flex; flex-direction: column; max-height: calc(100dvh - 34px); }
.modal-foot { padding: 16px 22px; border-top: 1px solid var(--night-line,#e7ecf3); display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.icon-btn { display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 5px; color: var(--night-muted,#7d8ba2); background: transparent; font-size: 23px; }
.icon-btn:hover { background: var(--night-tint-blue,#f1f4f9); }
body:has(.ui-modal[open]) { overflow: hidden; }
#ui-toast { position: fixed; z-index: 150; right: 24px; bottom: 24px; max-width: min(410px, calc(100vw - 40px)); }
#toast-root, .toast-container { position: fixed; z-index: 150; right: 24px; bottom: 24px; display: flex; flex-direction: column; gap: 10px; max-width: min(410px, calc(100vw - 40px)); }
.toast { border: 1px solid var(--night-line,#cad7ed); background: var(--night-panel,#fff); padding: 13px 18px; border-radius: 9px; color: var(--night-ink,#3d587f); box-shadow: 0 5px 28px #2e42651f; font-size: 13px; line-height: 1.7; }
.code-block, pre { background: var(--night-tint-blue,#f5f7fb); color: var(--night-muted,#5a7090); padding: 16px; border: 1px solid var(--night-line,#e3e9f2); border-radius: 7px; overflow-x: auto; font: 12px/1.8 Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.description-list { display: grid; grid-template-columns: 130px 1fr; margin: 0; gap: 15px; }
.description-list dt { color: var(--night-muted,#8a99ad); }
.description-list dd { margin: 0; color: var(--night-ink,#425d7f); }
.noscript-message { padding: 25px; text-align: center; }
[hidden] { display: none !important; }
@media (max-width: 1180px) {
  .metric-grid { gap: 12px; }
  .metric { padding: 15px 13px; }
  .metric-value { font-size: 23px; }
  .price-item { padding: 0 12px; }
  .dashboard-bottom { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .sidebar { width: 212px; }
  .brand { padding-left: 18px; padding-right: 14px; }
  .brand-name { font-size: 17px; }
  .brand-caption { letter-spacing: .65px; font-size: 7px; }
  .main-area { margin-left: 212px; }
  .topbar { padding-left: 22px; padding-right: 22px; }
  .page-content { padding: 20px 22px 28px; }
  .wallet-values { gap: 14px; }
  .balance-card { padding: 22px 18px; }
  .balance-amount { font-size: 30px; }
  .price-reference { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
  .price-item:nth-child(2) { border-right: 0; }
  .price-item:nth-child(3) { padding-left: 0; }
  .month-columns { gap: 18px; }
  .month-column + .month-column { padding-left: 18px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .mobile-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 84px; background: var(--sidebar); padding: 14px 20px; }
  .mobile-bar .brand { padding: 0; }
  .mobile-bar .brand-caption { display: none; }
  .mobile-bar .brand-name { font-size: 18px; }
  .mobile-bar .brand-mark { height: 44px; width: 44px; }
  .menu-toggle { padding: 10px 16px; color: #e0e9f6; background: #253650; border: 1px solid #3a5276; border-radius: 9px; min-height: 46px; font-size: 14px; font-weight: 600; }
  .sidebar { position: static; width: 100%; display: none; }
  .sidebar.menu-open { display: flex; }
  .sidebar > .brand { display: none; }
  .sidebar-foot { padding: 9px 25px 14px; }
  .sidebar-nav { padding: 6px 16px 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
  .nav-link { margin: 0; gap: 10px; padding-left: 14px; }
  .main-area { margin-left: 0; min-height: calc(100vh - 84px); }
  .topbar { min-height: 105px; padding: 23px 22px 24px; }
  .topbar h1 { font-size: 26px; margin-bottom: 8px; }
  .topbar-side { flex-direction: column; align-items: flex-end; gap: 6px; }
  .page-content { padding: 20px; }
  .panel { margin-bottom: 20px; border-radius: 17px; }
  .panel-head, .panel-header { padding: 20px 20px 0; }
  .panel-body { padding: 20px; }
  .wallet-panel .panel-head { padding: 22px 22px 0; }
  .wallet-panel .panel-body { padding: 20px 22px 23px; }
  .wallet-values { grid-template-columns: 1fr; gap: 18px; }
  .balance-card { padding: 23px 22px; }
  .balance-amount { font-size: 36px; }
  .wallet-actions .btn { padding: 11px 16px; min-height: 45px; }
  .month-columns { grid-template-columns: 1fr; gap: 24px; }
  .month-column + .month-column { border-left: 0; padding-left: 0; border-top: 1px solid var(--night-line,#e4eaf2); padding-top: 22px; }
  .grid-2, .two-col, .two-columns { grid-template-columns: 1fr; }
  .transaction-summary { grid-template-columns: 1fr; gap: 12px; }
  .transaction-summary .metric { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
  .transaction-summary .metric-value { margin: 0; }
  .transaction-summary .metric-note { width: 100%; margin: 0; }
  .demo-footer { padding: 8px 20px 20px; }
  .modal-backdrop, .modal-overlay { padding: 14px; }
  .modal, .modal-dialog { max-height: calc(100dvh - 28px); }
  .modal-body { padding: 20px; }
  .frame-page { padding: 12px; }
  .form-grid { grid-template-columns: 1fr; }
  .table-wrap table { min-width: 580px; }
  .dashboard-bottom .table-wrap table { min-width: 440px; }
}
@media (max-width: 420px) {
  .page-content { padding: 16px 12px; }
  .mobile-bar { padding-left: 16px; padding-right: 16px; }
  .topbar { padding-left: 18px; padding-right: 18px; }
  .panel-head, .panel-header { padding-left: 17px; padding-right: 17px; }
  .panel-body { padding-left: 17px; padding-right: 17px; }
  .wallet-panel .panel-head { padding-left: 17px; padding-right: 17px; }
  .wallet-panel .panel-body { padding-left: 17px; padding-right: 17px; }
  .balance-amount { font-size: 32px; }
  .metric-grid { gap: 10px; }
  .metric-value { font-size: 21px; }
  .wallet-actions { gap: 8px; }
  .wallet-actions .btn { padding: 9px 12px; font-size: 13px; }
  .brand-mark { width: 40px; }
  .price-name { font-size: 12px; }
  .price-amount { font-size: 22px; }
  .price-name .badge { display: block; width: fit-content; margin-left: 0; }
  .panel-head h2 { font-size: 16px; }
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .modal-header, .modal-head, .modal-footer, .modal-actions { padding-left: 17px; padding-right: 17px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Workspace redesign — the shared base above remains compatible with every page. */
:root{font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif;--page-bg:var(--night-tint-blue,#f5f7fb);--sidebar:#fff;--text:var(--night-ink,#1c2e49);--muted:#738097;--primary:#315fdb;--primary-hover:#254fc1;--line:#e4e9f1;--soft:var(--night-soft,#f8fafd);--success:#128571;--danger:#c44454;--radius:16px;--sidebar-width:240px;color:var(--text);background:var(--page-bg)}
input,select,textarea{border-color:var(--night-line,#dce3ed);border-radius:8px;color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--night-muted,#8793a5)}
h1{font-size:28px;letter-spacing:-.8px;font-weight:650}
.sidebar{width:var(--sidebar-width);background:var(--night-panel,#ffffff);border-right:1px solid var(--line);color:var(--text)}
.brand{gap:11px;padding:27px 23px 30px;color:var(--text)}
.brand-mark{width:39px;height:41px;border-radius:12px;background:#4164d8;font-size:24px;flex-shrink:0;box-shadow:0 4px 10px #315fdb12}
.brand-name{display:block;font-size:17px;font-weight:700;letter-spacing:-.4px;line-height:1.45}
.brand-caption{font-size:10px;letter-spacing:.6px;color:var(--night-muted,#7c8799);margin-top:3px}
.sidebar-nav{padding:0 16px 22px;scrollbar-width:thin}
.nav-group{margin-bottom:23px}.nav-group:last-child{margin-bottom:0}
.nav-group-label{padding:0 13px;margin:0 0 9px;font-size:11px;font-weight:500;color:var(--night-muted,#8591a4);letter-spacing:.7px}
.nav-link{min-height:43px;padding:10px 13px;margin-bottom:4px;color:var(--night-muted,#5c6b82);border-radius:9px;font-size:13px;font-weight:500;line-height:23px;transition:background .15s,color .15s}
.nav-link:hover{color:var(--text);background:var(--night-tint-blue,#f5f7fb)}
.nav-link.active{color:var(--primary);background:var(--night-tint-blue,#edf2ff);font-weight:600;box-shadow:none}
.nav-link svg{width:19px;height:19px;color:var(--night-muted,#7d8da4)}
.nav-link.active svg{color:var(--primary)}
.nav-active-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);margin-left:auto}
.sidebar-foot{border-top:1px solid var(--night-line,#ecf0f5);padding:17px 25px 22px}
.sidebar-environment{display:flex;align-items:center;gap:8px;color:var(--night-muted,#7a899e);font-size:11px;line-height:20px;margin-bottom:10px}
.environment-dot{width:5px;height:5px;border-radius:50%;background:#1a9c84}
.logout-button{gap:10px;min-height:36px;padding:4px 0;color:var(--night-muted,#7a889b);font-size:12px}
.logout-button svg{width:17px;height:17px}.logout-button:hover{color:var(--primary)}
.main-area{margin-left:var(--sidebar-width);min-width:0}
.topbar{min-height:76px;padding:15px 30px;background:var(--night-panel,#ffffff);gap:18px;border-bottom:1px solid var(--line)}
.topbar-location{display:flex;align-items:center;gap:12px;min-width:0}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:11px;font-size:12px;line-height:1.8;color:var(--night-muted,#8590a2)}
.breadcrumb [aria-current=page]{color:var(--night-ink,#445772);font-weight:500}.breadcrumb-separator{color:var(--night-muted,#c0c9d6)}.breadcrumb a{color:var(--night-muted,#6b7e98)}
.topbar-side{gap:14px;flex-direction:row;align-items:center}
.environment-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--night-line,#e4eaf3);border-radius:6px;color:var(--night-muted,#7c8ba1);background:var(--night-panel,#fbfcfe);font-size:11px;white-space:nowrap}
.environment-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:#8da5cc}
.header-divider{height:25px;width:1px;background:var(--night-tint-blue,#e6eaf1);margin:0 2px}
.account-copy{display:flex;flex-direction:column;gap:4px;text-align:right}
.account-copy strong{font-size:12px;font-weight:600}.account-copy small{color:var(--night-muted,#8c98ab);font-size:10px}
.user-avatar{width:36px;height:36px;border-color:var(--night-line,#e1e8f6);color:var(--night-blue,#4662a6);background:var(--night-tint-blue,#f0f4fd);font-size:12px;font-weight:600}
.page-content{padding:28px 30px 36px;max-width:1760px;margin:0 auto;min-width:0}
.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.page-intro h1{margin-bottom:7px}.page-subtitle{color:var(--night-muted,#7d8ca2);font-size:13px}
.demo-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 30px 22px;color:var(--night-muted,#8995a8);font-size:11px;line-height:1.8}
.demo-footer>:first-child{color:var(--night-muted,#9ba6b6)}
.mobile-menu-trigger{display:none!important}
.mobile-navigation{position:fixed;inset:0 auto 0 0;margin:0;padding:0;width:min(315px,calc(100vw - 35px));height:100dvh;max-width:none;max-height:none;border:0;color:var(--text);background:var(--night-panel,#ffffff);box-shadow:12px 0 50px #172a4425}
.mobile-navigation[open]{display:flex;flex-direction:column}.mobile-navigation:not([open]){display:none}.mobile-navigation::backdrop{background:#172a4466}
.mobile-navigation-head{display:flex;align-items:center;justify-content:space-between;padding-right:16px}
.mobile-navigation .brand{padding:25px 20px}.mobile-navigation .sidebar-nav{padding:8px 18px 20px;display:block}
.mobile-navigation .nav-link{min-height:46px;font-size:14px;margin-bottom:4px}
.mobile-navigation .sidebar-foot{padding:20px 28px}.mobile-navigation .logout-button{min-height:44px}
.panel{border-color:var(--line);border-radius:16px;box-shadow:0 3px 10px #1f365403}
.panel-head,.panel-header{padding:22px 24px 0;align-items:center;gap:15px}
.panel-head h2,.panel-header h2{font-size:16px}.panel-body{padding:22px 24px 24px}
.btn,button.primary,button.secondary,button.danger,.button{border-color:var(--night-line,#dce3ee);border-radius:8px;color:var(--night-ink,#405776);font-size:13px;transition:background .15s,border-color .15s}
.btn svg{width:17px;height:17px}.btn:hover,.button:hover{background:var(--night-soft,#f7f9fe);border-color:var(--night-line,#bfcde5)}
.btn-primary,.btn.primary,button.primary,.button.primary{background:var(--primary);border-color:var(--primary);color:white;box-shadow:0 2px 4px #315fdb0d}
.btn-primary:hover,.btn.primary:hover,button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:white}
.btn-ghost,.btn.ghost{background:transparent;border-color:transparent;color:var(--night-muted,#60738c);box-shadow:none}
.btn-ghost:hover,.btn.ghost:hover{background:var(--night-tint-blue,#eef2f9);border-color:transparent}
.btn-danger,.btn.danger,button.danger{background:var(--night-soft,#fff6f7);border-color:var(--night-line,#f1d8de);color:var(--danger)}
.field{font-size:13px;color:var(--night-ink,#4a5d77)}.field small{color:var(--night-muted,#8995a7)}
.table-wrap{border-color:var(--night-line,#e7ecf3);border-radius:10px}table{font-size:13px}
th,td{padding:13px 15px;border-bottom-color:var(--night-line,#edf0f5)}
th{background:var(--night-soft,#f8fafc);color:var(--night-muted,#7b8ba2);font-size:12px}td{color:var(--night-muted,#52647e)}
tbody tr:hover td{background:var(--night-panel,#fbfcff)}
.badge{border-radius:5px;font-size:11px;font-weight:500}
.badge.success,.badge.green{color:var(--night-cyan,#15836e);background:var(--night-tint-green,#edf8f4);border-color:var(--night-line,#dbf0e8)}
.badge.warning,.badge.orange{color:var(--night-amber,#ac7b24);background:var(--night-tint-amber,#fff8e9);border-color:var(--night-line,#faedd1)}
.badge.danger,.badge.error,.badge.red{color:var(--night-rose,#ba5365);background:var(--night-tint-rose,#fff1f3);border-color:var(--night-line,#f9e0e5)}
.badge.info,.badge.blue,.badge.primary{color:var(--night-blue,#5477c3);background:var(--night-tint-blue,#eff4ff);border-color:var(--night-line,#e1e9fb)}
.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--night-green,#16876e);padding:5px 9px;border:1px solid var(--night-line,#dcefe8);border-radius:20px;background:var(--night-tint-green,#f0faf5);line-height:1.6;white-space:nowrap}
.status-dot{width:5px;height:5px;background:#159882;border-radius:50%}
.inline-link{display:inline-flex;align-items:center;color:var(--night-muted,#6c83b3);font-size:12px}
.ui-modal{border-color:var(--night-line,#e3e9f2);border-radius:16px;box-shadow:0 24px 80px #192c4b2e}
.ui-modal::backdrop{background:#152c4b66}
.modal-head,.modal-header{padding:20px 24px;border-bottom-color:var(--night-line,#edf1f6)}.modal-body{padding:24px}
.modal-foot,.modal-footer,.modal-actions{padding:18px 24px;border-top-color:var(--night-line,#edf1f6)}
.icon-btn,.modal-close{width:36px;height:36px;border-radius:8px;color:var(--night-muted,#8998ae)}
.icon-btn svg{width:21px;height:21px}.icon-btn:hover,.modal-close:hover{background:var(--night-tint-blue,#f2f5fa);color:var(--night-muted,#546e94)}
body:has(dialog[open]){overflow:hidden}
.toast{border-color:var(--night-line,#dce5f3);padding:14px 18px;border-radius:11px;color:var(--night-muted,#4d6689);box-shadow:0 6px 34px #2e42651c}
.code-block,pre{background:var(--night-soft,#f6f8fc);border-color:var(--night-line,#e4eaf3);border-radius:9px}
[aria-busy=true]{cursor:progress}
button[aria-busy=true]:before{content:"";width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}
.skeleton{background:linear-gradient(90deg,var(--night-tint-blue,#eff3f8),var(--night-soft,#f8fafc),var(--night-tint-blue,#eff3f8));background-size:200% 100%;animation:ui-skeleton 1.5s ease infinite;border-radius:6px}
@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-skeleton{to{background-position:-200% 0}}

/* Dashboard: decisions first, detailed reports on demand. */
.quote-strip{margin:0 0 18px;min-width:0}
.quote-strip-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.quote-strip-heading h2{font-size:12px;font-weight:600;color:var(--night-muted,#546985);margin:0}
.quote-strip-heading>span{font-size:10px;color:var(--night-muted,#8a97aa)}
.quote-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:0;list-style:none}
.quote-chip{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;border:1px solid var(--night-line,#e0e7f2);border-radius:10px;background:var(--night-panel,#fff);padding:11px 13px}
.quote-chip-name{font-size:12px;color:var(--night-muted,#536987);line-height:1.45;min-width:0;overflow-wrap:anywhere}
.quote-chip strong{font-size:16px;color:var(--night-ink,#284d82);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.quote-chip-region{grid-column:1/-1;font-size:10px;color:var(--night-muted,#8a97aa);line-height:1.3}
@media(max-width:1100px){.quote-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
@media(max-width:600px){.quote-strip-heading{align-items:flex-start;flex-direction:column;gap:4px}.quote-chip{padding:10px;grid-template-columns:minmax(0,1fr);gap:4px}.quote-chip-name{font-size:11px}.quote-chip strong{font-size:16px}.quote-chip-region{grid-column:auto}.quote-strip{margin-bottom:15px}}
.overview-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-bottom:20px}
.overview-card{border:1px solid var(--line);border-radius:16px;background:var(--night-panel,#ffffff);padding:24px 26px;min-width:0;box-shadow:0 3px 10px #1f365403}
.balance-overview{background:linear-gradient(115deg,var(--night-panel,#fff) 52%,var(--night-panel,#f8faff))}
.overview-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.overview-label{font-size:14px;font-weight:600;color:var(--night-ink,#415570)}
.overview-card-head p{color:var(--night-muted,#8794a8);margin:6px 0 0;font-size:12px}
.overview-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--night-tint-blue,#f2f5fb);color:var(--night-muted,#7188b1)}
.overview-amount{font-size:38px;font-weight:650;letter-spacing:-1.3px;margin:20px 0 22px;line-height:1.25;font-variant-numeric:tabular-nums;color:var(--night-ink,#213b60)}
.overview-amount>span{color:var(--night-muted,#96a4b7);font-size:12px;font-weight:500;letter-spacing:.5px;margin-left:10px}
.overview-card-foot{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:40px}
.overview-detail-link{margin-left:auto;font-size:12px;display:inline-flex;align-items:center;gap:7px;color:var(--night-muted,#6d83b0);line-height:26px}
.overview-detail-link svg{width:15px;height:15px}
.card-state-count{font-size:12px;color:var(--night-muted,#6b7d95);display:inline-flex;align-items:center;gap:7px}
.card-state-count i{width:5px;height:5px;background:#22a68c;border-radius:50%}
.card-state-count+.card-state-count{border-left:1px solid var(--night-line,#e7edf5);padding-left:12px}
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}
.quick-action{display:flex;align-items:center;gap:13px;padding:19px 21px;border:1px solid var(--line);border-radius:13px;background:var(--night-panel,#ffffff);color:var(--text);transition:background .15s,border-color .15s}
.quick-action:hover{text-decoration:none;border-color:var(--night-line,#ccd8ef);background:var(--night-panel,#fcfdff)}
.quick-action-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--night-blue,#6684c3);background:var(--night-tint-blue,#f0f4fd);flex-shrink:0}
.quick-action-icon.teal{background:var(--night-tint-green,#edf7f4);color:var(--night-green,#479a86)}.quick-action-icon.violet{background:var(--night-tint-blue,#f3f1fc);color:var(--night-muted,#8b7ab7)}
.quick-action-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.quick-action-copy strong{font-size:13px;font-weight:600}.quick-action-copy small{color:var(--night-muted,#8493a9);font-size:11px;line-height:1.5}
.quick-action-arrow{margin-left:auto;color:var(--night-muted,#a1adc0)}.quick-action-arrow svg{width:16px;height:16px}
.attention-strip{display:grid;grid-template-columns:.72fr repeat(3,1fr);border:1px solid var(--line);border-radius:13px;background:var(--night-panel,#fff);padding:17px 23px;gap:16px;margin-bottom:24px}
.attention-title{display:flex;align-items:center;gap:9px}.attention-title strong{font-size:13px;font-weight:600}
.attention-heading-icon{color:var(--night-muted,#b0a080)}.attention-heading-icon svg{width:18px;height:18px}
.attention-item{border-left:1px solid var(--night-line,#e9edf4);padding-left:19px;display:flex;align-items:center;gap:9px;color:var(--night-muted,#76859c);font-size:12px}
.attention-item:hover{text-decoration:none;color:var(--primary)}
.attention-item>strong{margin-left:auto;color:var(--night-muted,#516680);font-size:18px;font-weight:600;white-space:nowrap}
.attention-item small{font-size:11px;font-weight:400;color:var(--night-muted,#8a98ac)}.attention-item svg{width:12px;height:12px;color:var(--night-muted,#a1aec1)}
.dashboard-activity-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px;margin-bottom:23px}
.dashboard-activity-grid>.panel{margin-bottom:0;min-width:0}
.activity-panel .panel-body{padding-top:13px;padding-bottom:12px}
.activity-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--night-line,#edf1f6);color:var(--text)}
.activity-row:last-child{border-bottom:0}.activity-row:hover{text-decoration:none}.activity-row:hover .activity-copy strong{color:var(--primary)}
.activity-symbol{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--night-line,#e8edf6);border-radius:10px;color:var(--night-muted,#8295b5);background:var(--night-panel,#f9fbfe);flex-shrink:0}
.activity-symbol svg{width:17px;height:17px}
.activity-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.activity-copy strong{font-size:13px;font-weight:500}
.activity-copy small{color:var(--night-muted,#8b99af);font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.activity-copy small span{margin:0 4px;color:var(--night-muted,#b4becc)}
.activity-value{display:flex;flex-direction:column;gap:6px;align-items:flex-end;margin-left:auto;flex-shrink:0}
.activity-value>strong{font-size:14px;font-weight:600;color:var(--night-ink,#425875);font-variant-numeric:tabular-nums}
.activity-value .badge{font-size:10px;padding:1px 6px}
.recent-batch{padding-bottom:23px;margin-bottom:23px;border-bottom:1px solid var(--night-line,#edf1f6)}
.recent-batch:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.recent-batch-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.recent-batch-heading>a{color:var(--night-muted,#4e6483);font-size:13px;font-weight:500}
.recent-batch-heading .badge{font-size:10px;padding:1px 6px}
.recent-batch-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--night-muted,#8b9ab0);margin-top:11px}
.recent-batch progress{display:block;width:100%;height:5px;margin:11px 0;border:0;border-radius:6px;overflow:hidden;background:var(--night-tint-blue,#edf1f7);appearance:none}
.recent-batch progress::-webkit-progress-bar{background:var(--night-tint-blue,#edf1f7);border-radius:6px}.recent-batch progress::-webkit-progress-value{background:#6489dc;border-radius:6px}.recent-batch progress::-moz-progress-bar{background:#6489dc;border-radius:6px}
.recent-batch-result{display:flex;gap:15px;font-size:11px;color:var(--night-muted,#8a9ab0)}.recent-batch-result>:first-child{color:var(--night-muted,#629785)}
.dashboard-reports{border:1px solid var(--line);border-radius:14px;background:var(--night-panel,#fff);overflow:hidden}
.dashboard-reports>summary{list-style:none;cursor:pointer;padding:19px 23px;display:flex;gap:12px;align-items:center}
.dashboard-reports>summary::-webkit-details-marker{display:none}
.dashboard-report-icon{display:grid;place-items:center;color:var(--night-muted,#8396b4)}.dashboard-report-icon svg{width:21px;height:21px}
.dashboard-report-title{display:flex;flex-direction:column;gap:5px}.dashboard-report-title strong{font-size:13px;font-weight:600}.dashboard-report-title small{font-size:11px;color:var(--night-muted,#8b99ae)}
.dashboard-reports>summary:after{content:"⌄";margin-left:auto;font-size:18px;color:var(--night-muted,#8d9bb0);transition:transform .15s}
.dashboard-reports[open]>summary:after{transform:rotate(180deg)}.dashboard-reports[open]>summary{border-bottom:1px solid var(--night-line,#edf1f6)}
.dashboard-report-body{padding:0 24px}.dashboard-report-section{padding:24px 0;border-bottom:1px solid var(--night-line,#e8eef5)}.dashboard-report-section:last-child{border-bottom:0}
.dashboard-report-section h3{margin-bottom:18px;font-size:14px;color:var(--night-muted,#4d6483)}.section-label{gap:12px;margin-bottom:18px}.section-label h3{margin:0}
.metric-grid{gap:16px}.metric{background:var(--night-soft,#f8fafd);border-color:var(--night-line,#eaf0f6);border-radius:10px}
.metric-label{color:var(--night-muted,#7e8ea5)}.metric-value{font-size:25px;color:var(--night-ink,#365474);font-variant-numeric:tabular-nums}.metric-note{color:var(--night-muted,#8798b0)}
.month-column+.month-column{border-left-color:var(--night-line,#e5ebf3)}.month-metric-value{font-size:27px;color:var(--night-ink,#3e5b7c);margin-top:12px}
.month-period{color:var(--night-muted,#8799b0)}.detail-disclosure{margin-top:22px;border-top-color:var(--night-line,#e9eef5);padding-top:17px}.detail-disclosure summary{color:var(--night-muted,#6a83b0);padding:4px 0}
.price-name{color:var(--night-muted,#536e94)}.price-amount{color:var(--night-ink,#365777)}.price-detail{color:var(--night-muted,#8799af)}

/* Responsive workspace — mobile navigation is a native modal dialog. */
@media(max-width:1180px){
 :root{--sidebar-width:222px}.brand{padding-left:19px;padding-right:17px;gap:9px}.brand-name{font-size:16px}.sidebar-nav{padding-left:13px;padding-right:13px}
 .topbar{padding-left:25px;padding-right:25px}.page-content{padding:26px 25px 32px}
 .overview-card{padding:22px}.overview-amount{font-size:35px}.quick-action{padding:17px 16px;gap:10px}.quick-action-arrow{display:none}
 .attention-strip{padding:17px 18px;gap:12px;grid-template-columns:.7fr repeat(3,1fr)}.attention-item{padding-left:13px;gap:5px}.attention-item>svg{display:none}
 .metric-grid{gap:12px}.metric{padding:15px 13px}.metric-value{font-size:23px}
}
@media(min-width:901px) and (max-width:1050px){
 .dashboard-activity-grid{grid-template-columns:1fr}.recent-batches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.recent-batch{margin:0;padding:0;border:0}
 .attention-title strong{font-size:12px}.attention-heading-icon{display:none}.quick-action-icon{width:34px;height:36px}.quick-action-copy small{display:none}
}
@media(max-width:900px){
 .sidebar{display:none}.main-area{margin-left:0;min-height:100vh}
 .mobile-menu-trigger{display:grid!important;width:44px;height:44px;margin-left:-10px}
 .topbar{min-height:70px;padding:12px 24px}.topbar-side{flex-direction:row;align-items:center}
 .page-content{padding:25px 24px 32px}
 .overview-grid{grid-template-columns:1fr 1fr;gap:18px}.overview-card{padding:22px}.overview-card-head{gap:8px}.overview-card-head p{font-size:11px}.overview-amount{font-size:34px}
 .overview-card-foot{gap:8px}.card-state-count{font-size:11px}.card-state-count+.card-state-count{padding-left:8px}.overview-card-foot .overview-detail-link{width:100%;margin-top:2px}
 .dashboard-shortcuts{gap:14px}.quick-action{padding:17px 15px}.quick-action-icon{width:35px;height:36px}.quick-action-copy small{font-size:10px}
 .attention-strip{margin-bottom:20px}.dashboard-activity-grid{grid-template-columns:1.2fr 1fr;gap:16px}
 .panel-head,.panel-header{padding:20px 20px 0}.panel-body{padding:20px}
 .activity-symbol{display:none}.activity-copy strong{font-size:12px}.activity-copy small{font-size:10px}
 .mobile-navigation .brand-name{font-size:17px}.mobile-navigation .brand-caption{font-size:10px;letter-spacing:.6px}
 .grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .topbar{min-height:64px;padding:10px 18px;gap:9px}.topbar-location{gap:6px}.topbar-side{gap:9px}
 .account-copy,.header-divider{display:none}.environment-badge{font-size:10px;padding:4px 6px}.user-avatar{width:31px;height:31px;font-size:11px}
 .breadcrumb{gap:7px;font-size:11px}.breadcrumb>a,.breadcrumb>a+.breadcrumb-separator{display:none}
 .page-content{padding:22px 18px 28px}.page-intro{margin-bottom:22px}.page-intro h1{font-size:25px}.page-subtitle{font-size:12px}
 .overview-grid{grid-template-columns:1fr;gap:14px;margin-bottom:16px}.overview-card{padding:22px;border-radius:14px}.overview-amount{font-size:37px;margin:18px 0}
 .overview-card-head p{font-size:12px}.overview-card-foot .overview-detail-link{width:auto;margin-top:0}.overview-card-foot{gap:10px}.card-state-count{font-size:12px}
 .dashboard-shortcuts{gap:10px;margin-bottom:16px}.quick-action{align-items:flex-start;flex-direction:column;gap:12px;padding:15px 13px;border-radius:11px}
 .quick-action-icon{width:35px;height:35px;border-radius:9px}.quick-action-copy strong{font-size:12px}.quick-action-copy small{display:none}
 .attention-strip{grid-template-columns:repeat(3,minmax(0,1fr));padding:17px;gap:13px;margin-bottom:18px}.attention-title{grid-column:1/-1;margin-bottom:2px}
 .attention-item{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding-left:13px;font-size:11px}.attention-item:nth-child(2){border:0;padding-left:0}
 .attention-item>strong{margin-left:0;font-size:20px}.attention-item small{font-size:10px}
 .dashboard-activity-grid{grid-template-columns:1fr;gap:18px;margin-bottom:18px}
 .activity-symbol{display:grid;width:32px;height:32px}.activity-copy strong{font-size:13px}.activity-copy small{font-size:10px}.activity-row{gap:10px}.activity-value>strong{font-size:13px}
 .panel{border-radius:14px}.panel-head,.panel-header{padding:20px 19px 0;gap:12px}.panel-head h2,.panel-header h2{font-size:15px}.panel-body{padding:20px 19px}
 .activity-panel .panel-body{padding-top:12px;padding-bottom:10px}.recent-batch{padding-bottom:20px;margin-bottom:20px}
 .dashboard-reports>summary{padding:18px;gap:10px}.dashboard-report-title small{font-size:10px;line-height:1.7}.dashboard-report-body{padding:0 18px}.dashboard-report-section{padding:21px 0}
 .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:15px 13px}.metric-value{font-size:22px}.metric-note{font-size:10px}
 .month-columns{grid-template-columns:1fr;gap:20px}.month-column+.month-column{border-left:0;padding-left:0;border-top:1px solid var(--night-line,#e7edf4);padding-top:20px}
 .price-reference{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0}.price-item:nth-child(2){border-right:0}.price-item:nth-child(3){padding-left:0}.price-item{padding:0 15px}.price-name{font-size:12px}.price-amount{font-size:22px}
 .grid-2,.two-col,.two-columns,.form-grid{grid-template-columns:1fr}.grid-3,.grid-4{gap:14px}
 .btn,.btn-sm,button.primary,button.secondary,button.danger,.button,.icon-btn,.modal-close,input,select{min-height:44px}
 .icon-btn,.modal-close{width:44px;height:44px}input[type=checkbox],input[type=radio]{min-height:18px;width:18px;height:18px}
 .table-wrap table{min-width:520px}th,td{padding:12px 13px}.pagination button{min-width:40px;min-height:44px}
 .tabs a,.tabs button,.tab{min-height:44px}
 .demo-footer{padding:12px 18px 20px;flex-direction:column;gap:4px;text-align:center;font-size:10px}
 .modal-head,.modal-header{padding:16px 18px}.modal-head h2,.modal-header h2{font-size:16px}.modal-body{padding:20px 18px}.modal-foot,.modal-footer,.modal-actions{padding:16px 18px}
 .description-list{grid-template-columns:100px 1fr;gap:13px}#ui-toast,#toast-root,.toast-container{right:18px;bottom:18px;max-width:calc(100vw - 36px)}
}
@media(max-width:380px){
 .page-content{padding-left:14px;padding-right:14px}.topbar{padding-left:14px;padding-right:14px}.environment-badge{display:none}
 .overview-card{padding:20px}.overview-amount{font-size:34px}.quick-action{padding:14px 11px}.quick-action-copy strong{font-size:11px}.activity-symbol{display:none}
 .grid-3,.grid-4{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Shared workspace rhythm; page-specific compact tables keep their own dimensions. */
:root { --text:var(--night-ink,#2d425e); --muted:#6c7f97; --line:#e1e7ef; --soft:var(--night-soft,#f7f9fc); }
h1 { font-size:26px; color:var(--night-ink,#233b57); letter-spacing:-.6px; }
h2,h3 { color:var(--night-ink,#304864); }
p { line-height:1.65; }
.page-intro { margin-bottom:20px; }
.page-subtitle { color:var(--night-muted,#71839b); line-height:1.6; }
.panel { border-radius:14px; box-shadow:0 3px 14px #203b5c03; }
.panel-head,.panel-header { padding:18px 20px 0; gap:12px; }
.panel-head h2,.panel-header h2 { font-size:16px; line-height:1.5; font-weight:600; }
.panel-body { padding:18px 20px 20px; }
.panel-subtitle { margin-top:4px; color:var(--night-muted,#73849a); line-height:1.55; }
.btn,button.primary,button.secondary,button.danger,.button { min-height:36px; padding:7px 13px; font-size:13px; line-height:20px; border-radius:7px; }
.btn-sm { min-height:30px; padding:4px 9px; font-size:12px; }
.btn:disabled,button.primary:disabled,button.secondary:disabled,button.danger:disabled { color:var(--night-muted,#94a0b1); background:var(--night-tint-blue,#f5f7fa); border-color:var(--night-line,#e3e9f1); opacity:1; box-shadow:none; }
input:where(:not([type="checkbox"]):not([type="radio"])),select { min-height:38px; padding:8px 11px; font-size:13px; line-height:20px; }
textarea { min-height:88px; padding:9px 11px; font-size:13px; line-height:1.6; }
.field { margin-bottom:14px; }
.field > label,.field-label,.field > span:first-child { margin-bottom:6px; color:var(--night-ink,#415975); }
.field > small,.field .hint,.field-hint { color:var(--night-muted,#7c8da3); margin-top:5px; line-height:1.55; }
.toolbar,.filter-bar { gap:10px; margin-bottom:16px; }
.table-wrap { overscroll-behavior-x:contain; scrollbar-width:thin; border-color:var(--night-line,#e1e8f1); border-radius:9px; }
th { padding:10px 12px; color:var(--night-muted,#5d728c); background:var(--night-tint-blue,#f4f7fb); font-size:12px; line-height:1.5; }
td { padding:11px 12px; color:var(--night-ink,#435d7b); line-height:1.6; vertical-align:middle; }
.table-wrap td .btn { min-height:28px; font-size:12px; padding:3px 8px; }
.table-wrap .actions { flex-wrap:nowrap; width:max-content; gap:5px; }
.table-footer,.pagination { margin-top:14px; gap:10px; color:var(--night-muted,#6f829b); }
.empty,.empty-state { padding:28px 16px; color:var(--night-muted,#7b8da4); line-height:1.6; }
.empty p { margin:7px 0 0; }
.alert,.notice { padding:11px 14px; margin-bottom:16px; font-size:12px; line-height:1.7; }
.description-list { gap:12px; font-size:13px; }
.description-list dt { color:var(--night-muted,#73869e); }
.description-list dd { color:var(--night-ink,#3d5776); }
.activity-row { padding:13px 0; }
.activity-copy { gap:5px; }
.activity-copy small,.recent-batch-meta,.metric-note,.quick-action-copy small { color:var(--night-muted,#62748a); font-size:12px; line-height:1.55; }
.recent-batch { padding-bottom:18px; margin-bottom:18px; }
.recent-batch-meta { margin-top:9px; }
.recent-batch-result { color:var(--night-muted,#7588a2); }

/* Native dialogs share a compact, scroll-safe frame and the operation's accent. */
.ui-modal {
  --modal-accent:#536b88; --modal-accent-hover:#415a77; --modal-soft:var(--night-tint-blue,#f1f5fa); --modal-tint-border:var(--night-line,#dce5ef);
  width:min(480px,calc(100vw - 32px)); max-height:calc(100dvh - 32px);
  border:1px solid var(--night-line,#dde5ef); border-radius:16px; color:var(--night-ink,#354c69);
  box-shadow:0 18px 64px #2034522b,0 2px 10px #2034520b; overflow:hidden;
}
.ui-modal::backdrop { background:#172c4661; }
.ui-modal[data-tone="recharge"],.ui-modal[data-tone="blue"] { --modal-accent:#315fdb; --modal-accent-hover:#254fc1; --modal-soft:var(--night-tint-blue,#edf2ff); --modal-tint-border:var(--night-line,#dce5fb); }
.ui-modal[data-tone="transfer"],.ui-modal[data-tone="teal"] { --modal-accent:#087ca7; --modal-accent-hover:#06688d; --modal-soft:var(--night-tint-cyan,#edf8fd); --modal-tint-border:var(--night-line,#cde6f1); }
.ui-modal[data-tone="freeze"],.ui-modal[data-tone="amber"] { --modal-accent:#9b6514; --modal-accent-hover:#825310; --modal-soft:var(--night-tint-amber,#fff7e9); --modal-tint-border:var(--night-line,#efdfbf); }
.ui-modal[data-tone="unfreeze"],.ui-modal[data-tone="green"] { --modal-accent:#2d8a45; --modal-accent-hover:#247238; --modal-soft:var(--night-tint-green,#eef8ee); --modal-tint-border:var(--night-line,#d4e9d6); }
.ui-modal[data-tone="close"],.ui-modal[data-tone="red"] { --modal-accent:#bd4d5d; --modal-accent-hover:#a33c4b; --modal-soft:var(--night-tint-rose,#fff1f3); --modal-tint-border:var(--night-line,#f0d6dc); }
.ui-modal[data-tone="group"],.ui-modal[data-tone="note"],.ui-modal[data-tone="purple"] { --modal-accent:#6a59ad; --modal-accent-hover:#584695; --modal-soft:var(--night-tint-blue,#f3f0fb); --modal-tint-border:var(--night-line,#e2dbf1); }
.ui-modal .modal-form { max-height:calc(100dvh - 34px); min-height:0; margin:0; }
.ui-modal .modal-head { padding:15px 20px; gap:12px; flex:0 0 auto; background:var(--night-panel,#fff); border-bottom:1px solid var(--night-line,#e9eef5); }
.ui-modal .modal-head h2 { margin:0; color:var(--night-ink,#2d4562); font-size:16px; line-height:24px; font-weight:650; overflow-wrap:anywhere; }
.ui-modal .modal-head .icon-btn { width:28px; height:28px; min-height:28px; flex:0 0 28px; padding:0; border-radius:6px; color:var(--night-muted,#8392a6); font-size:22px; line-height:28px; background:var(--night-tint-blue,#f5f7fa); }
.ui-modal .modal-head .icon-btn:hover { color:var(--night-muted,#536b88); background:var(--night-tint-blue,#eaf0f7); }
.ui-modal .modal-body { padding:18px 20px; min-height:0; overflow-y:auto; overscroll-behavior-y:contain; flex:1 1 auto; scrollbar-width:thin; }
.ui-modal .modal-body > :last-child { margin-bottom:0; }
.ui-modal .field { margin-bottom:14px; }
.ui-modal .field > span:first-child { font-size:12px; margin-bottom:6px; }
.ui-modal input:where(:not([type="checkbox"]):not([type="radio"])),.ui-modal select { min-height:36px; padding:7px 10px; font-size:13px; line-height:20px; }
.ui-modal textarea { min-height:80px; }
.ui-modal :is(input,select,textarea):focus { border-color:var(--modal-accent); }
.ui-modal :is(input,select,textarea,button):focus-visible { outline:2px solid var(--modal-tint-border); outline-offset:2px; }
.ui-modal .modal-foot { flex:0 0 auto; padding:12px 20px; gap:8px; border-top:1px solid var(--night-line,#e9eef5); background:var(--night-panel,#fafbfd); }
.ui-modal .modal-foot .btn { min-height:34px; padding:6px 13px; font-size:13px; line-height:20px; }
.ui-modal .btn-primary:not(:disabled) { color:#fff; background:var(--modal-accent); border-color:var(--modal-accent); box-shadow:none; }
.ui-modal .btn-primary:not(:disabled):hover { background:var(--modal-accent-hover); border-color:var(--modal-accent-hover); }
.ui-modal .btn:disabled { color:var(--night-muted,#94a0b1); background:var(--night-tint-blue,#f5f7fa); border-color:var(--night-line,#e3e9f1); opacity:1; }
button[data-copy-feedback] { position:relative; overflow:visible; }
button[data-copy-feedback]::after { content:attr(data-copy-feedback); position:absolute; z-index:3; top:50%; left:calc(100% + 5px); transform:translateY(-50%); display:block; width:max-content; max-width:90px; padding:3px 7px; border:1px solid var(--night-line,#cce5d3); border-radius:5px; background:var(--night-tint-green,#f0faf2); color:var(--night-green,#2d8a45); font:500 12px/18px "Segoe UI","Microsoft YaHei",sans-serif; white-space:nowrap; pointer-events:none; box-shadow:0 2px 6px #1d54360b; }
button[data-copy-feedback][data-copy-separator]::after { inset:0; transform:none; width:auto; max-width:none; display:flex; align-items:center; justify-content:center; padding:2px 5px; }
@media (max-width:700px) {
  .panel-head,.panel-header { padding:16px 17px 0; }
  .panel-body { padding:16px 17px 18px; }
  .btn,button.primary,button.secondary,button.danger,.button { min-height:40px; }
  input:where(:not([type="checkbox"]):not([type="radio"])),select { min-height:40px; }
  .ui-modal { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:14px; }
  .ui-modal .modal-form { max-height:calc(100dvh - 26px); }
  .ui-modal .modal-head { padding:14px 16px; }
  .ui-modal .modal-body { padding:16px; }
  .ui-modal .modal-foot { padding:11px 16px; }
  .ui-modal input:where(:not([type="checkbox"]):not([type="radio"])),.ui-modal select,.ui-modal .modal-foot .btn { min-height:40px; }
}

/* Dashboard only: put recent business within reach without shrinking the data. */
.dashboard-workspace .quote-strip { margin-bottom:14px; }
.dashboard-workspace .quote-strip-heading > span,.dashboard-workspace .quote-chip-region { font-size:12px; color:var(--night-muted,#62748a); line-height:1.5; }
.dashboard-workspace .quote-chip-name { font-size:12px; }
.dashboard-workspace .overview-grid { gap:16px; margin-bottom:14px; }
.dashboard-workspace .overview-card { padding:14px 18px; border-radius:12px; }
.dashboard-workspace .overview-card-head { gap:10px; }
.dashboard-workspace .overview-label { font-size:14px; line-height:20px; }
.dashboard-workspace .overview-card-head p { margin:2px 0 0; font-size:12px; line-height:18px; color:var(--night-muted,#62748a); }
.dashboard-workspace .overview-symbol { width:28px; height:28px; border-radius:7px; }
.dashboard-workspace .overview-symbol svg { width:18px; height:18px; }
.dashboard-workspace .overview-amount { font-size:32px; line-height:1.15; letter-spacing:-.8px; margin:6px 0 8px; }
.dashboard-workspace .overview-amount > span { color:var(--night-muted,#687d96); font-size:12px; }
.dashboard-workspace .overview-card-foot { min-height:32px; gap:8px; }
.dashboard-workspace .overview-card-foot .btn { min-height:32px; padding:5px 11px; font-size:12px; line-height:20px; }
.dashboard-workspace .overview-card-foot .overview-detail-link { width:auto; margin-top:0; font-size:12px; line-height:24px; color:var(--night-muted,#526f9e); }
.dashboard-workspace .card-state-count { font-size:12px; color:var(--night-muted,#62748a); line-height:20px; }
.dashboard-workspace .dashboard-shortcuts { gap:14px; margin-bottom:14px; }
.dashboard-workspace .quick-action { gap:11px; padding:11px 15px; border-radius:10px; }
.dashboard-workspace .quick-action-icon { width:32px; height:32px; border-radius:8px; }
.dashboard-workspace .quick-action-icon svg { width:18px; height:18px; }
.dashboard-workspace .quick-action-copy { gap:3px; }
.dashboard-workspace .quick-action-copy strong { font-size:13px; line-height:18px; }
.dashboard-workspace .quick-action-copy small { font-size:12px; line-height:18px; color:var(--night-muted,#62748a); }
.dashboard-workspace .attention-strip { padding:11px 18px; gap:12px; margin-bottom:14px; border-radius:10px; }
.dashboard-workspace .attention-item { padding-left:14px; gap:8px; font-size:12px; color:var(--night-muted,#62748a); line-height:20px; }
.dashboard-workspace .attention-item > strong { font-size:18px; line-height:22px; color:var(--night-ink,#405b7b); }
.dashboard-workspace .attention-item small { font-size:12px; color:var(--night-muted,#62748a); }
.dashboard-workspace .activity-copy small,.dashboard-workspace .recent-batch-meta,.dashboard-workspace .recent-batch-result,.dashboard-workspace .dashboard-report-title small,.dashboard-workspace .metric-note,.dashboard-workspace .month-period,.dashboard-workspace .detail-disclosure p { font-size:12px; color:var(--night-muted,#62748a); line-height:1.55; }
.dashboard-workspace .badge,.dashboard-workspace .status-pill { font-size:12px; }
.dashboard-workspace .activity-value .badge,.dashboard-workspace .recent-batch-heading .badge { padding:2px 6px; }
.dashboard-workspace .recent-batch-result > :first-child { color:var(--night-green,#337c63); }
@media (max-width:700px) {
  .dashboard-workspace .overview-grid { gap:12px; }
  .dashboard-workspace .overview-card { padding:14px 16px; }
  .dashboard-workspace .overview-card-foot .btn { min-height:36px; padding-block:7px; }
  .dashboard-workspace .dashboard-shortcuts { gap:9px; }
  .dashboard-workspace .quick-action { padding:11px 12px; gap:8px; }
  .dashboard-workspace .attention-strip { padding:12px 14px; gap:9px; }
  .dashboard-workspace .attention-item { gap:4px; padding-left:11px; }
  .dashboard-workspace .attention-item:nth-child(2) { padding-left:0; }
}
