/* BMS Premium UI · 2026
   Visual-only layer. No business logic changes. */

:root{
  --ui-ease:cubic-bezier(.2,.8,.2,1);
  --ui-fast:160ms var(--ui-ease);
  --ui-med:280ms var(--ui-ease);
  --ui-slow:520ms var(--ui-ease);
  --glass-blur:22px;
  --ring:0 0 0 1px rgba(255,255,255,.045) inset;
}

html{scroll-behavior:smooth}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(99,102,241,.28);color:inherit}

/* ---------- App shell ---------- */
.main-shell{position:relative;isolation:isolate}
.main-shell::before,
.main-shell::after{content:"";position:fixed;pointer-events:none;z-index:-1;filter:blur(2px)}
.main-shell::before{width:560px;height:560px;border-radius:50%;right:-230px;top:3vh;background:radial-gradient(circle,rgba(99,102,241,.13),rgba(56,189,248,.06) 35%,transparent 70%)}
.main-shell::after{width:480px;height:480px;border-radius:50%;left:18vw;bottom:-250px;background:radial-gradient(circle,rgba(16,185,129,.08),rgba(124,58,237,.05) 42%,transparent 72%)}

.sidebar{
  box-shadow:20px 0 60px rgba(3,7,18,.08);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
}
.brand{position:relative}
.brand-dot{
  border-radius:13px;
  background:linear-gradient(145deg,#6d7cff 0%,#3b82f6 46%,#16c7a1 100%);
  box-shadow:0 10px 30px rgba(59,130,246,.24),0 0 0 1px rgba(255,255,255,.15) inset;
  transition:transform var(--ui-med),filter var(--ui-med)
}
.brand:hover .brand-dot{transform:translateY(-1px) rotate(-2deg);filter:saturate(1.12)}
.brand b{letter-spacing:-.15px}.brand small{opacity:.72}

.nav-list a{
  overflow:hidden;
  isolation:isolate;
  transition:color var(--ui-fast),background var(--ui-fast),transform var(--ui-fast),box-shadow var(--ui-fast)
}
.nav-list a::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(90deg,rgba(99,102,241,.15),rgba(56,189,248,.06),transparent);transition:opacity var(--ui-med)}
.nav-list a:hover::before,.nav-list a.active::before{opacity:1}
.nav-list a.active{box-shadow:inset 1px 0 rgba(129,140,248,.88),0 8px 26px rgba(15,23,42,.06)}
.nav-icon{transition:transform var(--ui-fast),color var(--ui-fast)}
.nav-list a:hover .nav-icon,.nav-list a.active .nav-icon{transform:scale(1.06)}

.topbar{
  height:74px;
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(26px) saturate(1.28);
  -webkit-backdrop-filter:blur(26px) saturate(1.28);
  box-shadow:0 1px 0 rgba(15,23,42,.035),0 16px 50px rgba(15,23,42,.025)
}
.topbar h1{font-weight:780;letter-spacing:-.45px}.topbar p{letter-spacing:.05px}
.status-chip,.soft-btn,.icon-only,.user-avatar{transition:transform var(--ui-fast),border-color var(--ui-fast),background var(--ui-fast),box-shadow var(--ui-fast),color var(--ui-fast)}
.soft-btn:hover,.icon-only:hover{transform:translateY(-1px)}
.status-chip{box-shadow:0 8px 24px rgba(15,23,42,.035),var(--ring)}
.user-avatar{box-shadow:0 8px 22px rgba(59,130,246,.18),0 0 0 1px rgba(255,255,255,.16) inset}

#content{padding-top:26px;animation:premiumPageIn .42s var(--ui-ease)}
@keyframes premiumPageIn{from{opacity:0;transform:translateY(10px) scale(.997)}to{opacity:1;transform:none}}
.page-head{margin-bottom:18px}.page-head h2{font-size:18px;font-weight:780;letter-spacing:-.35px}.page-head p{font-size:11.5px}

/* ---------- Cards ---------- */
.card{
  position:relative;
  border-radius:18px;
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset,0 12px 38px rgba(15,23,42,.045);
  transition:transform var(--ui-med),box-shadow var(--ui-med),border-color var(--ui-med),background var(--ui-med)
}
.card::before{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.32),transparent 32%,transparent 68%,rgba(255,255,255,.08));opacity:.45;mix-blend-mode:soft-light}
.card.hover:hover{transform:translateY(-3px);box-shadow:0 20px 56px rgba(15,23,42,.09),0 1px 0 rgba(255,255,255,.7) inset}
.metric-card{min-height:122px;overflow:hidden}
.metric-card::after{width:145px;height:145px;right:-52px;top:-66px;filter:blur(1px);opacity:.9}
.metric-card .metric-value{font-weight:820;letter-spacing:-.7px}
.metric-card .metric-label{font-weight:620;letter-spacing:.05px}
.metric-icon{border:1px solid rgba(255,255,255,.24);box-shadow:0 8px 24px rgba(15,23,42,.045),0 1px 0 rgba(255,255,255,.7) inset}

.card-title h3,.section-title h3{font-weight:760;letter-spacing:-.2px}
.divider{opacity:.72}

