:root{--bg-page: #070d18;--bg-panel: #0f1728;--bg-panel-soft: #141e32;--bg-input: #10192b;--text-primary: #e8edf5;--text-muted: #7a8ba8;--accent-gold: #c9a227;--accent-blue: #5eb3ff;--accent-green: #3dd68c;--accent-red: #ff6b6b;--border: rgba(201, 162, 39, .28);--shadow: 0 18px 40px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at top,#12203a 0%,var(--bg-page) 45%);color:var(--text-primary)}a{color:var(--accent-blue)}button,input,textarea{font:inherit}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin-sidebar{background:linear-gradient(180deg,#0d1526,#0a101d);border-right:1px solid rgba(94,179,255,.08);padding:24px 16px}.admin-brand{margin-bottom:28px}.admin-brand__title{font-size:1.15rem;color:var(--accent-blue);font-weight:700}.admin-brand__sub{margin-top:6px;color:var(--text-muted);font-size:.82rem}.admin-nav{display:flex;flex-direction:column;gap:10px}.admin-nav__item{display:block;padding:12px 14px;border-radius:12px;color:var(--text-muted);text-decoration:none;border:1px solid transparent;transition:.2s ease}.admin-nav__item:hover{color:var(--text-primary);background:#ffffff08}.admin-nav__item.is-active{color:var(--accent-gold);border-color:var(--border);background:#c9a22714;box-shadow:inset 0 0 0 1px #c9a2271f}.admin-nav__dash{opacity:.9;margin-right:4px}.admin-sidebar__logout{width:100%;margin-top:28px;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text-muted);cursor:pointer}.admin-sidebar{display:flex;flex-direction:column;min-height:100vh}.admin-main{padding:24px 28px 40px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.admin-topbar__title{margin:0;font-size:1.45rem}.admin-topbar__sub{margin:6px 0 0;color:var(--text-muted);font-size:.92rem}.admin-topbar__actions{display:flex;align-items:center;gap:12px}.admin-card{background:var(--bg-panel);border:1px solid rgba(94,179,255,.08);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.admin-card+.admin-card{margin-top:16px}.admin-card__title{margin:0 0 16px;color:var(--accent-blue);font-size:1.05rem;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.admin-card--accent-left{border-left:3px solid var(--accent-blue)}.admin-card--announcement{margin-top:16px;border-left:3px solid var(--accent-blue)}.admin-card__title--gold{color:#e6c35c}.checkbox-row{display:flex;align-items:center;gap:8px;margin:8px 0 16px;color:var(--text-muted)}.btn--publish{background:linear-gradient(90deg,#2563eb,#5eb3ff);color:#fff;border:none;border-radius:10px;padding:11px 20px;cursor:pointer}.page-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.page-section-head__title{margin:0;color:var(--accent-blue);font-size:1.08rem}.page-section-head__meta{color:var(--text-muted);font-size:.86rem}.btn--query{background:linear-gradient(90deg,#2563eb,#5eb3ff);color:#fff}.admin-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.stat-card{background:var(--bg-panel-soft);border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:18px}.stat-card__label{color:var(--text-muted);font-size:.88rem}.stat-card__value{margin-top:10px;font-size:1.8rem;color:var(--accent-gold);font-weight:700}.stat-card__hint{margin-top:8px;color:var(--text-muted);font-size:.75rem;line-height:1.4}.stat-card--gold .stat-card__value{color:var(--accent-gold)}.stat-card--red .stat-card__value{color:var(--accent-red)}.btn{border:none;border-radius:999px;padding:10px 18px;cursor:pointer}.btn--primary{background:linear-gradient(90deg,#2f7dff,#5eb3ff);color:#fff}.btn--secondary{background:#ffffff0f;color:var(--text-primary)}.btn--ghost{background:transparent;color:var(--text-muted);border:1px solid rgba(255,255,255,.08)}.btn--danger{background:#ff6b6b1f;color:var(--accent-red);border:1px solid rgba(255,107,107,.25)}.field{display:block;margin-bottom:14px}.field__label{display:block;margin-bottom:6px;color:var(--text-muted);font-size:.9rem}.field__input,.field__textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:var(--bg-input);color:var(--text-primary)}.field__textarea{min-height:88px;resize:vertical}.field__hint{margin-top:4px;color:var(--text-muted);font-size:.8rem}.msg{margin-top:12px;font-size:.92rem}.msg--error{color:var(--accent-red)}.msg--ok{color:var(--accent-green)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%)}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:middle}.admin-table th{color:var(--text-muted);font-size:.86rem;font-weight:600}.admin-table tbody tr:hover{background:#ffffff05}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.82rem}.badge--gold{color:var(--accent-gold);background:#c9a2271f;border:1px solid rgba(201,162,39,.25)}.badge--red{color:var(--accent-red);background:#ff6b6b1f;border:1px solid rgba(255,107,107,.25)}.badge--green{color:var(--accent-green);background:#3dd68c1f;border:1px solid rgba(61,214,140,.25)}.badge--muted{color:var(--text-muted);background:#ffffff0a}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.toolbar__search{flex:1;min-width:240px}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:40}.drawer{position:fixed;top:0;right:0;width:min(460px,100vw);height:100vh;background:#0b1322;border-left:1px solid rgba(94,179,255,.12);z-index:50;overflow:auto;padding:22px;box-shadow:-12px 0 40px #00000059}.drawer__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.drawer__title{margin:0;color:var(--accent-blue);font-size:1.15rem}.drawer__meta{margin-top:8px;color:var(--text-muted);font-size:.88rem;line-height:1.6}.info-grid{display:grid;gap:10px}.info-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}.info-row__label{color:var(--text-muted);flex:0 0 88px}.info-row__value{flex:1;text-align:right;word-break:break-all}.tabs{display:flex;gap:10px;margin:18px 0 12px}.tabs__item{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:transparent;color:var(--text-muted);cursor:pointer}.tabs__item.is-active{color:var(--accent-gold);border-color:var(--border);background:#c9a22714}.amount-positive{color:var(--accent-green)}.amount-negative{color:var(--accent-red)}.drawer-view-tabs{display:flex;gap:10px;margin:12px 0 16px}.admin-table__actions{display:flex;flex-wrap:wrap;gap:8px}.btn--sm{padding:6px 12px;font-size:.82rem}.credit-log-section{margin-top:18px}.credit-log-section__desc,.credit-log-range-hint{margin:0 0 12px}.credit-log-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.credit-log-filters{margin-top:10px;flex-wrap:wrap}.credit-log-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 16px}.credit-log-summary__item{padding:12px 14px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.credit-log-summary__label{color:var(--text-muted);font-size:.78rem}.credit-log-summary__value{margin-top:6px;font-size:1.15rem;font-weight:700}.credit-log-empty{padding:18px 12px;text-align:center}.credit-type{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;background:#ffffff0f}.credit-type--recharge{color:var(--accent-green);background:#3dd68c1f}.credit-type--consume{color:var(--accent-red);background:#ff6b6b1f}.credit-type--refund{color:var(--accent-blue);background:#5eb3ff1f}.credit-type--adjust{color:var(--accent-gold);background:#c9a2271f}.engine-list{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}@media(max-width:960px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid rgba(94,179,255,.08)}.admin-grid-3,.admin-grid-5{grid-template-columns:1fr}.credit-log-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
