:root{color-scheme:dark;--bg:#07101a;--panel:#0d1826;--line:#20344a;--text:#eef5fc;--muted:#91a4ba;--accent:#2fc7ff;--green:#45dda0;--red:#ff7890}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}
body{min-height:100dvh;background:radial-gradient(circle at 20% 0,#10263b 0,transparent 35%),linear-gradient(180deg,#07101a,#091521)}
.hidden{display:none!important}.shell{min-height:100dvh}.auth{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr)}
.auth-visual{padding:clamp(32px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}
.brand{font-size:14px;font-weight:800;letter-spacing:.18em;color:#cfe7f7}.hero h1{font-size:clamp(40px,5vw,72px);line-height:1.02;max-width:760px;margin:0 0 22px}.hero p{max-width:600px;color:var(--muted);font-size:18px;line-height:1.65}.version{color:var(--muted);font-size:12px}
.auth-side{display:grid;place-items:center;padding:32px}.auth-card{width:min(440px,100%);background:rgba(13,24,38,.94);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.auth-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}.auth-head h2{margin:0 0 6px;font-size:26px}.auth-head p{margin:0;color:var(--muted);font-size:13px}.lang{width:78px;background:#091522;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:8px}
.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.field input{width:100%;background:#081420;border:1px solid #29425a;color:var(--text);border-radius:12px;padding:13px 14px;outline:none}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,199,255,.12)}.password-row{position:relative}.password-row input{padding-right:82px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:700;padding:7px;cursor:pointer}
.actions{display:flex;gap:10px;margin-top:18px}.btn{border:1px solid var(--line);background:#122338;color:var(--text);border-radius:12px;padding:12px 15px;font-weight:700;cursor:pointer}.btn.primary{flex:1;background:linear-gradient(135deg,#1675aa,#22a2d1);border-color:#2a9ec9}.btn:disabled{opacity:.6;cursor:wait}
.message{min-height:20px;margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.message.error{color:var(--red)}.message.success{color:var(--green)}
.loading{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--bg);transition:opacity .2s}.loading.off{opacity:0;pointer-events:none}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid #1c3044;border-top-color:var(--accent);animation:spin .8s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}
.app{min-height:100dvh;display:grid;grid-template-columns:240px 1fr}.sidebar{padding:24px 18px;border-right:1px solid var(--line);background:#08131f}.sidebar nav{display:grid;gap:6px;margin-top:28px}.sidebar button{border:0;background:transparent;color:var(--muted);text-align:left;border-radius:11px;padding:12px}.sidebar button.active{background:#13263a;color:var(--text)}
.main{padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.topbar h1{margin:4px 0;font-size:28px}.eyebrow{font-size:12px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:linear-gradient(180deg,#0d1927,#0a1622);border:1px solid var(--line);border-radius:18px;padding:18px}.card span{display:block;color:var(--muted);font-size:12px}.card strong{display:block;font-size:24px;margin-top:8px}
.notice{margin-top:16px;padding:16px;border:1px solid #24445c;background:#0b1b2a;border-radius:14px;color:#b9cee0;font-size:13px;line-height:1.6}
@media(max-width:820px){.auth{grid-template-columns:1fr}.auth-visual{display:none}.auth-side{padding:max(18px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom))}.auth-card{padding:22px;border-radius:20px}.app{grid-template-columns:1fr}.sidebar{display:none}.main{padding:calc(18px + env(safe-area-inset-top)) 16px calc(88px + env(safe-area-inset-bottom))}.grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar .btn{padding:9px 11px}.card strong{font-size:22px}}

.overview-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 14px}.overview-heading h2{margin:0 0 5px;font-size:17px}.overview-heading p,.overview-status{margin:0;color:var(--muted);font-size:12px}.overview-status.success{color:var(--green)}.overview-status.error{color:var(--red)}
.readonly-badge{flex:none;padding:6px 9px;border-radius:999px;background:#10283a;border:1px solid #23506b;color:#82dfff;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{min-height:138px;display:flex;flex-direction:column}.metric strong{font-size:28px}.metric small{display:block;color:var(--muted);font-size:11px;margin-top:auto;padding-top:13px}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.observer-metric{border-color:#22506a}
.recent-section{margin-top:28px}.recent-list{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0a1622}.trade-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #172a3c}.trade-row:last-child{border-bottom:0}.trade-meta{display:grid;gap:4px;min-width:0}.trade-meta strong{font-size:13px}.trade-meta span{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trade-row>strong{font-size:13px;white-space:nowrap}.empty-state{padding:24px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:1100px) and (min-width:821px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.metrics{grid-template-columns:1fr 1fr}.metric{min-height:124px}.metric strong{font-size:22px}.overview-heading{align-items:flex-start}.readonly-badge{margin-top:2px}.recent-section{margin-top:22px}}
@media(max-width:480px){.metrics{grid-template-columns:1fr}.metric{min-height:112px}.topbar h1{font-size:24px}}
.sidebar button:disabled{opacity:.38;cursor:not-allowed}.accounts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-card{background:linear-gradient(180deg,#0d1927,#091521);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 16px 40px rgba(0,0,0,.14)}.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.account-head h3{margin:0 0 4px;font-size:16px}.account-head p{margin:0;color:var(--muted);font-size:11px}.observer-pill{flex:none;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.observer-pill.online{background:#0e3026;color:#74e7b2}.observer-pill.paired{background:#302713;color:#f5ca73}.observer-pill.offline{background:#271820;color:#e69aaa}.account-balance{margin:20px 0 16px}.account-balance span{display:block;color:var(--muted);font-size:11px}.account-balance strong{display:block;margin-top:5px;font-size:30px}.account-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.account-info{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.account-info span{color:var(--muted)}.account-info strong{text-align:right}.risk-block{margin-top:18px;padding-top:15px;border-top:1px solid #1b3044;display:grid;gap:8px}.risk-track{height:7px;background:#142538;border-radius:999px;overflow:hidden;margin-bottom:5px}.risk-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#31bfe9,#56dda4)}.risk-track span.danger{background:linear-gradient(90deg,#f2b84c,#ff6d83)}.payout-state{margin-top:14px;border-radius:11px;padding:10px 11px;font-size:10px;font-weight:700}.payout-state.ready{background:#0e2c24;color:#76e4b3}.payout-state.pending{background:#122437;color:#a8bfd3}.mobile-nav{display:none}
@media(max-width:1100px){.accounts-grid{grid-template-columns:1fr}}
@media(max-width:820px){.mobile-nav{position:fixed;z-index:50;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));display:grid;grid-auto-flow:column;grid-auto-columns:minmax(104px,32vw);justify-content:start;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding:6px;background:rgba(9,20,32,.94);border:1px solid var(--line);border-radius:17px;backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(0,0,0,.4);scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button{border:0;background:transparent;color:var(--muted);border-radius:12px;padding:9px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;scroll-snap-align:center;min-width:0}.mobile-nav button:disabled{opacity:.42;cursor:not-allowed}.mobile-nav button.active{background:#16304a;color:var(--text)}.mobile-nav button b{font:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-card{padding:16px}.account-balance strong{font-size:26px}.account-info-grid{grid-template-columns:1fr}.account-head{gap:8px}}

.challenge-card .risk-block{grid-template-columns:1fr}.challenge-card .risk-block>.account-info{margin-top:2px}

.observer-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.observer-mini{min-height:104px}.observer-mini strong{font-size:30px}.observer-info{margin-top:20px;padding-top:16px;border-top:1px solid #1b3044}.observer-card{min-height:180px}
@media(max-width:820px){.observer-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.observer-mini{min-height:92px;padding:13px}.observer-mini strong{font-size:23px}.observer-mini span{font-size:10px}}

.filters-bar{display:flex;gap:10px;margin:0 0 14px}.filters-bar select{background:#0a1622;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:10px 12px}.data-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#0a1622}.data-table{width:100%;border-collapse:collapse;min-width:680px}.data-table th,.data-table td{padding:13px 15px;text-align:left;border-bottom:1px solid #172a3c;font-size:12px}.data-table th{position:sticky;top:0;background:#0d1b2a;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.data-table tbody tr:last-child td{border-bottom:0}.analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.payout-card{min-height:230px}
@media(max-width:1100px){.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.filters-bar{display:grid;grid-template-columns:1fr 1fr}.filters-bar select{width:100%;min-width:0}.analytics-grid{grid-template-columns:1fr 1fr;gap:10px}.data-table-wrap{margin-left:-4px;margin-right:-4px}.data-table th,.data-table td{padding:12px}.payout-card{min-height:auto}}
@media(max-width:430px){.analytics-grid{grid-template-columns:1fr}.filters-bar{grid-template-columns:1fr}}

.main,[data-view],.data-table-wrap{min-width:0;max-width:100%}.filters-bar input{background:#0a1622;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:10px 12px;min-width:0}.export-btn{white-space:nowrap}.mobile-trade-list{display:none}.performance-panel{margin-bottom:16px}.performance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.performance-head h3{margin:0 0 5px;font-size:16px}.performance-head p{margin:0;color:var(--muted);font-size:11px}.performance-head>strong{font-size:21px}.equity-chart{height:220px;margin-top:18px;overflow:hidden}.equity-chart svg{display:block;width:100%;height:100%}.equity-line{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.equity-zero{stroke:#21384d;stroke-width:1;vector-effect:non-scaling-stroke}
@media(max-width:820px){html,body,.shell,.app,.main{max-width:100vw;overflow-x:hidden}.main{width:100%;min-width:0}.filters-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.filters-bar input,.filters-bar select,.filters-bar button{max-width:100%;width:100%}.data-table-wrap{width:100%;overflow:visible;border:0;background:transparent}.desktop-trades{display:none}.mobile-trade-list{display:grid;gap:10px;width:100%}.mobile-trade-card{width:100%;min-width:0;background:linear-gradient(180deg,#0d1927,#091521);border:1px solid var(--line);border-radius:15px;padding:14px}.mobile-trade-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mobile-trade-top>div{display:grid;gap:4px;min-width:0}.mobile-trade-top span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-trade-top>strong{white-space:nowrap}.mobile-trade-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid #1b3044}.performance-panel{padding:15px}.equity-chart{height:170px}.export-btn{grid-column:1/-1}}
@media(max-width:430px){.filters-bar{grid-template-columns:1fr}.export-btn{grid-column:auto}.observer-summary{grid-template-columns:1fr 1fr}.trade-row{min-width:0}}

.analytics-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.analytics-controls select{width:100%;min-width:0;background:#0a1622;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:10px 12px}.equity-chart{position:relative;touch-action:pan-y}.equity-point{fill:#07101a;stroke:var(--accent);stroke-width:4;vector-effect:non-scaling-stroke;cursor:pointer;transition:r .15s,fill .15s}.equity-point:hover,.equity-point:focus{r:10;fill:var(--accent);outline:none}.equity-tooltip{position:absolute;z-index:4;max-width:min(300px,80%);transform:translate(-50%,calc(-100% - 14px));background:#07131f;border:1px solid #2b526d;border-radius:10px;padding:8px 10px;color:var(--text);font-size:10px;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.45);pointer-events:none;white-space:normal}.equity-tooltip.hidden{display:none}
@media(max-width:820px){.analytics-controls{grid-template-columns:1fr 1fr}.equity-point{r:9}.equity-tooltip{font-size:9px;max-width:75%;transform:translate(-50%,calc(-100% - 12px))}}
@media(max-width:430px){.analytics-controls{grid-template-columns:1fr}}

.point-details{margin-top:10px;min-height:42px;display:flex;align-items:center;padding:10px 12px;border-radius:11px;background:#0a1724;border:1px solid #1c354a;color:var(--muted);font-size:11px;line-height:1.45}.point-details.active{color:var(--text);border-color:#2b607f;background:#0b1d2c}.equity-point.selected{fill:var(--accent);stroke:#dff7ff;stroke-width:5}.analytics-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.insight-card h3{margin:0 0 14px;font-size:14px}.insight-card>div{display:grid;gap:9px}.insight-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px solid #172a3c;font-size:11px}.insight-row:last-child{padding-bottom:0;border-bottom:0}.insight-row span{color:var(--muted)}.insight-row strong{text-align:right}.equity-chart{overflow:visible}
@media(max-width:820px){.equity-chart{overflow:hidden}.point-details{min-height:58px;font-size:10px}.analytics-insights{grid-template-columns:1fr;gap:10px}.insight-card{padding:15px}.equity-point{r:10}.equity-point.selected{r:12}}

.topbar{position:relative}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{position:relative;width:42px;height:42px;border:1px solid var(--line);background:#102033;color:var(--text);border-radius:12px;font-size:21px;cursor:pointer}.icon-btn.spinning{animation:spin .8s linear infinite}.notification-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--red);color:white;font-size:9px;font-weight:800}.notification-panel{position:absolute;z-index:70;right:0;top:62px;width:min(390px,calc(100vw - 32px));max-height:460px;overflow:auto;background:#0a1622;border:1px solid #28435b;border-radius:17px;box-shadow:0 24px 70px rgba(0,0,0,.5)}.notification-head{position:sticky;top:0;display:flex;justify-content:space-between;gap:12px;padding:14px 16px;background:#0d1b2a;border-bottom:1px solid var(--line)}.notification-head span{color:var(--muted);font-size:10px}.notification-item{display:grid;gap:4px;padding:13px 16px;border-bottom:1px solid #172a3c;border-left:3px solid #31506a}.notification-item:last-child{border-bottom:0}.notification-item strong{font-size:12px}.notification-item span{font-size:10px;color:var(--muted)}.notification-item.warning{border-left-color:#f3bd55}.notification-item.danger{border-left-color:var(--red)}.notification-item.success{border-left-color:var(--green)}.report-header{margin-bottom:14px}.report-header h3{margin:0 0 5px}.report-header p,.report-account p{margin:0;color:var(--muted);font-size:11px}.report-account h3{margin:0 0 7px}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:1000px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.top-actions{gap:6px}.icon-btn{width:38px;height:38px}.top-actions .btn{font-size:0;width:38px;height:38px;padding:0}.top-actions .btn:after{content:'↪';font-size:18px}.notification-panel{position:fixed;left:12px;right:12px;top:calc(76px + env(safe-area-inset-top));width:auto;max-height:60vh}.profile-grid{grid-template-columns:1fr}.overview-heading>.btn{font-size:10px;padding:9px}.report-account{min-height:auto}}
@media print{body{background:#fff;color:#111}.sidebar,.mobile-nav,.topbar,.analytics-controls,[data-view]:not([data-view="reports"]),#reportHeader~* .readonly-badge{display:none!important}.app{display:block}.main{padding:20px}.card,.account-card{background:#fff;color:#111;border-color:#ccc;box-shadow:none}.card span,.report-account p{color:#555}.metrics{grid-template-columns:repeat(3,1fr)}[data-view="reports"]{display:block!important}}

.field select{width:100%;background:#081420;border:1px solid #29425a;color:var(--text);border-radius:12px;padding:13px 14px;outline:none}.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,199,255,.12)}[data-icon]{display:inline-grid;place-items:center;flex:none}[data-icon] svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar button{display:flex;align-items:center;gap:10px}.sidebar button b{font:inherit}.sidebar button [data-icon]{color:#6f8ca5}.sidebar button.active [data-icon]{color:var(--accent)}.mobile-nav button [data-icon] svg{width:17px;height:17px}.icon-btn [data-icon] svg{width:20px;height:20px}.notification-head>div{display:flex;align-items:center;gap:10px}.link-btn{border:0;background:transparent;color:var(--accent);font-size:9px;cursor:pointer;padding:3px}.notification-item{grid-template-columns:1fr auto;align-items:center}.notification-item>div{display:grid;gap:4px}.notification-dismiss{width:28px;height:28px;border:1px solid #294056;background:#0d1c2b;color:var(--muted);border-radius:9px;font-size:17px;cursor:pointer}.profile-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:14px;margin-bottom:16px}.profile-form .btn{width:100%}.onboarding-card h3{margin:0 0 16px}.checklist-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #172a3c;color:var(--muted);font-size:12px}.checklist-row.done{color:var(--green)}.checklist-row span{width:20px;font-size:16px}.setup-progress{margin-top:17px}.setup-progress small{display:block;margin-top:8px;color:var(--muted)}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr}}
@media(max-width:820px){.sidebar button{display:none}.mobile-nav button{flex-direction:row}.notification-head{align-items:flex-start}.notification-head>div{display:grid;justify-items:end;gap:4px}.profile-layout{gap:10px}.profile-form,.onboarding-card{padding:16px}}

.security-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 16px}.security-card h3{margin:0 0 16px}.security-card>.btn{width:100%}.security-status{display:flex;align-items:center;gap:12px;margin:5px 0 18px;padding:12px;border:1px solid #1d3d52;background:#0a1c29;border-radius:12px}.security-status>[data-icon]{width:34px;height:34px;border-radius:10px;background:#11324a;color:var(--accent)}.security-status div{display:grid;gap:3px}.security-status strong{font-size:12px}.security-status small{font-size:9px;color:var(--muted);line-height:1.35}
@media(max-width:820px){.security-layout{grid-template-columns:1fr;gap:10px}.security-card{padding:16px}}

/* V5.2 — mobile professional polish */
html,body{max-width:100%;overflow-x:hidden}
[data-view],.card,.account-card,.report-account,.profile-layout,.security-layout{min-width:0}
.security-status>[data-icon="shield"]{color:var(--green);background:rgba(55,211,154,.12);border:1px solid rgba(55,211,154,.2)}
.security-status>[data-icon="shield"] svg{width:20px;height:20px}
#profileGrid .metric strong{max-width:100%;overflow-wrap:anywhere;word-break:break-word}

@media screen and (max-width:820px){
 .main{width:100%;min-width:0;overflow-x:clip;padding-bottom:calc(154px + env(safe-area-inset-bottom))}
 .mobile-nav{
  left:max(12px,env(safe-area-inset-left));
  right:max(12px,env(safe-area-inset-right));
  bottom:max(12px,env(safe-area-inset-bottom));
  max-width:calc(100vw - 24px);
  grid-auto-columns:minmax(102px,29vw);
  scroll-padding-inline:8px;
  padding:6px;
  box-sizing:border-box;
  isolation:isolate
 }
 .mobile-nav button{min-height:46px;padding:9px 8px}
 .mobile-nav button[aria-current="page"]{box-shadow:inset 0 0 0 1px rgba(82,194,255,.12)}
 [data-view="reports"] .overview-heading{align-items:stretch}
 [data-view="reports"] .overview-heading>.btn{min-height:40px}
 [data-view="reports"] .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 [data-view="reports"] .metric{min-height:96px;padding:14px}
 [data-view="reports"] .metric strong{font-size:clamp(20px,6vw,25px)}
 [data-view="reports"] #reportAccounts{gap:10px}
 [data-view="reports"] .report-account{padding:15px;border-radius:16px}
 #profileGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #profileGrid .metric{min-height:100px;padding:14px}
 #profileGrid .metric:nth-child(1),#profileGrid .metric:nth-child(2){grid-column:1/-1}
 #profileGrid .metric strong{font-size:clamp(16px,5.2vw,22px);line-height:1.18}
 .profile-layout,.security-layout{gap:12px}
 .security-status{padding:13px;margin-bottom:14px}
 .security-status small{font-size:10px}
}

@media screen and (max-width:390px){
 .mobile-nav{grid-auto-columns:minmax(96px,30vw)}
}

@media (display-mode:standalone) and (max-width:820px){
 .main{padding-bottom:calc(132px + env(safe-area-inset-bottom))}
 .mobile-nav{bottom:max(10px,env(safe-area-inset-bottom))}
}

/* V5.3 — commercial access center */
.commercial-section{margin:0 0 16px}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.section-heading h3{margin:0 0 5px;font-size:16px}
.section-heading p{margin:0;color:var(--muted);font-size:11px}
.commercial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.commercial-grid>.empty-state{grid-column:1/-1}
.commercial-grid .metric{min-height:106px;padding:14px}
.commercial-grid .metric strong{font-size:20px;line-height:1.25;overflow-wrap:anywhere}
@media screen and (max-width:820px){
 .commercial-section{padding:16px}
 .commercial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .commercial-grid .metric{min-height:98px}
 .commercial-grid .metric:nth-child(5),.commercial-grid .metric:nth-child(6){grid-column:1/-1}
}
@media screen and (max-width:390px){
 .section-heading{gap:10px}
 .section-heading .readonly-badge{display:none}
 .commercial-grid .metric strong{font-size:18px}
}

/* V5.4 — report filters and aligned account cards */
.report-controls{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr) auto;gap:12px;align-items:end;margin-bottom:14px}
.report-controls .field{margin:0;min-width:0}
.report-controls .btn{min-height:45px;white-space:nowrap}
.report-header .report-scope{margin-top:7px;color:#7edcff;font-weight:700}
.report-accounts-grid{align-items:stretch}
.report-account{display:grid;align-content:center;gap:14px;min-width:0}
.report-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.report-account-head h3{min-width:0;margin:0;overflow-wrap:anywhere;line-height:1.25}
.report-type{flex:none;padding:5px 8px;border-radius:999px;background:#10283a;border:1px solid #23506b;color:#82dfff!important;font-size:9px!important;font-weight:800;text-transform:uppercase}
.report-account-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px;border-top:1px solid #172a3c}
.report-account-stats .account-info{min-width:0}
.report-account-stats .account-info strong{font-size:16px;overflow-wrap:anywhere}
@media screen and (max-width:820px){
 .report-controls{grid-template-columns:1fr;gap:10px;padding:15px}
 .report-controls .btn{width:100%}
 .report-accounts-grid{grid-template-columns:1fr!important;gap:10px}
 .report-account{width:100%;min-height:auto;padding:15px}
 .report-account-head{align-items:center}
 .report-account-stats{grid-template-columns:1fr 1fr}
}
@media print{
 .report-controls{display:none!important}
 .report-accounts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-account{break-inside:avoid}
}

/* V5.4.1 — report metric alignment correction */
.report-account-stats .account-info{
 display:grid;
 grid-template-columns:minmax(0,1fr);
 align-content:start;
 justify-items:start;
 gap:7px;
 min-width:0;
 min-height:58px;
 font-size:11px
}
.report-account-stats .account-info span{
 display:block;
 width:100%;
 min-height:16px;
 line-height:1.3;
 white-space:normal
}
.report-account-stats .account-info strong{
 display:block;
 width:100%;
 margin:0;
 font-size:22px;
 line-height:1.1;
 text-align:left;
 white-space:nowrap;
 overflow:visible;
 font-variant-numeric:tabular-nums
}
.report-account-stats .account-info:nth-child(2){
 justify-items:end;
 text-align:right
}
.report-account-stats .account-info:nth-child(2) strong{
 text-align:right
}
@media screen and (max-width:390px){
 .report-account-stats{gap:18px}
 .report-account-stats .account-info strong{font-size:20px}
 .report-account-stats .account-info span{font-size:10px}
}

/* V5.4.2 — separate report summary from account list */
[data-view="reports"] #reportMetrics{margin-bottom:16px}
@media screen and (max-width:820px){
 [data-view="reports"] #reportMetrics .metric:nth-child(3){
  grid-column:1/-1;
  min-height:96px
 }
 [data-view="reports"] #reportAccounts{margin-top:0}
}


/* V5.4.3 — safe editing and report generation */
.heading-actions,.record-actions,.record-form-actions{display:flex;align-items:center;gap:10px}
.card-display-filters{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 16px}
.card-display-filters label{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.card-display-filters select{min-width:160px}
.btn.compact{min-height:38px;padding:8px 13px;font-size:13px}
.editable-badge{color:#70e2b0;border-color:rgba(63,211,147,.35);background:rgba(63,211,147,.08)}
.record-actions{justify-content:flex-end;margin-top:15px;padding-top:13px;border-top:1px solid #1a3044}
.record-actions .archive-action{color:#ffd27a;border-color:rgba(245,181,66,.38);background:rgba(245,181,66,.08)}
.record-actions .danger-action{color:#ffadbb;border-color:rgba(244,106,126,.36);background:rgba(132,42,61,.16)}
.account-card.archived{opacity:.82;background:linear-gradient(145deg,rgba(13,29,44,.86),rgba(9,22,34,.86))}
.record-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(2,8,15,.78);backdrop-filter:blur(8px)}
.record-modal.hidden{display:none}
.record-dialog{width:min(760px,100%);max-height:min(88vh,820px);overflow:auto;padding:22px}
.record-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}
.record-modal-head h2{margin:5px 0 0}
.record-modal-head .icon-btn{font-size:25px}
.record-modal-hint{margin:0 0 14px;color:#f0bd76;font-size:13px;line-height:1.45}
.record-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.record-fields .field:last-child:nth-child(odd){grid-column:1/-1}
.record-fields textarea{width:100%;resize:vertical}
.record-form-actions{justify-content:flex-end;margin-top:18px}
.modal-open{overflow:hidden}
.report-message{grid-column:1/-1;margin:0}
.editable-row{cursor:pointer}
@media screen and (max-width:820px){
 .overview-heading{align-items:flex-start}
 .heading-actions{width:100%;justify-content:space-between}
 .heading-actions .btn{flex:1}
 .record-modal{padding:10px;align-items:end}
 .record-dialog{max-height:90dvh;border-radius:22px 22px 10px 10px;padding:17px}
 .record-fields{grid-template-columns:1fr}
 .record-fields .field{grid-column:1!important}
 .record-form-actions{position:sticky;bottom:-17px;margin:18px -17px -17px;padding:13px 17px calc(13px + env(safe-area-inset-bottom));background:#0b1826;border-top:1px solid #1d344a}
 .record-form-actions .btn{flex:1}
}
@media print{.record-modal,.heading-actions,.record-actions,.report-message{display:none!important}}
@media(max-width:640px){.card-display-filters{justify-content:stretch}.card-display-filters select{flex:1;min-width:0}}

/* V5.5.0 — payout rules, PDF export and system health */
.payout-rule-card{margin-top:14px;padding:15px;border:1px solid #1b354a;border-radius:16px;background:#0b1b2b}
.payout-rule-card.configured{border-color:rgba(63,211,147,.3);background:rgba(16,55,57,.34)}
.payout-rule-card>strong{display:block;margin-bottom:12px;color:#dfeaf5}
.payout-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.payout-rule-grid .account-info{min-width:0}
.payout-rule-grid .account-info strong{font-size:15px;white-space:normal}
.system-health{margin:18px 0}
.system-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.system-health-grid .metric{min-height:112px}
.record-fields input[type="checkbox"]{width:22px;height:22px;accent-color:#29b6e6}
.record-fields .field:has(input[type="checkbox"]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px;padding-top:28px}
@media screen and (max-width:820px){
 .payout-rule-grid{grid-template-columns:1fr 1fr}
 .system-health-grid{grid-template-columns:1fr 1fr}
 .system-health .section-heading{align-items:flex-start}
}
@media screen and (max-width:390px){.payout-rule-grid,.system-health-grid{grid-template-columns:1fr}}
@media print{.system-health{display:none!important}}

/* V5.5.1 — reliability banner and diagnostics */
.system-banner{position:sticky;top:10px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 15px;border:1px solid #31506b;border-radius:14px;background:#102538;color:#dce9f5;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.system-banner.hidden{display:none}
.system-banner.warning{border-color:rgba(244,187,88,.45);background:#302718;color:#f8d78d}
.system-banner.error{border-color:rgba(244,106,126,.5);background:#321b25;color:#ffb1bf}
.system-banner.info{border-color:rgba(55,190,239,.45);background:#102c3c;color:#a9e8ff}
.system-banner .link-btn{flex:0 0 auto;color:inherit;font-weight:800}
.health-actions{display:flex;align-items:center;gap:8px}
@media screen and (max-width:820px){.system-banner{top:6px;margin-inline:0;font-size:13px}.health-actions{width:100%}.health-actions .btn{flex:1;min-width:0}.system-health-grid{grid-template-columns:1fr 1fr}}
@media screen and (max-width:390px){.health-actions{flex-direction:column}.health-actions .btn{width:100%}}

/* V5.5.2 — detailed report filters and operation preview */
.report-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-custom-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;grid-column:span 2}
.report-trades-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.report-trade-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(16,34,51,.96),rgba(10,24,38,.96))}
.report-trade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid #1b3044}
.report-trade-head h3{margin:4px 0 0;font-size:17px;overflow-wrap:anywhere}
.report-trade-head strong{flex:none;font-size:18px}
.report-trade-index{color:#79d9ff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.report-trade-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.report-trade-preview-grid div{display:grid;gap:4px;min-width:0}
.report-trade-preview-grid small{color:var(--muted);font-size:10px}
.report-trade-preview-grid span{font-weight:700;overflow-wrap:anywhere}
@media screen and (max-width:1000px){.report-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.report-trades-preview{grid-template-columns:1fr}}
@media screen and (max-width:820px){.report-controls{grid-template-columns:1fr}.report-custom-dates{grid-column:auto;grid-template-columns:1fr 1fr}.report-controls>.btn{width:100%}}
@media screen and (max-width:390px){.report-custom-dates{grid-template-columns:1fr}.report-trade-preview-grid{grid-template-columns:1fr}.report-trade-head strong{font-size:16px}}

/* V5.5.3 — payout eligibility checklist */
.payout-rule-card{display:grid;gap:14px}
.payout-rule-card.eligible{border-color:rgba(69,221,160,.5);background:linear-gradient(145deg,rgba(15,61,53,.72),rgba(10,34,37,.76))}
.payout-rule-card.pending{border-color:rgba(244,187,88,.35);background:linear-gradient(145deg,rgba(57,43,20,.54),rgba(25,31,35,.72))}
.payout-rule-card.unconfigured{border-style:dashed}
.payout-eligibility-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.payout-eligibility-head>div{display:grid;gap:5px}
.payout-eligibility-head strong{font-size:15px;color:#eef6fd}
.payout-eligibility-head small{color:var(--muted);line-height:1.4}
.payout-status{flex:none;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.payout-status.complete{color:#7bf0b9;background:rgba(39,151,105,.18);border:1px solid rgba(69,221,160,.36)}
.payout-status.pending{color:#f7cc78;background:rgba(174,120,25,.16);border:1px solid rgba(244,187,88,.3)}
.payout-detection-card{border-color:rgba(244,187,88,.45);background:linear-gradient(145deg,rgba(58,43,18,.72),rgba(9,21,33,.96))}.payout-detection-card>p{color:var(--muted);font-size:11px;line-height:1.45}.payout-detection-card>.account-balance{display:block;margin:18px 0;font-size:28px}

.payout-criteria-list{display:grid;gap:8px}
.payout-criterion{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid #1c3549;border-radius:12px;background:rgba(5,16,25,.36)}
.payout-criterion-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:900}
.payout-criterion.complete .payout-criterion-icon{color:#061b13;background:#4be0a3}
.payout-criterion.pending .payout-criterion-icon{color:#2b1e07;background:#f3bd55}
.payout-criterion>div{display:grid;gap:3px;min-width:0}
.payout-criterion strong{font-size:12px}
.payout-criterion small{color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.payout-eligibility-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px;border-top:1px solid #1b3347}
.payout-eligibility-meta .account-info strong{font-size:13px;white-space:normal}
@media screen and (max-width:390px){.payout-eligibility-head{display:grid}.payout-status{justify-self:start}.payout-eligibility-meta{grid-template-columns:1fr}}

/* Observer V1.1 secure pairing */
.observer-pairing-card{margin-bottom:18px;padding:18px}
.observer-pairing-card .section-heading{align-items:flex-start}
.observer-pairing-fields{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.4fr) auto;gap:12px;align-items:end;margin-top:16px}
.observer-pairing-fields .field{margin:0}
.observer-pairing-fields input{text-transform:uppercase;letter-spacing:.14em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}
.observer-secure-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border:1px solid rgba(52,211,153,.35);border-radius:999px;color:#75ddb6;background:rgba(52,211,153,.08);font-size:11px;font-weight:800}
.observer-pairing-card .message{margin-top:12px}
.observer-current-card{border-color:rgba(52,211,153,.35);box-shadow:0 0 0 1px rgba(52,211,153,.05)}
.observer-lab-card{border-style:dashed;opacity:.94}
.observer-version-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}
.observer-version-badge.current{border:1px solid rgba(52,211,153,.35);color:#75ddb6;background:rgba(52,211,153,.08)}
.observer-version-badge.lab{border:1px solid rgba(245,184,73,.38);color:#f6c768;background:rgba(245,184,73,.08)}
.observer-token-fields{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;margin-top:16px}
.observer-token-fields .field{margin:0}
.observer-token-result{display:grid;gap:8px;margin-top:14px;padding:14px;border:1px solid #24435b;border-radius:12px;background:rgba(5,16,25,.48)}
.observer-token-result label{font-size:12px;font-weight:800;color:#dcecf7}
.observer-token-result small{color:var(--muted);line-height:1.45}
.observer-token-copy{display:grid;grid-template-columns:1fr auto;gap:10px}
.observer-token-copy input{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
@media(max-width:820px){.observer-pairing-fields{grid-template-columns:1fr}.observer-pairing-fields .btn{width:100%;min-height:46px}.observer-pairing-card{padding:15px}.observer-secure-badge{align-self:flex-start}}
@media(max-width:820px){.observer-token-fields,.observer-token-copy{grid-template-columns:1fr}.observer-token-fields .btn,.observer-token-copy .btn{width:100%;min-height:46px}.observer-version-badge{align-self:flex-start}}


/* V5.6.0 — multi-phase challenge journeys */
.input-affix{position:relative;display:block}.input-affix input{width:100%}.input-affix-symbol{position:absolute;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;font-weight:800;pointer-events:none}.input-affix.prefix .input-affix-symbol{left:13px}.input-affix.prefix input{padding-left:31px}.input-affix.suffix .input-affix-symbol{right:13px}.input-affix.suffix input{padding-right:31px}
@media(max-width:820px){[data-view="accounts"]{width:100%;max-width:100%;overflow-x:hidden}[data-view="accounts"] .accounts-grid{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)!important}[data-view="accounts"] .account-card{width:100%;max-width:100%;margin:0;box-sizing:border-box;overflow:hidden}[data-view="accounts"] .record-actions{display:flex;flex-wrap:wrap;gap:8px}[data-view="accounts"] .record-actions .btn{flex:1 1 125px;min-width:0}}

.challenge-card.archived{opacity:.82;background:linear-gradient(145deg,rgba(13,29,44,.86),rgba(9,22,34,.86))}
.challenge-stage-progress{display:grid;gap:10px;margin-top:16px;padding:14px;border:1px solid #1b354a;border-radius:14px;background:rgba(5,16,25,.34)}
.challenge-stage-progress>small{color:var(--muted);font-size:11px;font-weight:700}
.challenge-stage-dots{display:flex;align-items:center;gap:8px}
.challenge-stage-dots span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #29445c;border-radius:50%;color:var(--muted);background:#0b1a29;font-size:11px;font-weight:900}
.challenge-stage-dots span.complete{border-color:rgba(63,211,147,.45);color:#071b13;background:#4bddaa}
.challenge-stage-dots span.current{border-color:rgba(55,190,239,.65);color:#dff7ff;background:#164d6a;box-shadow:0 0 0 4px rgba(55,190,239,.1)}
.challenge-rule-box{display:grid;gap:8px;margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.challenge-rule-box.success{border-color:rgba(63,211,147,.35);background:rgba(63,211,147,.07)}
.challenge-rule-box.warning{border-color:rgba(245,181,66,.38);background:rgba(245,181,66,.07)}
.challenge-rule-box.danger{border-color:rgba(244,106,126,.42);background:rgba(244,106,126,.08)}
.challenge-rule-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.challenge-rule-box small{color:var(--muted);line-height:1.45}
.challenge-rule-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800;text-align:right}
.challenge-rule-badge.healthy{color:var(--muted);background:rgba(255,255,255,.06)}
.challenge-rule-badge.success{color:#79e8b8;background:rgba(63,211,147,.12)}
.challenge-rule-badge.warning{color:#ffd27a;background:rgba(245,181,66,.12)}
.challenge-rule-badge.danger{color:#ffadbb;background:rgba(244,106,126,.14)}
.challenge-actions{flex-wrap:wrap}
.challenge-actions .success-action{color:#79e8b8;border-color:rgba(63,211,147,.38);background:rgba(31,121,88,.18)}
.challenge-actions .danger-action{color:#ffadbb;border-color:rgba(244,106,126,.36);background:rgba(132,42,61,.16)}
.challenge-actions .edit-record{margin-left:auto}
@media screen and (max-width:820px){
 .challenge-actions{display:grid;grid-template-columns:1fr 1fr}
 .challenge-actions .btn{width:100%;min-width:0}
 .challenge-actions .edit-record{margin-left:0}
}
@media screen and (max-width:390px){
 .challenge-actions{grid-template-columns:1fr}
 .challenge-stage-dots{overflow-x:auto;padding-bottom:3px}
}

/* V5.7.3 — local WebAuthn app lock */
.security-card-help{margin:-8px 0 16px;color:var(--muted);font-size:11px;line-height:1.55}
.biometric-actions{display:grid;gap:9px}.biometric-actions .btn{width:100%}
.biometric-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#11324a;color:var(--accent);font-size:23px;font-weight:900}
.biometric-lock{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 28%,rgba(29,118,164,.22),transparent 36%),rgba(4,12,20,.97);backdrop-filter:blur(18px)}
.biometric-lock.hidden{display:none}.biometric-dialog{width:min(410px,100%);display:grid;gap:14px;text-align:center;padding:30px}.biometric-dialog h2,.biometric-dialog p{margin:0}.biometric-dialog p{color:var(--muted);line-height:1.5}.biometric-dialog>.btn{width:100%;margin-top:8px}.biometric-dialog>.link-btn{justify-self:center}.biometric-lock-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 4px;border:1px solid rgba(64,194,245,.42);border-radius:22px;color:#7edcff;background:linear-gradient(145deg,rgba(23,80,111,.7),rgba(8,32,49,.8));box-shadow:0 0 40px rgba(39,167,220,.16);font-size:46px;font-weight:900}
body.biometric-locked{overflow:hidden}
@media(max-width:820px){.biometric-lock{padding:18px}.biometric-dialog{padding:24px 20px}}
.observer-unlink-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.observer-unlink-actions .danger-action{color:#ffadbb;border-color:rgba(244,106,126,.36);background:rgba(132,42,61,.16)}
@media(max-width:820px){.observer-unlink-actions .btn{width:100%}}