/* ---------- Buttons / inputs ---------- */
.btn{
  border-radius:11px;
  font-weight:720;
  letter-spacing:-.05px;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset;
  transition:transform var(--ui-fast),box-shadow var(--ui-fast),filter var(--ui-fast),background var(--ui-fast),border-color var(--ui-fast)
}
.btn:hover{transform:translateY(-1.5px);box-shadow:0 10px 26px rgba(15,23,42,.12),0 1px 0 rgba(255,255,255,.13) inset}
.btn:active{transform:translateY(0) scale(.985)}
.btn.blue{background:linear-gradient(135deg,#596bff,#3b82f6 52%,#269be9);box-shadow:0 10px 25px rgba(59,130,246,.18),0 1px 0 rgba(255,255,255,.18) inset}
.btn.green{background:linear-gradient(135deg,#18b981,#0ea56d)}
.btn.red{background:linear-gradient(135deg,#ef476f,#dc3657)}

.field input,.field select,.field textarea,.input-wrap input{
  border-radius:12px;
  transition:border-color var(--ui-fast),box-shadow var(--ui-fast),background var(--ui-fast),transform var(--ui-fast)
}
.field input:hover,.field select:hover,.field textarea:hover,.input-wrap input:hover{border-color:#c5d1df}
.field input:focus,.field select:focus,.field textarea:focus,.input-wrap input:focus{transform:translateY(-1px)}

.switch i{box-shadow:0 1px 3px rgba(15,23,42,.12) inset}.switch i:before{box-shadow:0 3px 9px rgba(15,23,42,.22)}

/* ---------- Data surfaces ---------- */
.table-wrap{border-radius:15px;box-shadow:0 10px 34px rgba(15,23,42,.035);background:var(--card)}
th{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
tbody tr td{transition:background var(--ui-fast),color var(--ui-fast)}
.tag,.status-tag{border:1px solid rgba(148,163,184,.10);box-shadow:0 1px 0 rgba(255,255,255,.45) inset}
.notice{border-radius:13px;box-shadow:0 1px 0 rgba(255,255,255,.44) inset}
.logbox{border-radius:15px;box-shadow:0 16px 40px rgba(2,6,23,.09) inset,0 10px 30px rgba(2,6,23,.04)}
.segment{padding:4px;border-radius:13px}.segment button{border-radius:10px;transition:all var(--ui-fast)}
.currency-pill{transition:transform var(--ui-fast),border-color var(--ui-fast),background var(--ui-fast),box-shadow var(--ui-fast)}
.currency-pill:hover{transform:translateY(-1px)}

/* ---------- Premium dark ---------- */
html[data-theme="dark"]{
  --nav:#05070b;
  --nav2:#0e131d;
  --nav3:#151c28;
  --bg:#06080d;
  --card:rgba(15,20,29,.78);
  --line:rgba(148,163,184,.135);
  --text:#f4f7fb;
  --muted:#8e9aac;
  --blue:#6d7cff;
  --blue2:#4fc3ff;
  --green:#39d98a;
  --red:#ff6f86;
  --amber:#ffc75f;
  --shadow:0 22px 60px rgba(0,0,0,.34)
}
html[data-theme="dark"] body:not(.login-page){
  background:
    radial-gradient(900px 520px at 7% -6%,rgba(79,70,229,.17),transparent 62%),
    radial-gradient(800px 500px at 93% 2%,rgba(14,165,233,.10),transparent 58%),
    radial-gradient(650px 420px at 72% 94%,rgba(16,185,129,.065),transparent 60%),
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),
    #06080d;
  background-size:auto,auto,auto,44px 44px,44px 44px,auto;
  color:var(--text)
}
html[data-theme="dark"] .sidebar{
  background:linear-gradient(180deg,rgba(6,8,13,.97),rgba(7,10,16,.94) 56%,rgba(6,9,14,.98));
  border-right-color:rgba(148,163,184,.105);
  box-shadow:24px 0 70px rgba(0,0,0,.20)
}
html[data-theme="dark"] .topbar{
  background:linear-gradient(180deg,rgba(9,12,18,.82),rgba(9,12,18,.70));
  border-color:rgba(148,163,184,.11);
  box-shadow:0 1px 0 rgba(255,255,255,.025),0 16px 60px rgba(0,0,0,.15)
}
html[data-theme="dark"] .card{
  background:linear-gradient(145deg,rgba(18,24,34,.88),rgba(10,14,21,.78));
  border-color:rgba(148,163,184,.13);
  box-shadow:0 1px 0 rgba(255,255,255,.035) inset,0 18px 54px rgba(0,0,0,.16);
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15)
}
html[data-theme="dark"] .card::before{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 28%,transparent 72%,rgba(99,102,241,.035));opacity:.7}
html[data-theme="dark"] .card.hover:hover{border-color:rgba(129,140,248,.28);box-shadow:0 28px 72px rgba(0,0,0,.30),0 0 0 1px rgba(99,102,241,.055) inset}
html[data-theme="dark"] .metric-card:nth-child(4n+1){background:linear-gradient(145deg,rgba(37,45,78,.62),rgba(12,16,24,.86) 64%)}
html[data-theme="dark"] .metric-card:nth-child(4n+2){background:linear-gradient(145deg,rgba(18,66,57,.48),rgba(12,16,24,.86) 64%)}
html[data-theme="dark"] .metric-card:nth-child(4n+3){background:linear-gradient(145deg,rgba(62,37,86,.48),rgba(12,16,24,.86) 64%)}
html[data-theme="dark"] .metric-card:nth-child(4n+4){background:linear-gradient(145deg,rgba(80,53,25,.42),rgba(12,16,24,.86) 64%)}
html[data-theme="dark"] .metric-card:after{background:radial-gradient(circle,rgba(129,140,248,.16),rgba(56,189,248,.05) 42%,transparent 70%)}
html[data-theme="dark"] .metric-icon{border-color:rgba(255,255,255,.07);box-shadow:0 8px 24px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.05) inset}

html[data-theme="dark"] .soft-btn,
html[data-theme="dark"] .icon-only,
html[data-theme="dark"] .status-chip{
  background:linear-gradient(180deg,rgba(22,28,39,.86),rgba(13,18,27,.78));
  border-color:rgba(148,163,184,.13);
  color:#bec9d9;
  box-shadow:0 10px 28px rgba(0,0,0,.10),0 1px 0 rgba(255,255,255,.035) inset
}
html[data-theme="dark"] .soft-btn:hover,
html[data-theme="dark"] .icon-only:hover{background:linear-gradient(180deg,rgba(29,38,54,.94),rgba(16,22,33,.88));border-color:rgba(129,140,248,.28);color:#dce8ff}

html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .input-wrap input{
  background:linear-gradient(180deg,rgba(10,14,21,.92),rgba(13,18,27,.90));
  border-color:rgba(148,163,184,.16);
  color:#eef3fa;
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset
}
html[data-theme="dark"] .field input:hover,
html[data-theme="dark"] .field select:hover,
html[data-theme="dark"] .field textarea:hover,
html[data-theme="dark"] .input-wrap input:hover{border-color:rgba(148,163,184,.28)}
html[data-theme="dark"] .field input:focus,
html[data-theme="dark"] .field select:focus,
html[data-theme="dark"] .field textarea:focus,
html[data-theme="dark"] .input-wrap input:focus{border-color:rgba(109,124,255,.66);box-shadow:0 0 0 3px rgba(99,102,241,.12),0 12px 30px rgba(0,0,0,.12)}

html[data-theme="dark"] .table-wrap{border-color:rgba(148,163,184,.12);background:rgba(10,14,21,.82);box-shadow:0 18px 52px rgba(0,0,0,.16)}
html[data-theme="dark"] table{background:transparent;color:#e6edf7}
html[data-theme="dark"] th{background:rgba(9,13,20,.86);color:#8996a9;border-color:rgba(148,163,184,.10)}
html[data-theme="dark"] td{border-color:rgba(148,163,184,.085)}
html[data-theme="dark"] tbody tr:hover td{background:rgba(99,102,241,.055)}
html[data-theme="dark"] .btn.white{background:linear-gradient(180deg,rgba(25,32,45,.88),rgba(16,21,30,.86));border-color:rgba(148,163,184,.15);color:#dbe5f3}
html[data-theme="dark"] .btn.soft{background:rgba(148,163,184,.095);color:#c3cedd}
html[data-theme="dark"] .segment{background:rgba(6,9,14,.70);border:1px solid rgba(148,163,184,.09)}
html[data-theme="dark"] .segment button.active{background:linear-gradient(180deg,rgba(43,52,74,.86),rgba(27,34,49,.82));color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.05) inset}
html[data-theme="dark"] .currency-pill{background:linear-gradient(180deg,rgba(16,22,31,.88),rgba(12,17,25,.86));border-color:rgba(148,163,184,.13);color:#9facc0}
html[data-theme="dark"] .currency-pill.active{background:linear-gradient(135deg,rgba(99,102,241,.18),rgba(56,189,248,.10));border-color:rgba(129,140,248,.38);color:#c9d6ff;box-shadow:0 10px 26px rgba(79,70,229,.08)}
html[data-theme="dark"] .notice{box-shadow:0 1px 0 rgba(255,255,255,.025) inset}
html[data-theme="dark"] .account-row{background:linear-gradient(145deg,rgba(18,24,34,.86),rgba(11,15,22,.84));border-color:rgba(148,163,184,.12)}
html[data-theme="dark"] .onboarding-icon{box-shadow:0 18px 48px rgba(59,130,246,.12),0 0 0 1px rgba(255,255,255,.035) inset}

/* ---------- Premium light ---------- */
html[data-theme="light"] body:not(.login-page){
  background:
    radial-gradient(800px 450px at 5% -8%,rgba(99,102,241,.09),transparent 62%),
    radial-gradient(700px 400px at 95% 2%,rgba(14,165,233,.07),transparent 58%),
    radial-gradient(580px 360px at 75% 96%,rgba(16,185,129,.045),transparent 60%),
    #f6f8fb
}
html[data-theme="light"] .sidebar{background:linear-gradient(180deg,#0a1020,#0d1424 55%,#0a111f)}
html[data-theme="light"] .card{background:rgba(255,255,255,.82);border-color:rgba(148,163,184,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
html[data-theme="light"] .topbar{background:rgba(249,251,253,.72)}
html[data-theme="light"] .metric-card:nth-child(4n+1){background:linear-gradient(145deg,rgba(239,244,255,.94),rgba(255,255,255,.88) 62%)}
html[data-theme="light"] .metric-card:nth-child(4n+2){background:linear-gradient(145deg,rgba(235,252,246,.94),rgba(255,255,255,.88) 62%)}
html[data-theme="light"] .metric-card:nth-child(4n+3){background:linear-gradient(145deg,rgba(247,242,255,.95),rgba(255,255,255,.88) 62%)}
html[data-theme="light"] .metric-card:nth-child(4n+4){background:linear-gradient(145deg,rgba(255,247,235,.95),rgba(255,255,255,.88) 62%)}

/* ---------- Login / register ---------- */
.login-page{background:#06080d!important}
.login-page::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 92%)}
.login-shell{
  border-radius:28px;
  border:1px solid rgba(148,163,184,.12);
  background:rgba(14,18,27,.80)!important;
  box-shadow:0 40px 120px rgba(0,0,0,.46),0 1px 0 rgba(255,255,255,.05) inset!important;
  backdrop-filter:blur(26px) saturate(1.12);
  -webkit-backdrop-filter:blur(26px) saturate(1.12)
}
.login-visual{background:radial-gradient(500px 350px at 10% 4%,rgba(99,102,241,.22),transparent 58%),radial-gradient(420px 330px at 90% 92%,rgba(14,165,233,.13),transparent 58%),linear-gradient(145deg,#090d16,#111827 58%,#0b1320)}
.login-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 24%,transparent 74%,rgba(255,255,255,.018));pointer-events:none}
.login-visual:after{background:radial-gradient(circle,rgba(109,124,255,.26),rgba(56,189,248,.08) 42%,transparent 68%)}
.hero-copy h1{font-size:38px;letter-spacing:-1.45px;font-weight:800}.hero-copy p{font-size:12.5px;color:#91a0b5}.eyebrow{letter-spacing:2.1px;color:#8aa5ff}
.visual-cards>div{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.08);box-shadow:0 12px 34px rgba(0,0,0,.10) inset}
.login-panel{color:#eef3fa}.login-panel h2{font-weight:800;letter-spacing:-.6px}.login-note,.login-panel label,.login-foot{color:#8e9bad!important}
.input-wrap input{background:rgba(8,12,19,.78)!important;border-color:rgba(148,163,184,.16)!important;color:#eef3fa!important}
.primary-login{border-radius:12px;background:linear-gradient(135deg,#626dff,#4b7ff6 52%,#269fe7);box-shadow:0 14px 34px rgba(59,130,246,.20),0 1px 0 rgba(255,255,255,.18) inset;transition:transform var(--ui-fast),box-shadow var(--ui-fast),filter var(--ui-fast)}
.primary-login:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(59,130,246,.26),0 1px 0 rgba(255,255,255,.20) inset}.primary-login:active{transform:scale(.99)}
.login-theme-btn{border-radius:999px;background:rgba(13,18,27,.70);border-color:rgba(148,163,184,.16);box-shadow:0 12px 32px rgba(0,0,0,.18);transition:all var(--ui-fast)}
.login-theme-btn:hover{transform:translateY(-1px);border-color:rgba(129,140,248,.30)}

html[data-theme="light"] .login-page{background:#edf2f8!important}
html[data-theme="light"] .login-page::before{background:linear-gradient(rgba(15,23,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.025) 1px,transparent 1px);background-size:46px 46px}
html[data-theme="light"] .login-shell{background:rgba(255,255,255,.88)!important;border-color:rgba(148,163,184,.20);box-shadow:0 36px 100px rgba(15,23,42,.16),0 1px 0 #fff inset!important}
html[data-theme="light"] .login-panel{color:#111827}.login-panel .eyebrow.dark{color:#5f6fe8}
html[data-theme="light"] .input-wrap input{background:rgba(255,255,255,.92)!important;border-color:#d7deea!important;color:#172033!important}
html[data-theme="light"] .login-note,html[data-theme="light"] .login-panel label,html[data-theme="light"] .login-foot{color:#7d899a!important}

/* ---------- Motion ---------- */
@keyframes premiumPulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.10)}50%{box-shadow:0 0 0 7px rgba(52,211,153,0)}}
.pulse.green,.pulse.on{animation:premiumPulse 2.5s ease-in-out infinite}
.toast{animation:premiumToastIn .32s var(--ui-ease)}
@keyframes premiumToastIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.modal-backdrop{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.modal{animation:premiumModal .26s var(--ui-ease)}
@keyframes premiumModal{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}

/* ---------- Mobile refinement ---------- */
@media(max-width:780px){
  .topbar{height:70px;padding:0 12px;background:rgba(248,250,252,.74)}
  html[data-theme="dark"] .topbar{background:rgba(7,10,15,.80)}
  #content{padding:15px 11px 34px}
  .card{border-radius:17px;padding:15px}
  .grid.metrics{gap:9px}
  .metric-card{min-height:108px}
  .metric-card .metric-value{font-size:19px}
  .metric-icon{width:30px;height:30px;border-radius:10px}
  .sidebar{width:min(286px,86vw);border-right:1px solid rgba(148,163,184,.12);box-shadow:30px 0 90px rgba(0,0,0,.42)}
  .scrim{background:rgba(2,6,12,.56);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
  .status-chip{height:36px;border-radius:12px}
  .theme-toggle{border-radius:12px}
  .table-wrap{border-radius:14px}
  .page-head h2{font-size:18px}
  .login-shell{border-radius:24px;width:min(440px,93vw)}
  .login-panel{padding:42px 27px}
  .mobile-brand{margin-bottom:30px}
}

@media(max-width:440px){
  .metric-card{min-height:104px}
  .metric-card .metric-label{font-size:9.8px}
  .metric-card .metric-sub{font-size:9.8px;line-height:1.45}
  .card-title{align-items:flex-start}
  .btn{min-height:37px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ===== Premium V2.0 ===== */
:root{--v2-blue:#6ea8ff;--v2-violet:#9b87ff;--v2-cyan:#65e6ff;--v2-green:#63e6b3;--v2-card:rgba(13,18,34,.74);--v2-line:rgba(255,255,255,.08)}
[data-theme="dark"] body{background:radial-gradient(circle at 75% -10%,rgba(83,65,180,.18),transparent 30%),radial-gradient(circle at -10% 20%,rgba(24,117,255,.12),transparent 28%),#070a11;color:#eef3ff}
[data-theme="dark"] .sidebar{background:linear-gradient(180deg,rgba(10,14,25,.96),rgba(7,9,15,.98));border-right:1px solid rgba(255,255,255,.06);box-shadow:20px 0 50px rgba(0,0,0,.22)}
[data-theme="dark"] .topbar{background:rgba(7,10,17,.68);backdrop-filter:blur(28px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.05)}
[data-theme="dark"] .card,[data-theme="dark"] .status-hero{background:linear-gradient(145deg,rgba(20,27,48,.78),rgba(10,14,25,.72));border:1px solid rgba(255,255,255,.075);box-shadow:0 18px 55px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(20px)}
.brand-logo-img{width:42px;height:42px;border-radius:15px;object-fit:cover;box-shadow:0 8px 24px rgba(104,99,255,.25);border:1px solid rgba(255,255,255,.16)}
.user-avatar.logo-avatar{padding:0;overflow:hidden}.user-avatar.logo-avatar img{width:100%;height:100%;object-fit:cover}.onboarding-logo{width:92px;height:92px;border-radius:28px;object-fit:cover;box-shadow:0 18px 45px rgba(111,99,255,.22)}
.v2-head h2{font-size:30px;letter-spacing:-.04em}.dashboard-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px}.draw-hero{position:relative;overflow:hidden;min-height:260px;border-radius:28px;padding:28px;background:linear-gradient(135deg,#0d1630 0%,#10152b 45%,#17122c 100%);border:1px solid rgba(255,255,255,.09);box-shadow:0 25px 70px rgba(0,0,0,.26)}.draw-glow{position:absolute;width:320px;height:320px;border-radius:50%;right:-80px;top:-110px;background:radial-gradient(circle,rgba(111,91,255,.4),rgba(47,117,255,.12) 48%,transparent 70%);filter:blur(6px);animation:floatGlow 5s ease-in-out infinite alternate}.draw-kicker{position:relative;font-size:12px;font-weight:800;letter-spacing:.18em;color:#8ea7d7}.balls{position:relative;display:flex;align-items:center;gap:13px;margin-top:48px;flex-wrap:wrap}.balls i{display:grid;place-items:center;width:70px;height:70px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.13);font-style:normal;font-size:28px;font-weight:850;box-shadow:inset 0 1px rgba(255,255,255,.12),0 15px 35px rgba(0,0,0,.2)}.balls b{font-size:22px;color:#7f8db0}.balls strong{font-size:52px;letter-spacing:-.06em;background:linear-gradient(90deg,#fff,#8cc7ff 55%,#ad92ff);-webkit-background-clip:text;color:transparent}.draw-meta{position:relative;display:flex;gap:10px;align-items:center;margin-top:28px}.draw-meta>span:not(.combo){padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.055);color:#aab6cf;font-size:12px}.account-hero{padding:26px;display:flex;flex-direction:column;justify-content:center;min-height:260px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#7f93be}.account-hero h3,.license-panel h3{font-size:26px;margin:12px 0 6px}.license-big{font-size:18px;font-weight:800;line-height:1.5;background:linear-gradient(90deg,#7ddcff,#a18cff);-webkit-background-clip:text;color:transparent}.mini-status{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.mini-status span{font-size:12px;padding:7px 10px;border:1px solid var(--v2-line);border-radius:10px;background:rgba(255,255,255,.035)}.v2-metric{transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.v2-metric:hover{transform:translateY(-3px);border-color:rgba(117,153,255,.25);box-shadow:0 22px 55px rgba(0,0,0,.28)}
.dist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dist-grid>div{padding:14px;border-radius:16px;background:rgba(255,255,255,.035);position:relative;overflow:hidden}.dist-grid span{font-size:12px;color:var(--muted)}.dist-grid b{float:right;font-size:20px}.dist-grid i{display:block;height:3px;border-radius:3px;background:linear-gradient(90deg,#6ea8ff,#9b87ff);width:var(--p);margin-top:12px}.draw-strip{display:grid;gap:8px}.draw-strip>div{display:grid;grid-template-columns:58px 1fr 45px 48px;align-items:center;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.045)}.draw-strip span{font-family:ui-monospace;color:#8391af}.draw-strip b{letter-spacing:.08em}.draw-strip em{font-style:normal;font-size:19px;font-weight:800}.draw-strip i{font-style:normal;font-size:12px;color:#95a5c6}.mini-balls{display:flex;gap:6px}.mini-balls i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(120,150,255,.1);border:1px solid rgba(130,160,255,.13);font-style:normal;font-weight:750}.algo-v2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.algo-v2{position:relative;overflow:hidden}.algo-v2-top{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:start}.algo-mark{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-weight:900;background:linear-gradient(145deg,rgba(92,139,255,.22),rgba(142,103,255,.16));border:1px solid rgba(126,149,255,.2)}.algo-v2 h3{margin:2px 0 5px}.algo-v2 p{font-size:12px;color:var(--muted);line-height:1.5}.winrate-ring{--rate:0;position:relative;width:126px;height:126px;border-radius:50%;margin:24px auto 16px;display:grid;place-items:center;background:conic-gradient(#6eabff calc(var(--rate)*1%),rgba(255,255,255,.055) 0);box-shadow:0 0 45px rgba(92,128,255,.12)}.winrate-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#0e1424;border:1px solid rgba(255,255,255,.05)}.winrate-ring b,.winrate-ring span{z-index:1;position:absolute}.winrate-ring b{font-size:25px}.winrate-ring span{margin-top:44px;font-size:11px;color:#8391af}.algo-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.algo-stat-row span{text-align:center;padding:10px;border-radius:12px;background:rgba(255,255,255,.03);font-size:11px;color:#8794b0}.algo-stat-row b{display:block;color:#eef3ff;font-size:16px;margin-top:4px}.number-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.number-picker button{height:42px;border-radius:12px;border:1px solid var(--v2-line);background:rgba(255,255,255,.035);color:inherit;font-weight:750;transition:.18s}.number-picker button.active{background:linear-gradient(135deg,#397bff,#745cff);border-color:transparent;box-shadow:0 8px 18px rgba(70,92,255,.26);transform:translateY(-1px)}.group-v2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.group-v2{display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center}.group-avatar{width:62px;height:62px;border-radius:20px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#1d2a48,#2b1d49);font-size:22px;font-weight:900;border:1px solid rgba(255,255,255,.09)}.group-avatar img{width:100%;height:100%;object-fit:cover}.group-avatar.sm{width:42px;height:42px;border-radius:13px}.group-body h3{margin:0 0 5px}.group-body p{font-size:11px;color:var(--muted);margin:0 0 8px}.dialog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px}.dialog-item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:14px;background:rgba(255,255,255,.03)}.dialog-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.v2-tabs{max-width:420px}.license-panel{position:relative;overflow:hidden}.license-panel:before{content:"";position:absolute;width:220px;height:220px;right:-80px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(117,94,255,.28),transparent 67%)}.license-banner a{color:#8bc4ff;font-weight:700;margin-left:6px}.card-list{display:grid;gap:8px}.key-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.03)}.key-row small{display:block;color:var(--muted);margin-top:3px}.key-copy-list{display:grid;gap:8px}.key-copy-list code{display:block;padding:12px;border-radius:12px;background:#090d18;border:1px solid rgba(255,255,255,.07);font-size:15px}.check-list.compact{max-height:160px;overflow:auto;display:grid;gap:6px}.check-list.compact label{display:flex;gap:8px;align-items:center;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.025)}
@keyframes floatGlow{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-28px,24px,0) scale(1.08)}}
@media(max-width:900px){.dashboard-split{grid-template-columns:1fr}.draw-hero,.account-hero{min-height:auto}.balls{margin-top:34px}.balls i{width:58px;height:58px;border-radius:18px;font-size:23px}.balls strong{font-size:42px}.number-picker{grid-template-columns:repeat(7,1fr)}.v2-head h2{font-size:24px}}
@media(max-width:560px){.draw-hero{padding:20px;border-radius:22px}.balls{gap:8px}.balls i{width:52px;height:52px;border-radius:16px}.balls strong{font-size:36px}.group-v2{grid-template-columns:52px 1fr}.group-actions{grid-column:1/-1}.group-avatar{width:52px;height:52px;border-radius:16px}.number-picker{grid-template-columns:repeat(7,1fr);gap:6px}.number-picker button{height:38px;border-radius:10px}.algo-v2-grid,.group-v2-grid{grid-template-columns:1fr}.draw-strip>div{grid-template-columns:48px 1fr 38px 42px}.v2-head .toolbar{width:100%;overflow:auto;flex-wrap:nowrap}}


/* V2.1 · dark readability + compact group selector */
.group-select-field{max-width:420px}
.group-picker{max-height:108px!important;overflow:auto!important;grid-template-columns:1fr!important;gap:5px!important;padding:2px}
.group-picker label{min-height:32px;padding:6px 8px!important;font-size:12px;line-height:1.25;border:1px solid rgba(148,163,184,.10)}
.group-picker input{width:14px;height:14px;flex:0 0 14px;accent-color:#5b8cff}

html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] .field label,
html[data-theme="dark"] .card-title p,
html[data-theme="dark"] .page-head p,
html[data-theme="dark"] .metric-label,
html[data-theme="dark"] .metric-sub{color:#9cabc0}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea{color:#f2f6fc!important;background:#0b1320!important;border-color:#2b3a50!important}
html[data-theme="dark"] .field input::placeholder,
html[data-theme="dark"] .field textarea::placeholder{color:#66778f!important}
html[data-theme="dark"] select option{background:#0b1320!important;color:#f2f6fc!important}
html[data-theme="dark"] .check-list.compact label{background:#0e1724!important;color:#dce7f6!important;border-color:#26364c!important}
html[data-theme="dark"] .check-list.compact label:hover{background:#142033!important;border-color:#3b5272!important}
html[data-theme="dark"] .card-title h3,
html[data-theme="dark"] .switch-line b,
html[data-theme="dark"] .group-body h3,
html[data-theme="dark"] .table-wrap td,
html[data-theme="dark"] .logline{color:#eaf1fb}
html[data-theme="dark"] .table-wrap th{color:#9eacc0}
html[data-theme="dark"] .table-wrap td small,
html[data-theme="dark"] small{color:#8f9fb5}
html[data-theme="dark"] .segment button{color:#a4b2c6}
html[data-theme="dark"] .segment button.active{color:#fff;background:linear-gradient(135deg,rgba(67,105,255,.28),rgba(111,75,255,.20));border:1px solid rgba(121,143,255,.24)}
html[data-theme="dark"] .number-picker button{color:#dbe7f7;background:#0d1623;border-color:#28384e}
html[data-theme="dark"] .number-picker button:hover{background:#142033;border-color:#3c5474}
html[data-theme="dark"] .number-picker button.active{color:#fff;background:linear-gradient(135deg,#3d7cff,#735cff);border-color:transparent}
html[data-theme="dark"] .btn.white{color:#e3edf9!important}
html[data-theme="dark"] .btn.blue,html[data-theme="dark"] .btn.green,html[data-theme="dark"] .btn.red{color:#fff!important}

@media(max-width:780px){.group-select-field{max-width:none}.group-picker{max-height:96px!important}}

/* V2.3 · rebuilt dual-theme design system */
html[data-theme="light"]{
  color-scheme:light;
  --ui-bg:#f4f7fb;
  --ui-surface:rgba(255,255,255,.88);
  --ui-surface-solid:#ffffff;
  --ui-surface-2:#f8fafc;
  --ui-text:#0f172a;
  --ui-text-2:#334155;
  --ui-muted:#64748b;
  --ui-faint:#94a3b8;
  --ui-border:#dde5ef;
  --ui-border-strong:#cbd5e1;
  --ui-ring-track:#e8eef6;
  --ui-ring-center:#ffffff;
  --ui-input:#ffffff;
  --ui-shadow:0 18px 55px rgba(15,23,42,.075);
}
html[data-theme="dark"]{
  color-scheme:dark;
  --ui-bg:#06080d;
  --ui-surface:rgba(16,22,32,.82);
  --ui-surface-solid:#101720;
  --ui-surface-2:#0c131d;
  --ui-text:#f8fafc;
  --ui-text-2:#d9e2ef;
  --ui-muted:#9aa8ba;
  --ui-faint:#718096;
  --ui-border:rgba(148,163,184,.15);
  --ui-border-strong:rgba(148,163,184,.25);
  --ui-ring-track:rgba(148,163,184,.15);
  --ui-ring-center:#0b111b;
  --ui-input:#0b121c;
  --ui-shadow:0 24px 70px rgba(0,0,0,.32);
}

/* Force theme-safe typography across dynamic pages */
body:not(.login-page),#content,.card,.modal,.table-wrap,table{color:var(--ui-text)}
.page-head h2,.card-title h3,.section-title h3,.algo-v2 h3,.group-body h3,.metric-value,.switch-line b,.field input,.field select,.field textarea{color:var(--ui-text)!important}
.page-head p,.card-title p,.section-title span,.algo-v2 p,.group-body p,.metric-label,.metric-sub,.field label,.switch-line small,.empty,.winrate-ring span{color:var(--ui-muted)!important}

/* Premium surfaces */
.card{
  background:var(--ui-surface)!important;
  border-color:var(--ui-border)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,var(--ui-shadow)!important;
  backdrop-filter:blur(18px) saturate(1.12);
  -webkit-backdrop-filter:blur(18px) saturate(1.12)
}
html[data-theme="light"] .card{box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 16px 46px rgba(15,23,42,.055)!important}

/* Inputs and dropdowns: never inherit unreadable native colors */
.field input,.field select,.field textarea,.input-wrap input{
  background:var(--ui-input)!important;
  color:var(--ui-text)!important;
  border-color:var(--ui-border)!important
}
.field input::placeholder,.field textarea::placeholder{color:var(--ui-faint)!important}
.field select option{background:var(--ui-surface-solid)!important;color:var(--ui-text)!important}

/* Tables */
.table-wrap{border-color:var(--ui-border)!important;background:var(--ui-surface)!important}
table{background:transparent!important}
th{background:var(--ui-surface-2)!important;color:var(--ui-muted)!important;border-color:var(--ui-border)!important}
td{color:var(--ui-text-2)!important;border-color:var(--ui-border)!important}
tbody tr:hover td{background:color-mix(in srgb,var(--ui-surface-2) 82%,transparent)!important}

/* Algorithm center — explicit colors instead of inheritance */
.algo-v2-grid{grid-template-columns:repeat(auto-fill,minmax(340px,420px));gap:20px;align-items:start}
.algo-v2{padding:20px!important;min-height:365px}
.algo-v2-top{grid-template-columns:54px 1fr auto;gap:13px}
.algo-mark{color:var(--ui-text)!important;background:linear-gradient(145deg,rgba(82,128,255,.19),rgba(128,92,255,.11))!important;border-color:rgba(100,126,255,.22)!important}
.algo-v2 h3{font-size:16px!important;letter-spacing:-.25px}
.algo-v2 p{font-size:11.5px!important}
.winrate-ring{
  width:132px;height:132px;margin:24px auto 18px;
  background:conic-gradient(#5c9cff calc(var(--rate)*1%),var(--ui-ring-track) 0)!important;
  box-shadow:0 14px 42px rgba(67,108,255,.16)!important
}
.winrate-ring:after{background:var(--ui-ring-center)!important;border-color:var(--ui-border)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.winrate-ring b{color:var(--ui-text)!important;font-size:26px!important;font-weight:850!important;letter-spacing:-.7px}
.winrate-ring span{font-weight:650!important}
.algo-stat-row{gap:10px}
.algo-stat-row span{background:var(--ui-surface-2)!important;color:var(--ui-muted)!important;border:1px solid var(--ui-border)!important;padding:11px 8px!important}
.algo-stat-row b{color:var(--ui-text)!important;font-size:17px!important;font-weight:800!important}

/* Selectable surfaces */
.check-list.compact label,.dialog-item,.key-row{background:var(--ui-surface-2)!important;color:var(--ui-text-2)!important;border-color:var(--ui-border)!important}
.number-picker button{background:var(--ui-surface-solid)!important;color:var(--ui-text-2)!important;border-color:var(--ui-border)!important}
html[data-theme="dark"] .number-picker button{background:#0e1622!important}
.number-picker button.active{background:linear-gradient(135deg,#397bff,#745cff)!important;color:#fff!important;border-color:transparent!important}
.segment{background:var(--ui-surface-2)!important;border:1px solid var(--ui-border)!important}
.segment button{color:var(--ui-muted)!important}
.segment button.active{background:var(--ui-surface-solid)!important;color:var(--ui-text)!important;box-shadow:0 5px 16px rgba(15,23,42,.08)!important}
html[data-theme="dark"] .segment button.active{background:#192333!important}

/* Group picker compact */
.group-select-field{max-width:520px}
.group-picker{max-height:96px!important;min-height:0!important;padding:4px!important;border-radius:12px}
.group-picker label{min-height:30px!important;padding:5px 8px!important;font-size:11.5px!important}

/* Top controls */
.soft-btn,.status-chip,.icon-only{color:var(--ui-text-2)}
html[data-theme="light"] .soft-btn,html[data-theme="light"] .status-chip,html[data-theme="light"] .icon-only{background:rgba(255,255,255,.86);border-color:var(--ui-border)}

/* Status/readability helpers */
.status-tag.green,.tag.green{color:#15803d!important}
html[data-theme="dark"] .status-tag.green,html[data-theme="dark"] .tag.green{color:#7ee2a8!important}
.mark-win{color:#16a34a!important}.mark-loss{color:#e5485d!important}
.logbox{color:#b8c6da!important}
html[data-theme="light"] .logbox{background:#0f172a!important;color:#cbd5e1!important}

/* Light page gets subtle premium depth without washed-out text */
html[data-theme="light"] body:not(.login-page){
  background:
    radial-gradient(720px 420px at 94% 4%,rgba(96,165,250,.10),transparent 60%),
    radial-gradient(620px 380px at 18% 96%,rgba(139,92,246,.06),transparent 62%),
    #f4f7fb!important
}
html[data-theme="dark"] body:not(.login-page){
  background:
    radial-gradient(850px 500px at 92% 4%,rgba(42,116,255,.10),transparent 62%),
    radial-gradient(680px 430px at 18% 94%,rgba(92,70,229,.08),transparent 64%),
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),#06080d!important;
  background-size:auto,auto,44px 44px,44px 44px,auto!important
}

@media(max-width:780px){
  .algo-v2-grid{grid-template-columns:1fr}
  .algo-v2{min-height:0;padding:16px!important}
  .winrate-ring{width:120px;height:120px}
  .group-select-field{max-width:none}
  .group-picker{max-height:90px!important}
}

/* V2.3.1 累计盈利/亏损模块 */
.pnl-panel{overflow:hidden}
.pnl-panel .card-title{margin-bottom:14px}
.pnl-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.pnl-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}
[data-theme="dark"] .pnl-panel{background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(10,15,27,.96));border-color:rgba(148,163,184,.16);box-shadow:0 18px 50px rgba(0,0,0,.24)}
[data-theme="light"] .pnl-panel{background:linear-gradient(145deg,#fff,#f8fbff);border-color:#e5eaf1;box-shadow:0 16px 40px rgba(34,59,92,.08)}
@media(max-width:900px){.pnl-metrics,.pnl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.pnl-metrics,.pnl-stats{grid-template-columns:1fr 1fr}}

/* V2.3.6 final: per-group defense controls */
.defense-group-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--line,rgba(128,128,128,.18))}.defense-group-row:last-child{border-bottom:0}.defense-toggle{font-size:13px;white-space:nowrap;opacity:.92}.defense-toggle input{margin-right:6px}
