*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg0:#07111d;
  --bg1:#0c1827;
  --bg2:#122132;
  --bg3:#17283d;
  --bg4:#203550;
  --bg5:#294564;
  --accent:#50d7ff;
  --accent-2:#ffc96b;
  --accent-a:rgba(80,215,255,0.16);
  --accent-2-a:rgba(255,201,107,0.16);
  --profit:#55d49c;
  --profit-a:rgba(85,212,156,0.14);
  --loss:#ff6b6f;
  --loss-a:rgba(255,107,111,0.14);
  --warn:#ffb868;
  --t1:#edf4ff;
  --t2:#98abc4;
  --t3:#62748f;
  --t4:#4b5d79;
  --border:rgba(151,181,214,0.12);
  --border2:rgba(151,181,214,0.22);
  --surface:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.018)),
    linear-gradient(135deg, rgba(15,24,38,0.98), rgba(18,30,47,0.95));
  --surface-soft:
    linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.012)),
    linear-gradient(135deg, rgba(13,22,35,0.98), rgba(16,26,42,0.95));
  --radius:14px;
  --radius-lg:22px;
  --radius-xl:28px;
  --shadow:0 22px 50px rgba(0,0,0,0.33);
  --shadow-soft:0 14px 30px rgba(0,0,0,0.24);
  --content-max:1500px;
  --sidebar-w:248px;
  --primary:var(--accent);
  --card:var(--bg2);
  --text:var(--t1);
}
html{font-size:15px}
body{
  font-family:'Outfit',sans-serif;
  background:
    radial-gradient(circle at top left, rgba(80,215,255,0.14), transparent 24%),
    radial-gradient(circle at 80% 0%, rgba(255,201,107,0.11), transparent 18%),
    radial-gradient(circle at bottom right, rgba(56,118,255,0.12), transparent 26%),
    linear-gradient(180deg, #07101a, #091522 38%, #08131e);
  color:var(--t1);
  min-height:100vh;
  display:flex;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  position:relative;
  overflow-x:hidden
}
body::before,
body::after{
  content:'';
  position:fixed;
  inset:auto;
  width:480px;
  height:480px;
  border-radius:999px;
  filter:blur(90px);
  pointer-events:none;
  opacity:0.22;
  z-index:0
}
body::before{top:-120px;left:-120px;background:rgba(80,215,255,0.18)}
body::after{right:-140px;bottom:-180px;background:rgba(255,201,107,0.12)}
a{color:inherit}
button,input,select,textarea{font:inherit}
#sidebar{
  width:var(--sidebar-w);
  min-height:100vh;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015)),
    linear-gradient(180deg, rgba(9,18,30,0.98), rgba(10,20,33,0.96));
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
  position:fixed;
  top:0;
  left:0;
  z-index:50;
  overflow-y:auto;
  backdrop-filter:blur(18px);
  box-shadow:inset -1px 0 0 rgba(255,255,255,0.03)
}
.logo{padding:28px 22px 20px;border-bottom:1px solid rgba(255,255,255,0.06)}
.logo-mark{display:flex;align-items:center;gap:10px}
.logo-icon{
  width:40px;height:40px;
  background:linear-gradient(135deg, var(--accent), #8ee9ff 60%, var(--accent-2));
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 10px 24px rgba(80,215,255,0.26)
}
.logo-icon svg{width:20px;height:20px;fill:#08111d}
.logo-text{font-size:1.12rem;font-weight:600;letter-spacing:-0.04em}
.logo-sub{font-size:0.72rem;color:var(--t3);margin-top:2px}
nav{padding:16px 12px;flex:1}
.nav-label{
  font-size:0.68rem;
  color:var(--t4);
  text-transform:uppercase;
  letter-spacing:0.18em;
  padding:12px 12px 8px
}
.nav-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  border-radius:16px;
  cursor:pointer;
  transition:all 0.18s ease;
  color:var(--t2);
  font-size:0.9rem;
  font-weight:500;
  margin-bottom:4px;
  user-select:none;
  position:relative;
  border:1px solid transparent
}
.nav-item:hover{
  background:rgba(255,255,255,0.04);
  color:var(--t1);
  border-color:rgba(255,255,255,0.04);
  transform:translateX(2px)
}
.nav-item.active{
  background:
    linear-gradient(135deg, rgba(80,215,255,0.16), rgba(255,201,107,0.12)),
    rgba(255,255,255,0.02);
  color:#f4fbff;
  font-weight:600;
  border-color:rgba(80,215,255,0.18)
}
.nav-item.active::before{
  content:'';
  position:absolute;
  left:8px;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--accent), var(--accent-2))
}
.nav-item-locked{opacity:0.78}
.nav-item-locked::after{
  content:'Finish onboarding first';
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  font-size:0.6rem;
  color:var(--accent-2);
  letter-spacing:0.08em;
  text-transform:uppercase
}
body.onboarding-active #sidebar{display:none}
body.onboarding-active #main{margin-left:0}
body.onboarding-active .sidebar-toggle{display:none !important}
body.onboarding-active .market-ticker{display:none !important}
body.onboarding-active .shell-overlay{display:none !important}
body.onboarding-active .page-content{padding-inline:24px}
.nav-item svg{width:16px;height:16px;flex-shrink:0}
.sidebar-footer{
  padding:16px;
  border-top:1px solid rgba(255,255,255,0.06);
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.02))
}
.equity-mini{
  background:var(--surface-soft);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:18px;
  padding:16px 16px;
  margin-bottom:12px;
  box-shadow:var(--shadow-soft)
}
.eq-label{font-size:0.72rem;color:var(--t3);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.08em}
.eq-val{font-size:1.22rem;font-weight:600;color:var(--accent);letter-spacing:-0.04em}
.eq-sub{font-size:0.77rem;color:var(--t2);margin-top:5px}
.sidebar-actions{display:flex;flex-direction:column;gap:8px}
.sidebar-action-row{display:flex;gap:8px}
.sidebar-mini-btn{font-size:0.74rem}
.btn-block{width:100%;justify-content:center}
.shell-overlay{
  position:fixed;
  inset:0;
  background:rgba(5,10,18,0.62);
  opacity:0;
  pointer-events:none;
  transition:opacity 0.18s ease;
  z-index:45
}
#main{
  margin-left:var(--sidebar-w);
  flex:1;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:1
}
.topbar{
  min-height:78px;
  border-bottom:1px solid rgba(255,255,255,0.07);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 26px;
  background:rgba(9,18,30,0.78);
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:blur(18px)
}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px}
.topbar-left{min-width:0}
.topbar-right{margin-left:auto}
.topbar-heading{display:flex;flex-direction:column;gap:2px;min-width:0}
.topbar-kicker{
  font-size:0.68rem;
  color:var(--accent-2);
  text-transform:uppercase;
  letter-spacing:0.16em
}
.topbar-title{font-size:1.24rem;font-weight:600;letter-spacing:-0.05em}
.sidebar-toggle{
  display:none;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.03);
  color:var(--t1);
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all 0.16s ease
}
.sidebar-toggle:hover{background:rgba(255,255,255,0.06);border-color:var(--border2)}
.sidebar-toggle svg{width:18px;height:18px}
.market-ticker{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  min-height:42px;
  padding:6px 10px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.05);
  background:rgba(255,255,255,0.025);
  color:var(--t2);
  font-size:0.8rem;
  font-weight:500
}
.topbar-actions{display:flex;gap:10px;align-items:center}
.topbar-actions:empty{display:none}
.user-avatar{
  width:42px;
  height:42px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(80,215,255,0.22), rgba(255,201,107,0.22));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  cursor:pointer;
  user-select:none;
  position:relative;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:var(--shadow-soft)
}
.profile-dropdown{
  display:none;
  position:absolute;
  top:52px;
  right:0;
  width:240px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02)),
    linear-gradient(135deg, rgba(10,18,29,0.98), rgba(15,24,38,0.97));
  box-shadow:0 20px 48px rgba(0,0,0,0.34);
  z-index:100;
  cursor:default;
  color:var(--t1)
}
.profile-name{font-size:1rem;font-weight:600;margin-bottom:4px}
.profile-user{font-size:0.8rem;color:var(--t2);margin-bottom:14px}
.profile-stat-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:0.84rem
}
.profile-stat-row span:first-child{color:var(--t2)}
.profile-stat-row-last{
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,0.06)
}
.profile-logout{color:var(--loss)}
.page-content{
  padding:26px;
  width:100%;
  max-width:var(--content-max);
  margin:0 auto
}
#page-content{animation:pageFade 0.24s ease}
@keyframes pageFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:16px;
  border:1px solid transparent;
  cursor:pointer;
  font-family:'Outfit',sans-serif;
  font-size:0.84rem;
  font-weight:600;
  transition:all 0.16s ease;
  text-decoration:none;
  line-height:1
}
.btn-primary{
  background:linear-gradient(135deg, var(--accent), #7be6ff 58%, var(--accent-2));
  color:#08111d;
  box-shadow:0 12px 24px rgba(80,215,255,0.2)
}
.btn-primary:hover{transform:translateY(-1px);filter:saturate(1.05)}
.btn-ghost{
  background:rgba(255,255,255,0.025);
  color:var(--t2);
  border:1px solid rgba(255,255,255,0.07)
}
.btn-ghost:hover{
  background:rgba(255,255,255,0.055);
  color:var(--t1);
  border-color:rgba(255,255,255,0.14)
}
.btn-danger{background:var(--loss-a);color:var(--loss);border:1px solid rgba(255,107,111,0.18)}
.btn-danger:hover{background:var(--loss);color:#fff}
.btn-sm{padding:8px 12px;font-size:0.77rem;border-radius:14px}
.btn svg{width:14px;height:14px;flex-shrink:0}
.card{
  background:var(--surface);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--radius-lg);
  padding:22px 24px;
  box-shadow:var(--shadow-soft)
}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin-bottom:22px}
.stat-card{
  background:var(--surface-soft);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:18px;
  padding:18px 18px;
  box-shadow:var(--shadow-soft)
}
.stat-label{font-size:0.7rem;color:var(--t3);text-transform:uppercase;letter-spacing:0.11em;margin-bottom:7px}
.stat-val{font-size:1.45rem;font-weight:600;line-height:1}
.sv-profit{color:var(--profit)}
.sv-loss{color:var(--loss)}
.sv-accent{color:var(--accent)}
.sv-warn{color:var(--warn)}
.sv-muted{color:var(--t2)}
.stat-sub{font-size:0.73rem;color:var(--t3);margin-top:6px}
.stat-sub.up{color:var(--profit)}
.stat-sub.dn{color:var(--loss)}
.chart-wrap{position:relative;width:100%;height:240px}
.chart-title{font-size:0.8rem;font-weight:600;color:var(--t2);margin-bottom:14px;text-transform:uppercase;letter-spacing:0.1em}
.table-wrap{
  overflow-x:auto;
  border-radius:20px;
  border:1px solid rgba(255,255,255,0.07);
  background:rgba(255,255,255,0.018)
}
table{width:100%;border-collapse:collapse;font-size:0.84rem}
thead tr{background:rgba(255,255,255,0.04)}
th{
  padding:13px 14px;
  text-align:left;
  color:var(--t3);
  font-weight:600;
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  border-bottom:1px solid rgba(255,255,255,0.07);
  white-space:nowrap
}
td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.05);color:var(--t1);vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr{transition:background 0.12s ease}
tbody tr:hover{background:rgba(255,255,255,0.035)}
.tag-buy{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:0.7rem;font-weight:500;background:var(--accent-a);color:var(--accent)}
.tag-sold{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:0.7rem;font-weight:500;background:rgba(255,255,255,0.07);color:var(--t2)}
.pnl-pos{color:var(--profit);font-weight:500}
.pnl-neg{color:var(--loss);font-weight:500}
.sym-cell{font-weight:600;font-size:0.88rem;letter-spacing:0.3px}
.action-btns{display:flex;gap:5px}
.filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}
.f-input{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:10px 13px;
  color:var(--t1);
  font-family:'Outfit',sans-serif;
  font-size:0.84rem;
  outline:none;
  transition:border 0.15s, background 0.15s, box-shadow 0.15s
}
.f-input:focus{
  border-color:rgba(80,215,255,0.34);
  background:rgba(255,255,255,0.05);
  box-shadow:0 0 0 4px rgba(80,215,255,0.08)
}
.f-input::placeholder{color:var(--t3)}
select.f-input option{background:var(--bg2)}
.modal-overlay{position:fixed;inset:0;background:rgba(2,8,15,0.72);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity 0.2s;backdrop-filter:blur(8px)}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{
  background:var(--surface);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:26px;
  width:100%;
  max-width:560px;
  max-height:88vh;
  overflow-y:auto;
  box-shadow:var(--shadow);
  transform:translateY(10px);
  transition:transform 0.2s
}
.modal-overlay.open .modal{transform:translateY(0)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,0.06)}
.modal-title{font-size:1rem;font-weight:600}
.modal-close{background:none;border:none;color:var(--t3);cursor:pointer;padding:4px;border-radius:6px;display:flex;line-height:1;transition:color 0.15s}
.modal-close:hover{color:var(--t1)}
.modal-body{padding:22px 24px}
.modal-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,0.06);display:flex;justify-content:flex-end;gap:10px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}
.form-row-full{margin-bottom:13px}
.form-group label{display:block;font-size:0.72rem;color:var(--t3);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.1em}
.form-group input,.form-group select,.form-group textarea{
  width:100%;
  background:rgba(255,255,255,0.028);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:10px 12px;
  color:var(--t1);
  font-family:'Outfit',sans-serif;
  font-size:0.87rem;
  outline:none;
  transition:border 0.15s, background 0.15s, box-shadow 0.15s
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:rgba(80,215,255,0.34);
  background:rgba(255,255,255,0.045);
  box-shadow:0 0 0 4px rgba(80,215,255,0.08)
}
.form-group select option{background:var(--bg2)}
.form-group textarea{resize:vertical;min-height:66px;line-height:1.5}
.form-sec{font-size:0.7rem;color:var(--t3);text-transform:uppercase;letter-spacing:0.12em;margin:18px 0 12px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,0.06)}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.calc-result{background:linear-gradient(135deg, rgba(80,215,255,0.15), rgba(255,201,107,0.12));border:1px solid rgba(80,215,255,0.24);border-radius:var(--radius-lg);padding:18px 20px;margin-top:16px}
.cr-label{font-size:0.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:7px}
.cr-val{font-size:1.9rem;font-weight:600;color:var(--accent)}
.cr-sub{font-size:0.78rem;color:var(--t2);margin-top:5px}
.calc-breakdown{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ci{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.05);border-radius:16px;padding:10px 13px}
.ci-label{font-size:0.68rem;color:var(--t3);margin-bottom:3px}
.ci-val{font-size:0.93rem;font-weight:500}
.port-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:13px}
.port-card{background:var(--surface-soft);border:1px solid rgba(255,255,255,0.07);border-radius:22px;padding:18px 20px;transition:border-color 0.15s, transform 0.15s;box-shadow:var(--shadow-soft)}
.port-card:hover{border-color:rgba(255,255,255,0.12);transform:translateY(-1px)}
.port-sym{font-size:1.15rem;font-weight:600;letter-spacing:0.4px;margin-bottom:13px;display:flex;align-items:center;justify-content:space-between}
.port-row{display:flex;justify-content:space-between;margin-bottom:7px;font-size:0.82rem}
.port-row-label{color:var(--t3)}
.port-row-val{font-weight:500}
.port-pnl-row{display:flex;justify-content:space-between;margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,0.06);font-size:0.86rem}
.cal-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.cal-nav{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:14px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--t2);font-size:1.1rem;transition:all 0.15s;user-select:none}
.cal-nav:hover{background:rgba(255,255,255,0.06);color:var(--t1)}
.cal-month{font-size:0.97rem;font-weight:500;min-width:145px;text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-dlabel{text-align:center;font-size:0.68rem;color:var(--t3);padding:5px 0;text-transform:uppercase;letter-spacing:0.5px}
.cal-cell{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:14px;min-height:72px;padding:8px 9px;transition:border-color 0.1s, background 0.1s}
.cal-cell.empty{background:transparent;border-color:transparent}
.cal-cell.today{border-color:rgba(80,215,255,0.32);box-shadow:inset 0 0 0 1px rgba(80,215,255,0.12)}
.cal-cell.has-trades{cursor:pointer}
.cal-cell.has-trades:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.1)}
.cal-date{font-size:0.73rem;font-weight:500;color:var(--t3)}
.cal-cell.today .cal-date{color:var(--accent)}
.cal-pnl{font-size:0.8rem;font-weight:600;margin-top:3px}
.cal-cnt{font-size:0.66rem;color:var(--t3);margin-top:2px}
.sec-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.sec-title{font-size:0.96rem;font-weight:600;letter-spacing:-0.02em}
.empty-state{
  text-align:center;
  padding:54px 24px;
  color:var(--t3);
  border-radius:22px;
  border:1px dashed rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.02)
}
.empty-state svg{width:40px;height:40px;margin:0 auto 12px;display:block;opacity:0.38}
.empty-state p{font-size:0.88rem;max-width:360px;margin:0 auto;line-height:1.45}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.text-muted{color:var(--t3);font-size:0.8rem;line-height:1.4}
#toast{position:fixed;bottom:22px;right:22px;z-index:999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast-item{
  background:linear-gradient(135deg, rgba(14,24,38,0.98), rgba(18,30,47,0.96));
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:11px 16px;
  font-size:0.83rem;
  box-shadow:var(--shadow);
  animation:toastIn 0.2s ease;
  pointer-events:none
}
.toast-item.ok{border-left:3px solid var(--profit)}
.toast-item.err{border-left:3px solid var(--loss)}
@keyframes toastIn{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12);border-radius:999px}
.login-overlay{
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(80,215,255,0.14), transparent 24%),
    radial-gradient(circle at 80% 0%, rgba(255,201,107,0.12), transparent 22%),
    rgba(6,10,17,0.92);
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:24px;
  backdrop-filter:blur(12px)
}
.login-shell{
  width:100%;
  max-width:420px;
  padding:34px 30px 30px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,0.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
    linear-gradient(135deg, rgba(10,18,29,0.98), rgba(16,26,41,0.97));
  box-shadow:0 28px 60px rgba(0,0,0,0.38);
  text-align:center
}
.login-badge{
  display:inline-flex;
  margin:0 auto 14px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.07);
  color:var(--accent-2);
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.14em
}
.login-mark{
  width:72px;
  height:72px;
  margin:0 auto 16px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--accent), #8cefff 58%, var(--accent-2));
  color:#08111d;
  box-shadow:0 18px 34px rgba(80,215,255,0.24)
}
.login-title{font-size:1.5rem;font-weight:600;letter-spacing:-0.05em}
.login-sub{color:var(--t2);font-size:0.9rem;line-height:1.5;margin:8px auto 24px;max-width:290px}
.login-input{text-align:left}
.login-btn{padding:13px 16px}
.auth-extra-field{animation:pageFade 0.18s ease}
.auth-error{
  display:none;
  margin:0 0 16px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,107,111,0.18);
  background:rgba(255,107,111,0.09);
  color:#ffd7d8;
  font-size:0.82rem;
  text-align:left
}
.auth-switch-row{
  margin-top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  color:var(--t2);
  font-size:0.84rem
}
.auth-switch-btn{
  border:none;
  background:transparent;
  color:var(--accent);
  cursor:pointer;
  font-family:'Outfit',sans-serif;
  font-weight:600;
  padding:0
}
.auth-switch-btn:disabled,
#auth-submit:disabled{
  opacity:0.6;
  cursor:not-allowed
}
.auth-switch-btn:hover:not(:disabled){color:#8ee9ff}
@media(max-width:760px){
  #sidebar{transform:translateX(calc(var(--sidebar-w) * -1));transition:transform 0.2s ease}
  body.sidebar-open #sidebar{transform:translateX(0)}
  body.sidebar-open .shell-overlay{opacity:1;pointer-events:auto}
  #main{margin-left:0}
  .topbar{padding:14px 16px;min-height:72px}
  .topbar-kicker{display:none}
  .sidebar-toggle{display:inline-flex}
  .market-ticker{display:none}
  .form-row,.calc-grid,.grid-2{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .page-content{padding:18px 14px 24px}
  .topbar-actions .btn{padding-inline:12px}
  .profile-dropdown{right:-4px;width:min(240px,calc(100vw - 32px))}
}
@media(max-width:560px){
  .logo{padding-inline:18px}
  nav{padding-inline:10px}
  .stat-grid{grid-template-columns:1fr}
  .topbar-right{gap:10px}
  .page-content{padding-inline:12px}
}

/* Hide Number Input Spinners */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}

/* ─── Dashboard Command Center ───────────────────────────────────────────── */
.dashboard-shell{display:flex;flex-direction:column;gap:18px}
.mission-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.mission-card,
.dashboard-panel{
  border:1px solid rgba(255,255,255,0.07);
  border-radius:20px;
  background:
    radial-gradient(circle at top right, rgba(58,185,255,0.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)),
    linear-gradient(135deg, rgba(14,18,28,0.98), rgba(16,22,36,0.96));
  box-shadow:0 16px 32px rgba(0,0,0,0.22);
}
.mission-card{padding:18px}
.dashboard-panel{padding:20px 22px}
.mission-label,
.focus-label,
.dashboard-metric span,
.pulse-label{
  display:block;
  font-size:0.72rem;
  color:var(--t3);
  text-transform:uppercase;
  letter-spacing:0.09em
}
.mission-value{display:block;margin-top:10px;font-size:1.4rem;font-weight:600;letter-spacing:-0.03em}
.mission-sub{display:block;margin-top:9px;font-size:0.82rem;color:var(--t2);line-height:1.35}
.is-good{color:var(--profit)}
.is-bad{color:var(--loss)}
.is-accent{color:var(--accent)}
.is-warn{color:var(--warn)}
.is-muted{color:var(--t2)}
.dashboard-focus-bar{
  background:
    radial-gradient(circle at 10% 18%, rgba(255,207,110,0.12), transparent 24%),
    radial-gradient(circle at 90% 10%, rgba(58,185,255,0.14), transparent 22%),
    linear-gradient(140deg, rgba(13,18,29,0.98), rgba(15,23,38,0.96));
}
.focus-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.focus-item{
  border:1px solid rgba(255,255,255,0.06);
  border-radius:16px;
  padding:14px 15px;
  background:rgba(255,255,255,0.025);
  min-width:0
}
.focus-value{display:block;margin-top:8px;font-size:1rem;font-weight:600;line-height:1.25}
.focus-sub{margin-top:7px;color:var(--t2);font-size:0.82rem;line-height:1.35}
.dashboard-alert-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.dashboard-alert{
  display:flex;flex-direction:column;gap:6px;padding:13px 14px;border-radius:16px;border:1px solid rgba(255,255,255,0.05);
  background:rgba(255,255,255,0.025)
}
.dashboard-alert strong{font-size:0.86rem;font-weight:600}
.dashboard-alert span{color:var(--t2);font-size:0.8rem;line-height:1.35}
.dashboard-alert.tone-danger{border-color:rgba(255,107,107,0.28);background:rgba(255,107,107,0.08)}
.dashboard-alert.tone-danger strong{color:var(--loss)}
.dashboard-alert.tone-warn{border-color:rgba(255,184,108,0.24);background:rgba(255,184,108,0.08)}
.dashboard-alert.tone-warn strong{color:var(--warn)}
.dashboard-alert.tone-muted{border-color:rgba(255,255,255,0.05)}
.dashboard-two-up{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr);gap:14px}
.dashboard-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dashboard-metric-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-recovery-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:6px}
.dashboard-metric{
  border:1px solid rgba(255,255,255,0.05);
  border-radius:16px;
  padding:14px 15px;
  background:rgba(255,255,255,0.022);
  min-width:0
}
.dashboard-metric strong{display:block;margin-top:8px;font-size:1.08rem;font-weight:600;line-height:1.2}
.dashboard-metric small{display:block;margin-top:8px;color:var(--t3);font-size:0.79rem;line-height:1.35}
.dashboard-metric-wide{grid-column:1/-1}
.pulse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pulse-card{
  border:1px solid rgba(255,255,255,0.06);
  border-radius:18px;
  padding:16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.015)),
    rgba(255,255,255,0.01)
}
.pulse-value{margin-top:10px;font-size:1.42rem;font-weight:600;letter-spacing:-0.03em}
.pulse-percent{margin-top:6px;font-size:0.96rem;font-weight:500}
.pulse-meta{display:grid;gap:6px;margin-top:12px;color:var(--t2);font-size:0.82rem;line-height:1.3}
.dashboard-chart-wrap{height:270px}
.command-status{display:flex;flex-direction:column;gap:6px}
.command-status small{color:var(--t3);font-size:0.74rem}
.command-badge{
  display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:4px 10px;border-radius:999px;
  font-size:0.7rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase
}
.command-badge.tone-good{background:rgba(46,204,113,0.14);color:var(--profit)}
.command-badge.tone-danger{background:rgba(255,107,107,0.14);color:var(--loss)}
.command-badge.tone-warn{background:rgba(255,184,108,0.15);color:var(--warn)}
.command-badge.tone-muted{background:rgba(255,255,255,0.06);color:var(--t2)}

