
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');

:root{
  --bg:#0b0d0f;
  --bg2:#111417;
  --panel:#15191c;
  --panel2:#1b2024;
  --panel3:#20262b;
  --line:rgba(255,255,255,.09);
  --line2:rgba(255,255,255,.14);
  --text:#f4f1ea;
  --muted:#a8aaa6;
  --dim:#747873;
  --accent:#39a7ff;
  --accent2:#63f3ff;
  --warm:#e7d7bc;
  --danger:#ff8d86;
  --shadow:0 24px 60px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
body{
  font-family:"DM Sans","Noto Sans SC",Arial,sans-serif;
  letter-spacing:-.01em;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app{display:flex;min-height:100vh;background:
 radial-gradient(circle at 78% 8%,rgba(38,79,255,.32),transparent 32%),
 radial-gradient(circle at 50% 105%,rgba(0,198,255,.18),transparent 38%),
 radial-gradient(circle at 8% 55%,rgba(0,112,255,.12),transparent 30%),
 radial-gradient(circle at 92% 55%,rgba(57,167,255,.12),transparent 28%),
 linear-gradient(rgba(57,167,255,.035) 1px,transparent 1px),
 linear-gradient(90deg,rgba(57,167,255,.035) 1px,transparent 1px),
 var(--bg)}
.sidebar{
  width:248px;min-height:100vh;flex:none;padding:28px 18px 20px;
  background:linear-gradient(180deg,#070b18 0%,#090d16 100%);border-right:1px solid rgba(57,167,255,.16);box-shadow:8px 0 40px rgba(0,49,255,.08);
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh
}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}
.brand-mark{
  width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#c8fbff 0%,#63f3ff 18%,#39a7ff 52%,#2456ff 100%);color:#04101e;box-shadow:0 0 30px rgba(57,167,255,.55),0 0 70px rgba(0,108,255,.24);
  display:grid;place-items:center;font-weight:800;font-size:20px
}
.brand b{display:block;font-size:15px;letter-spacing:.01em;color:var(--text)}
.brand span{display:block;color:var(--dim);font-size:11px;margin-top:3px}
.role-pill{
  margin:0 5px 18px;padding:9px 11px;border:1px solid var(--line);
  border-radius:10px;color:var(--muted);font-size:12px;background:rgba(255,255,255,.025)
}
nav{display:flex;flex-direction:column;gap:3px}
.nav{
  border:0;background:transparent;color:#aaa;
  padding:11px 12px;border-radius:9px;text-align:left;font-size:13px;
  transition:.18s ease
}
.nav:hover{color:var(--text);background:rgba(255,255,255,.045)}
.nav.active{background:rgba(65,145,255,.10);color:#8cc8ff}
.side-bottom{
  margin-top:auto;border-top:1px solid var(--line);padding:16px 8px 0;
  color:var(--dim);font-size:11px
}
.side-bottom button{float:right;background:none;border:0;color:var(--muted);font-size:11px;padding:0 3px;cursor:pointer}.side-bottom button:hover{color:#63f3ff}
.main{flex:1;min-width:0;padding:38px 46px 60px;max-width:1600px}
.page-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:26px
}
.page-head h1{
  margin:0;font-size:38px;line-height:1.05;letter-spacing:-.045em;
  font-weight:600;color:var(--text)
}
.page-head p{margin:9px 0 0;color:var(--muted);font-size:13px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{
  min-height:132px;padding:22px;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.016));
  box-shadow:0 10px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.035),0 0 26px rgba(50,121,255,.025)
}
.stat-label{font-size:12px;color:var(--muted)}
.stat-value{font-size:29px;line-height:1;margin:18px 0 11px;color:var(--text);font-weight:600;letter-spacing:-.035em}
.stat-sub{font-size:11px;color:var(--dim)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.card{
  background:linear-gradient(145deg,rgba(12,28,58,.72),rgba(8,14,28,.78));
  border:1px solid rgba(57,167,255,.24);border-radius:18px;padding:22px;
  backdrop-filter:blur(14px);
  box-shadow:0 18px 55px rgba(0,16,70,.30),inset 0 1px 0 rgba(120,220,255,.06),0 0 34px rgba(0,115,255,.055)
}
.card h3{margin:0;color:var(--text);font-size:15px;font-weight:600}
.card p{color:var(--muted);line-height:1.7;font-size:13px}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-head span{font-size:11px;color:var(--dim)}
.chart{width:100%;height:auto;display:block;min-height:220px}
.line{stroke:var(--accent);stroke-width:3;fill:none;filter:drop-shadow(0 0 8px rgba(57,167,255,.72)) drop-shadow(0 0 22px rgba(0,174,255,.35))}
.dot{fill:var(--accent);stroke:var(--panel);stroke-width:3}
.bar{fill:rgba(57,167,255,.72);filter:drop-shadow(0 0 10px rgba(57,167,255,.42)) drop-shadow(0 0 22px rgba(0,158,255,.18))}
.bar:hover{fill:var(--accent)}
.xlabel{fill:var(--muted);font-size:11px}
.filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.input{
  min-height:40px;padding:9px 12px;border:1px solid var(--line2);
  border-radius:9px;background:var(--panel);color:var(--text);outline:none
}
.input::placeholder{color:var(--dim)}
.input:focus{border-color:rgba(90,169,255,.55);box-shadow:0 0 0 3px rgba(90,169,255,.06)}
select.input{appearance:auto}
.btn{
  min-height:38px;padding:8px 13px;border-radius:9px;
  border:1px solid var(--line2);background:transparent;color:var(--text);
  transition:.18s ease
}
.btn:hover{background:rgba(255,255,255,.06)}
.btn.primary{background:var(--accent);border-color:#8cc8ff;color:#0b0d0f;font-weight:700}
.btn.primary:hover{background:#82c2ff}
.btn.small{min-height:31px;padding:5px 9px;font-size:11px}
.btn.danger{color:var(--danger);border-color:rgba(255,141,134,.25)}
.form-card{max-width:820px}
.form-row{margin-bottom:20px}
.form-row label{display:block;margin-bottom:8px;font-size:12px;color:var(--muted)}
.form-row b{color:#8cc8ff;font-weight:500}
.upload-button{
  min-height:40px;padding:9px 15px;border-radius:9px;
  border:1px dashed var(--line2);background:rgba(255,255,255,.025);color:var(--text)
}
.form-row>span{margin-left:10px;color:var(--dim);font-size:11px}
.error{color:var(--danger);font-size:12px;margin-top:8px}
.row-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:13px 0;border-bottom:1px solid var(--line);color:var(--text);font-size:13px
}
.row-item:last-child{border-bottom:0}
table{width:100%;border-collapse:collapse;color:var(--text)}
th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);font-size:12px}
th{color:var(--dim);font-weight:500;font-size:10px;text-transform:none;letter-spacing:.03em}
td{color:#d8d8d3}
tr:hover td{background:rgba(255,255,255,.018)}
.status{display:inline-flex;padding:5px 8px;border-radius:20px;background:rgba(65,145,255,.10);color:#8cc8ff;font-size:10px}
.big{font-size:40px;line-height:1;font-weight:600;color:var(--text);margin:20px 0;letter-spacing:-.04em}
.list>p{padding:12px 0;border-bottom:1px solid var(--line)}
.toast{
  position:fixed;right:24px;bottom:24px;padding:12px 17px;border-radius:10px;
  background:var(--text);color:#0b0d0f;z-index:9999;font-size:12px
}
@media(max-width:1050px){.main{padding:30px}.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{width:205px}.main{padding:24px 18px}.page-head h1{font-size:30px}.stats-grid{grid-template-columns:1fr}}

.muted{color:var(--dim)}

@keyframes bluePulse{0%,100%{box-shadow:0 0 18px rgba(90,169,255,.18),inset 0 0 10px rgba(255,255,255,.04)}50%{box-shadow:0 0 30px rgba(90,169,255,.34),inset 0 0 14px rgba(255,255,255,.06)}}
@keyframes blueDrift{0%,100%{opacity:.55}50%{opacity:.9}}
.brand-mark{animation:bluePulse 4s ease-in-out infinite}
.nav.active{box-shadow:inset 0 0 24px rgba(57,167,255,.14),0 0 24px rgba(0,123,255,.18),0 0 2px rgba(99,243,255,.7)}
.btn.primary{box-shadow:0 0 24px rgba(57,167,255,.42),0 0 58px rgba(0,106,255,.18),inset 0 1px 0 rgba(255,255,255,.34)}
.btn.primary:hover{box-shadow:0 0 34px rgba(57,167,255,.65),0 0 80px rgba(0,106,255,.28),inset 0 1px 0 rgba(255,255,255,.38)}
.page-head h1{text-shadow:0 0 28px rgba(90,169,255,.08)}
.stat-value{text-shadow:0 0 22px rgba(90,169,255,.05)}

/* V18 — Electric Blue Neon Atmosphere */
.app{position:relative;overflow:hidden}
.app::before{
  content:"";position:fixed;inset:-20%;pointer-events:none;z-index:0;
  background:
    radial-gradient(circle at 72% 18%,rgba(0,110,255,.10),transparent 18%),
    radial-gradient(circle at 36% 92%,rgba(0,222,255,.07),transparent 18%);
  filter:blur(35px);
  animation:ambientGlow 8s ease-in-out infinite alternate;
}
.app::after{
  content:"";position:fixed;left:250px;right:0;bottom:-180px;height:360px;
  pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse at 50% 30%,rgba(0,171,255,.18),transparent 50%),
    linear-gradient(180deg,transparent,rgba(18,71,255,.07));
  filter:blur(24px);
}
.sidebar,.main{position:relative;z-index:1}
.brand-mark{
  border:1px solid rgba(170,250,255,.6);
  box-shadow:0 0 16px rgba(57,167,255,.55),0 0 42px rgba(0,91,255,.32),inset 0 0 18px rgba(255,255,255,.22);
}
.page-head h1{
  text-shadow:0 0 14px rgba(99,243,255,.14),0 0 38px rgba(0,113,255,.10);
}
.stat{
  position:relative;overflow:hidden;
}
.stat::before,.card::before{
  content:"";position:absolute;left:12%;right:12%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(99,243,255,.65),transparent);
  box-shadow:0 0 12px rgba(57,167,255,.5);
}
.stat::after{
  content:"";position:absolute;width:140px;height:140px;right:-80px;top:-90px;
  background:radial-gradient(circle,rgba(57,167,255,.14),transparent 68%);
  filter:blur(8px);
}
.card{position:relative;overflow:hidden}
.input:focus{
  border-color:rgba(99,243,255,.8);
  box-shadow:0 0 0 3px rgba(57,167,255,.10),0 0 24px rgba(0,141,255,.20);
}
.status{
  border:1px solid rgba(99,243,255,.30);
  box-shadow:0 0 14px rgba(57,167,255,.14),inset 0 0 10px rgba(99,243,255,.06);
}
@keyframes ambientGlow{
  0%{transform:translate3d(-1%,0,0) scale(1)}
  100%{transform:translate3d(1%,1%,0) scale(1.04)}
}
@keyframes bluePulse{
  0%,100%{box-shadow:0 0 16px rgba(57,167,255,.42),0 0 40px rgba(0,90,255,.18),inset 0 0 12px rgba(255,255,255,.08)}
  50%{box-shadow:0 0 28px rgba(99,243,255,.72),0 0 70px rgba(0,106,255,.38),inset 0 0 18px rgba(255,255,255,.12)}
}

/* V19 — ZIP extraction and content selection */
.step-card{margin-bottom:18px}
.step-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.step-title h3{margin:0 0 5px}.step-title p{margin:0;color:var(--dim);font-size:12px}
.step-no{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#b9f8ff;border:1px solid rgba(99,243,255,.45);background:rgba(57,167,255,.09);box-shadow:0 0 18px rgba(57,167,255,.18);font-weight:700}
.upload-zone{border:1px dashed rgba(99,243,255,.42);border-radius:14px;padding:30px;text-align:center;background:linear-gradient(180deg,rgba(9,31,65,.38),rgba(7,15,31,.2));box-shadow:inset 0 0 28px rgba(0,123,255,.06);cursor:pointer}
.upload-zone:hover{border-color:rgba(99,243,255,.8);box-shadow:0 0 28px rgba(0,123,255,.14),inset 0 0 28px rgba(0,123,255,.08)}
.upload-zone b,.upload-zone span{display:block}.upload-zone span{margin:7px 0 16px;color:var(--dim);font-size:11px}
.upload-cloud{font-size:30px;color:#63f3ff;text-shadow:0 0 18px rgba(99,243,255,.8);margin-bottom:8px}
.selection-toolbar{display:flex;align-items:center;gap:16px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:rgba(255,255,255,.018);font-size:12px;color:var(--dim)}
.master-check,.zip-check{display:flex;align-items:center;gap:9px;cursor:pointer;color:var(--text)}
.master-check input,.zip-check input{position:absolute;opacity:0;pointer-events:none}.master-check span,.zip-check span{width:15px;height:15px;border-radius:4px;border:1px solid rgba(130,170,210,.45);display:inline-block;box-shadow:inset 0 0 8px rgba(0,100,255,.08)}
.master-check input:checked+span,.zip-check input:checked+span{background:linear-gradient(135deg,#28a7ff,#63f3ff);border-color:#63f3ff;box-shadow:0 0 12px rgba(57,167,255,.6)}
.zip-row{display:grid;grid-template-columns:32px minmax(0,1fr) 90px;align-items:center;gap:10px;padding:13px 12px;border-bottom:1px solid var(--line);transition:.18s}.zip-row:first-child{border-top:1px solid var(--line)}.zip-row.selected{background:rgba(25,115,255,.07);box-shadow:inset 2px 0 0 rgba(99,243,255,.8)}
.zip-file b{display:block;font-size:12px}.zip-file span{display:block;color:var(--dim);font-size:10px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zip-meta{text-align:right}
.zip-empty{padding:35px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--dim)}.zip-empty b,.zip-empty span{display:block}.zip-empty span{margin-top:7px;font-size:11px}.zip-icon{font-size:24px;color:#63f3ff;margin-bottom:8px;text-shadow:0 0 18px rgba(99,243,255,.8)}
.class-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 180px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.class-row>div b,.class-row>div span{display:block}.class-row>div span{font-size:10px;color:var(--dim);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-summary{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px;padding:12px;border-radius:10px;background:rgba(57,167,255,.06);border:1px solid rgba(57,167,255,.15)}.selected-summary span{color:var(--dim);font-size:11px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.error{margin-top:10px}
@media(max-width:800px){.class-row{grid-template-columns:1fr}.zip-row{grid-template-columns:28px minmax(0,1fr)}}

.version-note{display:inline-block;margin-top:7px;color:#63f3ff;font-size:10px;opacity:.8;text-shadow:0 0 10px rgba(99,243,255,.45)}

.content-delete-btn{margin-left:12px;padding:5px 10px;border:1px solid rgba(255,120,120,.45);border-radius:7px;background:rgba(255,80,100,.06);color:#ffb0b8;font-size:12px;cursor:pointer}.content-delete-btn:hover{border-color:rgba(255,120,120,.8);color:#fff;box-shadow:0 0 12px rgba(255,80,100,.2)}

.selection-actions{display:flex;gap:8px;margin-left:auto}
.danger-soft{border-color:rgba(255,100,120,.42)!important;color:#ffb2bb!important;background:rgba(255,80,100,.05)!important}
.danger-soft:not(:disabled):hover{border-color:rgba(255,100,120,.85)!important;color:#fff!important;box-shadow:0 0 14px rgba(255,80,100,.22)}
.danger-soft:disabled{opacity:.35;cursor:not-allowed}
.zip-pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px 0 4px;flex-wrap:wrap}
.page-btn{min-width:30px;height:30px;padding:0 9px;border:1px solid rgba(99,243,255,.22);border-radius:7px;background:rgba(99,243,255,.03);color:#bdeff5;cursor:pointer}
.page-btn:hover:not(:disabled),.page-btn.active{border-color:rgba(99,243,255,.75);color:#fff;box-shadow:0 0 12px rgba(99,243,255,.18);background:rgba(99,243,255,.08)}
.page-btn:disabled{opacity:.25;cursor:not-allowed}
.page-info{margin-left:8px;color:#8199a3;font-size:12px}

.taxonomy-card{overflow:hidden}
.taxonomy-tabs{display:flex;gap:6px;border-bottom:1px solid rgba(255,255,255,.07);padding:0 0 0}
.tax-tab{padding:13px 22px;background:transparent;border:0;border-bottom:2px solid transparent;color:#7f96a0;cursor:pointer;font-size:14px}
.tax-tab:hover,.tax-tab.active{color:#fff;border-bottom-color:#63f3ff;text-shadow:0 0 12px rgba(99,243,255,.35)}
.taxonomy-head{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.taxonomy-head h3{margin:0 0 5px}.taxonomy-head p{margin:0;color:#7f96a0;font-size:12px}
.taxonomy-list{border-top:1px solid rgba(255,255,255,.06)}
.taxonomy-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;min-height:58px;border-bottom:1px solid rgba(255,255,255,.05)}
.tax-index{color:#5c737c;font-size:12px}.tax-name{font-weight:600;color:#edf8fb}.tax-actions{display:flex;gap:7px}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,8,14,.72);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}
.modal-card{width:min(480px,calc(100vw - 36px));background:#0b151c;border:1px solid rgba(99,243,255,.28);border-radius:14px;box-shadow:0 0 40px rgba(0,220,255,.12);padding:22px}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.modal-head h3{margin:0 0 6px}.modal-head p{margin:0;color:#7f96a0;font-size:12px}
.modal-x{border:0;background:transparent;color:#8fa5ae;font-size:25px;cursor:pointer}.modal-label{display:block;font-size:12px;color:#9db1b9;margin-bottom:8px}.modal-label b{color:#63f3ff}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}

.account-toolbar{display:flex;gap:10px;align-items:center;padding-bottom:18px}.search-wrap{flex:1}.input.compact{width:150px}
.account-head,.account-row{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr .7fr .8fr 170px;gap:12px;align-items:center}
.account-head{padding:11px 14px;color:#718891;font-size:11px;border-bottom:1px solid rgba(255,255,255,.08)}
.account-row{min-height:62px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.05);color:#cbd9dd;font-size:12px}
.account-link{background:none;border:0;color:#eafcff;text-align:left;font-weight:700;cursor:pointer;padding:0;font-size:13px}
.account-link:hover{color:#63f3ff;text-shadow:0 0 12px rgba(99,243,255,.4)}
.account-actions{display:flex;gap:6px;justify-content:flex-end}.empty-table{padding:35px;text-align:center;color:#718891}
.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px}.status-pill.ok{color:#8df7d0;background:rgba(50,220,160,.08);border:1px solid rgba(50,220,160,.22)}.status-pill.pending{color:#ffd38b;background:rgba(255,190,80,.08);border:1px solid rgba(255,190,80,.22)}
.account-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.detail-card{padding:20px}.detail-card span{display:block;color:#718891;font-size:11px;margin-bottom:10px}.detail-card b{font-size:18px;color:#f0fbfd}
.account-source-card{display:flex;justify-content:space-between;align-items:center;padding:20px}.account-source-card h3{margin:0 0 6px}.account-source-card p{margin:0;color:#718891;font-size:12px}.source-badge{color:#63f3ff;border:1px solid rgba(99,243,255,.25);border-radius:999px;padding:6px 10px;font-size:10px}
@media(max-width:1000px){.account-head,.account-row{grid-template-columns:1.2fr 1fr 1fr .8fr .7fr 120px}.account-row span:nth-child(6){display:none}.account-head span:nth-child(6){display:none}}

/* V26 — QR binding + account activity permission isolation */
.permission-card{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}
.permission-card>div:first-child{display:flex;gap:12px;align-items:center}.permission-card b{font-size:12px}.permission-card span{color:var(--muted);font-size:12px}.permission-rule{color:#63f3ff;font-size:11px;text-align:right}
.permission-badge{padding:7px 11px;border-radius:999px;border:1px solid rgba(99,243,255,.32);background:rgba(57,167,255,.07);color:#a9f7ff;font-size:11px;white-space:nowrap;box-shadow:0 0 14px rgba(57,167,255,.14)}
.account-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.detail-card{padding:18px}.detail-card span{display:block;color:var(--dim);font-size:11px;margin-bottom:8px}.detail-card b{font-size:15px}
.auth-modal{max-width:520px}.auth-stepper{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0 20px;color:var(--dim);font-size:11px}.auth-stepper span.active{color:#63f3ff}.auth-stepper i{font-style:normal;color:#49616b}.qr-panel{text-align:center;padding:8px 0 4px}.qr-title{font-size:18px;margin-bottom:14px}.fake-qr{width:220px;height:220px;background:#fff;padding:10px;border-radius:6px;display:block;margin:0 auto;box-shadow:0 0 35px rgba(99,243,255,.12)}.qr-panel p{margin:12px 0 6px;color:var(--muted);font-size:12px}.test-label{display:inline-block;color:#7e9aa3;font-size:10px;border:1px solid rgba(255,255,255,.08);padding:4px 8px;border-radius:999px}.auth-wait{text-align:center;margin:14px 0;color:#a9f7ff;font-size:12px}.auth-success-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:12px auto;color:#63f3ff;border:1px solid rgba(99,243,255,.5);box-shadow:0 0 25px rgba(57,167,255,.25);font-size:26px}.center{text-align:center}.consent-box{margin:16px 0;padding:14px;border-radius:10px;border:1px solid rgba(99,243,255,.18);background:rgba(57,167,255,.045)}.consent-box b{font-size:12px}.consent-box p{margin:6px 0;font-size:11px}.full{width:100%;margin-top:10px}.modal-label{display:block;margin:14px 0 7px;color:var(--muted);font-size:11px}.modal-card .input{width:100%}
@media(max-width:900px){.account-detail-grid{grid-template-columns:1fr 1fr}.permission-card{align-items:flex-start;flex-direction:column}.permission-rule{text-align:left}}
@media(max-width:600px){.account-detail-grid{grid-template-columns:1fr}.auth-stepper{gap:5px;font-size:10px}.fake-qr{width:190px;height:190px}}

/* V28 authentication */
.login-page{min-height:100vh;position:relative;overflow:hidden;display:grid;place-items:center;background:#040816;color:#effbff}
.login-backdrop{position:absolute;inset:0;background:linear-gradient(rgba(3,8,23,.52),rgba(2,8,18,.78)),url("login-reference-bg.jpg") center/cover no-repeat;filter:saturate(.9) contrast(1.05)}
.login-stars{position:absolute;inset:0;opacity:.72;background:
 radial-gradient(circle at 8% 16%,rgba(255,255,255,.85) 0 1px,transparent 1.6px),
 radial-gradient(circle at 16% 39%,rgba(174,220,255,.75) 0 1px,transparent 1.5px),
 radial-gradient(circle at 23% 12%,rgba(255,255,255,.68) 0 1px,transparent 1.5px),
 radial-gradient(circle at 31% 27%,rgba(137,205,255,.7) 0 1px,transparent 1.6px),
 radial-gradient(circle at 40% 17%,rgba(255,255,255,.75) 0 1px,transparent 1.5px),
 radial-gradient(circle at 52% 10%,rgba(255,255,255,.8) 0 1px,transparent 1.5px),
 radial-gradient(circle at 66% 21%,rgba(144,203,255,.8) 0 1px,transparent 1.7px),
 radial-gradient(circle at 74% 12%,rgba(255,255,255,.8) 0 1px,transparent 1.6px),
 radial-gradient(circle at 83% 31%,rgba(126,211,255,.75) 0 1px,transparent 1.6px),
 radial-gradient(circle at 92% 18%,rgba(255,255,255,.78) 0 1px,transparent 1.6px),
 radial-gradient(circle at 11% 62%,rgba(125,197,255,.6) 0 1px,transparent 1.6px),
 radial-gradient(circle at 89% 55%,rgba(173,224,255,.7) 0 1px,transparent 1.6px),
 radial-gradient(circle at 50% 54%,rgba(255,255,255,.56) 0 1px,transparent 1.4px);
background-size:240px 210px,280px 260px,330px 310px,310px 280px,260px 230px,350px 320px,290px 270px,310px 290px,250px 230px,320px 300px,280px 260px,300px 260px,360px 320px}
.login-horizon{position:absolute;left:-12%;right:-12%;bottom:-29%;height:49%;border-radius:50% 50% 0 0/100% 100% 0 0;background:
 radial-gradient(ellipse at 50% 18%,rgba(80,142,255,.18),transparent 48%),
 linear-gradient(180deg,rgba(7,50,120,.22),rgba(2,14,44,.92));box-shadow:0 -35px 90px rgba(25,124,255,.20),0 -6px 0 rgba(117,191,255,.38);transform:rotate(-2deg)}
.login-horizon:before{content:"";position:absolute;left:12%;right:10%;top:12%;height:2px;background:linear-gradient(90deg,transparent,rgba(111,199,255,.35),rgba(164,226,255,.8),rgba(111,199,255,.35),transparent);filter:blur(.2px)}
.login-content{position:relative;z-index:5;width:min(520px,92vw);margin-top:-4vh;display:flex;flex-direction:column;align-items:center}
.login-title-block{text-align:center;margin-bottom:22px;text-shadow:0 3px 18px rgba(0,0,0,.55)}
.login-brand-mark{width:52px;height:52px;border-radius:15px;margin:0 auto 12px;display:grid;place-items:center;background:linear-gradient(145deg,#50cfff,#1a70ff);box-shadow:0 0 26px rgba(52,185,255,.45);font-weight:800;font-size:28px;color:#fff}
.login-title-block h1{margin:0;font-size:31px;letter-spacing:4px}.login-title-block h2{margin:4px 0 2px;font-size:18px;font-weight:500;color:#ccefff;letter-spacing:2px}.login-title-block p{margin:0;color:rgba(191,220,239,.78);font-size:12px;letter-spacing:.4px}
.login-panel{width:min(410px,100%);padding:26px 28px 22px;border-radius:7px;background:linear-gradient(145deg,rgba(28,73,155,.56),rgba(6,25,71,.44));border:1px solid rgba(123,193,255,.34);box-shadow:0 30px 90px rgba(0,0,0,.45),0 0 40px rgba(49,133,255,.12);backdrop-filter:blur(10px)}
.login-field-label{margin:0 0 6px;color:#e9f8ff;font-size:13px;font-weight:600}.login-field-label + .login-field-wrap{margin-bottom:18px}
.login-field-wrap{position:relative}.field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#a7d8ff;font-size:14px;opacity:.9}.field-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#cfeeff;font-size:18px;pointer-events:none}
.login-field{width:100%;height:48px;box-sizing:border-box;padding:0 40px;border-radius:3px;border:1px solid rgba(139,194,255,.46);background:rgba(59,121,219,.34);color:#f3fbff;font-size:14px;outline:none;box-shadow:inset 0 0 18px rgba(34,91,172,.18)}
.login-field:focus{border-color:rgba(150,224,255,.8);box-shadow:0 0 0 2px rgba(93,185,255,.12),inset 0 0 18px rgba(34,91,172,.22)}
.login-field::placeholder{color:rgba(222,238,250,.45)}
.remember-row{display:flex;align-items:center;gap:7px;color:rgba(213,235,247,.75);font-size:12px;margin:2px 0 8px}.remember-row input{accent-color:#4abaff}
.login-error{min-height:18px;margin:6px 0;color:#ffb2b2;font-size:12px;text-align:left}
.login-submit{width:100%;height:46px;border:0;border-radius:2px;background:linear-gradient(90deg,#457eff,#5f93ff);color:#fff;font-size:15px;font-weight:700;letter-spacing:2px;box-shadow:0 9px 26px rgba(54,117,255,.25);cursor:pointer}
.login-submit:hover{filter:brightness(1.08);box-shadow:0 12px 32px rgba(54,117,255,.34)}
.login-demo{margin-top:13px;padding-top:10px;border-top:1px solid rgba(190,221,245,.11);display:flex;flex-wrap:wrap;justify-content:center;gap:5px 10px;color:rgba(199,225,241,.52);font-size:9px}.login-demo span{width:100%;text-align:center;color:rgba(199,225,241,.4)}
.login-hud{position:absolute;z-index:3;left:50%;top:43%;transform:translate(-50%,-50%);width:min(620px,82vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(92,181,255,.16);box-shadow:0 0 45px rgba(35,115,255,.08),inset 0 0 45px rgba(35,115,255,.06);pointer-events:none}.hud-ring{position:absolute;border-radius:50%;inset:6%;border:1px dashed rgba(102,187,255,.16)}.hud-ring-2{inset:12%;border-style:solid;border-color:rgba(95,190,255,.10)}.hud-tick{position:absolute;background:rgba(157,219,255,.46);box-shadow:0 0 10px rgba(96,200,255,.25)}.hud-tick-top,.hud-tick-bottom{left:50%;width:1px;height:30px;transform:translateX(-50%)}.hud-tick-top{top:-3px}.hud-tick-bottom{bottom:-3px}.hud-tick-left,.hud-tick-right{top:50%;height:1px;width:30px;transform:translateY(-50%)}.hud-tick-left{left:-3px}.hud-tick-right{right:-3px}
.login-footer{position:absolute;z-index:5;left:0;right:0;bottom:13px;text-align:center;color:rgba(182,211,228,.34);font-size:9px;letter-spacing:1px}
@media(max-width:700px){.login-content{margin-top:-10vh}.login-panel{padding:22px}.login-title-block h1{font-size:27px}.login-hud{width:90vw}.login-horizon{bottom:-26%;height:43%}}
.full{width:100%}.muted{color:var(--muted)}

.user-zero-note{color:#7f96a0;font-size:11px;margin-top:4px}.empty-table{padding:22px;text-align:center;color:#718891}

.field-help{font-size:10px;color:#6f858e;font-weight:400}.user-account-zero{margin:10px 0 4px;padding:9px 11px;border:1px solid rgba(99,243,255,.15);border-radius:8px;color:#8aa2aa;font-size:11px}.user-account-zero b{color:#dffbff}

.detail-actions{display:flex;gap:8px;align-items:center}.account-actions{display:flex;gap:7px;justify-content:flex-end;align-items:center;white-space:nowrap}
.account-head,.account-row{grid-template-columns:1.2fr 1fr 1fr .85fr .7fr .8fr 220px}
.danger-soft{color:#ffb4b4!important;border-color:rgba(255,90,90,.30)!important}
@media(max-width:1050px){.account-head,.account-row{grid-template-columns:1.2fr .95fr .95fr .8fr .65fr 200px}.account-head span:nth-child(6),.account-row span:nth-child(6){display:none}}

.account-head,.account-row{grid-template-columns:1.2fr 1fr 1fr .85fr .7fr .8fr 220px}

.distribution-note{margin:14px 0;padding:12px 14px;border:1px solid rgba(99,243,255,.14);border-radius:10px;color:#a9c0c8;background:rgba(5,20,28,.35);font-size:12px}
.account-distribution{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.06)}
.distribution-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 8px;border-bottom:1px solid rgba(255,255,255,.05)}
.distribution-check{display:flex;align-items:center;gap:11px;min-width:0;cursor:pointer}.distribution-check input{width:16px;height:16px}
.account-name{font-weight:700;color:#edf8fb}.distribution-check small{display:block;color:#718891;font-size:11px;margin-top:3px}
.quantity-box{display:flex;align-items:center;gap:5px;flex:0 0 auto}.qty-btn{width:30px;height:30px;border-radius:8px;border:1px solid rgba(99,243,255,.2);background:rgba(99,243,255,.04);color:#c9faff;font-size:18px;cursor:pointer}
.qty-input{width:68px;height:32px;text-align:center;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#0b141b;color:#eefcff}
.distribution-summary{display:flex;gap:20px;justify-content:flex-end;padding:12px 4px;color:#8fa5ae;font-size:12px}.distribution-summary b{color:#e9fbff}

.zip-class-box{margin-top:14px;border:2px solid rgba(190,92,255,.85);background:rgba(87,31,120,.16);border-radius:12px;padding:14px 16px;box-shadow:0 0 22px rgba(171,77,255,.10)}
.zip-class-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.zip-class-header b{display:block;font-size:14px}.zip-class-header span{display:block;color:#8fa5ae;font-size:11px;margin-top:4px}
.zip-class-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.zip-class-grid label span{display:block;font-size:11px;color:#a7bbc2;margin-bottom:5px}.zip-class-grid label b{color:#ffb0b0}
.zip-class-hint{margin-top:9px;font-size:11px;color:#9db1ba}
.distribution-note{margin:12px 0;padding:11px 13px;border:1px solid rgba(99,243,255,.14);border-radius:10px;color:#a9c0c8;background:rgba(5,20,28,.35);font-size:12px}
.account-distribution{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.06)}
.distribution-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 8px;border-bottom:1px solid rgba(255,255,255,.05)}
.distribution-check{display:flex;align-items:center;gap:11px;min-width:0;cursor:pointer}.distribution-check input{width:16px;height:16px}
.account-name{font-weight:700;color:#edf8fb}.distribution-check small{display:block;color:#718891;font-size:11px;margin-top:3px}
.quantity-box{display:flex;align-items:center;gap:5px;flex:0 0 auto}.qty-btn{width:30px;height:30px;border-radius:8px;border:1px solid rgba(99,243,255,.2);background:rgba(99,243,255,.04);color:#c9faff;font-size:18px;cursor:pointer}
.qty-input{width:68px;height:32px;text-align:center;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#0b141b;color:#eefcff}
.distribution-summary{display:flex;gap:20px;justify-content:flex-end;padding:12px 4px;color:#8fa5ae;font-size:12px}.distribution-summary b{color:#e9fbff}
@media(max-width:900px){.zip-class-grid{grid-template-columns:1fr}}

.package-classification{border:1px solid rgba(66,205,255,.24);border-radius:14px;padding:18px 18px 14px;background:linear-gradient(135deg,rgba(10,30,55,.84),rgba(8,18,34,.78));box-shadow:0 0 26px rgba(44,170,255,.07)}
.package-classification-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}
.package-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(56,205,255,.10);border:1px solid rgba(56,205,255,.22);color:#8feeff;font-size:11px}
.package-classification h3{margin:8px 0 4px}.package-classification p{margin:0;color:#8ca4ad;font-size:12px;line-height:1.55}
.package-scope-note{font-size:11px;color:#78a7b7;white-space:nowrap}
.package-classification-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field{display:flex;flex-direction:column;gap:6px}.form-field>span{font-size:12px;color:#9fb8c2}.form-field b{color:#72e5ff}
.package-classification-status{margin-top:12px;color:#7fa9b6;font-size:11px}.package-classification-status:not(:empty){padding-top:8px}
.account-upload-allocation{border:1px solid rgba(66,205,255,.18);border-radius:14px;background:rgba(6,20,35,.55);padding:16px}
.allocation-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.allocation-head h3{margin:0 0 4px}.allocation-head p{margin:0;color:#7f99a4;font-size:12px}
.allocation-total{font-weight:700;font-size:20px;color:#dffaff;min-width:90px;text-align:right}
.allocation-list{border-top:1px solid rgba(255,255,255,.06)}
.allocation-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 6px;border-bottom:1px solid rgba(255,255,255,.05)}
.allocation-account{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.allocation-account input{width:16px;height:16px}
.allocation-account b{display:block;color:#edf9fc}.allocation-account small{display:block;margin-top:3px;color:#6e8b97;font-size:11px}
.allocation-counter{display:flex;align-items:center;gap:6px}.qty-btn{width:30px;height:30px;border-radius:8px;border:1px solid rgba(88,218,255,.22);background:rgba(45,162,210,.06);color:#c9faff;font-size:18px;cursor:pointer}
.qty-input{width:62px;height:30px;text-align:center;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#0b141b;color:#eefcff}
.allocation-summary{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#84a0aa}
.allocation-summary.over{color:#ff9d9d}.empty-account-state{border:1px dashed rgba(96,207,255,.24);border-radius:12px;padding:26px;text-align:center;color:#8aa5af;display:flex;flex-direction:column;gap:7px}
@media(max-width:900px){.package-classification-head,.allocation-head{flex-direction:column}.package-classification-fields{grid-template-columns:1fr}}

.inline-track-select{min-width:125px;height:30px;border-radius:7px;border:1px solid rgba(75,210,255,.18);background:#0b1825;color:#dbf7ff;font-size:11px;padding:0 24px 0 8px}.track-text{color:#91aab4;font-size:12px}

.pagination-wrap{display:flex;justify-content:center;align-items:center;gap:6px;padding:16px 0 4px;flex-wrap:wrap}
.page-btn{min-width:34px;height:32px;padding:0 10px;border-radius:8px;border:1px solid rgba(75,210,255,.16);background:rgba(20,49,69,.36);color:#bfeaf4;font-size:12px;cursor:pointer}
.page-btn:hover:not(:disabled){border-color:rgba(75,210,255,.35);background:rgba(40,115,150,.18)}
.page-btn.active{border-color:rgba(85,226,255,.55);background:rgba(54,196,235,.14);color:#e9fdff;box-shadow:0 0 12px rgba(54,196,235,.10)}
.page-btn.nav{padding:0 12px}.page-btn:disabled{opacity:.35;cursor:not-allowed}
.page-ellipsis{color:#6f8a95;padding:0 2px}.page-count{margin-left:8px;color:#738f9a;font-size:11px}

/* V46 login visual override */
.login-page{font-family:var(--font,Arial,"PingFang SC","Microsoft YaHei",sans-serif)}

.content-row{display:grid;grid-template-columns:32px 42px 1fr 80px 74px;align-items:center;gap:10px;padding:13px 10px;border-bottom:1px solid rgba(255,255,255,.055);min-height:54px}
.content-row:hover{background:rgba(51,142,190,.06)}
.content-check{display:flex;align-items:center;justify-content:center;cursor:pointer}.content-check input{width:16px;height:16px;accent-color:#56d6ff}
.content-index{color:#6f8994;font-size:11px;text-align:center}.content-main{min-width:0}.content-main b{display:block;color:#eafaff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-main small{display:block;color:#6e8790;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.content-type{justify-self:start;padding:4px 8px;border-radius:999px;border:1px solid rgba(92,214,255,.20);background:rgba(60,177,224,.06);color:#91dff1;font-size:10px}
.content-delete-btn{justify-self:end}

.zip-index{color:#6d8994;font-size:11px;text-align:center}.zip-row{display:grid;grid-template-columns:34px 34px 1fr 150px;gap:10px;align-items:center;padding:13px 10px;border-bottom:1px solid rgba(255,255,255,.055)}.zip-row.selected{background:rgba(55,180,230,.07)}.zip-file{min-width:0}.zip-file b{display:block;color:#effcff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zip-file span{display:block;color:#6f8791;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zip-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px}.zip-meta .status{padding:4px 8px;border-radius:999px;border:1px solid rgba(96,217,255,.18);color:#8bdff2;font-size:10px}.page-info{color:#718b96;font-size:11px}

/* V50 global spacing audit */
.page-head{padding:10px 4px 20px;gap:16px}.page-head h1{margin:0 0 5px;line-height:1.15}.page-head p{margin:0;line-height:1.55}
.card{padding:22px;margin-bottom:18px;border-radius:14px}.card-head{gap:18px;margin-bottom:16px;align-items:center}.stats-grid{gap:16px;margin-bottom:18px}
.two-col{gap:18px}.config-manage-grid{align-items:stretch}.table-wrap{overflow-x:auto;border:1px solid rgba(117,190,255,.11);border-radius:10px}
table{width:100%;border-collapse:separate;border-spacing:0}th,td{padding:13px 14px;line-height:1.45;vertical-align:middle}th:first-child,td:first-child{padding-left:18px}th:last-child,td:last-child{padding-right:18px}
.btn{min-height:36px;padding:0 13px;border-radius:8px}.btn.small{min-height:30px;padding:0 10px;font-size:11px}.config-row{min-height:48px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.config-actions,.account-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.input{padding-left:12px;padding-right:12px}.filter,.account-toolbar{gap:12px;align-items:center;flex-wrap:wrap}.modal-card{padding:24px;border-radius:14px}.modal-head{gap:16px;margin-bottom:18px}
.step-card{padding:22px;margin-bottom:18px}.step-title{gap:14px;margin-bottom:16px}.selection-toolbar{gap:14px}.selection-actions{gap:8px}
.zip-row{padding:13px 12px;gap:12px}.allocation-row{padding:14px 8px;gap:18px}.package-classification-fields{gap:16px}
@media(max-width:900px){.card{padding:18px}.two-col{gap:12px}.stats-grid{gap:12px}th,td{padding:11px 10px}}

.allocation-total{font-size:24px;font-weight:800;color:#eafcff}.allocation-summary{min-height:20px}.qty-input{cursor:text}

.queue-accounts{display:flex;flex-direction:column;gap:8px}.queue-account{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border:1px solid rgba(117,190,255,.10);border-radius:10px;background:rgba(8,23,40,.28)}.queue-account div{min-width:0}.queue-account b{display:block;color:#ecfbff}.queue-account span{display:block;color:#748d98;font-size:11px;margin-top:4px}.queue-account strong{color:#dffaff;white-space:nowrap}.empty-queue{padding:22px;text-align:center;color:#77909a;display:flex;flex-direction:column;gap:6px}.empty-queue b{color:#cbe9f1}
