/* Merchant workspace: quiet surfaces, readable records and comfortable controls. */
body.backoffice { --ink:#293744; --muted:#586879; --green:#45627d; --line:#d7dfe5; --paper:#f2f4f6; --red:#a04448; --white:#fcfdfd; --mint:#e7edf2; --brand-deep:#354f68; --focus:#527797; color:var(--ink); background:var(--paper); font-family:"Segoe UI","Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif; font-size:15px; line-height:1.7; padding:0; overflow-wrap:anywhere; }
.backoffice button, .backoffice input, .backoffice select, .backoffice textarea { font:inherit; }
.backoffice button, .backoffice a { touch-action:manipulation; }
.backoffice :focus-visible { outline:3px solid #527797; outline-offset:3px; }
.backoffice .console-header { max-width:none; height:80px; padding:0 36px; display:flex; align-items:center; gap:32px; background:var(--white); border-bottom:1px solid #d7dfe5; }
.backoffice .brand { gap:11px; font-size:23px; font-weight:650; line-height:1.15; letter-spacing:-.5px; }
.backoffice .console-mark { display:grid; place-items:center; background:#45627d; color:var(--white); width:42px; height:44px; border-radius:10px 10px 10px 3px; font-size:24px; font-weight:500; }
.backoffice .brand small { display:block; color:#586879; font-size:13px; letter-spacing:0; margin-top:5px; font-weight:400; }
.backoffice .console-environment { display:flex; align-items:center; gap:8px; margin-left:auto; font-size:13px; color:#586879; }
.backoffice .console-environment > span { height:6px; width:6px; background:#71899b; border-radius:50%; }
.backoffice .console-environment strong { font-weight:500; font-size:13px; color:#76613d; padding:4px 8px; border:1px solid #e2d7bf; background:#f7f2e8; border-radius:5px; margin-left:6px; }
.backoffice .quiet { font-size:14px; color:#45627d; min-height:44px; }
.backoffice #logout { margin-left:8px; border-left:1px solid #d7dfe5; padding-left:24px; }
.backoffice .console-main { max-width:1500px; padding:28px; margin:auto; min-height:calc(100vh - 160px); }
.backoffice #dashboard { display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px; align-items:start; }
.backoffice .console-sidebar { background:#edf1f4; border:1px solid var(--line); border-radius:13px; color:#293744; padding:24px 12px 20px; min-height:650px; position:sticky; top:24px; display:flex; flex-direction:column; }
.backoffice .sidebar-label { font-size:13px; color:#586879; padding:0 14px; margin-bottom:18px; letter-spacing:1px; }
.backoffice .admin-tabs { display:flex; flex-direction:column; align-items:stretch; gap:6px; margin:0; padding:0; border:0; }
.backoffice .admin-tabs .nav { display:flex; align-items:center; gap:12px; min-height:48px; padding:11px 13px; border:1px solid transparent; border-radius:7px; color:#4e6070; font-size:14px; text-align:left; white-space:nowrap; }
.backoffice .admin-tabs .nav > span:first-child { display:grid; place-items:center; width:18px; color:#607b91; font-size:19px; line-height:1; flex-shrink:0; }
.backoffice .admin-tabs .nav.active { background:#dfe8ef; color:#354f68; font-weight:600; border-color:#c4d2de; }
.backoffice .admin-tabs .nav.active > span:first-child { color:#354f68; }
.backoffice .admin-tabs .nav.active::after { display:none; }
.backoffice .admin-tabs .nav:hover { background:#e4eaef; }
.backoffice .admin-tabs .nav.active:hover { background:#d9e4ed; }
.backoffice .admin-tabs .nav-count { margin-left:auto; font-family:"Segoe UI",sans-serif; font-variant-numeric:tabular-nums; background:#45627d; color:var(--white); min-width:24px; padding:0 5px; height:24px; border-radius:5px; font-size:13px; display:grid; place-items:center; }
.backoffice .sidebar-bottom { margin-top:auto; padding:30px 13px 0; }
.backoffice .sidebar-status { display:flex; align-items:center; gap:8px; color:#586879; font-size:13px; }
.backoffice .sidebar-status > span { width:6px; height:6px; background:#71899b; border-radius:50%; }
.backoffice .sidebar-bottom p { font-size:13px; line-height:1.9; color:#586879; margin:10px 0 0; }
.backoffice .console-workspace, .backoffice .workspace-content, .backoffice .workspace-heading > div { min-width:0; }
.backoffice .workspace-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:1px 0 24px; }
.backoffice .workspace-kicker { font-size:13px; color:#586879; margin:0 0 5px; }
.backoffice .workspace-heading h1 { font-size:32px; line-height:1.4; letter-spacing:-.7px; font-weight:650; margin:0 0 7px; }
.backoffice .workspace-heading > div > p:last-child { font-size:14px; color:#586879; margin:0; }
.backoffice .workspace-heading > button { white-space:nowrap; flex-shrink:0; }
.backoffice .stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.backoffice .stat { border:1px solid #d7dfe5; background:var(--white); border-radius:9px; padding:18px 20px; min-width:0; }
.backoffice .stat > span { font-size:13px; color:#586879; }
.backoffice .stat > strong { font-size:28px; line-height:1.4; font-weight:650; margin-top:11px; font-family:inherit; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.backoffice .notice { border:1px solid #e2d7bf; background:#f7f2e8; color:#76613d; border-radius:8px; padding:16px 18px; font-size:14px; line-height:1.85; margin:0 0 22px; }
.backoffice .notice strong { font-size:14px; font-weight:600; }
.backoffice .notice p { color:#76613d; margin:6px 0 0; font-size:13px; }
.backoffice .all-clear { display:flex; align-items:center; gap:9px; color:#426d5b; font-size:13px; margin:0 0 20px; }
.backoffice .all-clear > span { width:6px; height:6px; background:#6c927f; border-radius:50%; }
.backoffice .filter-row { margin:0 0 16px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.backoffice .filter-row input, .backoffice .filter-row select { width:auto; min-width:130px; margin:0; flex:1; }
.backoffice .filter-row input { flex:1.7; }
.backoffice input:not([type=checkbox]), .backoffice select, .backoffice textarea { padding:11px 12px; background:var(--white); border:1px solid #cbd5de; border-radius:7px; font-size:16px; min-height:46px; min-width:0; max-width:100%; margin-top:7px; width:100%; color:#293744; }
.backoffice input:focus, .backoffice select:focus, .backoffice textarea:focus { border-color:#527797; box-shadow:0 0 0 3px #e7edf2; }
.backoffice input::placeholder, .backoffice textarea::placeholder { color:#657485; }
.backoffice input[readonly] { background:#f2f4f6; color:#586879; }
.backoffice .primary { background:#45627d; border:1px solid #45627d; border-radius:7px; color:var(--white); min-height:46px; padding:11px 18px; font-size:15px; font-weight:600; justify-content:center; }
.backoffice .primary:hover { background:#354f68; }
.backoffice .secondary { background:var(--white); border:1px solid #cbd5de; border-radius:7px; color:#45627d; min-height:44px; padding:10px 14px; font-size:14px; }
.backoffice .secondary:hover { background:#e7edf2; }
.backoffice .table-wrap { border:1px solid #d7dfe5; border-radius:9px; background:var(--white); overflow-x:auto; max-width:100%; min-width:0; overscroll-behavior-x:contain; }
.backoffice table { font-size:14px; line-height:1.7; border-collapse:collapse; width:100%; white-space:nowrap; font-variant-numeric:tabular-nums; }
.backoffice th { color:#586879; background:#edf1f4; font-weight:600; padding:13px 16px; font-size:14px; border-bottom:1px solid #d7dfe5; }
.backoffice td { padding:15px 16px; border-bottom:1px solid #e5eaee; vertical-align:top; color:#293744; }
.backoffice tr:last-child td { border-bottom:0; }
.backoffice tbody tr:hover { background:#f4f7f9; }
.backoffice td small { color:#586879; font-size:13px; margin-top:4px; }
.backoffice .order-reference { font-family:"Segoe UI","Microsoft YaHei UI",sans-serif; font-size:13px; max-width:220px; overflow-wrap:anywhere; word-break:normal; white-space:normal; }
.backoffice .status-pill { display:inline-block; background:#e7edf2; color:#45627d; padding:4px 8px; border-radius:5px; font-size:13px; white-space:normal; }
.backoffice .status-pill[data-state="available"], .backoffice .status-pill[data-state="delivered"], .backoffice .status-pill[data-state="sold"], .backoffice .status-pill[data-state="processed"] { background:#eaf1ec; color:#426d5b; }
.backoffice .status-pill[data-state="attention"], .backoffice .status-pill[data-state="reserved"] { background:#f4eddf; color:#7e6234; }
.backoffice .status-pill[data-state="closed"], .backoffice .status-pill[data-state="void"], .backoffice .status-pill[data-state="refunded"] { background:#edf0f3; color:#586879; }
.backoffice .table-action { border:1px solid #cbd5de; background:#f0f4f7; border-radius:5px; padding:7px 10px; min-height:44px; font-size:13px; color:#45627d; margin-top:3px; }
.backoffice .table-action:hover { border-color:#97aebe; background:#e7edf2; }
.backoffice .message-preview { max-width:260px; white-space:normal; overflow-wrap:anywhere; }
.backoffice .pagination { margin:15px 0 22px; font-size:14px; gap:10px; flex-wrap:wrap; }
.backoffice .pagination .secondary { min-height:44px; padding:7px 12px; }
.backoffice .admin-card { max-width:none; background:var(--white); padding:24px; border:1px solid #d7dfe5; border-radius:10px; margin-top:22px; min-width:0; }
.backoffice .admin-card h2 { font-size:21px; font-weight:600; line-height:1.5; letter-spacing:-.3px; margin:0 0 10px; }
.backoffice .admin-card > p { font-size:14px; color:#586879; line-height:1.8; margin:0 0 18px; max-width:62em; }
.backoffice .admin-card label { font-size:14px; font-weight:500; color:#4e6070; margin-bottom:19px; min-width:0; }
.backoffice .admin-card textarea { min-height:106px; }
.backoffice .admin-card .table-wrap { margin-top:18px; }
.backoffice #admin-content[data-panel="bsc"] > .admin-card { margin:0 0 20px; border-left:3px solid #8aa1b3; background:#f5f8fa; }
.backoffice #admin-content[data-panel="product"] { display:grid; grid-template-columns:minmax(0,1fr) 305px; column-gap:20px; align-items:start; }
.backoffice #admin-content[data-panel="product"] > .admin-card:first-child { grid-column:2; grid-row:2; margin-top:0; padding:22px; }
.backoffice #admin-content[data-panel="product"] > .admin-card:last-child { grid-column:1; grid-row:2; margin-top:0; }
.backoffice #admin-content[data-panel="product"] > .filter-row { grid-column:1/-1; grid-row:1; }
.backoffice #product-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 18px; }
.backoffice #product-form > label:has(textarea), .backoffice #product-form > .checkline, .backoffice #product-form > button { grid-column:1/-1; }
.backoffice #product-form > button { justify-self:start; }
.backoffice .checkline { display:flex; gap:9px; font-size:14px; color:#4e6070; min-height:44px; }
.backoffice .checkline input { accent-color:#45627d; width:18px; height:18px; margin:3px 0 0; flex-shrink:0; }
.backoffice .checkline > span { float:none; font-size:14px; }
.backoffice .console-boundary { border-top:1px solid #d7dfe5; margin-top:26px; padding:18px 0 0; color:#586879; font-size:13px; }
.backoffice .console-boundary summary { cursor:pointer; min-height:44px; padding:10px 0; }
.backoffice .console-boundary p { max-width:840px; line-height:1.9; margin:12px 0 0; color:#586879; }
.backoffice .console-footer { max-width:1500px; padding:18px 30px 24px; margin:0 auto; display:flex; justify-content:space-between; gap:18px; }
.backoffice .console-footer span { font-size:13px; color:#586879; }
.backoffice .login-panel { width:min(1040px,100%); display:grid; grid-template-columns:1.1fr 1fr; margin:45px auto 55px; border:1px solid #d7dfe5; background:var(--white); border-radius:16px; overflow:hidden; }
.backoffice .login-intro { padding:48px 40px; background:#e7edf2; color:#293744; }
.backoffice .login-symbol { display:grid; place-items:center; width:52px; height:54px; border:1px solid #afc0ce; border-radius:12px 12px 12px 3px; font-size:31px; color:#45627d; margin-bottom:30px; }
.backoffice .login-kicker { font-size:14px; color:#586879; margin:0 0 14px; }
.backoffice .login-intro h1 { font-size:32px; line-height:1.55; font-weight:500; letter-spacing:-.8px; margin:0 0 16px; }
.backoffice .login-intro > p:last-of-type { color:#586879; font-size:14px; line-height:1.9; }
.backoffice .login-intro ul { list-style:none; padding:20px 0 0; margin:24px 0 34px; border-top:1px solid #c6d2dc; font-size:13px; color:#4e6070; }
.backoffice .login-intro li { margin:12px 0; }
.backoffice .login-intro li::before { content:"✓"; color:#45627d; margin-right:10px; }
.backoffice .login-intro > small { color:#586879; font-size:13px; line-height:1.9; display:block; }
.backoffice .login-form-card { padding:46px 42px 38px; min-width:0; }
.backoffice .login-lock { display:grid; place-items:center; color:#45627d; background:#e7edf2; border-radius:8px; width:35px; height:35px; font-size:21px; margin-bottom:18px; }
.backoffice .login-form-card h2 { font-size:28px; letter-spacing:-.5px; font-weight:650; margin:0 0 10px; }
.backoffice .login-form-card > p { font-size:14px; color:#586879; }
.backoffice .login-form-card form { margin:28px 0 23px; }
.backoffice .login-form-card label { font-size:14px; color:#4e6070; font-weight:500; margin-bottom:20px; }
.backoffice .login-form-card input { min-height:46px; background:#f8fafb; }
.backoffice #admin-code { letter-spacing:4px; }
.backoffice #admin-code::placeholder { letter-spacing:0; }
.backoffice .login-form-card .primary { min-height:48px; font-size:15px; }
.backoffice .login-note { border-top:1px solid #d7dfe5; padding-top:17px; }
.backoffice .login-note strong { font-size:13px; color:#586879; font-weight:500; }
.backoffice .login-note p { font-size:13px; line-height:1.9; color:#586879; margin:6px 0 0; }
.backoffice .form-feedback { font-size:13px; line-height:1.8; }
.backoffice .form-feedback:empty { display:none; }
.backoffice dialog { border:1px solid #d7dfe5; border-radius:13px; padding:26px; width:min(640px,calc(100vw - 28px)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; background:var(--white); color:var(--ink); overflow-wrap:anywhere; }
.backoffice dialog::backdrop { background:#29374466; backdrop-filter:blur(4px); }
.backoffice .dialog-header { position:sticky; top:0; z-index:1; background:var(--white); border-bottom:1px solid var(--line); padding-bottom:12px; gap:16px; }
.backoffice .dialog-caption { color:#586879; font-size:14px; }
.backoffice .icon-button { background:#edf1f4; min-width:44px; width:44px; height:44px; border-radius:8px; flex-shrink:0; }
.backoffice dialog h2 { font-size:22px; font-weight:600; }
.backoffice .ticket-message { border-color:#b7c8d4; background:#f5f8fa; padding:12px 14px; }
.backoffice .ticket-message small { font-size:13px; color:#586879; }
.backoffice .ticket-message p { font-size:15px; line-height:1.9; }
.backoffice .toast { background:#354f68; padding:13px 20px; border-radius:8px; font-size:14px; bottom:24px; line-height:1.7; max-width:calc(100vw - 32px); overflow-wrap:anywhere; }
@media(max-width:1200px) {
 .backoffice .console-main { padding:22px; }
 .backoffice #dashboard { grid-template-columns:204px minmax(0,1fr); gap:22px; }
 .backoffice .console-sidebar { padding:22px 9px 18px; }
 .backoffice .admin-tabs .nav { padding:11px 10px; gap:9px; font-size:14px; }
 .backoffice #admin-content[data-panel="product"] { grid-template-columns:minmax(0,1fr); }
 .backoffice #admin-content[data-panel="product"] > .admin-card:last-child { grid-column:1; grid-row:2; }
 .backoffice #admin-content[data-panel="product"] > .admin-card:first-child { grid-column:1; grid-row:3; margin-top:20px; }
 .backoffice .stat { padding:17px; }
 .backoffice .stat > strong { font-size:24px; }
}
@media(max-width:900px) {
 .backoffice .console-header { padding:0 22px; height:74px; gap:20px; }
 .backoffice .console-main { padding:20px; }
 .backoffice #dashboard { grid-template-columns:minmax(0,1fr); gap:20px; }
 .backoffice .console-sidebar { position:static; min-height:0; padding:8px; border-radius:9px; }
 .backoffice .sidebar-label, .backoffice .sidebar-bottom { display:none; }
 .backoffice .admin-tabs { flex-direction:row; flex-wrap:wrap; gap:4px; }
 .backoffice .admin-tabs .nav { flex:1 0 28%; padding:10px 12px; justify-content:center; min-height:46px; }
 .backoffice .admin-tabs .nav > span:first-child { display:none; }
 .backoffice .admin-tabs .nav-count { margin-left:0; }
 .backoffice .workspace-heading { margin-bottom:20px; }
 .backoffice .stats-grid { gap:10px; }
 .backoffice .login-panel { margin:25px auto 30px; }
 .backoffice .login-intro { padding:40px 28px; }
 .backoffice .login-form-card { padding:40px 28px; }
 .backoffice .login-intro h1 { font-size:28px; }
}
@media(max-width:600px) {
 .backoffice .console-header { padding:14px 16px; height:auto; min-height:74px; gap:12px; flex-wrap:wrap; }
 .backoffice .brand { font-size:19px; gap:8px; }
 .backoffice .console-mark { width:35px; height:37px; font-size:22px; border-radius:9px 9px 9px 3px; }
 .backoffice .brand small { font-size:13px; margin-top:4px; }
 .backoffice .console-environment { font-size:13px; gap:6px; flex-wrap:wrap; }
 .backoffice .console-environment > span { display:none; }
 .backoffice .console-environment strong { margin:0; font-size:13px; padding:4px 6px; }
 .backoffice #logout { font-size:13px; padding-left:10px; margin:0; }
 .backoffice .console-main { padding:16px 12px; min-height:calc(100vh - 154px); }
 .backoffice .admin-tabs { gap:4px; }
 .backoffice .admin-tabs .nav { font-size:13px; padding:9px 10px; min-height:44px; flex:1 0 28%; }
 .backoffice .admin-tabs .nav-count { font-size:13px; min-width:22px; height:22px; }
 .backoffice .workspace-heading { gap:12px; align-items:flex-start; flex-wrap:wrap; }
 .backoffice .workspace-kicker { font-size:13px; }
 .backoffice .workspace-heading h1 { font-size:28px; }
 .backoffice .workspace-heading > div > p:last-child { font-size:14px; line-height:1.8; }
 .backoffice .workspace-heading > button { font-size:14px; min-height:44px; padding:10px 14px; margin-top:0; }
 .backoffice .stats-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; margin-bottom:18px; }
 .backoffice .stat { padding:15px; }
 .backoffice .stat > span { font-size:13px; }
 .backoffice .stat > strong { font-size:25px; margin-top:6px; }
 .backoffice .notice { padding:14px; }
 .backoffice .notice p { font-size:13px; }
 .backoffice .filter-row { gap:8px; }
 .backoffice .filter-row input, .backoffice .filter-row select { min-width:min(150px,100%); flex-basis:150px; font-size:16px; }
 .backoffice th, .backoffice td { padding:12px; }
 .backoffice .table-action { min-height:44px; }
 .backoffice .admin-card { padding:18px; margin-top:18px; }
 .backoffice .admin-card h2 { font-size:20px; }
 .backoffice #admin-content[data-panel="product"] > .admin-card:first-child { padding:18px; }
 .backoffice #product-form { grid-template-columns:minmax(0,1fr); }
 .backoffice #product-form > label, .backoffice #product-form > label:has(textarea), .backoffice #product-form > button { grid-column:1; }
 .backoffice .pagination { gap:6px; font-size:13px; flex-wrap:wrap; }
 .backoffice .pagination .secondary { font-size:13px; padding:8px 10px; }
 .backoffice .console-footer { padding:14px 16px 20px; gap:8px; flex-wrap:wrap; }
 .backoffice .console-footer span { font-size:13px; }
 .backoffice .login-panel { grid-template-columns:minmax(0,1fr); margin:10px auto 20px; border-radius:12px; max-width:460px; }
 .backoffice .login-intro { padding:24px; }
 .backoffice .login-symbol, .backoffice .login-intro ul, .backoffice .login-intro > small { display:none; }
 .backoffice .login-kicker { margin-bottom:10px; font-size:13px; }
 .backoffice .login-intro h1 { font-size:28px; line-height:1.5; margin-bottom:10px; }
 .backoffice .login-intro h1 br { display:none; }
 .backoffice .login-intro > p:last-of-type { font-size:13px; margin-bottom:0; }
 .backoffice .login-form-card { padding:26px 24px; }
 .backoffice .login-lock { display:none; }
 .backoffice .login-form-card h2 { font-size:26px; }
 .backoffice .login-form-card form { margin-top:22px; }
 .backoffice .toast { bottom:20px; }
 .backoffice dialog { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .backoffice *, .backoffice *::before, .backoffice *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* Financial records use a quiet ledger, with original-currency amounts aligned. */
.backoffice .finance-shell { min-width:0; font-size:15px; }
.backoffice .finance-shell [hidden] { display:none!important; }
.backoffice .finance-boundary { border-left:3px solid #8aa1b3; padding:15px 18px; margin-bottom:20px; background:#e9eef2; border-radius:0 8px 8px 0; }
.backoffice .finance-boundary > div { display:flex; gap:14px; align-items:baseline; flex-wrap:wrap; }
.backoffice .finance-boundary strong { font-size:15px; font-weight:600; color:#354f68; }
.backoffice .finance-boundary span, .backoffice .finance-boundary p { font-size:13px; color:#4e6070; }
.backoffice .finance-boundary p { margin:5px 0 0; line-height:1.85; max-width:75em; }
.backoffice .finance-tabs { display:flex; flex-wrap:wrap; gap:4px 12px; border-bottom:1px solid #cbd5de; padding:0; margin:0 0 22px; }
.backoffice .finance-tabs button { min-height:48px; padding:11px 8px; border:0; border-bottom:3px solid transparent; background:transparent; border-radius:0; color:#586879; font-size:15px; }
.backoffice .finance-tabs button:hover { background:#e7edf2; color:#354f68; }
.backoffice .finance-tabs button.active { border-color:#45627d; color:#354f68; font-weight:600; }
.backoffice .finance-filters { display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap; margin-bottom:15px; }
.backoffice .finance-filters label { display:block; flex:1 1 155px; margin:0; color:#4e6070; font-size:13px; min-width:0; }
.backoffice .finance-filters .finance-search { flex:2 1 240px; }
.backoffice .finance-filter-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding-bottom:1px; }
.backoffice .finance-filter-actions button { white-space:nowrap; }
.backoffice .finance-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; margin:0 0 20px; }
.backoffice .finance-toolbar > p { flex:1 1 280px; font-size:13px; color:#586879; margin:0; max-width:65em; }
.backoffice .finance-toolbar > div { display:flex; flex-wrap:wrap; gap:9px; }
.backoffice .finance-rules { border-top:1px solid #d7dfe5; border-bottom:1px solid #d7dfe5; margin:0 0 24px; color:#586879; font-size:13px; }
.backoffice .finance-rules summary { min-height:44px; cursor:pointer; padding:11px 4px; }
.backoffice .finance-rules ul { padding:0 15px 14px 25px; margin:0; }
.backoffice .finance-rules li { margin:8px 0; line-height:1.85; }
.backoffice .finance-section-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.backoffice .finance-section-heading h2 { font-size:23px; line-height:1.5; margin:0 0 6px; font-weight:600; }
.backoffice .finance-section-heading p { font-size:14px; color:#586879; max-width:65em; margin:0; }
.backoffice .finance-section-heading > small { font-size:13px; color:#586879; padding-top:7px; }
.backoffice .finance-statusline { display:flex; flex-direction:column; gap:4px; border-top:1px solid #ccd6df; padding:18px 0; }
.backoffice .finance-statusline strong { font-size:20px; color:#7e6234; font-weight:600; }
.backoffice .finance-statusline span { color:#586879; font-size:13px; }
.backoffice .finance-counts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid #d7dfe5; border-bottom:1px solid #d7dfe5; margin:0 0 22px; padding:15px 0; }
.backoffice .finance-counts > div { padding:3px 16px; border-right:1px solid #d7dfe5; min-width:0; }
.backoffice .finance-counts > div:first-child { padding-left:0; }
.backoffice .finance-counts > div:last-child { border-right:0; }
.backoffice .finance-counts span { display:block; font-size:13px; color:#586879; }
.backoffice .finance-counts strong { display:block; font-size:26px; line-height:1.5; font-weight:600; color:#354f68; font-variant-numeric:tabular-nums; margin-top:7px; }
.backoffice .finance-amount { display:block; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.backoffice .finance-muted, .backoffice .finance-footnote { color:#586879; font-size:13px; }
.backoffice .finance-footnote { margin:18px 0 0; line-height:1.85; }
.backoffice .finance-table-wrap table { white-space:normal; min-width:660px; }
.backoffice .finance-table-wrap th { white-space:nowrap; }
.backoffice .finance-table-wrap td { max-width:300px; min-width:92px; }
.backoffice .finance-table-wrap td small { display:block; }
.backoffice .finance-reference { display:block; font-size:13px; overflow-wrap:anywhere; max-width:230px; }
.backoffice .finance-cell-note { min-width:170px!important; max-width:310px; line-height:1.85; }
.backoffice .finance-pill { display:inline-block; padding:4px 7px; color:#45627d; background:#e7edf2; font-size:13px; border-radius:4px; }
.backoffice .finance-pill-review { background:#f4eddf; color:#7e6234; }
.backoffice .finance-empty { padding:28px 20px; color:#586879; font-size:14px; }
.backoffice .finance-guide { border-top:1px solid #d7dfe5; padding:17px 0 0; margin-top:22px; }
.backoffice .finance-guide strong { font-size:14px; font-weight:600; }
.backoffice .finance-guide p { font-size:13px; color:#586879; line-height:1.9; max-width:75em; margin:7px 0 0; }
.backoffice .finance-detail-row > td { padding:20px; background:#f2f6f8; max-width:none; }
.backoffice .finance-order-detail dl { display:grid; grid-template-columns:1fr 1fr; gap:16px 25px; margin:0 0 20px; }
.backoffice .finance-order-detail dt { font-size:13px; color:#586879; margin:0 0 5px; }
.backoffice .finance-order-detail dd { font-size:14px; margin:0; }
.backoffice .finance-order-detail h3 { font-size:16px; font-weight:600; margin:0 0 12px; }
.backoffice .finance-order-detail > p { font-size:13px; color:#586879; }
.backoffice .finance-pending, .backoffice .finance-error { background:#f7f2e8; border:1px solid #e2d7bf; border-radius:7px; padding:16px; color:#76613d; margin:0 0 20px; font-size:14px; }
.backoffice .finance-pending p, .backoffice .finance-error p { font-size:13px; margin:7px 0 12px; line-height:1.9; }
.backoffice .finance-pending button { margin-right:8px; }
.backoffice .finance-loading { padding:20px 0; color:#586879; font-size:15px; }
.backoffice #finance-dialog { width:min(720px,calc(100vw - 28px)); }
.backoffice #finance-dialog > h2 { margin-bottom:8px; }
.backoffice .finance-modal-note { font-size:14px; color:#586879; line-height:1.85; margin:0 0 22px; }
.backoffice .finance-entry-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 18px; }
.backoffice .finance-entry-form label { display:block; font-size:14px; color:#4e6070; margin:0; min-width:0; }
.backoffice .finance-entry-form label > small { display:block; color:#586879; font-size:13px; margin-top:6px; line-height:1.85; }
.backoffice .finance-entry-form textarea { min-height:100px; resize:vertical; }
.backoffice .finance-entry-form .finance-full { grid-column:1/-1; }
.backoffice .finance-entry-form .checkline { display:flex; font-size:13px; gap:10px; line-height:1.8; }
.backoffice .finance-entry-form .checkline span { font-size:13px; }
.backoffice .finance-preview { padding:12px 14px; background:#edf1f4; color:#354f68; border-radius:6px; font-size:14px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.backoffice .finance-form-actions { display:flex; justify-content:flex-end; gap:10px; }
.backoffice .finance-form-error { font-size:14px; color:#a04448; margin:0; line-height:1.85; }
.backoffice .finance-form-error:empty { display:none; }
.backoffice .finance-reversal-summary { border:1px solid #cbd5de; background:#f2f6f8; padding:14px; border-radius:7px; margin-bottom:22px; }
.backoffice .finance-reversal-summary span, .backoffice .finance-reversal-summary p { font-size:13px; color:#586879; margin:4px 0 0; }
.backoffice .finance-reversal-summary strong { font-size:14px; font-weight:600; margin:5px 0; max-width:none; }
@media(max-width:1200px) {
 .backoffice .finance-counts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 0; }
 .backoffice .finance-counts > div:nth-child(3) { border-right:0; }
 .backoffice .finance-counts > div:nth-child(4) { padding-left:0; }
}
@media(max-width:600px) {
 .backoffice .finance-boundary { padding:13px 14px; }
 .backoffice .finance-tabs { gap:2px; }
 .backoffice .finance-tabs button { flex:1 0 30%; font-size:14px; padding:10px 5px; }
 .backoffice .finance-filters { gap:12px; }
 .backoffice .finance-filters label { flex:1 1 135px; }
 .backoffice .finance-filters .finance-search { flex-basis:100%; }
 .backoffice .finance-filter-actions { width:100%; }
 .backoffice .finance-toolbar > div { width:100%; }
 .backoffice .finance-toolbar > div button { flex:1; }
 .backoffice .finance-section-heading h2 { font-size:21px; }
 .backoffice .finance-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .backoffice .finance-counts > div:nth-child(odd) { padding-left:0; border-right:1px solid #d7dfe5; }
 .backoffice .finance-counts > div:nth-child(even), .backoffice .finance-counts > div:last-child { border-right:0; }
 .backoffice .finance-counts strong { font-size:25px; }
 .backoffice .finance-order-detail dl, .backoffice .finance-entry-form { grid-template-columns:minmax(0,1fr); }
 .backoffice .finance-detail-row > td { padding:15px; }
 .backoffice .finance-form-actions { justify-content:stretch; }
 .backoffice .finance-form-actions button { flex:1; }
}

.manual-redemption-dialog{width:min(640px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid var(--line,#cdd6e0);border-radius:16px;padding:24px;background:#f8fafc;color:#233447}.manual-redemption-dialog::backdrop{background:#17293880}.manual-redemption-dialog form{display:grid;gap:12px}.manual-redemption-dialog textarea{box-sizing:border-box;width:100%;resize:vertical;font:13px/1.5 monospace}.manual-redemption-dialog fieldset{min-width:0;border:1px solid #cdd6e0;border-radius:10px;padding:12px}.manual-redemption-dialog label{display:grid;gap:6px}.manual-redemption-dialog [hidden]{display:none}

.backoffice .recovery-admin-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:24px;border:1px solid #c9d2df;border-radius:16px;background:#fbfcfe;color:#25354a;box-shadow:0 20px 60px #1c2c4933}
.recovery-admin-dialog::backdrop{background:#172b4a55}
.recovery-admin-form{display:grid;gap:16px}.recovery-admin-form h2,.recovery-admin-form p{margin:0}.recovery-admin-form p{font-size:14px;line-height:1.65;color:#536277}.recovery-admin-form label{display:grid;gap:8px;font-size:14px}.recovery-admin-form input{width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #bdcad9;border-radius:8px;background:#fff;color:#24344a;font:inherit}.recovery-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.recovery-dialog-heading h2{font-size:20px}.recovery-admin-form [data-result]{display:grid;gap:14px}.recovery-admin-form [hidden]{display:none!important}.recovery-history{margin-top:20px}.recovery-history summary{cursor:pointer;padding:12px 0}
.recovery-dialog-heading>[data-close]{flex:0 0 64px;white-space:nowrap;min-width:64px;height:44px;padding:8px 12px;align-self:flex-start}.recovery-dialog-heading h2{min-width:0;overflow-wrap:anywhere}
