:root{--ink: #16181d;--text: #23262b;--muted: #6b7280;--accent: #0aa06e;--accent-deep: #078a5d;--accent-ink: #00614d;--accent-soft: #e6f7f0;--warning: #cf6e2d;--mint: linear-gradient(160deg, #f0faf5 0%, #ffffff 60%);--panel: #f6f8f7;--border: #e7ece9;--danger: #d9503f;--radius: 16px;--shadow-card: 0 1px 3px rgba(22, 40, 33, .05);--shadow-pop: 0 8px 30px rgba(22, 40, 33, .1);--gap-block: 18px;--gap-grid: 16px;--pad-card: 22px;--pad-panel: 20px}html{height:100%}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text);background:#f4f7f5;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}code{background:#f3f6f4;border:1px solid var(--border);border-radius:6px;padding:1px 7px;font-size:12.5px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d4ddd7;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#bcc9c1}::-webkit-scrollbar-track{background:transparent}.muted{color:var(--muted)}.small{font-size:12.5px}.fb-content-btn{display:block;width:100%;border:none;background:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-content-btn:hover{color:var(--accent-deep)}.nav-fold:focus-visible,.logo-fold-btn:focus-visible,.nav-user:focus-visible,.fb-content-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.admin-shell.nav-collapsed{grid-template-columns:64px minmax(0,1fr)}.admin-shell.nav-collapsed .admin-nav{padding-inline:10px}.admin-shell.nav-collapsed .nav-brand{justify-content:center;padding-inline:0;padding-top:4px}.admin-shell.nav-collapsed .brand-text,.admin-shell.nav-collapsed .nav-group-title,.admin-shell.nav-collapsed .nav-item .label,.admin-shell.nav-collapsed .nav-user-meta{display:none}.admin-shell.nav-collapsed .nav-item,.admin-shell.nav-collapsed .nav-user{justify-content:center;padding-inline:0}.admin-nav{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);padding:20px 14px 16px;overflow-y:auto}.nav-brand{display:flex;align-items:center;gap:10px;padding:2px 10px 20px}.logo-mark{width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(135deg,var(--accent),#16c784);box-shadow:0 4px 12px #0aa06e59;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:17px;font-weight:800}.brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.brand-name{font-size:16.5px;font-weight:800;letter-spacing:-.3px;color:var(--ink);white-space:nowrap}.brand-sub{font-size:12px;color:var(--muted)}.nav-fold{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;cursor:pointer;color:#8a958f;font-size:14px;transition:background .15s ease,color .15s ease}.nav-fold:hover{background:#f2f7f4;color:var(--accent-deep)}.logo-fold-btn{border:none;cursor:pointer;padding:0}.logo-fold-btn .logo-hover-ico{display:none;color:#fff;font-size:16px}.logo-fold-btn:hover{box-shadow:0 4px 12px #0aa06e73}.logo-fold-btn:hover .logo-letter{display:none}.logo-fold-btn:hover .logo-hover-ico{display:inline-flex}.nav-group-title{font-size:12px;font-weight:700;letter-spacing:.6px;color:#5f6b66;padding:16px 12px 6px;-webkit-user-select:none;user-select:none}.admin-nav .nav-item{display:flex;width:100%;align-items:center;gap:10px;padding:9px 12px;border:none;border-radius:10px;background:transparent;text-align:left;font-size:14px;font-weight:500;font-family:inherit;color:#4a524d;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-nav .nav-item .anticon{font-size:15px;color:#8a958f;transition:color .15s ease;flex:none}.admin-nav .nav-item:hover{background:#f2f7f4;color:var(--ink)}.admin-nav .nav-item:hover .anticon{color:var(--accent-deep)}.admin-nav .nav-item.on{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}.admin-nav .nav-item.on .anticon{color:var(--accent-deep)}.nav-scroll{flex:1}.nav-footer{margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}.nav-user{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;padding:8px 10px;border-radius:10px;transition:background .15s ease}.nav-user:hover{background:#f2f7f4}.nav-user .ant-avatar{flex:none;background:var(--accent-soft);color:var(--accent-deep);font-weight:700}.nav-user-meta{display:flex;flex-direction:column;line-height:1.3;min-width:0}.nav-user-name{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-user-sub{font-size:12px;color:var(--muted)}.admin-body{min-width:0;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:none;height:56px;display:flex;align-items:center;gap:12px;padding:0 32px;background:#fff;border-bottom:1px solid var(--border)}.topbar-title{font-size:20px;font-weight:800;color:var(--ink);margin:0;line-height:1.2;white-space:nowrap}.admin-main{flex:1;overflow-y:auto;padding:24px 32px 56px;min-width:0}.panel,.stat-card,.prov-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.panel .ant-table-wrapper .ant-table{border-radius:0}.panel .ant-table-wrapper .ant-pagination{margin:16px 20px}.panel .ant-table-thead>tr>th{font-size:13px;letter-spacing:.2px}.panel .ant-table-tbody>tr>td{font-variant-numeric:tabular-nums}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px var(--pad-panel);border-bottom:1px solid var(--border)}.toolbar-filters,.toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-search{width:240px;max-width:100%}.filter-select{min-width:130px;max-width:100%}.panel-note{display:flex;align-items:center;gap:6px;padding:10px var(--pad-panel);border-top:1px solid var(--border);background:#fafcfb;border-radius:0 0 var(--radius) var(--radius);color:var(--muted);font-size:12.5px}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:var(--gap-block) 0 0;margin-top:var(--gap-block);border-top:1px solid var(--border)}.page-alert{margin-top:var(--gap-block)}.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(720px 420px at 12% -8%,rgba(10,160,110,.12),transparent 60%),radial-gradient(640px 400px at 108% 112%,rgba(22,199,132,.1),transparent 55%),var(--mint);padding:24px}.admin-login-card{width:404px;max-width:calc(100vw - 40px);background:#fff;border:1px solid var(--border);border-radius:20px;padding:40px 36px 28px;box-shadow:0 18px 50px #1628211f}.admin-login-card .logo{display:flex;justify-content:center}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-grid)}.stat-card{padding:20px var(--pad-card);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.stat-card:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px);border-color:#d9e7e0}.stat-ico{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px}.stat-ico.green{background:var(--accent-soft);color:var(--accent-deep)}.stat-ico.blue{background:#e8f1fd;color:#2563eb}.stat-ico.amber{background:#fff4e0;color:#b26a00}.stat-card .v{font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1.2;font-variant-numeric:tabular-nums}.pill-badge{display:inline-flex;align-items:center;padding:1px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.7;white-space:nowrap}.badge-green{background:var(--accent-soft);color:var(--accent-ink)}.badge-gray{background:#eef1ef;color:#5f6b66}.badge-p1{background:#fff4e0;color:#8a5200}.badge-blue{background:#e8f1fd;color:#1d4ed8}.tag-danger{background:#fdeeed;color:#b03a2c}.prov-card{padding:0;margin-bottom:var(--gap-block)}.prov-head{display:flex;align-items:center;flex-wrap:wrap;row-gap:6px;gap:10px;padding:15px var(--pad-card);border-bottom:1px solid var(--border);font-size:15px}.prov-head b{font-weight:700}.card-ico{width:30px;height:30px;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent-deep);display:inline-flex;align-items:center;justify-content:center;font-size:15px}.prov-body{padding:18px var(--pad-card) 4px}.prov-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:0 var(--pad-card) 18px}.prov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-grid)}.prov-grid.cols-2{grid-template-columns:1fr 1fr}.prov-f label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.prov-f .ant-input,.prov-f .ant-select{width:100%}.prov-key-ro input{background:#f4f6f4!important;color:var(--muted)!important;font-family:monospace;font-size:12.5px}.pool-list{list-style:none;margin:0;padding:8px 0}.pool-item{display:flex;align-items:center;gap:12px;padding:10px var(--pad-panel);border-bottom:1px solid #f1f4f2}.pool-item:last-child{border-bottom:none}.pool-idx{flex:none;width:22px;height:22px;border-radius:7px;background:var(--accent-soft);color:var(--accent-deep);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.pool-value{font-size:12.5px}.nav-scrim{display:none}@media(max-width:1200px){.stat-grid,.prov-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.admin-shell{grid-template-columns:64px minmax(0,1fr)}.admin-shell:not(.nav-collapsed){grid-template-columns:minmax(0,1fr)}.admin-shell:not(.nav-collapsed) .admin-nav{position:fixed;inset:0 auto 0 0;z-index:40;width:220px;box-shadow:var(--shadow-pop)}.admin-shell:not(.nav-collapsed) .nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;border:none;padding:0;background:#16181d47;cursor:pointer}.admin-main{padding:22px 18px 44px}.topbar{padding:0 18px}.stat-grid,.prov-grid,.prov-grid.cols-2{grid-template-columns:1fr}.panel-toolbar{padding:12px 16px}.panel .ant-table-wrapper .ant-pagination{margin:14px 16px}.prov-head,.prov-body,.prov-foot{padding-inline:16px}}
