:root{font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#1a2b20;background:linear-gradient(180deg,#eff8f2,#f6fbf8 46%,#edf4fb);color-scheme:light;--page-text: #1a2b20;--muted-text: #708375;--soft-text: #90a398;--border: rgba(136, 162, 145, .18);--border-strong: rgba(116, 152, 130, .24);--panel-bg: rgba(255, 255, 255, .72);--panel-bg-strong: rgba(255, 255, 255, .9);--panel-shadow: 0 24px 60px rgba(68, 101, 81, .12);--green-1: #49b87d;--green-2: #1d9f69;--green-soft: #e6f6ec;--blue-soft: #eef5ff;--mint-soft: #edf9f2;--warm-soft: #fbf8f0;--danger-soft: #fff0ee;--danger-text: #d46056}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;color:var(--page-text);background:linear-gradient(180deg,#eff8f2,#f6fbf8 46%,#edf4fb)}button,input,select,textarea{font:inherit}a{color:inherit}.page{position:relative;min-height:100vh;padding:24px;overflow:hidden}.page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 14% 14%,rgba(122,212,157,.22),transparent 0 24%),radial-gradient(circle at 82% 10%,rgba(184,229,204,.18),transparent 0 22%),radial-gradient(circle at 76% 90%,rgba(200,220,255,.2),transparent 0 24%)}.page--login{display:grid;place-items:center}.bg-orb{display:none}.glass-panel{position:relative;background:var(--panel-bg);border:1px solid var(--border);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);box-shadow:var(--panel-shadow)}.glass-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(145deg,rgba(255,255,255,.5),rgba(255,255,255,.12) 38%,transparent 72%);pointer-events:none}.login-shell{width:min(540px,100%);border-radius:34px;padding:30px;display:grid;gap:16px;z-index:1;background:linear-gradient(180deg,#fffffff0,#f9fdfadb)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--green-2);font-size:11px;font-weight:800}.login-shell h1,.content-header h1,.sidebar__brand h1,.section-card__header h2{margin:0;color:var(--page-text);font-weight:800;letter-spacing:-.02em}.login-shell p,.content-header p,.sidebar__brand p,.section-card__header p,.metric-card__hint,.field span,.status-card span,.stack-item span,.filter-info span,.tip-item,.empty-state{color:var(--muted-text)}.login-shell h1{font-size:38px;line-height:1.06}.login-shell p{margin:6px 0 0;line-height:1.7}.admin-shell{position:relative;z-index:1;display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.sidebar{border-radius:34px;padding:22px;min-height:calc(100vh - 48px);display:grid;grid-template-rows:auto 1fr auto;gap:18px;background:linear-gradient(180deg,#ffffffeb,#f5fbf7d1);position:sticky;top:24px}.sidebar__brand{padding:4px 2px 2px;display:flex;align-items:center;justify-content:center}.sidebar__logo{display:block;width:148px;max-width:100%;height:auto;filter:drop-shadow(0 10px 24px rgba(73,136,101,.14))}.sidebar__nav{display:grid;gap:10px}.nav-button{border:1px solid rgba(167,188,176,.22);border-radius:22px;background:#ffffffad;color:var(--page-text);padding:15px 16px;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;box-shadow:inset 0 1px #ffffff80}.nav-button strong,.status-card strong,.stack-item strong{display:block}.nav-button strong{font-size:15px}.nav-button span{display:block;margin-top:6px;color:var(--soft-text);font-size:12px;line-height:1.5}.nav-button:hover{transform:translateY(-1px);border-color:#49b87d4d;box-shadow:0 14px 28px #41765814}.nav-button--active{background:linear-gradient(135deg,#e8f8edfa,#f3faf6f2);border-color:#49b87d52;box-shadow:0 18px 34px #49b87d1f,inset 0 1px #fff9}.nav-button--active strong{color:#145739}.nav-button--active span{color:#5d7668}.sidebar__footer{display:grid;gap:12px}.status-card{display:grid;gap:6px;border-radius:24px;padding:16px;background:linear-gradient(180deg,#f6fcf8fa,#eff8f2e0);border:1px solid rgba(167,188,176,.18)}.status-card strong{color:var(--page-text)}.status-card .toolbar-row{margin-bottom:0;align-items:center}.sidebar__logout{width:100%}.content-area{display:grid;gap:16px}.content-header{border-radius:32px;padding:24px 26px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:linear-gradient(180deg,#ffffffeb,#f5faf7d1)}.content-header h1{font-size:34px}.content-header p{margin:8px 0 0;line-height:1.7;max-width:64ch}.content-header__actions{display:flex;gap:10px;flex-wrap:wrap}.filter-shell{border-radius:26px;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:linear-gradient(180deg,#ffffffe6,#f7fbf8d1)}.filter-info{display:grid;align-content:center;gap:8px;padding:10px 4px}.filter-info strong{color:var(--page-text);font-size:14px}.workspace-area{display:grid;gap:16px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{border-radius:28px;padding:20px;background:#ffffffd1}.metric-card:nth-child(1){background:linear-gradient(180deg,#f0faf4,#fff)}.metric-card:nth-child(2){background:linear-gradient(180deg,#eef7ff,#fff)}.metric-card:nth-child(3){background:linear-gradient(180deg,#fff8ef,#fff)}.metric-card:nth-child(4){background:linear-gradient(180deg,#f8f1ff,#fff)}.metric-card__label{color:var(--muted-text);font-size:13px;font-weight:700}.metric-card__value{margin-top:14px;font-size:34px;line-height:1;color:var(--page-text);font-weight:800}.metric-card__hint{margin-top:10px;font-size:13px;line-height:1.6}.panel-grid{display:grid;gap:16px}.panel-grid--charts{grid-template-columns:1.55fr .95fr}.panel-grid--lists,.panel-grid--create{grid-template-columns:1fr 1fr}.section-card{border-radius:28px;padding:20px;background:linear-gradient(180deg,#ffffffeb,#f7fbf8d6)}.section-card__header{margin-bottom:16px}.section-card__header h2{font-size:22px}.section-card__header p{margin:8px 0 0;line-height:1.7}.chart{height:320px}.chart--pie{height:300px}.stack-list{display:grid;gap:12px}.stack-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 16px;border-radius:20px;background:#fbfdfceb;border:1px solid rgba(175,193,182,.18);box-shadow:0 10px 20px #4a66560d}.stack-item--account,.stack-item--visit{align-items:flex-start}.transfer-request{align-items:stretch}.transfer-request__body{display:grid;gap:10px;flex:1}.transfer-request__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.transfer-request__route{color:var(--page-text);font-weight:700}.stack-item__meta{display:grid;gap:4px}.account-main{display:flex;gap:14px;align-items:center}.account-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.avatar{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#4dbc7d33,#d2f4e0cc);color:#176846;font-weight:800}.toolbar-row{display:flex;gap:12px;align-items:end;margin-bottom:16px;flex-wrap:wrap}.field{display:grid;gap:8px}.field--grow{flex:1;min-width:240px}.field--full{grid-column:1 / -1}.field span{font-size:13px;font-weight:700}.field input,.field select,.field textarea{width:100%;border-radius:18px;border:1px solid rgba(179,196,186,.24);background:#ffffffeb;color:var(--page-text);padding:13px 14px;outline:none;box-shadow:inset 0 1px #ffffff7a}.field input::placeholder,.field textarea::placeholder{color:#a1b3a8}.review-textarea{min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#49b87d73;box-shadow:0 0 0 4px #49b87d1f,inset 0 1px #ffffff80}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.tips-list{display:grid;gap:10px}.tip-item,.empty-state{padding:14px 16px;border-radius:18px;background:#fbfdfce6;border:1px solid rgba(175,193,182,.18)}.pill{border-radius:999px;padding:8px 12px;background:#e9f7ef;color:#23724b;font-size:12px;font-weight:700;white-space:nowrap}.pill--muted{background:#eef3f0;color:#65786c}.pill--warning{background:#fff5df;color:#9f7a18}.pill--danger{background:var(--danger-soft);color:var(--danger-text)}.feedback{border-radius:20px;padding:14px 16px;background:linear-gradient(180deg,#f7fcf9f5,#f2f8f4e0);color:var(--page-text)}.feedback--error{background:linear-gradient(180deg,#fff6f4f5,#fff0eeeb);color:var(--danger-text)}.primary-btn,.ghost-btn,.danger-btn{border:0;border-radius:18px;padding:12px 16px;cursor:pointer;transition:transform .14s ease,opacity .14s ease,box-shadow .14s ease,background .14s ease}.primary-btn{background:linear-gradient(135deg,var(--green-1),var(--green-2));color:#fff;font-weight:800;box-shadow:0 16px 28px #22a06933}.ghost-btn{background:#ffffffeb;color:#2a5f43;border:1px solid rgba(165,187,175,.24)}.ghost-btn--loading{position:relative;color:transparent;min-width:124px}.ghost-btn--loading:before{content:"";position:absolute;left:18px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:999px;border:2px solid rgba(42,95,67,.22);border-top-color:#2a5f43;animation:admin-spin .8s linear infinite}.ghost-btn--loading:after{content:"刷新中...";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#2a5f43;font-weight:700}.danger-btn{background:var(--danger-soft);color:var(--danger-text);border:1px solid rgba(227,143,133,.18)}.primary-btn:hover,.ghost-btn:hover,.danger-btn:hover,.nav-button:hover{transform:translateY(-1px)}.primary-btn:disabled,.ghost-btn:disabled,.danger-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.loading-hint{position:fixed;right:20px;bottom:20px;border-radius:999px;padding:12px 16px;background:#fffffff0;border:1px solid rgba(164,186,175,.24);color:var(--page-text);box-shadow:0 18px 40px #3e5f4d1f}@keyframes admin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1220px){.admin-shell{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.sidebar__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid,.panel-grid--charts,.panel-grid--lists,.panel-grid--create,.filter-shell{grid-template-columns:1fr}}@media(max-width:760px){.page{padding:14px}.content-header,.section-card,.metric-card,.filter-shell,.sidebar,.login-shell{padding:16px}.content-header,.stack-item,.stack-item--account,.stack-item--visit,.toolbar-row{flex-direction:column;align-items:flex-start}.account-actions,.content-header__actions{width:100%;justify-content:flex-start}.sidebar__nav,.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.loading-hint{left:14px;right:14px}}