/* ─── Shared Workspace ───────────────────────────────────────────────────── */
.workspace-shell{display:flex;flex-direction:column;gap:18px}
.workspace-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,0.8fr);
  gap:16px;
  padding:24px 26px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(circle at 14% 18%, rgba(80,215,255,0.14), transparent 26%),
    radial-gradient(circle at 92% 12%, rgba(255,201,107,0.14), transparent 22%),
    linear-gradient(135deg, rgba(12,18,28,0.98), rgba(16,26,42,0.96) 52%, rgba(21,34,53,0.96));
  box-shadow:0 20px 42px rgba(0,0,0,0.28)
}
.workspace-kicker{
  color:var(--accent-2);
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-size:0.72rem
}
.workspace-hero-copy h2{
  margin-top:10px;
  font-size:2rem;
  line-height:1.05;
  letter-spacing:-0.05em;
  max-width:760px
}
.workspace-hero-copy p{
  margin-top:12px;
  color:var(--t2);
  font-size:0.92rem;
  max-width:760px
}
.workspace-hero-stats{display:grid;gap:10px;align-content:start}
.workspace-chip{
  border:1px solid rgba(255,255,255,0.07);
  border-radius:18px;
  padding:14px 15px;
  background:rgba(255,255,255,0.03)
}
.workspace-chip span{
  display:block;
  color:var(--t3);
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.68rem
}
.workspace-chip strong{
  display:block;
  margin-top:7px;
  font-size:0.96rem;
  font-weight:600
}
.workspace-summary-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px
}
.workspace-summary-card{
  border:1px solid rgba(255,255,255,0.06);
  border-radius:18px;
  padding:16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.014)),
    rgba(255,255,255,0.01)
}
.workspace-summary-label{
  display:block;
  color:var(--t3);
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.68rem
}
.workspace-summary-card strong{
  display:block;
  margin-top:10px;
  font-size:1.06rem;
  font-weight:600;
  line-height:1.25
}
.workspace-summary-card small{
  display:block;
  margin-top:8px;
  color:var(--t2);
  font-size:0.8rem;
  line-height:1.35
}
.workspace-two-up{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.workspace-panel{
  border:1px solid rgba(255,255,255,0.07);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)),
    linear-gradient(135deg, rgba(14,18,28,0.98), rgba(17,28,43,0.95));
  padding:20px 22px;
  box-shadow:var(--shadow-soft)
}
.workspace-table-panel .table-wrap{margin-top:2px}
.onboarding-shell{padding-bottom:16px}
.onboarding-panel{display:flex;flex-direction:column;gap:18px}
.onboarding-step-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.onboarding-step{
  border:1px solid rgba(255,255,255,0.06);
  border-radius:18px;
  padding:12px 14px;
  background:rgba(255,255,255,0.025);
  display:flex;
  align-items:center;
  gap:10px
}
.onboarding-step span{
  width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.06);color:var(--t2);font-size:0.78rem;font-weight:600;flex-shrink:0
}
.onboarding-step strong{font-size:0.86rem;font-weight:600}
.onboarding-step.is-active{border-color:rgba(80,215,255,0.2);background:rgba(80,215,255,0.08)}
.onboarding-step.is-active span{background:var(--accent);color:#04111b}
.onboarding-step.is-done{border-color:rgba(85,212,156,0.2);background:rgba(85,212,156,0.08)}
.onboarding-step.is-done span{background:var(--profit);color:#04110c}
.onboarding-form-grid{display:grid;grid-template-columns:minmax(220px,420px);gap:14px}
.onboarding-actions{display:flex;gap:12px;flex-wrap:wrap}
.onboarding-upload-card{
  display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:18px;border:1px dashed rgba(255,255,255,0.12);
  background:linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015))
}
.onboarding-upload-note{max-width:640px}
.onboarding-callout{
  padding:14px 16px;border-radius:16px;border:1px solid rgba(80,215,255,0.18);background:rgba(80,215,255,0.08);color:var(--t1)
}
.onboarding-warning-list{display:flex;flex-direction:column;gap:8px}
.onboarding-warning-item{
  padding:11px 13px;border-radius:14px;border:1px solid rgba(255,184,104,0.18);background:rgba(255,184,104,0.08);color:#ffe2b5
}
.onboarding-table-note{margin-top:10px}

