:root{--c4-bg:#f4f7fd;--c4-paper:#fff;--c4-ink:#27283e;--c4-muted:#747990;--c4-line:#e1e6f0;--c4-pink:#fb4f91;--c4-pink-soft:#fff0f6;--c4-yellow:#e8aa16;--c4-yellow-soft:#fff7d8;--c4-mint:#16ad78;--c4-mint-soft:#e8fbf4;--c4-blue:#268de0;--c4-blue-soft:#eaf5ff;--c4-purple:#765ce0;--c4-purple-soft:#f1edff;font-family:"Microsoft YaHei UI","Noto Sans SC",sans-serif;color:var(--c4-ink);background:var(--c4-bg);font-synthesis:none}
html{background:var(--c4-bg)}
body{background:radial-gradient(circle at 7% 3%,rgba(251,79,145,.05),transparent 24%),radial-gradient(circle at 96% 4%,rgba(38,141,224,.06),transparent 24%),var(--c4-bg);color:var(--c4-ink)}
body:before{z-index:50;inset:0 0 auto;height:6px;opacity:1;mask-image:none;background:linear-gradient(90deg,var(--c4-pink) 0 22%,#f6c438 22% 40%,#36c995 40% 60%,#43a8f1 60% 82%,#8a6eea 82%)}
.sky-layer{display:none}
.shell{width:min(1180px,calc(100% - 34px))}
.nav{height:80px}
.logo{gap:11px;color:var(--c4-ink)}
.logo-mark{position:relative;width:46px;height:46px;border:1px solid #dcecf9;border-radius:15px;background:#f2f9ff;color:var(--c4-blue);box-shadow:none}
.logo-mark:after{content:"";position:absolute;left:8px;right:8px;bottom:6px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--c4-pink) 0 25%,#efb52c 25% 50%,var(--c4-mint) 50% 75%,var(--c4-purple) 75%)}
.logo strong{color:var(--c4-ink);font-size:18px;letter-spacing:.02em}
.logo small{color:#858ba0;letter-spacing:.12em}
.nav-link,.logout{padding:10px 14px;border:1px solid var(--c4-line);border-radius:10px;background:#fff;color:#60677f;box-shadow:none}
.login-grid{min-height:calc(100vh - 155px);grid-template-columns:1.05fr .78fr;gap:66px;padding:28px 0 70px}
.eyebrow{color:var(--c4-blue);font-size:12px;letter-spacing:.1em}
.eyebrow span{height:3px;background:linear-gradient(90deg,var(--c4-pink) 0 25%,#efb52c 25% 50%,var(--c4-mint) 50% 75%,var(--c4-purple) 75%)}
.hero-copy h1{margin:19px 0 17px;color:var(--c4-ink);font-size:clamp(43px,5.4vw,66px);line-height:1.13;letter-spacing:-.045em;text-shadow:none}
.hero-copy h1 em{color:var(--c4-pink);text-shadow:none}
.hero-copy>p{max-width:560px;color:#687590;font-size:16px;line-height:1.85}
.feature-row{max-width:560px;margin-top:26px;border:1px solid var(--c4-line);border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(58,71,105,.07);backdrop-filter:none}
.feature-row div{padding:16px 18px;border-color:var(--c4-line)}
.feature-row b{font-size:22px;color:var(--c4-blue)}
.feature-row span{color:var(--c4-muted)}
.glass{border:1px solid var(--c4-line);background:#fff;box-shadow:0 16px 50px rgba(58,71,105,.09);backdrop-filter:none}
.login-card{border-radius:20px;padding:34px}.card-glow{display:none}
.panel-kicker{color:var(--c4-purple);font-size:10px;letter-spacing:.15em}
.login-card h2{color:var(--c4-ink);font-size:28px}.login-card>p{color:var(--c4-muted)}
label{color:#5d657d}
.input-wrap{border:1px solid #dbe2ed;border-radius:11px;background:#fafbfe}
.input-wrap:focus-within{border-color:var(--c4-blue);box-shadow:0 0 0 4px rgba(38,141,224,.11)}
.input-wrap>span{color:var(--c4-pink)}
.input-wrap input{padding:14px;color:var(--c4-ink)}
button,.button{border-radius:9px;font-weight:750;box-shadow:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s}
.primary{color:#fff;background:var(--c4-blue);box-shadow:none}
.primary:hover{transform:none;background:#197cc9;filter:none}
.secondary{color:#5f677f;background:#fff;border:1px solid var(--c4-line)}
.secure-note{color:#848ba0}.secure-note span{color:var(--c4-mint)}
.tutorial-link,.tutorial-chip{border:1px solid var(--c4-line)!important;border-radius:10px!important;background:#fafbfe!important;color:var(--c4-purple)!important;box-shadow:none!important;transform:none!important}
.alert{border-radius:10px}.alert.success{color:#117d59;background:var(--c4-mint-soft);border-color:#bdebd9}.alert.error{color:#ad4068;background:var(--c4-pink-soft);border-color:#f7cadd}.alert.warning{color:#8c6508;background:var(--c4-yellow-soft);border-color:#f0dda0}
.pixel-pet{filter:drop-shadow(0 10px 16px rgba(47,80,116,.12))}.pet-bunny,.pet-bird{display:none}.pet-pony{width:120px;height:120px;left:1%;bottom:0}.pet-bubble{border:1px solid #dce6f1;border-radius:12px;background:#fff;color:#55647e;box-shadow:0 10px 25px rgba(58,71,105,.1)}
.workspace{padding-bottom:46px}
.workspace-head{margin:14px 0 18px}.workspace-head h1{color:var(--c4-ink);font-size:clamp(29px,4vw,42px)}.workspace-head p{color:var(--c4-muted)}
.scan-welcome-card{min-height:142px;padding:24px 170px 22px 25px;border:1px solid var(--c4-line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(58,71,105,.07);backdrop-filter:none}
.scan-welcome-card:after{display:none}.workspace-mascot{right:24px;bottom:-3px;width:135px;height:135px;filter:drop-shadow(0 9px 12px rgba(57,100,140,.12));animation:none}
.card-identity{gap:7px;margin-top:14px}.chip{padding:7px 10px;border:1px solid var(--c4-line);border-radius:9px;background:#fafbfe;color:#66708a;box-shadow:none}.chip strong{color:var(--c4-blue)}
.scanner-grid{grid-template-columns:1.38fr .62fr;gap:16px}.scanner-card,.info-card{border-radius:18px;padding:18px}
.mode-tabs{gap:5px;padding:4px;border-radius:11px;background:#f3f5f9}.mode-tabs button{border-radius:8px;color:#6c748d}.mode-tabs button.active{color:#fff;background:var(--c4-ink);box-shadow:none}
.video-frame{border:1px solid #dce5ef;border-radius:14px;background:#f5f9fc;box-shadow:none}.video-frame:before{border-color:var(--c4-pink)}.video-frame:after{border-color:var(--c4-mint)}
video{min-height:390px;background:#f5f9fc}
.upload-zone{min-height:390px;border:1px dashed #aac9e6;border-radius:14px;background:#f8fbff}.upload-icon{border-radius:13px;background:var(--c4-pink);box-shadow:none}.pick{border-radius:9px;background:var(--c4-blue)}
.status{border:1px solid #dce5ef;border-radius:11px;background:#f8fbff;color:#5c6a84}.status.ok{color:#117d59;background:var(--c4-mint-soft);border-color:#bdebd9}.status.error{color:#ad4068;background:var(--c4-pink-soft);border-color:#f7cadd}
.expiry-illustration{height:155px}.expiry-illustration img{width:135px;height:135px;animation:none}.mini-rainbow{opacity:.48;transform:scale(.78)}
.expiry-box{border:1px solid var(--c4-line);border-radius:13px;background:#fafbfe}.expiry-title,.expiry-row{color:var(--c4-muted)}.expiry-value{color:var(--c4-ink);font-size:21px}.progress{background:#e9edf4}.progress span{background:linear-gradient(90deg,var(--c4-pink) 0 25%,#efb52c 25% 50%,var(--c4-mint) 50% 75%,var(--c4-purple) 75%)}
.admin-shell{width:min(1440px,calc(100% - 30px));padding:27px 0 50px}.admin-head{margin-bottom:18px}.admin-title h1{color:var(--c4-ink);font-size:31px}.admin-title p{color:var(--c4-muted)}
.admin-jump-nav{top:8px;margin:0 0 14px;padding:6px;border:1px solid var(--c4-line);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(58,71,105,.07);backdrop-filter:blur(12px)}
.admin-jump-nav a{border-radius:8px;color:#626a82;background:#fff}.admin-jump-nav a:hover{color:#fff;background:var(--c4-ink);transform:none}.admin-jump-nav span{color:var(--c4-muted)}
.stats{gap:10px;margin-bottom:15px}.stat{min-height:96px;padding:16px;border:1px solid var(--c4-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(58,71,105,.055)}.stat:hover{transform:none;box-shadow:0 8px 24px rgba(58,71,105,.055)}.stat span,.stat small{color:var(--c4-muted)}.stat strong{margin-top:6px;color:var(--c4-ink);font-size:25px}.worker-stat.is-online strong{color:var(--c4-mint)}.worker-stat.is-online strong i{background:var(--c4-mint);box-shadow:0 0 0 4px rgba(22,173,120,.12);animation:none}
.admin-panel{border-radius:17px;padding:18px}.section-panel{margin-top:14px!important}.section-head h2{color:var(--c4-ink)!important;font-size:22px!important}.section-head p{color:var(--c4-muted)!important}
.card-generate{grid-template-columns:130px 190px minmax(220px,1fr) auto!important}.card-edit-panel{border:1px solid var(--c4-line);border-radius:13px;background:#fafbfe}.card-edit-panel h3{color:var(--c4-ink)}
.field input,.bulk-toolbar select,.history-search input,.card-filter-bar input{border:1px solid #dce3ed!important;border-radius:9px!important;background:#fff!important;color:var(--c4-ink)!important}.field input:focus,.history-search input:focus,.bulk-toolbar select:focus,.card-filter-bar input:focus{border-color:var(--c4-blue)!important;box-shadow:0 0 0 3px rgba(38,141,224,.1)!important}
.new-codes{border:1px solid #bdebd9;border-radius:12px;background:var(--c4-mint-soft)}.new-codes textarea{border:1px solid #bdebd9;border-radius:8px}
.button.export{color:#fff;background:var(--c4-mint)}.danger{color:#b5436d;background:var(--c4-pink-soft);border:1px solid #f5cada}
.table-wrap{border:1px solid var(--c4-line);border-radius:12px;background:#fff;scrollbar-color:#aeb8d0 #f2f5fa}.table-wrap::-webkit-scrollbar-track{background:#f2f5fa}.table-wrap::-webkit-scrollbar-thumb{border-color:#f2f5fa;background:#aeb8d0}
th,td{padding:12px 13px;border-color:#edf1f6;font-variant-numeric:tabular-nums}th{color:#68718a;background:#f5f7fb}tbody tr:hover{background:#fafcff}.serial{color:var(--c4-blue)}td code{color:#35405e}.url,.history-result{color:#65708a}
.badge{border-radius:7px}.badge.unused,.badge.running{color:var(--c4-blue);background:var(--c4-blue-soft)}.badge.active,.badge.done{color:#117d59;background:var(--c4-mint-soft)}.badge.expired,.badge.failed{color:#ad4068;background:var(--c4-pink-soft)}.badge.pending{color:#8c6508;background:var(--c4-yellow-soft)}
.binding-count{border-radius:8px!important;color:var(--c4-purple)!important;background:var(--c4-purple-soft)!important}.history-summary{gap:8px!important}.history-summary div{border:1px solid var(--c4-line)!important;border-radius:11px!important;background:#fafbfe!important}.history-summary span{color:var(--c4-muted)!important}.history-summary strong{color:var(--c4-ink)!important}
.admin-login{width:min(450px,calc(100% - 28px));margin:14vh auto}.admin-login .glass{padding:31px;border-radius:18px}.admin-login h1{color:var(--c4-ink)}.admin-login p{color:var(--c4-muted)}
@media(max-width:1000px){.login-grid{grid-template-columns:1fr;gap:26px}.scanner-grid{grid-template-columns:1fr}.scan-welcome-card{padding-right:160px}.stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){body:before{height:5px}.shell{width:min(100% - 20px,1180px)}.nav{height:72px}.logo-mark{width:42px;height:42px}.login-grid{min-height:auto;padding:20px 0 45px}.hero-copy h1{font-size:40px}.hero-copy>p{font-size:15px}.login-card{padding:22px}.feature-row{display:none}.pet-pony{display:none}.scan-welcome-card{min-height:0;padding:18px 18px 118px}.workspace-mascot{right:50%;bottom:-14px;translate:50% 0;width:118px;height:118px}.scanner-card,.info-card{padding:13px}video,.upload-zone{min-height:285px}.stats{grid-template-columns:1fr 1fr}.admin-shell{width:min(100% - 18px,1440px)}.admin-title h1{font-size:27px}.admin-panel{padding:13px}.card-generate{grid-template-columns:1fr!important}.admin-jump-nav{position:static}.bulk-toolbar>*{width:100%!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
