.admin-body { margin: 0; color: #202733; background: #f6f8fa; font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; }
.admin-app { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 100vh; }
.admin-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; border-right: 1px solid #e7eaee; padding: 20px 14px; background: #fff; box-sizing: border-box; }
.admin-brand { display: flex; align-items: center; margin: 0 6px 28px; color: #1c2431; text-decoration: none; }
.admin-brand-logo { display: block; width: 174px; height: auto; }
.admin-brand-mark { display: none; width: 40px; height: 37px; object-fit: contain; }
.admin-nav { display: grid; gap: 5px; }.admin-nav button { display: flex; min-height: 40px; align-items: center; gap: 10px; border: 0; border-radius: 10px; padding: 9px 11px; color: #687281; background: transparent; font-size: 12px; text-align: left; }.admin-nav button:hover { background: #f4f6f8; }.admin-nav button.selected { color: #286cc8; background: #eaf3ff; font-weight: 740; }.admin-nav .ti { font-size: 17px; }
.admin-sidebar-foot { margin-top: auto; }.admin-sidebar-foot a { display: flex; align-items: center; gap: 7px; border-top: 1px solid #eceef1; padding: 17px 8px 0; color: #727c89; font-size: 11px; text-decoration: none; }
.admin-workspace { min-width: 0; padding: 27px 34px 48px; }
.admin-topbar { display: flex; align-items: center; justify-content: space-between; gap: 30px; max-width: 1440px; margin: 0 auto 25px; }.admin-topbar h1 { margin: 4px 0 5px; color: #18202c; font-size: 24px; letter-spacing: -.035em; }.admin-topbar p { margin: 0; color: #8d96a2; font-size: 12px; }
.admin-user { display: flex; align-items: center; gap: 9px; border: 1px solid #e1e5ea; border-radius: 12px; padding: 6px 7px; background: #fff; }.admin-user > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; color: #fff; background: #3478dc; font-size: 12px; font-weight: 800; }.admin-user div { display: grid; min-width: 76px; gap: 2px; }.admin-user strong { font-size: 11px; }.admin-user small { color: #9099a5; font-size: 9px; }.admin-user button { display: grid; width: 29px; height: 29px; place-items: center; border: 0; border-radius: 8px; color: #808994; background: #f5f6f8; }
.admin-gate { display: grid; max-width: 430px; place-items: center; gap: 8px; margin: 16vh auto; border: 1px solid #e4e8ed; border-radius: 16px; padding: 35px; background: #fff; text-align: center; }.admin-gate .ti { color: #3478dc; font-size: 28px; }.admin-gate strong { font-size: 15px; }.admin-gate p { margin: 0; color: #9199a4; font-size: 11px; }.admin-gate.error .ti { color: #c24759; }
#admin-content { max-width: 1440px; margin: 0 auto; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }.admin-stat { display: grid; gap: 9px; border: 1px solid #e5e9ed; border-radius: 14px; padding: 17px; background: #fff; box-shadow: 0 2px 8px rgba(26, 34, 45, .025); }.admin-stat span { color: #87909c; font-size: 11px; }.admin-stat strong { color: #1e2734; font-size: 27px; line-height: 1; font-variant-numeric: tabular-nums; }.admin-stat small { color: #a0a7b1; font-size: 10px; }
.admin-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }.admin-card { border: 1px solid #e5e9ed; border-radius: 14px; padding: 17px; background: #fff; box-shadow: 0 2px 8px rgba(26, 34, 45, .025); }.admin-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 14px; }.admin-card h2 { margin: 0; color: #293341; font-size: 14px; }.admin-card header p { margin: 4px 0 0; color: #979faa; font-size: 10px; }.admin-card header button { border: 0; color: #3475ca; background: transparent; font-size: 10px; }
.admin-compact-list { display: grid; gap: 7px; }.admin-compact-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #eff1f4; padding: 10px 0 2px; }.admin-compact-item:first-child { border-top: 0; }.admin-compact-item div { min-width: 0; }.admin-compact-item strong { display: block; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.admin-compact-item small { color: #959da8; font-size: 9px; }.admin-compact-item > span { color: #4e5a69; font-size: 11px; font-weight: 700; white-space: nowrap; }
.admin-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 0 15px; }.admin-section-heading h2 { margin: 0; font-size: 18px; }.admin-section-heading p { margin: 5px 0 0; color: #929aa6; font-size: 11px; }
.admin-search { display: flex; width: 260px; align-items: center; gap: 7px; border: 1px solid #dfe4ea; border-radius: 9px; padding: 0 10px; color: #9099a5; background: #fff; }.admin-search input { width: 100%; border: 0; outline: 0; padding: 9px 0; background: transparent; font-size: 11px; }
.admin-table-wrap { overflow: auto; border: 1px solid #e4e8ed; border-radius: 14px; background: #fff; }.admin-table { width: 100%; border-collapse: collapse; font-size: 11px; }.admin-table th { padding: 11px 13px; color: #88919d; background: #f8f9fb; font-size: 10px; font-weight: 650; text-align: left; white-space: nowrap; }.admin-table td { border-top: 1px solid #edf0f3; padding: 12px 13px; color: #4a5564; vertical-align: middle; }.admin-table td strong { display: block; color: #293340; font-size: 11px; }.admin-table td small { color: #949ca7; font-size: 9px; }.admin-table select { border: 1px solid #dfe4e9; border-radius: 7px; padding: 5px 7px; color: #4e5967; background: #fff; font-size: 10px; }.admin-table button { border: 1px solid #dfe4e9; border-radius: 7px; padding: 5px 7px; color: #49627d; background: #fff; font-size: 10px; }.admin-table button.danger { color: #bf4557; background: #fff7f8; }
.admin-config-notice { margin: 0 0 13px; border: 1px solid #dce5ef; border-radius: 10px; padding: 10px 12px; color: #637184; background: #f7faff; font-size: 11px; }.admin-config-notice.success { border-color: #c4e6d1; color: #27734a; background: #f5fcf8; }
.admin-operation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }.admin-form-card { display: grid; align-content: start; gap: 12px; }.admin-field { display: grid; gap: 6px; color: #596474; font-size: 10px; font-weight: 650; }.admin-field span { display: flex; justify-content: space-between; }.admin-field small { color: #9aa2ad; font-weight: 500; }.admin-primary-button { min-height: 38px; border: 0; border-radius: 10px; color: #fff; background: #1c212c; font-weight: 720; }.admin-primary-button:disabled { opacity: .55; }.admin-form-message { min-height: 16px; margin: 0; color: #bf4557; font-size: 10px; }.admin-form-message.success { color: #167b48; }.admin-code-output { overflow-wrap: anywhere; border: 1px dashed #b9c8d9; border-radius: 10px; padding: 12px; color: #35618f; background: #f6faff; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; line-height: 1.55; user-select: all; }
.admin-audit-list { display: grid; gap: 8px; }.admin-audit-item { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px solid #e4e8ed; border-radius: 12px; padding: 12px; background: #fff; }.admin-audit-item > i { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; color: #3474ca; background: #edf5ff; font-size: 17px; }.admin-audit-item strong { display: block; font-size: 11px; }.admin-audit-item p { margin: 4px 0 0; color: #7f8895; font-size: 10px; line-height: 1.5; }.admin-audit-item time { color: #969eaa; font-size: 9px; white-space: nowrap; }
.admin-empty { padding: 24px; color: #98a0aa; font-size: 11px; text-align: center; }
.admin-detail-dialog { width: min(760px, calc(100vw - 28px)); max-height: min(820px, calc(100vh - 40px)); overflow: auto; border: 0; border-radius: 18px; padding: 0 0 20px; color: #283241; background: #fff; box-shadow: 0 28px 80px rgba(25, 35, 49, .24); }
.admin-detail-dialog::backdrop { background: rgba(25, 32, 43, .42); backdrop-filter: blur(3px); }
.admin-detail-dialog > header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #edf0f3; padding: 17px 20px; background: rgba(255, 255, 255, .96); }
.admin-detail-dialog > header span { color: #8d96a2; font-size: 9px; letter-spacing: .08em; }.admin-detail-dialog > header h2 { margin: 4px 0 0; font-size: 17px; }.admin-detail-dialog > header button { display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 9px; color: #6f7986; background: #f3f5f7; }
.admin-detail-balance { display: flex; align-items: baseline; gap: 7px; margin: 18px 20px; border: 1px solid #dce8f7; border-radius: 13px; padding: 15px 17px; background: #f5f9ff; }.admin-detail-balance span { margin-right: auto; color: #617188; font-size: 11px; }.admin-detail-balance strong { color: #286cc8; font-size: 27px; }.admin-detail-balance small { color: #6f7e91; font-size: 10px; }
.admin-detail-dialog > section { margin: 20px; }.admin-detail-dialog > section h3 { margin: 0 0 9px; font-size: 12px; }
.admin-detail-list { display: grid; border: 1px solid #e6e9ed; border-radius: 12px; overflow: hidden; }.admin-detail-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; border-top: 1px solid #edf0f3; padding: 11px 13px; }.admin-detail-item:first-child { border-top: 0; }.admin-detail-item strong { display: block; font-size: 11px; }.admin-detail-item p { margin: 4px 0 0; color: #7e8895; font-size: 9px; }.admin-detail-item small { color: #99a1ab; font-size: 9px; }.admin-detail-item > b { align-self: center; color: #bd4556; font-size: 12px; }.admin-detail-item > b.positive { color: #208052; }
@media (max-width: 1000px) { .admin-app { grid-template-columns: 66px minmax(0, 1fr); }.admin-sidebar { padding-inline: 9px; }.admin-brand-logo { display: none; }.admin-brand-mark { display: block; }.admin-nav button { font-size: 0; }.admin-brand { margin-inline: auto; }.admin-nav button { justify-content: center; padding: 8px; }.admin-nav .ti { font-size: 18px; }.admin-sidebar-foot a { justify-content: center; font-size: 0; }.admin-sidebar-foot .ti { font-size: 17px; }.admin-operation-grid { grid-template-columns: 1fr; }.admin-stat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .admin-workspace { padding: 18px 13px 35px; }.admin-topbar { align-items: flex-start; }.admin-user div { display: none; }.admin-dashboard-grid, .admin-stat-grid { grid-template-columns: 1fr; }.admin-section-heading { align-items: stretch; flex-direction: column; }.admin-search { width: auto; }.admin-audit-item { grid-template-columns: 38px minmax(0, 1fr); }.admin-audit-item time { grid-column: 2; } }