/* ─── Portfolio Workspace ────────────────────────────────────────────────── */
.portfolio-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.portfolio-command-card{
  border:1px solid rgba(255,255,255,0.07);
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,0.022);
  box-shadow:var(--shadow-soft)
}
.portfolio-command-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.portfolio-command-sub{margin-top:4px;color:var(--t2);font-size:0.82rem}
.portfolio-command-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.portfolio-command-metrics .port-row{
  margin-bottom:0;
  border:1px solid rgba(255,255,255,0.05);
  border-radius:16px;
  padding:10px 12px;
  background:rgba(255,255,255,0.018);
  flex-direction:column;
  align-items:flex-start;
  gap:4px
}
.portfolio-command-metrics .port-row-val{font-weight:600}
.portfolio-command-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-end;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,0.06)
}
.portfolio-command-levels{display:flex;flex-direction:column;gap:6px;color:var(--t2);font-size:0.8rem}

/* ─── Calculator Workspace ───────────────────────────────────────────────── */
.calc-preset-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.calculator-result-card{box-shadow:var(--shadow-soft)}
.calculator-note{margin-top:14px;color:var(--t3);font-size:0.8rem;line-height:1.4}
.calculator-hints{display:grid;gap:10px;margin-top:14px}
.calculator-hint{
  border:1px solid rgba(255,255,255,0.06);
  border-radius:18px;
  padding:13px 14px;
  background:rgba(255,255,255,0.02)
}
.calculator-hint strong{display:block;font-size:0.86rem;font-weight:600}
.calculator-hint span{display:block;margin-top:6px;color:var(--t2);font-size:0.8rem;line-height:1.35}
.calculator-hint.tone-good{border-color:rgba(85,212,156,0.2);background:rgba(85,212,156,0.08)}
.calculator-hint.tone-good strong{color:var(--profit)}
.calculator-hint.tone-danger{border-color:rgba(255,107,111,0.22);background:rgba(255,107,111,0.08)}
.calculator-hint.tone-danger strong{color:var(--loss)}
.calculator-hint.tone-warn{border-color:rgba(255,184,108,0.2);background:rgba(255,184,108,0.08)}
.calculator-hint.tone-warn strong{color:var(--warn)}
.calculator-hint.tone-muted strong{color:var(--t1)}

