:root{color-scheme:dark;--bg:#101316;--panel:#191e23;--border:#303941;--text:#ecf3f8;--muted:#93a6b5;--accent:#04b7d7;--input:#11171b;--danger:#ff9292}.light{color-scheme:light;--bg:#f5f7fa;--panel:#fff;--border:#dce2e8;--text:#18303c;--muted:#617380;--accent:#007d9c;--input:#f8fafc;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 system-ui,"Microsoft YaHei",sans-serif}.credits-shell{max-width:1180px;margin:0 auto;padding:36px 24px 80px}header,.section-heading,.dialog-actions,.form-row,.pager{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{margin:0;font-size:28px}h2{font-size:18px}.eyebrow{color:var(--accent);margin:0}.muted,small{color:var(--muted)}button,.button,select,input,textarea{font:inherit;color:inherit;border:1px solid var(--border);border-radius:9px;background:var(--input);padding:9px 13px}button,.button{cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}.balances article{padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:16px}.balances span,.balances small{display:block}.balances strong{display:block;font-size:32px;margin:8px 0;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:12px;border-bottom:1px solid var(--border);padding-bottom:16px}.tabs .active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:var(--accent)}.section-heading{margin-top:20px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:500}td small{display:block;overflow-wrap:anywhere}.pager{justify-content:center;margin-top:20px}.record-list{display:grid;gap:12px;margin-top:20px}.record{border:1px solid var(--border);background:var(--panel);padding:20px;border-radius:12px}.record h3{margin:0 0 8px}.record p{margin:6px 0;overflow-wrap:anywhere}.record .status{display:inline-block;color:var(--accent);font-size:12px}.notice{padding:14px 16px;border:1px solid var(--border);border-radius:10px;margin-top:20px}.notice.error{color:var(--danger)}details{background:var(--panel);border:1px solid var(--border);padding:18px;border-radius:12px;margin:16px 0}summary{cursor:pointer;color:var(--accent)}label{display:grid;gap:7px;margin:16px 0;flex:1}form{max-width:760px}input,select,textarea{width:100%}fieldset{border:0;padding:0;margin:0;min-width:0}.form-row{align-items:center}dialog{color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:16px;width:min(560px,calc(100vw - 32px));padding:28px}dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}[hidden]{display:none!important}.empty{color:var(--muted);padding:26px;text-align:center}.number{font-variant-numeric:tabular-nums}.danger{color:var(--danger)}@media(max-width:650px){.credits-shell{padding:24px 16px}.balances{gap:8px}.balances article{padding:14px 10px}.balances strong{font-size:24px}.tabs{gap:6px;flex-wrap:wrap}.tabs button{padding:8px}.form-row{display:block}.section-heading{flex-wrap:wrap}.dialog-actions{gap:8px}header{align-items:flex-start}}
.credits-management .credits-shell{max-width:none;padding:24px 24px 50px}.credits-management .balances,.credits-management .tabs,.credits-management #creditLedgerPanel,.credits-management #creditHoldsPanel,.credits-management header>a,.credits-management .eyebrow{display:none!important}.credits-management header{margin-bottom:12px}.credits-management #creditReconciliation{display:none!important}.credits-management .section-heading{flex-wrap:wrap}.credits-management .section-heading select{width:auto}.credits-management .record-list{margin-top:20px}

/* 申请表按控件本身对齐，标签不参与按钮和金额预览的居中计算。 */
.credits-management #creditCreateForm{max-width:860px;margin-top:20px}
.credits-management #creditCreateFields{display:grid;gap:20px}
.credits-management #creditCreateFields label{margin:0;min-width:0;gap:8px}
.credits-management #creditCreateFields .form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}
.credits-management #creditCreateFields input,.credits-management #creditCreateFields select,.credits-management button{min-height:44px}
.credits-management #creditAmountPreview{display:flex;align-items:center;min-height:44px;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.credits-management #creditCreateFields textarea{min-height:110px;resize:vertical}
.credits-management #creditRequestsPanel>.section-heading{gap:12px;align-items:center;margin-top:24px;margin-bottom:16px}
.credits-management #creditRequestHeading{margin:0;margin-right:auto}
.credits-management #creditRequestsPanel>.section-heading select{min-height:44px}
.credits-management #creditCreateSection{padding:20px 24px}
.credits-management #creditCreateForm>.muted{margin:20px 0 16px}
@media(max-width:650px){
 .credits-management .credits-shell{padding:20px 16px 32px}
 .credits-management #creditCreateSection{padding:16px}
 .credits-management #creditCreateFields .form-row{gap:10px}
 .credits-management #creditCreateFields .credit-amount-row{grid-template-columns:1fr}
 .credits-management #creditAmountPreview{min-height:24px;white-space:normal}
}

/* Personal ledger: expand the old 1132px content area by 30%; only the detail column grows. */
.credits-account .credits-shell{max-width:calc(1132px * 1.3 + 48px)}
.credits-account .credit-ledger-table{table-layout:fixed;min-width:1000px}
.credits-account .credit-ledger-event{width:220px}
.credits-account .credit-ledger-amount{width:130px}
.credits-account .credit-ledger-details{width:auto}
.credits-account .credit-ledger-table td{overflow-wrap:anywhere}
.record .credit-request-heading{overflow-wrap:anywhere}
.record .credit-request-heading .status{font-size:inherit;font-weight:inherit}
.record .credit-request-amount{margin:8px 0;font-size:16px}

/* Let task and settlement fields share a row and wrap only when the column is full. */
.credits-account .credit-ledger-task-details{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 16px;min-width:0}
.credits-account .credit-ledger-task-details>div{min-width:0;max-width:100%}
.credits-account .credit-ledger-task-details small{margin:0;white-space:normal;overflow-wrap:anywhere}
