:root {
  color-scheme: dark;
  --bg: #071019;
  --panel: #0d1824;
  --panel-2: #111f2e;
  --line: #26384b;
  --text: #f4f8fb;
  --muted: #8b9db0;
  --accent: #2de2c5;
  --accent-2: #5e8cff;
  --danger: #ff7285;
  --warning: #ffc857;
  --success: #46dfad;
  font-family: Inter, Pretendard, "Noto Sans KR", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 14% 0%, rgba(45, 226, 197, .12), transparent 30rem),
    radial-gradient(circle at 95% 10%, rgba(94, 140, 255, .11), transparent 28rem),
    var(--bg);
  color: var(--text);
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }

.shell { width: min(1160px, calc(100% - 32px)); margin: 0 auto; }
.topbar { height: 78px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img { width: 42px; height: 42px; object-fit: contain; }
.brand strong { display: block; letter-spacing: .09em; font-size: 17px; }
.brand small { display: block; margin-top: 2px; color: #60758b; font-size: 9px; letter-spacing: .15em; }
.secure { color: var(--muted); font-size: 12px; }
.secure::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 12px var(--success); }

.auth-layout { min-height: calc(100vh - 78px); display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 64px; padding: 44px 0 80px; }
.auth-layout > *, .field-grid > *, .card { min-width: 0; }
.hero-copy h1 { margin: 0 0 18px; max-width: 560px; font-size: clamp(36px, 5vw, 64px); line-height: 1.08; letter-spacing: -.04em; }
.hero-copy h1 span { color: var(--accent); }
.hero-copy p { max-width: 540px; color: var(--muted); line-height: 1.8; }
.steps { display: grid; gap: 12px; margin-top: 32px; }
.step { display: flex; align-items: center; gap: 13px; color: #b8c6d4; font-size: 13px; }
.step b { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(45, 226, 197, .35); border-radius: 9px; color: var(--accent); background: rgba(45, 226, 197, .08); font-size: 11px; }

.card { border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(145deg, rgba(17,31,46,.96), rgba(10,20,31,.97)); box-shadow: 0 28px 80px rgba(0,0,0,.35); }
.form-card { position: relative; overflow: hidden; padding: clamp(26px, 4vw, 42px); }
.form-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent); opacity: .8; }
.eyebrow { margin: 0 0 10px; color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.form-card h2 { margin: 0; font-size: 27px; letter-spacing: -.025em; }
.form-card .desc { margin: 11px 0 26px; color: var(--muted); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.form-card .desc strong { color: #b8c8d8; font-weight: 600; }
.form-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.form-status { display: inline-flex; align-items: center; gap: 7px; flex: none; margin-top: 2px; padding: 7px 10px; border: 1px solid rgba(45,226,197,.22); border-radius: 999px; color: #9bead9; background: rgba(45,226,197,.07); font-size: 10px; font-weight: 700; }
.form-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 9px rgba(45,226,197,.8); }
.form-section { margin-top: 27px; padding-top: 25px; border-top: 1px solid rgba(43,62,82,.7); }
.section-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 17px; }
.section-heading > span { display: grid; place-items: center; width: 30px; height: 30px; flex: none; border: 1px solid rgba(94,140,255,.25); border-radius: 9px; color: #a9bfff; background: rgba(94,140,255,.08); font-size: 10px; font-weight: 800; }
.section-heading h3 { margin: 0; color: #e8f0f7; font-size: 14px; letter-spacing: -.01em; }
.section-heading p { margin: 3px 0 0; color: #6f8296; font-size: 10px; }
.field-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 17px 14px; }
.field.full { grid-column: 1 / -1; }
.field label { display: flex; align-items: center; gap: 7px; margin: 0 0 8px 2px; color: #b5c3d1; font-size: 11px; font-weight: 600; }
.field label i { color: #668099; font-size: 9px; font-style: normal; font-weight: 500; }
.field input, .field select, .field textarea {
  width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #2b3e52; border-radius: 12px;
  outline: none; background: rgba(6,15,24,.82); color: var(--text); transition: border-color .18s, box-shadow .18s, background .18s;
}
.field input::placeholder, .field textarea::placeholder { color: #52657a; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: #3a5067; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--accent); background: #091722; box-shadow: 0 0 0 3px rgba(45,226,197,.1); }
.referral-field { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .8fr); align-items: end; gap: 18px; padding: 16px; border: 1px solid rgba(45,226,197,.2); border-radius: 15px; background: linear-gradient(120deg, rgba(45,226,197,.075), rgba(94,140,255,.045)); }
.referral-copy { display: flex; align-items: center; gap: 12px; min-width: 0; }
.referral-copy > span { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 11px; color: #06201b; background: var(--accent); font-size: 10px; font-weight: 900; }
.referral-copy label { margin-bottom: 3px; }
.referral-copy small { display: block; color: #71869a; font-size: 10px; line-height: 1.4; }
.check { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; color: #9dafc0; font-size: 12px; line-height: 1.55; }
.check input { width: 17px; height: 17px; margin-top: 1px; accent-color: var(--accent); }
.check span { min-width: 0; overflow-wrap: anywhere; }
.primary, .secondary, .danger-btn, .ghost {
  min-height: 46px; padding: 0 18px; border-radius: 11px; font-weight: 700; border: 0;
}
.primary { width: 100%; background: var(--accent); color: #061512; }
.primary:hover { filter: brightness(1.06); }
.primary:disabled { opacity: .55; cursor: wait; }
.secondary { background: #1a2c40; color: #d6e2ed; border: 1px solid #30465c; }
.danger-btn { background: rgba(255,114,133,.12); color: #ff91a0; border: 1px solid rgba(255,114,133,.3); }
.ghost { background: transparent; color: var(--muted); border: 1px solid var(--line); }
.message { display: none; margin: 16px 0 0; padding: 12px 14px; border-radius: 10px; font-size: 12px; line-height: 1.55; }
.message.show { display: block; }
.message.error { color: #ffadba; background: rgba(255,114,133,.1); border: 1px solid rgba(255,114,133,.22); }
.message.success { color: #8cf0cf; background: rgba(70,223,173,.09); border: 1px solid rgba(70,223,173,.22); }

.state { display: none; padding: 36px 20px; text-align: center; }
.state.show { display: block; }
.state-icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 20px; border-radius: 22px; background: rgba(45,226,197,.1); color: var(--accent); font-size: 30px; }
.state h2 { margin: 0 0 10px; }
.state p { margin: 0 auto; max-width: 440px; color: var(--muted); font-size: 13px; line-height: 1.8; }

.admin-wrap { padding-bottom: 70px; }
.admin-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 36px 0 24px; }
.admin-head h1 { margin: 0 0 7px; font-size: 32px; }
.admin-head p { margin: 0; color: var(--muted); font-size: 13px; }
.toolbar { display: flex; gap: 9px; align-items: center; }
.toolbar select { min-height: 42px; padding: 0 36px 0 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); color: var(--text); }
.count-pill { display: inline-grid; min-width: 24px; height: 24px; place-items: center; margin-left: 7px; border-radius: 999px; background: var(--danger); color: #fff; font-size: 11px; }
.table-card { overflow: hidden; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 880px; }
th { padding: 15px 18px; background: #101e2c; color: #71869a; text-align: left; font-size: 10px; letter-spacing: .08em; }
td { padding: 17px 18px; border-top: 1px solid #1e3041; color: #c6d3df; font-size: 12px; vertical-align: middle; }
.person strong { display: block; color: var(--text); font-size: 13px; }
.person small { display: block; margin-top: 4px; color: var(--muted); }
.badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; font-size: 10px; font-weight: 700; }
.badge.pending { color: #ffd987; background: rgba(255,200,87,.1); }
.badge.in_progress { color: #72e4d0; background: rgba(45,226,197,.1); }
.badge.cancelled { color: #9aaabd; background: rgba(154,170,189,.1); }
.badge.approved { color: #8cf0cf; background: rgba(70,223,173,.1); }
.badge.rejected, .badge.expired { color: #ff9cac; background: rgba(255,114,133,.1); }
.badge.created { color: #96b6ff; background: rgba(94,140,255,.1); }
.actions { display: flex; gap: 7px; }
.actions button { min-height: 34px; padding: 0 12px; border-radius: 8px; font-size: 11px; }
.empty { padding: 70px 20px; text-align: center; color: var(--muted); }
.login-card { width: min(460px, calc(100% - 32px)); margin: 10vh auto 0; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 20; max-width: 360px; padding: 15px 18px; border: 1px solid #315064; border-radius: 12px; background: #102231; box-shadow: 0 18px 50px rgba(0,0,0,.4); transform: translateX(calc(100% + 40px)); transition: transform .3s ease; font-size: 12px; }
.toast.show { transform: translateX(0); }
.hidden { display: none !important; }

@media (max-width: 860px) {
  .auth-layout { grid-template-columns: 1fr; gap: 34px; padding-top: 20px; }
  .hero-copy { text-align: center; }
  .hero-copy p { margin-left: auto; margin-right: auto; }
  .steps { width: fit-content; margin-left: auto; margin-right: auto; text-align: left; }
  .hero-copy h1 { max-width: none; font-size: 38px; }
  .admin-head { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .shell { width: min(100% - 22px, 1160px); }
  .topbar { height: 68px; }
  .secure { display: none; }
  .auth-layout { padding-bottom: 36px; }
  .hero-copy h1 { font-size: 32px; }
  .hero-copy p { font-size: 13px; }
  .field-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .form-card { border-radius: 17px; padding: 24px 18px; }
  .form-heading { align-items: center; }
  .form-status { padding: 6px 9px; }
  .referral-field { grid-template-columns: 1fr; align-items: stretch; gap: 14px; padding: 14px; }
  .form-section { margin-top: 23px; padding-top: 22px; }
  .toolbar { width: 100%; }
  .toolbar select { flex: 1; }
  .toast { left: 12px; right: 12px; bottom: 12px; max-width: none; }
}

/* NovaTrade administrator console */
.admin-body { background: radial-gradient(circle at 8% 0%, rgba(45,226,197,.08), transparent 28rem), #071019; }
.admin-topbar { width: min(1440px, calc(100% - 40px)); }
.admin-console { width: min(1440px, calc(100% - 40px)); margin: 18px auto 56px; display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 30px; align-items: start; }
.admin-console > * { min-width: 0; }
.admin-sidebar { position: sticky; top: 18px; min-height: calc(100vh - 116px); padding: 20px 14px; border: 1px solid #203449; border-radius: 20px; background: linear-gradient(180deg,rgba(14,28,41,.97),rgba(8,18,28,.98)); box-shadow: 0 24px 70px rgba(0,0,0,.25); display: flex; flex-direction: column; }
.sidebar-title { padding: 7px 10px 19px; border-bottom: 1px solid rgba(43,62,82,.65); }
.sidebar-title small { display: block; margin-bottom: 5px; color: var(--accent); font-size: 9px; letter-spacing: .16em; }
.sidebar-title strong { font-size: 18px; }
.admin-nav { display: grid; gap: 7px; margin-top: 17px; }
.admin-nav button { display: flex; align-items: center; gap: 11px; min-height: 45px; padding: 0 13px; border: 1px solid transparent; border-radius: 11px; color: #8fa3b7; background: transparent; text-align: left; font-size: 12px; font-weight: 650; transition: .18s ease; }
.admin-nav button:hover { color: #d9e5ef; background: rgba(255,255,255,.025); }
.admin-nav button.active { color: #dffbf5; border-color: rgba(45,226,197,.2); background: linear-gradient(90deg,rgba(45,226,197,.12),rgba(45,226,197,.035)); }
.admin-nav button span { display: grid; place-items: center; width: 22px; color: var(--accent); font-size: 15px; }
.admin-nav button b { min-width: 20px; margin-left: auto; padding: 3px 6px; border-radius: 999px; color: #fff; background: var(--danger); text-align: center; font-size: 9px; }
.sidebar-foot { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 16px 10px 5px; color: #60768a; font-size: 10px; line-height: 1.5; }
.sidebar-foot i { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 12px rgba(70,223,173,.8); }
.sidebar-foot strong { color: #93b9aa; }
.admin-content { min-width: 0; }
.content-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 3px 0 25px; }
.content-head h1 { margin: 0 0 7px; font-size: clamp(25px,3vw,34px); letter-spacing: -.035em; }
.content-head p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; }
.admin-view { display: none; }
.admin-view.show { display: block; animation: adminFade .22s ease; }
@keyframes adminFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.balance-refresh-row { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 34px; margin: -9px 0 10px; }
.balance-refresh-row span { color: #677d91; font-size: 9px; }
.balance-refresh-row button { min-height: 32px; padding: 0 11px; font-size: 9px; }
.metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.metric-card { position: relative; overflow: hidden; min-height: 132px; padding: 21px; border: 1px solid #20354a; border-radius: 17px; background: linear-gradient(145deg,rgba(17,31,46,.97),rgba(9,20,30,.98)); box-shadow: 0 16px 45px rgba(0,0,0,.16); }
.metric-card::after { content: ""; position: absolute; right: -24px; top: -28px; width: 96px; height: 96px; border-radius: 50%; background: rgba(94,140,255,.07); }
.metric-card.accent::after { background: rgba(45,226,197,.1); }
.metric-card.warning::after { background: rgba(255,200,87,.1); }
.metric-card.danger::after { background: rgba(255,114,133,.09); }
.metric-card.asset { border-color: rgba(45,226,197,.25); background: linear-gradient(145deg,rgba(14,39,47,.97),rgba(8,24,34,.98)); }
.metric-card.asset.usdc { border-color: rgba(94,140,255,.28); background: linear-gradient(145deg,rgba(19,34,56,.97),rgba(9,22,37,.98)); }
.metric-card.asset strong { overflow: hidden; color: #aaf8e9; font-size: clamp(22px,2.4vw,30px); text-overflow: ellipsis; white-space: nowrap; }
.metric-card.asset.usdc strong { color: #b7c8ff; }
.metric-card span { display: block; color: #8fa2b5; font-size: 11px; }
.metric-card strong { display: block; margin: 10px 0 5px; font-size: 30px; letter-spacing: -.03em; }
.metric-card small { color: #60768b; font-size: 10px; }
.dashboard-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.panel { min-height: 330px; padding: 22px; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.panel-head h2 { margin: 0; font-size: 16px; }
.panel-head p { margin: 5px 0 0; color: #6f8397; font-size: 10px; }
.text-button { padding: 4px; border: 0; color: var(--accent); background: transparent; font-size: 10px; }
.compact-list { display: grid; }
.compact-row { width: 100%; min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 12px 4px; border: 0; border-top: 1px solid rgba(37,55,73,.65); color: #cad7e2; background: transparent; text-align: left; }
.compact-row:first-child { border-top: 0; }
button.compact-row:hover { padding-left: 8px; color: #fff; }
.compact-row > span:not(.avatar) { min-width: 0; }
.compact-row strong,.compact-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-row strong { font-size: 11px; }
.compact-row small { margin-top: 4px; color: #687e92; font-size: 9px; }
.compact-row em { color: #90a4b7; font-size: 10px; font-style: normal; white-space: nowrap; }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(45,226,197,.18); border-radius: 10px; color: var(--accent); background: rgba(45,226,197,.07); font-size: 11px; font-weight: 800; }
.activity-dot { width: 8px; height: 8px; margin-left: 13px; border-radius: 50%; background: var(--accent-2); box-shadow: 0 0 10px rgba(94,140,255,.5); }
.compact-empty { padding: 60px 12px; color: var(--muted); text-align: center; font-size: 11px; }
.list-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 13px; border-radius: 15px; }
.list-toolbar select,.detail-form select { min-height: 42px; padding: 0 34px 0 12px; border: 1px solid #2b3e52; border-radius: 10px; outline: none; color: #cbd8e4; background: #09131e; font-size: 11px; }
.search-field { flex: 1; min-width: 210px; display: flex; align-items: center; gap: 9px; height: 42px; padding: 0 12px; border: 1px solid #2b3e52; border-radius: 10px; background: #09131e; }
.search-field span { color: #6e8397; }
.search-field input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 11px; }
.table-title { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #1e3041; }
.table-title strong { font-size: 13px; }
.table-title span { color: #708499; font-size: 10px; }
.management-table { min-width: 980px; }
.management-table th { padding: 14px 16px; }
.management-table td { padding: 15px 16px; }
.clickable-row { cursor: pointer; transition: background .15s; }
.clickable-row:hover { background: rgba(45,226,197,.035); }
.role-badge { display: inline-flex; padding: 6px 9px; border-radius: 8px; color: #9eb5c9; background: rgba(126,153,178,.09); font-size: 9px; font-weight: 700; }
.role-badge.partner { color: #a8bfff; background: rgba(94,140,255,.1); }
.role-badge.admin,.role-badge.master { color: #8ce9cc; background: rgba(45,226,197,.09); }
.pagination { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 14px; border-top: 1px solid #1e3041; }
.pagination button { min-height: 33px; padding: 0 12px; font-size: 10px; }
.pagination span { min-width: 60px; color: #8094a8; text-align: center; font-size: 10px; }
.pagination button:disabled { opacity: .35; cursor: default; }
.partner-actions { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.compact-primary { width: auto; min-height: 40px; padding: 0 17px; font-size: 11px; }
.inline-create { margin-bottom: 14px; padding: 22px; }
.partner-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.form-actions button { width: auto; }
.enrollment-toolbar { justify-content: space-between; }
.enrollment-toolbar span { color: #8da1b5; font-size: 11px; }
.enrollment-toolbar b { color: var(--warning); }
.login-gap { margin-top: 16px; }
.login-submit { margin-top: 22px; }
.drawer-backdrop { position: fixed; inset: 0; z-index: 49; background: rgba(2,8,13,.7); backdrop-filter: blur(3px); }
.detail-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 50; width: min(820px,calc(100% - 28px)); overflow-y: auto; border-left: 1px solid #294157; background: #08131e; box-shadow: -30px 0 90px rgba(0,0,0,.45); transform: translateX(102%); transition: transform .28s ease; }
.detail-drawer.open { transform: translateX(0); }
.drawer-open { overflow: hidden; }
.drawer-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 27px 30px 22px; border-bottom: 1px solid #20354a; background: rgba(8,19,30,.94); backdrop-filter: blur(14px); }
.drawer-head h2 { margin: 0; font-size: 24px; }
.drawer-head p:not(.eyebrow) { margin: 6px 0 0; color: #778ca0; font-size: 11px; }
.drawer-close { width: 36px; height: 36px; padding: 0; border: 1px solid #2a4054; border-radius: 10px; color: #a7b8c7; background: #0d1c29; font-size: 24px; line-height: 1; }
.drawer-loading { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 14px; color: #8498aa; font-size: 11px; }
.spinner { width: 34px; height: 34px; border: 3px solid rgba(45,226,197,.15); border-top-color: var(--accent); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.member-summary { display: grid; grid-template-columns: auto minmax(150px,1fr) minmax(300px,1.4fr); align-items: center; gap: 17px; padding: 25px 30px; border-bottom: 1px solid #1e3041; }
.large-avatar { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; color: #06221c; background: linear-gradient(145deg,var(--accent),#67f0d8); font-size: 19px; font-weight: 900; }
.member-summary > div > strong { font-size: 15px; }
.member-summary > div > p { display: flex; gap: 6px; margin: 7px 0 0; }
.member-summary dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; }
.member-summary dl div { min-width: 0; padding: 10px; border-radius: 9px; background: rgba(18,34,49,.7); }
.member-summary dt { color: #60758a; font-size: 8px; }
.member-summary dd { overflow: hidden; margin: 5px 0 0; color: #c1cfdb; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.detail-metrics { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; padding: 18px 30px; }
.detail-metrics div { padding: 13px; border: 1px solid #1d3143; border-radius: 11px; background: #0c1a27; }
.detail-metrics span,.detail-metrics strong { display: block; }
.detail-metrics span { color: #6e8296; font-size: 8px; }
.detail-metrics strong { margin-top: 7px; font-size: 17px; }
.detail-section { margin: 0 30px; padding: 25px 0; border-top: 1px solid #1e3041; }
.detail-title { margin-bottom: 16px; }
.detail-title h3 { margin: 0; font-size: 14px; }
.detail-title p { margin: 5px 0 0; color: #6d8195; font-size: 9px; }
.detail-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.detail-form .detail-save { grid-column: 1/-1; min-height: 42px; }
.detail-table-scroll { overflow-x: auto; border: 1px solid #1e3143; border-radius: 12px; }
.detail-table { width: 100%; min-width: 580px; border-collapse: collapse; }
.detail-table.wide { min-width: 690px; }
.detail-table.trades { min-width: 780px; }
.detail-table th { padding: 11px 13px; color: #60778b; background: #0c1b28; text-align: left; font-size: 8px; }
.detail-table td { padding: 12px 13px; border-top: 1px solid #1a2d3e; color: #aebdca; font-size: 9px; vertical-align: middle; }
.detail-table .person strong { font-size: 10px; }
.detail-table td > small { display: block; margin-top: 4px; }
.positive { color: #55e0b2 !important; }
.negative { color: #ff8797 !important; }
.message-cell { max-width: 210px; overflow-wrap: anywhere; }
.sub-empty { padding: 34px !important; color: #6b8094 !important; text-align: center; }
.password-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 10px; }
.password-form button { min-height: 50px; white-space: nowrap; }
.security-section { padding-bottom: 45px; }
.protected-note { margin: 12px 0 0; color: var(--warning); font-size: 9px; }
.account-control-box { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px; border: 1px solid rgba(255,114,133,.2); border-radius: 12px; background: rgba(255,114,133,.045); }
.account-control-box strong,.account-control-box small { display: block; }
.account-control-box strong { color: #d9e4ed; font-size: 11px; }
.account-control-box small { margin-top: 5px; color: #75899c; font-size: 9px; line-height: 1.5; }
.account-control-box button { min-height: 36px; padding: 0 13px; white-space: nowrap; font-size: 9px; }
.balance-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.balance-title button { min-height: 34px; padding: 0 11px; font-size: 9px; white-space: nowrap; }
.balance-loading,.balance-error-block { padding: 32px 14px; border: 1px solid #1e3244; border-radius: 12px; color: #71869a; background: #0a1824; text-align: center; font-size: 10px; }
.balance-error-block { color: #ff9dab; border-color: rgba(255,114,133,.25); background: rgba(255,114,133,.05); }
.member-balances { display: grid; gap: 12px; }
.balance-total-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.balance-total-grid > div { min-width: 0; padding: 13px; border: 1px solid #20364a; border-radius: 11px; background: #0b1a27; }
.balance-total-grid span,.balance-total-grid strong { display: block; }
.balance-total-grid span { color: #687e92; font-size: 8px; }
.balance-total-grid strong { overflow: hidden; margin-top: 7px; color: #d5e2ec; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.balance-total-grid > div:first-child strong { color: #76edcf; }
.balance-total-grid > div:nth-child(2) strong { color: #aebfff; }
.balance-account-list { display: grid; gap: 8px; }
.balance-account { overflow: hidden; border: 1px solid #1e3244; border-radius: 12px; background: #0a1824; }
.balance-account header { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 14px; border-bottom: 1px solid #1b2e3f; }
.balance-account header strong,.balance-account header small { display: block; }
.balance-account header strong { color: #cbd8e3; font-size: 10px; }
.balance-account header small { margin-top: 3px; color: #688095; font-size: 8px; }
.balance-account header em { color: #607589; font-size: 8px; font-style: normal; }
.asset-row { display: grid; grid-template-columns: 48px 1fr 1fr auto; align-items: center; gap: 9px; padding: 11px 14px; border-top: 1px solid rgba(27,46,63,.7); }
.asset-row:first-of-type { border-top: 0; }
.asset-row b { color: #7e94a8; font-size: 9px; }
.asset-row span { color: #677d91; font-size: 8px; }
.asset-row strong { color: #d6e3ed; font-size: 10px; white-space: nowrap; }
.balance-error { margin: 0; padding: 9px 14px; color: #ff9caa; background: rgba(255,114,133,.05); font-size: 8px; line-height: 1.5; }
.invite-create { display: flex; gap: 8px; margin-bottom: 14px; }
.invite-create input { flex: 1; min-width: 0; min-height: 42px; padding: 0 13px; border: 1px solid #2b3e52; border-radius: 10px; outline: 0; color: var(--text); background: #09131e; }
.invite-list { display: grid; gap: 8px; }
.invite-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px; border: 1px solid #1e3244; border-radius: 11px; background: #0b1925; }
.invite-row strong,.invite-row small { display: block; }
.invite-row strong { color: #cddae5; font-size: 11px; }
.invite-row small { margin-top: 4px; color: #657b8f; font-size: 9px; }
.invite-row button { min-height: 33px; padding: 0 11px; font-size: 9px; }
.partner-request-card { margin-bottom: 14px; }
.anydesk-cell { display: flex; align-items: center; gap: 9px; }
.anydesk-cell strong { color: #72e4d0; font-size: 12px; letter-spacing: .05em; }
.anydesk-cell button { padding: 0; }
.member-card-list { display: grid; gap: 8px; }
.member-card { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; width: 100%; padding: 12px; border: 1px solid #1e3244; border-radius: 11px; color: #cbd7e2; background: #0b1925; text-align: left; }
.member-card:hover { border-color: rgba(45,226,197,.25); }
.member-card > span:not(.avatar) { min-width: 0; }
.member-card strong,.member-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-card strong { font-size: 11px; }
.member-card small { margin-top: 4px; color: #6d8296; font-size: 9px; }
.member-card em { color: var(--accent); font-size: 9px; font-style: normal; }
.partner-metrics { grid-template-columns: repeat(4,1fr); padding-top: 25px; }
.toast[data-type="error"] { border-color: rgba(255,114,133,.4); color: #ffb1bc; }

@media (max-width: 1050px) {
  .admin-console { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; min-height: 0; padding: 12px; }
  .sidebar-title,.sidebar-foot { display: none; }
  .admin-nav { grid-template-columns: repeat(6,minmax(0,1fr)); margin: 0; }
  .admin-nav button { justify-content: center; padding: 0 8px; }
  .admin-nav button span { display: none; }
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .admin-console,.admin-topbar { width: min(100% - 22px,1440px); }
  .admin-console { gap: 20px; margin-top: 6px; }
  .admin-nav { grid-template-columns: repeat(3,minmax(0,1fr)); overflow: visible; }
  .admin-sidebar { overflow: hidden; }
  .admin-nav { width: 100%; min-width: 0; }
  .admin-nav button { min-width: 0; font-size: 10px; }
  .content-head { align-items: flex-start; }
  .content-head .toolbar { flex: none; }
  .content-head .toolbar .ghost { display: none; }
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-panels { grid-template-columns: 1fr; }
  .list-toolbar { align-items: stretch; flex-wrap: wrap; }
  .search-field { flex-basis: 100%; }
  .list-toolbar select { flex: 1; }
  .partner-form-grid { grid-template-columns: 1fr; }
  .partner-form-grid .full { grid-column: auto; }
  .member-summary { grid-template-columns: auto 1fr; padding: 22px 18px; }
  .member-summary dl { grid-column: 1/-1; }
  .detail-metrics { grid-template-columns: repeat(3,1fr); padding: 16px 18px; }
  .detail-section { margin: 0 18px; }
  .drawer-head { padding: 23px 18px 19px; }
  .detail-form { grid-template-columns: 1fr; }
  .detail-form .detail-save { grid-column: auto; }
  .password-form { grid-template-columns: 1fr; }
  .balance-total-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 480px) {
  .content-head { display: block; }
  .content-head .toolbar { margin-top: 14px; }
  .metric-grid { gap: 9px; }
  .metric-card { min-height: 116px; padding: 17px; }
  .metric-card strong { font-size: 25px; }
  .panel { padding: 17px; }
  .detail-drawer { width: 100%; }
  .member-summary dl { grid-template-columns: 1fr; }
  .detail-metrics { grid-template-columns: repeat(2,1fr); }
  .partner-metrics { grid-template-columns: repeat(2,1fr); }
  .invite-create { display: grid; }
  .asset-row { grid-template-columns: 42px 1fr auto; }
  .asset-row span:nth-of-type(2) { display: none; }
}

/* Partner-only member and asset portal */
.partner-body { background: radial-gradient(circle at 8% 0%,rgba(94,140,255,.09),transparent 30rem),#071019; }
.partner-portal { padding: 25px 0 70px; }
.partner-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 23px; }
.partner-head h1 { margin: 0 0 7px; font-size: clamp(27px,4vw,38px); letter-spacing: -.035em; }
.partner-head h1 span { color: var(--accent); }
.partner-head p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; }
.partner-balance-refresh { display: flex; align-items: center; justify-content: flex-end; gap: 11px; min-height: 34px; margin: -8px 0 10px; }
.partner-balance-refresh span { color: #677d91; font-size: 9px; }
.partner-balance-refresh button { min-height: 32px; padding: 0 11px; font-size: 9px; }
.partner-metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-bottom: 14px; }
.partner-metric-grid article { min-width: 0; padding: 20px; border: 1px solid #20354a; border-radius: 16px; background: linear-gradient(145deg,rgba(17,31,46,.97),rgba(9,20,30,.98)); }
.partner-metric-grid span,.partner-metric-grid strong,.partner-metric-grid small { display: block; }
.partner-metric-grid span { color: #8196aa; font-size: 10px; }
.partner-metric-grid strong { margin: 9px 0 5px; font-size: 27px; }
.partner-metric-grid small { color: #60758a; font-size: 9px; }
.partner-metric-grid .partner-asset-card { border-color: rgba(45,226,197,.25); background: linear-gradient(145deg,rgba(14,39,47,.97),rgba(8,24,34,.98)); }
.partner-metric-grid .partner-asset-card.usdc { border-color: rgba(94,140,255,.28); background: linear-gradient(145deg,rgba(19,34,56,.97),rgba(9,22,37,.98)); }
.partner-metric-grid .partner-asset-card strong { overflow: hidden; color: #aaf8e9; font-size: clamp(20px,2.1vw,27px); text-overflow: ellipsis; white-space: nowrap; }
.partner-metric-grid .partner-asset-card.usdc strong { color: #b7c8ff; }
.partner-member-panel { padding: 22px; }
.partner-organization-panel { margin-bottom: 14px; padding: 22px; }
.partner-child-form { margin: 0 0 20px; padding: 18px; border: 1px solid #203649; border-radius: 14px; background: #0a1824; }
.organization-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.organization-columns > div { min-width: 0; }
.organization-columns h3 { margin: 0 0 10px; color: #8296a9; font-size: 10px; }
.child-partner-grid,.child-request-list { display: grid; gap: 8px; }
.child-partner-card,.child-request-row { display: flex; align-items: center; gap: 10px; min-height: 61px; padding: 11px; border: 1px solid #1f3446; border-radius: 11px; background: #0b1926; }
.child-partner-card > span:nth-child(2),.child-request-row > span:first-child { flex: 1; min-width: 0; }
.child-partner-card strong,.child-partner-card small,.child-request-row strong,.child-request-row small,.child-request-row em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.child-partner-card strong,.child-request-row strong { color: #cbd8e3; font-size: 10px; }
.child-partner-card small,.child-request-row small { margin-top: 4px; color: #657b8f; font-size: 8px; }
.child-request-row em { margin-top: 4px; color: #ff9dab; font-size: 8px; font-style: normal; }
.child-partner-card .avatar { flex: none; }
.partner-list-head { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 18px; }
.partner-list-head h2 { margin: 0; font-size: 17px; }
.partner-list-head p { margin: 5px 0 0; color: #6e8397; font-size: 10px; }
.partner-list-head .search-field { max-width: 360px; }
.partner-member-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.partner-member-tile { position: relative; min-width: 0; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 16px; border: 1px solid #203649; border-radius: 14px; color: #cbd7e2; background: #0b1a27; text-align: left; transition: border-color .16s,transform .16s; }
.partner-member-tile:hover { border-color: rgba(45,226,197,.3); transform: translateY(-1px); }
.partner-member-tile .large-avatar { width: 46px; height: 46px; border-radius: 13px; font-size: 15px; }
.member-tile-copy { min-width: 0; }
.member-tile-copy strong,.member-tile-copy small,.member-tile-copy em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-name-row { min-width: 0; display: flex; align-items: center; gap: 7px; }
.member-name-row strong { min-width: 0; }
.member-name-row .badge { flex: none; min-height: 22px; padding: 0 8px; font-size: 9px; }
.member-tile-copy strong { font-size: 12px; }
.member-tile-copy small { margin-top: 4px; color: #71869a; font-size: 9px; }
.member-tile-copy em { margin-top: 4px; color: #587086; font-size: 8px; font-style: normal; }
.member-tile-stats { display: flex; align-items: center; gap: 6px; }
.member-tile-stats b { min-width: 40px; padding: 8px 6px; border-radius: 9px; color: #c4d2de; background: rgba(255,255,255,.025); text-align: center; font-size: 11px; }
.member-tile-stats small { display: block; margin-top: 3px; color: #657a8e; font-size: 7px; font-weight: 500; }
.partner-member-profile { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding: 22px 30px 0; }
.partner-member-profile div { min-width: 0; padding: 12px; border: 1px solid #1f3346; border-radius: 10px; background: #0b1926; }
.partner-member-profile span,.partner-member-profile strong { display: block; }
.partner-member-profile span { color: #667d91; font-size: 8px; }
.partner-member-profile strong { overflow: hidden; margin-top: 6px; color: #c3d0dc; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.partner-balance-totals { margin: 12px 30px 0; }

@media (max-width: 800px) {
  .partner-topbar,.partner-portal { width: min(100% - 22px,1160px); }
  .partner-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .partner-member-grid { grid-template-columns: 1fr; }
  .partner-list-head { align-items: stretch; flex-direction: column; }
  .partner-list-head .search-field { max-width: none; }
  .organization-columns { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .partner-portal { padding-top: 12px; }
  .partner-head { align-items: flex-start; flex-direction: column; }
  .partner-head .toolbar { width: 100%; }
  .partner-head .toolbar button { flex: 1; }
  .partner-member-panel { padding: 16px; }
  .partner-member-tile { grid-template-columns: 42px minmax(0,1fr); padding: 14px; }
  .partner-member-tile .large-avatar { width: 40px; height: 40px; }
  .member-tile-stats { grid-column: 1/-1; }
  .member-tile-stats b { flex: 1; }
  .partner-member-profile { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 18px 18px 0; }
  .partner-balance-totals { margin: 10px 18px 0; }
}