/* ─── Calendar Workspace ─────────────────────────────────────────────────── */
.cal-nav-group{display:flex;align-items:center;gap:12px}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--t2);font-size:0.8rem}
.cal-legend span{display:inline-flex;align-items:center;gap:7px}
.cal-legend-box{width:12px;height:12px;border-radius:4px;border:1px solid rgba(255,255,255,0.08);display:inline-block}
.cal-legend-green{background:rgba(85,212,156,0.16)}
.cal-legend-red{background:rgba(255,107,111,0.16)}
.cal-legend-flat{background:rgba(255,255,255,0.05)}
.cal-positive{background:rgba(85,212,156,0.08);border-color:rgba(85,212,156,0.16)}
.cal-negative{background:rgba(255,107,111,0.08);border-color:rgba(255,107,111,0.16)}

/* ─── Trades Workspace ───────────────────────────────────────────────────── */
.trades-shell{display:flex;flex-direction:column;gap:18px}
.trades-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,0.8fr);
  gap:16px;
  padding:24px 26px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(circle at 14% 18%, rgba(80,215,255,0.14), transparent 26%),
    radial-gradient(circle at 92% 12%, rgba(255,201,107,0.14), transparent 22%),
    linear-gradient(135deg, rgba(12,18,28,0.98), rgba(16,26,42,0.96) 52%, rgba(21,34,53,0.96));
  box-shadow:0 20px 42px rgba(0,0,0,0.28)
}
.trades-kicker{
  color:var(--accent-2);
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-size:0.72rem
}
.trades-hero-copy h2{
  margin-top:10px;
  font-size:2rem;
  line-height:1.05;
  letter-spacing:-0.05em;
  max-width:720px
}
.trades-hero-copy p{
  margin-top:12px;
  color:var(--t2);
  font-size:0.92rem;
  max-width:720px
}
.trades-hero-aside{display:grid;gap:10px;align-content:start}
.trades-hero-chip{
  border:1px solid rgba(255,255,255,0.07);
  border-radius:18px;
  padding:14px 15px;
  background:rgba(255,255,255,0.03)
}
.trades-hero-chip span{
  display:block;
  color:var(--t3);
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.68rem
}
.trades-hero-chip strong{
  display:block;
  margin-top:7px;
  font-size:0.96rem;
  font-weight:600
}
.trades-filter-board,
.trades-ledger-card{
  border:1px solid rgba(255,255,255,0.07);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)),
    linear-gradient(135deg, rgba(14,18,28,0.98), rgba(17,28,43,0.95));
  padding:20px 22px;
  box-shadow:var(--shadow-soft)
}
.trades-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:end
}
.trades-filter-item{min-width:0}
.trades-filter-item-wide{grid-column:span 2}
.trades-filter-label{
  display:block;
  margin-bottom:7px;
  color:var(--t3);
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.68rem
}
.trades-filter-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  color:var(--t2);
  font-size:0.82rem
}
.trades-summary-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px
}
.trades-summary-card{
  border:1px solid rgba(255,255,255,0.06);
  border-radius:18px;
  padding:16px 16px;
  background:rgba(255,255,255,0.022)
}
.trades-summary-label{
  display:block;
  color:var(--t3);
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.68rem
}
.trades-summary-card strong{
  display:block;
  margin-top:10px;
  font-size:1.06rem;
  font-weight:600;
  line-height:1.25
}
.trades-summary-card small{
  display:block;
  margin-top:8px;
  color:var(--t2);
  font-size:0.8rem;
  line-height:1.35
}
.trade-cell-stack{display:flex;flex-direction:column;gap:2px;min-width:0}
.trade-cell-stack strong{font-weight:600;line-height:1.2}
.trade-cell-stack small{
  color:var(--t3);
  font-size:0.74rem;
  line-height:1.3;
  white-space:normal
}

