:root{font-family:HarmonyOS Sans SC,HarmonyOS Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#f7f7f8;background:#0f1014;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #0f1014;--surface: #17191f;--surface-2: #1c1f26;--surface-3: #22252d;--line: #2b2e36;--text: #f7f7f8;--muted: #9297a3;--orange: #f97316;--orange-strong: #ff6400;--green: #35c589;--blue: #4a8cff;--red: #ef6b73}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{color-scheme:dark}a{color:inherit}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes star-wander{0%{transform:translateZ(0) scale(.82)}52%{transform:translate3d(var(--star-mid-x),var(--star-mid-y),0) scale(1.08)}to{transform:translate3d(var(--star-dx),var(--star-dy),0) scale(.94)}}@keyframes star-pulse{0%,to{opacity:var(--star-base-opacity);filter:brightness(.82)}31%{opacity:.12;filter:brightness(.72)}72%{opacity:var(--star-peak-opacity);filter:brightness(1.35)}}@keyframes planet-tilt{0%,to{transform:perspective(560px) rotateX(-12deg) rotateY(-18deg) rotate(-4deg) translateY(0)}35%{transform:perspective(560px) rotateX(6deg) rotateY(7deg) rotate(1deg) translateY(-4px)}68%{transform:perspective(560px) rotateX(-5deg) rotateY(20deg) rotate(5deg) translateY(2px)}}@keyframes planet-surface-scroll{0%{background-position:0 50%}to{background-position:var(--planet-texture-shift) 50%}}@keyframes planet-meridian-sweep{0%{opacity:0;transform:translate(-56px) scaleX(.25)}20%{opacity:.5}50%{opacity:.72;transform:translate(0) scaleX(1)}80%{opacity:.38}to{opacity:0;transform:translate(56px) scaleX(.25)}}@keyframes orbit-main{0%{transform:rotate(-12deg)}to{transform:rotate(348deg)}}@keyframes orbit-cross{0%{transform:rotate(22deg)}to{transform:rotate(-338deg)}}@keyframes orbit-vertical{0%{transform:rotate(64deg)}to{transform:rotate(424deg)}}@keyframes orbit-node-one{0%,to{transform:translate(174px) scale(.62);opacity:.55}25%{transform:translateY(57px) scale(1);opacity:1}50%{transform:translate(-174px) scale(.76);opacity:.7}75%{transform:translateY(-57px) scale(.46);opacity:.38}}@keyframes orbit-node-earth{0%,to{transform:translate(-138px) scale(.62);opacity:.5}25%{transform:translateY(-76px) scale(.84);opacity:.76}50%{transform:translate(138px) scale(1.12);opacity:1}75%{transform:translateY(76px) scale(.78);opacity:.66}}@keyframes orbit-node-three{0%,to{transform:translate(92px) scale(.76);opacity:.68}25%{transform:translateY(116px) scale(1.08);opacity:1}50%{transform:translate(-92px) scale(.64);opacity:.5}75%{transform:translateY(-116px) scale(.5);opacity:.34}}@media(prefers-reduced-motion:reduce){.star-field i,.orbital-core,.planet-surface,.planet-meridian,.orbital-art:before,.orbital-art:after,.orbital-art i{animation:none}}.orange-button,.outline-button,.logout-button,.text-action,.row-actions button,.expand-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.orange-button{min-height:42px;padding:0 18px;border-radius:7px;color:#fff;background:var(--orange);font-size:14px;font-weight:700;box-shadow:0 8px 22px #f973162b;transition:background .18s ease,transform .18s ease}.orange-button:hover{background:var(--orange-strong);transform:translateY(-1px)}.outline-button{min-height:42px;padding:0 17px;border:1px solid var(--line);border-radius:7px;color:#d7dae0;background:transparent;font-size:14px;font-weight:600}.outline-button:hover{border-color:#565b66;background:#20232a}.outline-button.compact{min-height:34px;padding:0 12px;font-size:12px}.text-action{padding:5px 2px;color:var(--orange);background:transparent;font-size:13px;font-weight:700}.auth-loading{min-height:100vh;display:grid;place-content:center;gap:12px;color:var(--muted);background:var(--bg);text-align:center;font-size:14px}.auth-loading svg{margin:0 auto;color:var(--orange)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(500px,.95fr) minmax(520px,1.05fr);position:relative;overflow:hidden;background:#0b0d11}.auth-page>.auth-top-contact{position:absolute;top:18px;right:clamp(28px,3.4vw,54px);z-index:6}.star-field{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.star-field i{width:var(--star-size);height:var(--star-size);position:absolute;left:var(--star-x);top:var(--star-y);border-radius:50%;background:var(--star-color);box-shadow:0 0 4px var(--star-color),0 0 10px #f9731629;will-change:transform,opacity,filter;animation:star-wander var(--star-move-duration) ease-in-out var(--star-move-delay) infinite alternate,star-pulse var(--star-pulse-duration) ease-in-out var(--star-pulse-delay) infinite}.auth-story{min-height:100vh;padding:42px clamp(40px,4.2vw,72px);position:relative;z-index:1;display:flex;flex-direction:column;overflow:hidden}.auth-brand{display:flex;align-items:center;gap:13px}.auth-brand-mark,.brand-mark{display:grid;place-items:center;color:#fff;background:var(--orange);box-shadow:0 10px 30px #f9731638}.auth-brand-mark{width:44px;height:44px;border-radius:9px}.auth-brand strong{font-size:21px;letter-spacing:-.02em}.orbital-art{width:min(470px,43vw);aspect-ratio:1.25;margin:auto 0 12px;position:relative;left:-10px;align-self:center;display:grid;place-items:center;perspective:700px;transform:translateY(-18px)}.orbital-art:before,.orbital-art:after,.orbital-art i{content:"";position:absolute;border:1px solid rgba(249,115,22,.3);border-radius:50%;transform-origin:50% 50%;will-change:transform,opacity}.orbital-art:before{width:100%;height:38%;box-shadow:0 0 18px #f973160a;animation:orbit-main 18s linear infinite}.orbital-art:after{width:82%;height:62%;border-color:#ff94533d;animation:orbit-cross 24s linear infinite}.orbital-art i:nth-of-type(1){width:60%;height:84%;border-color:#ffb77c33;animation:orbit-vertical 31s linear infinite}.orbital-art i:nth-of-type(2),.orbital-art i:nth-of-type(3),.orbital-art i:nth-of-type(4){left:50%;top:50%;z-index:3;border:0}.orbital-art i:nth-of-type(2){width:14px;height:14px;margin:-7px 0 0 -7px;background:radial-gradient(circle at 32% 27%,#f6c191 0 8%,#b4623a 11% 34%,#603421 59%,#241410);box-shadow:inset -3px -3px 5px #10060294,0 0 13px #e47f466b;animation:orbit-node-one 15s ease-in-out infinite}.orbital-art i:nth-of-type(3){width:18px;height:18px;margin:-9px 0 0 -9px;background:radial-gradient(ellipse at 29% 42%,#5ad89a 0 18%,transparent 20%),radial-gradient(ellipse at 70% 63%,#32ad7d 0 16%,transparent 18%),radial-gradient(circle at 33% 28%,#91ecff 0 5%,#31b8d1 28%,#147da7 65%,#07384d);box-shadow:inset -4px -4px 6px #011a28ad,0 0 9px #39cdd3e0,0 0 24px #2fb4be73;animation:orbit-node-earth 21s ease-in-out infinite reverse}.orbital-art i:nth-of-type(4){width:10px;height:10px;margin:-5px 0 0 -5px;background:radial-gradient(circle at 34% 30%,#d7c3a7 0 9%,#81705e 13% 42%,#453b35 68%,#1e1a19);box-shadow:inset -2px -2px 4px #070504b3,0 0 10px #c4ad8f59;animation:orbit-node-three 18s ease-in-out infinite}.orbital-core{--planet-texture-width: 216px;--planet-texture-shift: -216px;width:144px;height:144px;position:relative;z-index:2;display:block;overflow:hidden;border:1px solid rgba(255,181,127,.22);border-radius:50%;background:#7c250f;box-shadow:inset 16px 12px 26px #ffdebe24,inset -28px -18px 40px #1b0500b8,0 0 30px #f9731647,0 0 90px #f9731630;transform-style:preserve-3d;animation:planet-tilt 14s ease-in-out infinite;will-change:transform}.orbital-core:before{content:"";position:absolute;inset:0;z-index:3;border-radius:50%;background:radial-gradient(circle at 29% 22%,rgba(255,242,220,.42),transparent 23%),radial-gradient(circle at 62% 66%,transparent 38%,rgba(22,3,0,.67) 88%);pointer-events:none}.orbital-core:after{content:"";position:absolute;inset:0;z-index:4;border-radius:50%;background:radial-gradient(circle at 36% 31%,transparent 0 50%,rgba(28,4,0,.22) 72%,rgba(15,2,0,.78) 100%),linear-gradient(105deg,rgba(255,255,255,.12),transparent 34%,transparent 60%,rgba(20,2,0,.4) 90%);pointer-events:none}.planet-surface{position:absolute;inset:0;z-index:1;display:block;border-radius:inherit;background:url(/planet-surface-v2.png) repeat-x 0 50% / var(--planet-texture-width) 100%;filter:saturate(1.08) contrast(1.03);animation:planet-surface-scroll 30s linear infinite;will-change:background-position}.planet-meridian{width:42%;height:90%;position:absolute;left:29%;top:5%;z-index:2;display:block;border-left:1px solid rgba(255,223,198,.42);border-right:1px solid rgba(92,17,0,.52);border-radius:50%;box-shadow:inset 7px 0 12px #ffebda14,inset -7px 0 12px #20030033;animation:planet-meridian-sweep 10.5s ease-in-out infinite}.auth-copy{max-width:590px}.auth-copy h1{margin:0;font-size:clamp(38px,4.2vw,62px);line-height:1.14;letter-spacing:-.045em}.auth-copy h1 span{display:inline-block;margin-left:.65em}.auth-copy p{max-width:560px;margin:20px 0 0;color:#a4a8b1;font-size:14px;line-height:1.85}.auth-panel-wrap{min-height:100vh;padding:38px clamp(28px,3.4vw,54px) 20px;position:relative;z-index:1;display:grid;grid-template-rows:1fr auto;place-items:center;gap:20px;background:transparent}.auth-panel{width:min(520px,100%);padding:20px 42px 22px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,#191b22,#14161b);box-shadow:0 32px 80px #00000061;transform:translateY(-14px)}.auth-tabs{margin-bottom:20px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.auth-tabs button{height:48px;position:relative;color:#777c87;background:transparent;font-size:20px;font-weight:800}.auth-tabs button.active{color:#fff}.auth-tabs button.active:after{content:"";height:3px;position:absolute;left:20%;right:20%;bottom:-1px;border-radius:3px;background:var(--orange)}.auth-panel form{display:grid;gap:18px}.auth-heading{margin-bottom:2px}.auth-heading h2{margin:0;font-size:24px;letter-spacing:-.02em}.auth-heading p{margin:7px 0 0;color:var(--muted);font-size:13px}.auth-panel label,.dark-modal label{display:grid;gap:8px;color:#d8dbe1;font-size:13px;font-weight:650}.dark-input{height:48px;display:flex;align-items:center;border:1px solid #353842;border-radius:7px;color:#737985;background:#121419;transition:border-color .18s ease,box-shadow .18s ease}.dark-input:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px #f973161a}.dark-input>svg{margin-left:14px;flex:0 0 auto}.dark-input input{min-width:0;height:100%;padding:0 12px;flex:1;border:0;outline:0;color:var(--text);background:transparent;font-size:14px}.dark-input button{width:45px;height:100%;color:#737985;background:transparent}.auth-alert{min-height:40px;padding:9px 11px;display:flex;align-items:center;gap:7px;border-radius:7px;font-size:13px;line-height:1.5}.auth-alert.error{border:1px solid rgba(239,107,115,.35);color:#ff9ca2;background:#ef6b7314}.auth-submit{width:100%;min-height:48px;margin-top:4px}.auth-panel .remember-login{display:flex;align-items:center;gap:10px;width:max-content;cursor:pointer}.remember-login input{width:17px;height:17px;margin:0;accent-color:var(--orange);cursor:pointer}.remember-login strong{color:#d8dbe1;font-size:13px;font-weight:650}.auth-divider{height:1px;margin:22px 0;position:relative;background:var(--line)}.auth-divider span{padding:0 12px;position:absolute;left:50%;top:50%;color:#777d87;background:#17191f;font-size:12px;transform:translate(-50%,-50%)}.auth-qq-button{width:100%;min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #3a3d46;border-radius:7px;color:#e8e9ec;background:transparent;font-size:14px;font-weight:650}.auth-qq-button:hover{border-color:#5b8fb3;background:#26a5e50f}.auth-qq-button img{width:25px;height:25px;object-fit:contain}@media(max-width:900px){.auth-page{display:block}.auth-story{display:none}.auth-panel-wrap{padding:24px;min-height:100vh}.auth-panel{transform:none;padding:24px}}.workspace{padding:24px;max-width:1600px;margin:auto}.workspace header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px}.workspace h1{font-size:22px;margin:0}.workspace small{color:var(--muted)}.workspace section{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.workspace select{margin:0 16px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:#fff}.workspace p{color:var(--muted)}.dashboard{min-height:100vh}.dashboard-header{height:76px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#12141a}.dashboard-brand{display:flex;align-items:center;gap:12px}.dashboard-brand>span{background:var(--orange);padding:10px;display:flex;border-radius:9px}.dashboard-brand strong{font-size:18px}.dashboard-brand small{display:block;color:#777f8d;font-size:10px;letter-spacing:1px;margin-top:5px}.account-bar{display:flex;gap:16px;align-items:center;font-size:13px}.role-tag{display:flex;gap:5px;align-items:center;color:#ffae75;background:#322319;padding:6px 9px;border-radius:5px;font-size:11px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;color:#9ea5b2;border-radius:6px}.icon-button:hover{background:#30343e;color:#fff}.danger{color:#e98989}.dashboard-content{padding:28px 32px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:1px;color:#f59d64}.page-heading h1{font-size:25px;font-weight:650;margin:7px 0}.page-heading p{font-size:12px;color:#8d95a3;margin:8px 0 0}.total-count{text-align:right}.total-count strong{font-size:32px;display:block}.total-count span{font-size:11px;color:#8d95a3}.grid-panel{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#17191f}.grid-toolbar{display:flex;justify-content:space-between;gap:16px;padding:16px;flex-wrap:wrap}.toolbar-filters,.toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-field,.select-field{display:flex;align-items:center;gap:8px;border:1px solid #343840;border-radius:6px;background:#111318;padding:0 10px;color:#858d9a;height:36px}.search-field input,.select-field select{background:transparent;color:#dce0e5;border:0;outline:none;min-width:0;font-size:12px}.search-field input{width:200px}.filter-select{background:#111318;border:1px solid #343840;border-radius:6px;color:#c7cdd6;padding:8px;font-size:12px;max-width:180px}.toolbar-actions .orange-button{min-height:34px;font-size:12px}.sheet-scroll{overflow:auto;max-height:calc(100vh - 295px);min-height:220px}.game-grid{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;table-layout:fixed;min-width:1880px}.game-grid th{position:sticky;top:0;z-index:3;background:#23262e;color:#a8afba;font-size:11px;letter-spacing:.3px;text-align:left;height:43px;padding:10px 12px;border-right:1px solid #323640;border-bottom:1px solid #393d47}.game-grid td{border-right:1px solid #292d35;border-bottom:1px solid #292d35;vertical-align:top;background:#171a20;height:56px}.game-grid tr:nth-child(2n) td{background:#1a1d24}.game-grid tr:hover td{background:#22262e}.game-grid .row-number{width:46px;color:#697384;text-align:center;vertical-align:middle;font-size:11px}.game-grid .col-customer{width:125px}.game-grid .col-name{width:220px;position:sticky;left:0;z-index:1;font-weight:600}.game-grid th.col-name{z-index:4}.game-grid .col-status{width:160px}.game-grid .col-platformAccount{width:230px}.game-grid .col-platformPassword{width:155px}.game-grid .col-entity{width:245px}.game-grid .col-payment,.game-grid .col-manager{width:100px}.game-grid .col-details{width:290px}.game-grid .col-extra{width:120px}.game-grid .col-sheet{width:100px}.game-grid .col-actions{width:60px;text-align:center}.cell-value{display:block;width:100%;height:100%;min-height:55px;text-align:left;padding:12px;background:transparent;color:#cbd1da;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;cursor:text}.cell-value:disabled{opacity:1;cursor:default}.cell-value.editable:hover{box-shadow:inset 0 0 0 1px #a86538;background:#33271f}.muted{color:#59616d}.status-live .cell-value{color:#57d6a2}.status-pending .cell-value{color:#e5b66f}.status-other .cell-value{color:#d6a1a1}.cell-editor{resize:vertical;display:block;width:100%;min-height:65px;background:#101319;border:1px solid #f97316;outline:0;border-radius:0;color:#fff;padding:10px;font-size:12px;line-height:1.6}.grid-footer{padding:12px 16px;display:flex;justify-content:space-between;font-size:11px;color:#818a98}.grid-footer span:last-child{display:flex;gap:6px;align-items:center}.empty-table{text-align:center;padding:60px!important;color:#7e8794}.dialog-backdrop{position:fixed;inset:0;z-index:100;background:#000a;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-dialog{width:min(600px,100%);max-height:90vh;overflow:auto;background:#191c23;border:1px solid #393d47;border-radius:12px;box-shadow:0 20px 80px #0008}.editor-dialog header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}.editor-dialog h2{font-size:18px;margin:0}.dialog-fields{display:grid;gap:18px;padding:24px}.dialog-fields label{display:grid;gap:8px;font-size:12px;color:#b7bfcb}.dialog-fields input,.dialog-fields select{padding:10px 12px;background:#101318;border:1px solid #353b45;border-radius:6px;color:#fff;min-width:0}.dialog-fields input:focus{outline:1px solid #f97316}.editor-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--line)}.toast{position:fixed;top:18px;left:50%;transform:translate(-50%);padding:14px 24px;border:1px solid #3a6755;border-radius:8px;z-index:1000;background:#21392f;color:#cdf3df;box-shadow:0 12px 48px #0008;max-width:90vw;font-size:13px}.toast.error{border-color:#98545b;background:#48262c;color:#ffd4d4}@media(max-width:700px){.dashboard-header{padding:0 16px}.dashboard-brand strong{font-size:14px}.dashboard-brand small{font-size:8px}.account-bar{gap:8px}.role-tag{display:none}.dashboard-content{padding:20px 12px}.page-heading h1{font-size:20px}.grid-toolbar{padding:12px}.sheet-scroll{max-height:65vh}.search-field input{width:150px}.total-count strong{font-size:25px}}
