/* Tone-separated console. Functional controls and critical alerts remain visible. */
:root {
  --canvas:#eef0f3; --ink:#303946; --muted:#647082; --primary:#3d628c;
  --nav-bg:#e7ebf0; --nav-ink:#505e70; --sidebar:208px;
  --module-tint:#f3f5f7; --line:transparent;
}
/* Remove decorative outlines throughout the legacy modules, not native controls. */
body :where(aside,header,nav,main,section,div,details,summary,p,form,fieldset,legend,dl,dt,dd,table,thead,tbody,tr,td,th,pre,code,a,span,strong,small,button,input,select,textarea,dialog) { border-color:transparent!important; }
.card,.portfolio { border:0; border-radius:8px; background:#fff; box-shadow:none; }
.sidebar { border:0; background:var(--nav-bg); }
.brand { background:#e0e5eb; color:#344255; padding-left:20px; }
.brand-mark { color:#526c89; }
.nav-group>summary { color:#68788c; font-size:12px; padding-top:18px; }
.nav-group>summary:hover { color:#354b65; background:#dfe5ec; }
.nav-item { width:calc(100% - 20px); margin:2px 10px; border:0; padding:10px 12px; border-radius:6px; color:#526075; }
.nav-item:hover:not(:disabled) { background:#dce3ec; color:#324b69; }
.nav-item[aria-current=page],.nav-item[aria-current=page]:hover:not(:disabled) { background:#d2deec; color:#294867; font-weight:600; }
.nav-icon,.nav-item[aria-current=page] .nav-icon,.nav-count,.nav-item[aria-current=page] .nav-count { color:inherit; }
.topbar { background:#fff; border:0; }
.workspace-history { background:#e7ebf0; padding-top:4px; }
.workspace-tab { border:0; margin-right:4px; border-radius:5px 5px 0 0; background:#dfe5ed; }
.workspace-tab:has([aria-current=page]) { background:var(--canvas); }
.workspace-tab button[aria-current=page] { color:#304b6b; font-weight:600; }
.workspace-shelf-toggle { background:#e2e7ee; }
main { padding:20px 24px 28px; }
button { border:0; border-radius:5px; min-height:34px; }
button.secondary { border:0; background:#e9edf2; color:#4c5c70; }
button.secondary:hover:not(:disabled) { background:#dce4ee; color:#304e72; }
button:hover:not(:disabled) { background:#345576; }
.text-button,.text-button:hover:not(:disabled) { background:transparent; }
input,select,textarea { border:0; border-radius:5px; background:#eef1f5; min-height:36px; }
input:hover,select:hover,textarea:hover { background:#e8edf3; }
input:focus,select:focus,textarea:focus { background:#e6edf5; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible { outline:2px solid #66768a; outline-offset:3px; }
input[type=checkbox] { min-height:0; }
.module-heading,.directory-heading,.snapshot-heading { background:#edf1f5; border:0; padding-left:20px; border-radius:8px 8px 0 0; }
[data-family=finance],[data-family=members] { --module-tint:#edf3f0; }
[data-family=system] { --module-tint:#f0eef4; }
[data-family=risk] { --module-tint:#f5f1e9; }
.module-heading { background:var(--module-tint); }
.module-tabs { background:#f0f3f6; border:0; padding:4px; border-radius:6px; gap:4px; }
.module-tabs button { border:0; border-radius:4px; color:#5f6d80; }
.module-tabs button[aria-selected=true] { background:#dce5f0; color:#304c70; }
.module-block,.module-sections>section { border:0; border-radius:6px; background:#f5f7f9; }
.directory-filters,.snapshot-toolbar,.snapshot-query,.management-query-view>form.bar { background:#f6f7f9; border:0; }
.table-wrap { border:0; border-radius:6px; }
th { background:#e9edf2; color:#4e5d71; font-weight:500; }
td,th { border:0; padding-top:12px; padding-bottom:12px; }
tbody tr { background:#fff; }
tbody tr:nth-child(even) { background:#f5f7fa; }
tbody tr:hover { background:#eaf0f7; }
tbody tr.warning { background:#fbf7ee; }
.state-pill,.badge,.subtle-pill { border:0; border-radius:4px; }
.overview-summary { border:0; background:transparent; }
.overview-metrics { gap:12px; background:transparent; }
button.metric-card { border:0; border-radius:8px; background:#fff; padding:20px; min-height:94px; flex-direction:column; align-items:flex-start; justify-content:center; gap:10px; }
button.metric-card:nth-child(2) { background:#e6eee9; }
button.metric-card:nth-child(3) { background:#e2eaf3; }
button.metric-card:nth-child(4) { background:#f0e9db; }
button.metric-card:hover:not(:disabled) { background:#dae4ee; }
.metric-card strong { font-weight:600; letter-spacing:-.5px; }
.attention { border:0; border-radius:6px; overflow:hidden; margin-top:12px; }
.attention>summary { background:#f5eddd; padding:10px 16px; }
.warning-indicator { background:#e9d4b2; border:0; color:#6c501f; }
.attention[data-warning=false]>summary { background:#e5ece7; }
.snapshot-table th,.snapshot-table th:last-child { background:#e9edf2; }
.snapshot-table td,.snapshot-table th { padding-top:13px; padding-bottom:13px; }
.snapshot-table tr:nth-child(even) td:last-child { background:#f5f7fa; }
.snapshot-table tr:hover td:last-child { background:#eaf0f7; }
.legend-row { border:0; padding:7px 10px; margin:6px 0; border-radius:4px; }
.legend-row[aria-pressed=true] { background:#dfe7f1; color:#365476; }
.status-legend { gap:4px; }
.snapshot-footer,.directory-foot { border:0; background:#f6f7f9; padding:12px 16px; }
.snapshot-caption { display:none; } /* Full status definition remains under 统计口径. */
.page-help { margin:10px 0 16px; color:#657386; font-size:12px; }
.page-help>summary { cursor:pointer; width:fit-content; padding:4px 0; }
.page-help>p { background:#f2f5f8; border-radius:6px; padding:12px 16px; margin:8px 0 0; line-height:1.8; max-width:1000px; }
.notice { border:0; border-radius:6px; background:#f6f0e3; color:#74603d; }
.notice:empty { display:none; }
.deployment-notice { border:0; background:transparent; color:var(--muted); margin-top:16px; }
.deployment-notice>summary { background:transparent; padding:5px 0; justify-content:flex-start; font-size:12px; }
.deployment-notice>p { background:#e5eaf0; padding:12px 16px; border-radius:6px; }
.site-menu,dialog,.workspace-shelf { border:0; border-radius:10px; box-shadow:0 12px 48px #22344b24; }
.site-menu-head,.workspace-shelf-heading { background:#e9eef4; border:0; }
.site-menu-balances { background:#f0f3f7; border:0; }
.site-menu-tabs { gap:4px; padding:4px; border:0; border-radius:6px; background:#f0f3f6; }
.site-menu-tabs button { padding:9px 14px; border:0; border-radius:4px; }
.site-menu-tabs button[aria-selected=true] { background:#dce5f0; color:#304c70; }
.site-menu-group { background:#f5f7f9; border:0; border-radius:6px; }
.site-menu-action { border:0; display:block; padding:4px 10px; }
.site-menu-action small { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.site-menu-group button { background:transparent; width:100%; text-align:left; }
.site-menu-group button:hover:not(:disabled) { background:#e5ecf4; }
.management-row-actions { box-shadow:none; }
.work-spinner { border:0; background:conic-gradient(from 0deg,transparent,#526c89); mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0); }
.management-table-scroll:focus-visible,.credit-records:focus-visible { outline:2px solid #66768a; outline-offset:3px; }
.actions { border:0; }
dialog::backdrop { background:#23324640; backdrop-filter:blur(2px); }
#loginPanel { margin-top:7vh; padding:32px; box-shadow:0 12px 40px #2332460a; }
#loginPanel h2 { font-size:21px; }
#loginForm>button { width:100%; margin-top:12px; }
/* The authentication surface is independent of the signed-in application shell. */
.auth-layout #workspaceSidebar,.auth-layout #workspaceTopbar,.auth-layout #workspaceHistory,.auth-layout #deploymentHelp { display:none!important; }
.auth-layout main { margin-left:0; min-height:100vh; min-height:100dvh; padding:24px 16px; scroll-margin-top:0; }
.auth-layout .narrow { width:100%; margin:clamp(24px,8vh,88px) auto 24px; padding:32px; }
.auth-layout #loginPanel { margin-top:clamp(24px,8vh,88px); }
.auth-layout #message { max-width:430px; margin-left:auto; margin-right:auto; }
.auth-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.auth-heading h2 { margin:0; }
.auth-heading button { flex-shrink:0; }
.mfa-qr { display:flex; justify-content:center; margin:20px 0; }
.mfa-qr:empty { display:none; }
.mfa-qr svg { display:block; width:240px; max-width:100%; height:auto; background:#fff; }
.mfa-manual { padding:12px 16px; border-radius:6px; background:#f0f3f7; }
.mfa-manual summary { cursor:pointer; color:#4c5c70; }
.mfa-manual code { display:block; overflow-wrap:anywhere; user-select:all; font-size:15px; letter-spacing:1px; }
@media(max-width:800px) { main { padding:14px; } .metric-card { padding:16px; } .brand { padding-left:14px; } }
@media(max-width:760px) { :root { --sidebar:0px; } button.metric-card { min-height:84px; padding:16px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; } }
/* Operational surfaces: one task per view, calm tonal hierarchy, no decorative frames. */
.module-heading { background:#fff; margin-bottom:12px; min-height:64px; }
.module-heading h2 { font-size:18px; font-weight:600; letter-spacing:.1px; }
.module-heading>div { align-items:center; }
.module-surface .page-help { margin:0 0 14px; }
.module-tabs { width:fit-content; max-width:100%; margin:14px 0 20px; padding:5px; background:#eef1f5; overflow-x:auto; flex-wrap:nowrap; }
.module-tabs button { flex-shrink:0; padding:9px 20px; min-height:36px; font-weight:500; }
.module-tabs button[aria-selected=true] { background:#fff; color:#315277; box-shadow:0 2px 6px #23324609; }
.module-surface [role=tabpanel]>h3,.section-heading h3 { font-size:14px; margin:0; }
.module-surface [role=tabpanel]>.bar { margin:16px 0; }
.module-surface [role=tabpanel]>form.bar,.filter-toolbar { display:flex; justify-content:flex-start; align-items:flex-end; flex-wrap:wrap; gap:12px; padding:16px; margin:0 0 18px; border:0; border-radius:7px; background:#f5f7fa; }
.filter-toolbar label { margin:0; min-width:150px; font-size:12px; color:#667487; }
.filter-toolbar .filter-search { min-width:230px; }
.filter-toolbar input,.filter-toolbar select { margin:6px 0 0; background:#e9edf3; min-height:38px; }
.filter-toolbar button { min-height:38px; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 16px; }
.section-heading .muted { font-size:12px; }
.compact-status { color:#758195; font-size:12px; margin:0 0 12px; }
.catalog-stats .metric-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:0; margin:0 0 14px; background:transparent; }
.catalog-stats .metric-facts>div { border:0; border-radius:6px; padding:13px 18px; background:#f1f4f8; }
.catalog-stats .metric-facts>div:nth-child(2) { background:#e9eff6; }
.catalog-stats .metric-facts>div:nth-child(3) { background:#edf2f0; }
.catalog-stats .metric-facts dt { color:#718094; font-size:12px; font-weight:400; }
.catalog-stats .metric-facts dd { font-size:22px; font-weight:600; color:#34485f; margin:6px 0 0; font-variant-numeric:tabular-nums; }
.detail-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding:18px 20px; margin:0 0 18px; border-radius:7px; background:#f1f4f8; }
.detail-heading h3 { margin:8px 0 0; font-size:19px; font-weight:600; }
.detail-heading p { margin:7px 0 0; font-size:12px; }
.detail-heading label { margin:0; width:230px; font-size:12px; color:var(--muted); }
.detail-heading select { margin-top:6px; background:#e2e8f0; }
.back-link { padding:0!important; min-height:24px; font-size:12px; }
.row-actions { white-space:nowrap; }
.row-actions button.text-button { margin:0 10px 0 0; padding:4px 6px; }
#catalogPanel .table-wrap { max-height:min(640px,57vh); overflow:auto; scrollbar-gutter:stable; }
#catalogPanel th { position:sticky; top:0; z-index:1; }
#catalogPanel td:first-child { min-width:190px; font-weight:500; }
#catalogPanel td:nth-last-child(2) { font-variant-numeric:tabular-nums; }
#catalogPanel td small { max-width:360px; overflow-wrap:anywhere; }
#catalogAuditContent td:last-child { white-space:pre-wrap; overflow-wrap:anywhere; max-width:480px; }
#catalogJobs td:last-child { font-family:ui-monospace,monospace; font-size:12px; overflow-wrap:anywhere; }
#catalogGamesPanel { margin:0; padding:0; }
.table-pager { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; margin:0; padding:15px 16px; background:#f6f8fa; border-radius:0 0 7px 7px; font-size:12px; color:#68788b; }
.table-pager>div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.page-jump { display:flex; align-items:center; gap:7px; margin-left:10px; }
.page-jump label { display:flex; align-items:center; gap:7px; margin:0; font-size:12px; }
.page-jump input { width:64px; margin:0; }
.detail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 24px; }
.detail-facts>div { background:#f5f7fa; padding:15px 18px; border-radius:6px; min-width:0; }
.detail-facts dt { color:#7a8697; font-size:12px; margin-bottom:7px; }
.detail-facts dd { margin:0; line-height:1.7; overflow-wrap:anywhere; white-space:pre-wrap; font-size:13px; }
#paymentRequestReview { max-width:780px; padding:20px; border-radius:7px; background:#f3f6f9; }
.pending-resume { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; background:#f6efdf; padding:14px 18px; margin-bottom:16px; border-radius:6px; }
#royalSyncView { max-width:780px; padding:20px; background:#f5f7fa; border-radius:7px; }
#royalSyncView>p { line-height:1.7; font-size:12px; }
#royalSyncView .bar { justify-content:flex-start; }
#royalSyncView .bar label { flex:1; min-width:210px; }
@media(max-width:760px) {
  .module-heading { min-height:56px; }
  .module-heading h2 { font-size:16px; }
  .module-tabs { width:100%; margin-bottom:14px; }
  .module-tabs button { padding:8px 14px; }
  .catalog-stats .metric-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-stats .metric-facts>div { padding:12px 14px; }
  .catalog-stats .metric-facts dd { font-size:20px; }
  .filter-toolbar label,.filter-toolbar .filter-search { min-width:0; flex:1 1 140px; }
  .filter-toolbar .filter-search { flex-basis:100%; }
  .detail-heading { padding:14px; }
  .detail-heading label { width:100%; }
  .detail-facts { grid-template-columns:1fr; }
  .table-pager { padding:12px; }
  .page-jump { margin-left:0; }
  #catalogPanel .table-wrap { max-height:60vh; }
}
#catalogPanel[data-mode="games"] > .page-help,
#catalogPanel[data-mode="games"] > #catalogStats,
#catalogPanel[data-mode="games"] > #catalogStatus { display: none; }
#catalogPanel td:first-child { min-width:92px; width:100px; }
#catalogPanel td:nth-child(2) { min-width:170px; }
#catalogPanel .catalog-cover-wrap small { margin:5px 0 0; font-size:11px; text-align:center; }
.catalog-cover-wrap { width:76px; }
.catalog-cover { position:relative; width:76px; height:76px; padding:0; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#e9edf3; color:#718094; border-radius:7px; }
.catalog-cover:hover:not(:disabled) { background:#dde5ef; }
.catalog-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.catalog-cover span { padding:8px; font-size:11px; text-align:center; }
.catalog-cover.image-failed { background:#f3ede8; }
#catalogPanel .catalog-game-actions { min-width:190px; white-space:nowrap; }
.catalog-game-actions button { background:transparent; color:#42617f; padding:3px 6px; font-size:12px; }
.catalog-game-actions button:hover:not(:disabled) { background:#e7edf5; }
#catalogGameFilter { gap:10px; padding:12px; }
#catalogGameFilter label { min-width:120px; flex:1; }
#catalogGameFilter .filter-search { min-width:220px; flex:2; }
#catalogImageDialog { width:min(800px,94vw); }
#catalogImageContent { text-align:center; padding-top:16px; }
#catalogImageContent img { max-width:100%; max-height:68vh; object-fit:contain; border-radius:7px; background:#edf0f5; }
#catalogDetailsDialog { width:min(880px,94vw); }
#catalogDetailsContent>.catalog-cover-wrap { margin:16px auto; width:140px; }
#catalogDetailsContent>.catalog-cover-wrap .catalog-cover { width:140px; height:140px; }
#catalogEditPreview { float:right; margin:14px 0 12px 18px; }
#catalogEditPreview .catalog-cover-wrap,#catalogEditPreview .catalog-cover { width:100px; }
#catalogEditPreview .catalog-cover { height:100px; }