@media(max-width:1320px){
  .mission-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .focus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .workspace-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trades-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1080px){
  .dashboard-two-up{grid-template-columns:1fr}
  .dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pulse-grid{grid-template-columns:1fr}
  .workspace-hero{grid-template-columns:1fr}
  .workspace-two-up{grid-template-columns:1fr}
  .portfolio-command-footer{flex-direction:column;align-items:flex-start}
  .trades-hero{grid-template-columns:1fr}
  .trades-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .mission-grid,
  .focus-grid,
  .dashboard-metric-grid,
  .dashboard-metric-grid-compact,
  .dashboard-recovery-grid{grid-template-columns:1fr 1fr}
  .dashboard-panel{padding:18px 16px}
  .dashboard-chart-wrap{height:230px}
  .workspace-hero,
  .workspace-panel{padding:18px 16px}
  .workspace-summary-grid{grid-template-columns:1fr 1fr}
  .portfolio-command-metrics{grid-template-columns:1fr}
  .cal-header{flex-direction:column;align-items:flex-start}
  .trades-hero,
  .trades-filter-board,
  .trades-ledger-card{padding:18px 16px}
  .trades-summary-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:560px){
  .mission-grid,
  .focus-grid,
  .dashboard-metric-grid,
  .dashboard-metric-grid-compact,
  .dashboard-recovery-grid{grid-template-columns:1fr}
  .dashboard-alert-list{grid-template-columns:1fr}
  .workspace-summary-grid{grid-template-columns:1fr}
  .calc-preset-row{display:grid;grid-template-columns:1fr 1fr}
  .trades-filter-grid,
  .trades-summary-grid{grid-template-columns:1fr}
  .trades-filter-item-wide{grid-column:auto}
  .trades-filter-meta{flex-direction:column;align-items:flex-start}
  .trades-hero-copy h2{font-size:1.6rem}
}

/* ─── TradeLog.Club ─────────────────────────────────────────────────────── */
.club-loading{
  min-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:32px;border:1px solid rgba(255,255,255,0.08);
  border-radius:20px;background:
    radial-gradient(circle at top right, rgba(255,210,122,0.20), transparent 32%),
    radial-gradient(circle at bottom left, rgba(46,196,255,0.18), transparent 28%),
    linear-gradient(135deg, rgba(13,18,29,0.95), rgba(15,24,40,0.92));
}
.club-loading-title{font-size:1.5rem;font-weight:600;letter-spacing:-0.03em}
.club-loading-sub{margin-top:8px;color:var(--t2);max-width:560px}
.club-shell{display:flex;flex-direction:column;gap:18px}
.club-hero{
  display:grid;grid-template-columns:1.45fr 1fr;gap:18px;padding:28px;border-radius:24px;border:1px solid rgba(255,255,255,0.08);overflow:hidden;position:relative;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,207,110,0.18), transparent 26%),
    radial-gradient(circle at 82% 24%, rgba(58,185,255,0.18), transparent 22%),
    linear-gradient(135deg, rgba(12,17,28,0.98), rgba(15,22,36,0.96) 45%, rgba(21,31,49,0.96));
  box-shadow:0 20px 40px rgba(0,0,0,0.28);
}
.club-hero::after{
  content:'';position:absolute;inset:0;background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.05) 45%, transparent 70%);pointer-events:none
}
.club-hero-copy h2{font-size:2rem;line-height:1;letter-spacing:-0.04em}
.club-hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.club-hero-label{font-size:0.76rem;text-transform:uppercase;letter-spacing:0.18em;color:#ffd886;margin-bottom:16px}
.club-hero-identity{display:flex;align-items:center;gap:14px;justify-content:center}
.club-hero-avatar{width:56px;height:56px;font-size:1.2rem;border-radius:18px}
.club-hero-user{margin-top:6px;color:var(--t2);font-size:0.98rem}
.club-hero-side{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:start}
.club-hero-stat{
  border:1px solid rgba(255,255,255,0.07);border-radius:18px;padding:14px 15px;background:rgba(255,255,255,0.03);backdrop-filter:blur(6px)
}
.club-hero-stat span{display:block;font-size:0.72rem;color:var(--t3);text-transform:uppercase;letter-spacing:0.08em}
.club-hero-stat strong{display:block;margin-top:7px;font-size:1.05rem;font-weight:600}
.club-hero-side .club-spark{grid-column:1/-1}
.club-spark{width:100%;height:52px;margin-top:12px}
.club-spark-pos{color:#8af0c2}
.club-spark-neg{color:#ff9ea0}
.club-controlbar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,0.05);
  background:linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015))
}
.club-periods{display:flex;gap:8px;flex-wrap:wrap}
.club-period-chip{
  border:none;border-radius:999px;padding:8px 14px;background:rgba(255,255,255,0.05);color:var(--t2);cursor:pointer;font-family:'Outfit',sans-serif;font-size:0.82rem;transition:all 0.18s
}
.club-period-chip.active{background:linear-gradient(120deg, rgba(255,207,110,0.2), rgba(58,185,255,0.22));color:#fff;box-shadow:0 6px 18px rgba(0,0,0,0.18)}
.club-sortbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.club-sort-label{color:var(--t2);font-size:0.82rem;text-transform:uppercase;letter-spacing:0.1em}
.club-sort-select{min-width:220px}
.club-card-grid{display:flex;flex-direction:column;gap:14px;align-content:start}
.club-card,.club-panel{
  border:1px solid rgba(255,255,255,0.06);border-radius:20px;background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)),
    linear-gradient(135deg, rgba(14,18,28,0.98), rgba(16,22,36,0.96));
  padding:18px;box-shadow:0 14px 28px rgba(0,0,0,0.2)
}
.club-card-row{display:grid;grid-template-columns:minmax(220px,0.95fr) minmax(180px,0.75fr) minmax(460px,1.7fr);gap:18px;align-items:start}
.club-row-identity{display:flex;align-items:flex-start;gap:12px}
.club-row-copy{min-width:0}
.club-rank{
  width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.88rem;color:#111;
  background:linear-gradient(135deg, #ffd98c, #8ce6ff)
}
.club-avatar{
  width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;
  background:linear-gradient(135deg, rgba(255,207,110,0.24), rgba(58,185,255,0.24));color:#fff
}
.club-card-name{font-weight:600;font-size:1rem}
.club-card-user{font-size:0.78rem;color:var(--t3);margin-top:2px}
.club-card-style{margin-top:14px;color:#ffd886;font-size:0.88rem;font-weight:500}
.club-row-chart{min-width:0}
.club-row-chart .club-spark{margin-top:0;height:62px}
.club-card-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:0}
.club-card-metrics div{
  border:1px solid rgba(255,255,255,0.05);border-radius:14px;padding:10px 11px;background:rgba(255,255,255,0.025)
}
.club-card-metrics span,.club-rank-meta small{display:block;color:var(--t3);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em}
.club-card-metrics strong,.club-rank-meta strong{display:block;margin-top:6px}
.club-hero-extra,
.club-card-extra{
  grid-column:1/-1;color:var(--t2);font-size:0.84rem;padding-top:6px
}
.club-hero-extra strong,
.club-card-extra strong{color:#fff;font-weight:600}
@media(max-width:1180px){
  .club-hero,.club-card-row{grid-template-columns:1fr}
  .club-hero-copy h2{font-size:1.7rem}
  .club-sortbar{justify-content:flex-start;margin-top:12px}
  .club-hero-side,
  .club-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .onboarding-step-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .club-controlbar{grid-template-columns:1fr;display:block}
  .club-hero,.club-card,.club-panel{padding:16px}
  .club-hero-side,.club-card-metrics{grid-template-columns:1fr 1fr}
  .club-periods{display:grid;grid-template-columns:1fr 1fr}
  .club-sort-select{min-width:0;width:100%}
  .club-hero-extra,
  .club-card-extra{font-size:0.8rem}
  .onboarding-step-row,
  .onboarding-form-grid{grid-template-columns:1fr}
  .nav-item-locked::after{display:none}
}
