:root{--bg:#06111f;--card:#0c1c2d;--card2:#10263a;--line:#1d3851;--text:#f3f7fb;--muted:#89a0b5;--cyan:#00e7ff;--green:#2cff96;--pink:#ff3d92;--yellow:#ffc857}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:radial-gradient(circle at 15% 0,#0a2842 0,transparent 38%),linear-gradient(180deg,#06111f,#040b14 75%);min-height:100vh}
a{color:inherit;text-decoration:none}.shell{position:relative;z-index:2;width:min(100%,560px);margin:auto;padding:18px 16px 48px}.ambient{position:fixed;border-radius:999px;filter:blur(80px);opacity:.18;pointer-events:none}.a1{width:260px;height:260px;background:var(--cyan);top:-90px;right:-80px}.a2{width:220px;height:220px;background:var(--pink);bottom:10%;left:-130px}
.brandbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.brand{display:flex;gap:10px;align-items:center;font-weight:900;letter-spacing:.5px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--cyan),#4265ff);color:#00111b;box-shadow:0 0 28px #00e7ff55}.accent{color:var(--cyan)}
h1{font-size:30px;line-height:1.05;margin:7px 0 10px}h2{font-size:20px;margin:4px 0}h3{margin:0}.muted{color:var(--muted);line-height:1.55}.eyebrow{font-size:11px;font-weight:900;letter-spacing:1.8px;color:var(--cyan)}
.auth-card,.panel,.status-card,.broker-card{background:linear-gradient(145deg,#0d2033dd,#091725ee);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 18px 60px #0007}.auth-card{margin-top:5vh;padding:24px}.login-card{margin-top:12vh}.form-grid{display:grid;gap:15px;margin-top:24px}label{display:grid;gap:8px;color:#c7d5e1;font-size:13px;font-weight:700}input{width:100%;border:1px solid #23445e;background:#06121f;color:white;border-radius:14px;padding:14px 15px;outline:0;font-size:16px}input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00e7ff18}
.primary,.secondary,.danger,.ghost,.lot{border:0;border-radius:14px;padding:13px 16px;font-weight:900;cursor:pointer;display:inline-flex;justify-content:center;align-items:center}.primary{background:linear-gradient(135deg,var(--cyan),#4f6cff);color:#00121b;box-shadow:0 8px 30px #00e7ff28}.secondary{background:#142c41;color:white;border:1px solid #254c69}.danger{background:#351527;color:#ff7aae;border:1px solid #672346}.ghost{background:transparent;color:#b4c5d3;border:1px solid #24435d}.wide{width:100%}.small{padding:8px 12px;font-size:12px}.auth-switch{text-align:center;color:var(--muted);font-size:13px}.auth-switch a{color:var(--cyan);font-weight:800}
.flash{padding:12px 14px;border-radius:14px;margin-bottom:14px;font-size:13px}.flash.success{background:#0f3a2b;color:#7bffc4}.flash.danger{background:#40182a;color:#ff9bc2}.flash.warning{background:#3a2d11;color:#ffd979}
.broker-grid{display:grid;gap:9px}.broker-option{display:flex;align-items:center;gap:12px;border:1px solid #24445d;background:#091827;padding:12px;border-radius:14px}.broker-option input{width:auto}.broker-option span{display:grid}.broker-option small,.broker-card small{color:var(--muted)}.disabled{opacity:.46;filter:saturate(.45)}
.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin:14px 0 20px}.vip-pill{border-radius:999px;padding:8px 10px;font-size:10px;font-weight:900;white-space:nowrap}.vip-pill.on{background:#123b2e;color:var(--green);border:1px solid #1a7050}.vip-pill.off{background:#3a2d11;color:var(--yellow);border:1px solid #67531f}
.status-card{padding:18px;margin-bottom:14px}.status-head,.status-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.status-head{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:800}.dot{width:10px;height:10px;border-radius:50%}.dot.online{background:var(--green);box-shadow:0 0 14px var(--green)}.dot.standby{background:var(--yellow)}.broker-line{display:flex;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid #193249}.broker-logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:1000;background:linear-gradient(135deg,#ff3d92,#ff7b36)}.broker-line div:nth-child(2){display:grid}.broker-line small{color:var(--muted);margin-top:2px}.status-row{padding:12px 0;border-bottom:1px solid #132d42;font-size:13px}.status-row span{color:var(--muted)}.ok{color:var(--green)}.warn{color:var(--yellow)}.actions{display:flex;gap:10px;padding-top:15px}.actions>*{flex:1}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.metric{background:#0b1d2d;border:1px solid var(--line);border-radius:20px;padding:18px}.metric small{display:block;color:var(--muted)}.metric strong{font-size:30px;color:var(--cyan)}
.panel{margin:14px 0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.multiplier{font-size:30px;font-weight:1000;color:var(--cyan)}.lot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.lot{background:#122a3e;color:#b8c9d6;border:1px solid #23445e}.lot.active{background:linear-gradient(135deg,var(--cyan),#4f6cff);color:#00111b;border-color:transparent;box-shadow:0 6px 24px #00e7ff33}
.menu{display:grid;gap:9px;margin-top:14px}.menu a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;background:#0b1c2c;border:1px solid #19364e;border-radius:17px;padding:13px}.menu a>span{font-size:20px}.menu a div{display:grid}.menu a small{color:var(--muted);margin-top:2px}.menu i{font-style:normal;color:var(--cyan);font-size:22px}
.page-head{display:flex;align-items:center;gap:15px;margin-bottom:18px}.page-head a{color:var(--cyan);font-weight:800}.page-head h1{font-size:25px;margin:0}.history-list{display:grid}.trade-row{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #173148}.trade-row div{display:grid}.trade-row small{color:var(--muted);margin-top:3px}.right{text-align:right}.empty{text-align:center;color:var(--muted);padding:36px 0}.profile{text-align:center}.avatar{width:66px;height:66px;border-radius:22px;margin:0 auto 12px;display:grid;place-items:center;font-size:28px;font-weight:1000;color:#00121b;background:linear-gradient(135deg,var(--cyan),var(--green))}
.trade-history-panel{padding:12px}.history-list{gap:10px}.trade-history-card{border:1px solid #1c4159;border-radius:16px;background:linear-gradient(145deg,#071925,#06131f);overflow:hidden}.trade-history-card.open{border-color:#806117}.trade-history-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #173246}.trade-setup{display:flex;align-items:center;gap:9px;min-width:0}.trade-setup-logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#162330;overflow:hidden}.trade-setup-logo img{width:31px;height:31px;object-fit:contain}.trade-setup-logo.silver{filter:grayscale(1) brightness(1.55);background:#36424c}.trade-setup b{display:block;font-size:12px}.trade-setup small,.trade-data-grid small{display:block;color:#819bad;font-size:8px;margin-top:3px}.trade-result{font-weight:1000;font-size:14px;white-space:nowrap}.trade-result.pending{color:var(--gold);font-size:9px}.trade-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#173246}.trade-data-grid>div{padding:10px;background:#071724;min-width:0}.trade-data-grid span{display:block;color:#7f98aa;font-size:8px;text-transform:uppercase;letter-spacing:.35px}.trade-data-grid b{display:block;margin-top:3px;font-size:11px;color:#eaf6ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.broker-list{display:grid;gap:11px;margin-top:16px}.broker-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:15px}.broker-card .broker-logo{width:46px;height:46px}.soon{font-size:9px;font-weight:900;color:#9bb0c0;border:1px solid #36516a;border-radius:999px;padding:6px 8px}.account-list{display:grid;gap:10px}.account-option{display:flex;gap:12px;align-items:center;border:1px solid #24445d;border-radius:15px;padding:13px}.account-option input{width:auto}.account-option span{display:grid}.account-option small{color:var(--muted)}
@media(min-width:700px){.shell{padding-top:28px}.auth-card{padding:30px}.status-card,.panel{padding:22px}}

/* ===== v2.1 landing ===== */
.landing{position:relative;overflow:hidden;padding:26px 0 8px;text-align:left}.landing-glow{position:absolute;z-index:-1;width:280px;height:280px;border-radius:50%;right:-110px;top:35px;background:radial-gradient(circle,#00e7ff55 0,#4f6cff22 40%,transparent 72%);filter:blur(8px)}
.landing-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #1f4964;background:#0a2134cc;border-radius:999px;padding:8px 12px;color:#9ddbed;font-size:10px;font-weight:900;letter-spacing:1.25px}.landing-badge span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}
.landing-title{font-size:clamp(44px,12vw,68px);letter-spacing:-2.4px;line-height:.94;margin:22px 0 17px;max-width:520px}.landing-title span{background:linear-gradient(90deg,var(--cyan),#7288ff 56%,#d152ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px #00e7ff18}.landing-copy{max-width:480px;color:#9db0c1;font-size:16px;line-height:1.65;margin:0 0 24px}
.landing-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:18px}.landing-primary{min-height:50px}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:19px 0 16px}.trust-row>div{background:#091a29aa;border:1px solid #17364e;border-radius:15px;padding:12px 10px}.trust-row strong,.trust-row small{display:block}.trust-row strong{font-size:15px;color:#eaf8ff}.trust-row small{font-size:9px;line-height:1.3;color:#708da4;margin-top:3px}
.landing-preview{position:relative;background:linear-gradient(145deg,#0d2236f2,#071521f2);border:1px solid #20445e;border-radius:24px;padding:17px;margin-top:13px;box-shadow:0 22px 70px #0008,0 0 45px #00e7ff0b}.preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.preview-top small{display:block;color:#6f8da4;font-weight:900;letter-spacing:1.1px;font-size:9px}.preview-top strong{display:flex;align-items:center;gap:7px;margin-top:5px}.preview-top strong i{width:8px;height:8px;background:var(--green);box-shadow:0 0 12px var(--green);border-radius:50%}.mini-chip{font-size:8px;letter-spacing:1px;font-weight:1000;color:var(--cyan);border:1px solid #1e5970;background:#0b2a3a;border-radius:999px;padding:6px 8px}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.preview-card{border:1px solid #18374e;background:#071724;border-radius:14px;padding:12px}.preview-card span,.preview-card b{display:block}.preview-card span{font-size:9px;color:#6f899d;text-transform:uppercase;letter-spacing:.8px}.preview-card b{font-size:14px;margin-top:4px}
.signal-link{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin:12px 0 0;padding:14px;background:#0a1c2b;border:1px solid #173850;border-radius:18px}.signal-link>span{font-size:21px}.signal-link div{display:grid}.signal-link b{font-size:13px}.signal-link small{color:#7893a8;font-size:10px;margin-top:2px}.signal-link i{font-size:24px;font-style:normal;color:var(--cyan)}.landing-foot{text-align:center;color:#4f6c81;font-size:10px;margin:22px 0 0}
@media(min-width:520px){.landing-actions{grid-template-columns:1.25fr 1fr}.trust-row>div{padding:14px}.landing{padding-top:44px}}


/* ===== v2.2 VIP + Admin ===== */
.top-actions{display:flex;align-items:center;gap:8px}.admin-link{font-size:11px;font-weight:900;color:var(--cyan);border:1px solid #28516c;border-radius:999px;padding:8px 10px;background:#0a1d2d}
.vip-cta{border:1px solid #ff4dba66;border-radius:14px;padding:13px 16px;font-weight:1000;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#ff3d92,#a855f7 52%,#4f6cff);color:#fff;box-shadow:0 10px 34px #d946ef2b;letter-spacing:.3px}
.landing-actions .vip-cta{grid-column:1/-1}.vip-upsell{margin:0 0 14px;padding:19px;border-radius:22px;border:1px solid #7f3fb96e;background:radial-gradient(circle at 100% 0,#bd3cff24,transparent 45%),linear-gradient(145deg,#17152e,#0b1b2b);box-shadow:0 20px 55px #0006}.vip-upsell h2{margin:5px 0 7px}.vip-upsell p{color:#9eb2c5;line-height:1.5;font-size:13px}.vip-upsell .vip-cta{margin-top:12px;width:100%}
.vip-hero{padding:22px 2px 10px}.vip-hero h1{font-size:40px;letter-spacing:-1.4px;margin:18px 0 10px}.vip-hero h1 span{background:linear-gradient(90deg,#ff4a9e,#b65cff,#60dcff);-webkit-background-clip:text;background-clip:text;color:transparent}.vip-hero p{color:#9fb3c4;line-height:1.65;max-width:520px}.vip-benefits{display:grid;grid-template-columns:1fr;gap:10px;margin:15px 0}.vip-benefits article{background:#0a1b2b;border:1px solid #1c3a51;border-radius:19px;padding:17px}.vip-benefits article>b{font-size:23px}.vip-benefits h3{margin:8px 0 6px}.vip-benefits p{margin:0;color:#879fb2;font-size:13px;line-height:1.5}.vip-offer{margin-top:16px;background:linear-gradient(145deg,#16132c,#091a29);border:1px solid #713b946e;border-radius:24px;padding:22px;box-shadow:0 18px 65px #0008}.vip-price{font-size:48px;font-weight:1000;color:#fff;margin:16px 0}.vip-price small{font-size:18px;color:#b9a4d1;margin-right:5px}.vip-active-box{padding:13px;border-radius:14px;background:#0f3a2b;color:#7bffc4;margin:12px 0}.payment-note{text-align:center;color:#718ba0;font-size:10px;line-height:1.5;margin:10px 0 0}
.admin-hero{align-items:center}.admin-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px}.admin-metrics article{background:#0a1c2b;border:1px solid #19364e;border-radius:17px;padding:14px}.admin-metrics small,.admin-metrics strong{display:block}.admin-metrics small{color:#7891a5;font-size:10px;text-transform:uppercase;letter-spacing:.8px}.admin-metrics strong{font-size:26px;color:var(--cyan);margin-top:3px}.admin-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin:13px 0}.admin-search button{white-space:nowrap}.admin-list{display:grid;gap:10px}.admin-user{background:linear-gradient(145deg,#0d2033,#081725);border:1px solid #1c3a51;border-radius:20px;padding:16px}.admin-user.is-banned{opacity:.68;border-color:#5c2841}.admin-user-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-user-top h3{margin:0 0 3px}.admin-user-top small{color:#7892a7;font-size:10px}.state{font-size:9px;font-weight:1000;letter-spacing:.8px;border-radius:999px;padding:6px 8px}.state.vip{color:#75ffc0;background:#123b2e;border:1px solid #1a7050}.state.banned{color:#ff89b2;background:#3b1426;border:1px solid #6c2745}.state.normal{color:#ffd978;background:#392d11;border:1px solid #685421}.admin-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.admin-details span{display:grid;background:#071522;border-radius:12px;padding:9px;color:#d7e5ef;font-size:11px}.admin-details b{color:#6f8ba0;text-transform:uppercase;font-size:8px;letter-spacing:.7px;margin-bottom:3px}.admin-actions{display:flex;flex-wrap:wrap;gap:7px}.admin-actions form{flex:1;min-width:120px}.admin-actions button{width:100%}
@media(min-width:520px){.vip-benefits{grid-template-columns:1fr 1fr}.admin-metrics{grid-template-columns:repeat(4,1fr)}}

/* ===== v2.3 Home · Forex XAU/USD + BTC/USD ===== */
.market-home{padding-top:24px}.market-title{font-size:clamp(40px,11vw,62px);margin-bottom:14px}.market-copy{margin-bottom:16px}.method-strip{display:flex;flex-wrap:wrap;gap:5px 9px;margin:0 0 22px;padding:13px 14px;border-left:3px solid var(--cyan);background:#071725aa;border-radius:0 13px 13px 0;font-size:11px;letter-spacing:.35px}.method-strip b{color:#d9e7f0}.method-strip strong{color:var(--cyan)}
.market-actions{margin-bottom:26px}.market-section{margin:8px 0 18px}.section-kicker{color:var(--cyan);font-size:10px;font-weight:1000;letter-spacing:1.5px}.market-section h2{font-size:24px;margin:5px 0}.market-section>p{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 13px}.market-grid{display:grid;gap:10px}.market-card{position:relative;display:grid;grid-template-columns:48px 1fr;gap:2px 12px;align-items:center;padding:16px;border:1px solid #21445e;border-radius:20px;background:linear-gradient(145deg,#0b1d2d,#071521);overflow:hidden}.market-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;top:-55px;filter:blur(25px);opacity:.13}.market-card.gold{border-color:#705a22}.market-card.gold:after{background:#ffc857}.market-card.bitcoin:after{background:#00e7ff}.market-icon{grid-row:1/3;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:25px;font-weight:1000;background:#0b2638;border:1px solid #24526c;color:var(--cyan)}.gold .market-icon{color:#ffd76c;background:#2b2410;border-color:#705a22}.market-info{display:grid}.market-info small{font-size:9px;font-weight:1000;letter-spacing:1px;color:var(--cyan)}.gold .market-info small{color:#ffd76c}.market-info strong{font-size:24px;line-height:1.05;margin:3px 0}.market-info span{font-size:9px;color:#88a1b5;font-weight:800}.market-card>p{grid-column:1/-1;color:#8da4b6;font-size:11px;line-height:1.45;margin:11px 0 0;padding-top:10px;border-top:1px solid #183349}.gold>p{border-top-color:#4b401e}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.feature-grid article{display:grid;align-content:start;min-height:128px;padding:14px;background:#081927;border:1px solid #18384f;border-radius:17px}.feature-grid i{font-style:normal;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#0b2a3a;color:var(--cyan);font-weight:1000;margin-bottom:9px}.feature-grid b{font-size:12px}.feature-grid small{color:#7892a6;font-size:9px;line-height:1.45;margin-top:5px}.compact-preview{margin-top:18px}.risk-note{text-align:center;color:#5f788c;font-size:9px;line-height:1.45;margin:17px 14px 0}
@media(min-width:520px){.market-grid{grid-template-columns:1fr 1fr}.market-card{align-content:start}.market-card>p{min-height:58px}.feature-grid{grid-template-columns:repeat(4,1fr)}.feature-grid article{min-height:150px}.market-home{padding-top:38px}}

/* ===== v2.4 Recovery ===== */
.forgot-link{display:block;text-align:center;color:var(--cyan);font-size:12px;font-weight:800;margin:2px 0 0;text-decoration:none}
.forgot-link:hover{text-decoration:underline}.field-hint{display:block;color:#6f8da4;font-size:9px;line-height:1.4;margin-top:5px}

/* ===== v2.5 Deriv Balance & Account Switch ===== */
.deriv-money-strip{display:grid;grid-template-columns:1.35fr .85fr;gap:10px;margin:14px 0}.balance-link,.account-mode{min-width:0;border:1px solid #17465e;border-radius:15px;padding:13px 14px;text-decoration:none;background:linear-gradient(145deg,#071a28,#0a2434);display:flex;flex-direction:column;gap:3px;transition:.18s ease}.balance-link:hover,.account-mode:hover{transform:translateY(-1px);border-color:var(--cyan)}.balance-link small,.account-mode small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#7896a8}.balance-link strong{font-size:22px;line-height:1.05;color:#eaf9ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-link span,.account-mode span{font-size:9px;color:var(--cyan);font-weight:800}.account-mode{align-items:flex-start;justify-content:center}.account-mode strong{font-size:21px;letter-spacing:.08em}.account-mode.demo strong{color:#5ed6ff}.account-mode.real strong{color:#65f1a8}.switch-card{text-align:center}.switch-icon{width:56px;height:56px;border-radius:18px;margin:4px auto 14px;display:grid;place-items:center;font-size:28px;background:#0a2838;border:1px solid #17617d;color:var(--cyan)}.switch-warning{text-align:left;background:#0b1b27;border:1px solid #22485a;border-radius:14px;padding:13px;margin:17px 0}.switch-warning b{display:block;color:#fff;margin-bottom:4px}.switch-warning span{font-size:11px;line-height:1.55;color:#8ca8b8}.switch-actions{display:grid;gap:9px}.switch-actions .secondary{display:block;text-align:center;box-sizing:border-box}@media(max-width:480px){.deriv-money-strip{grid-template-columns:1fr 1fr}.balance-link strong{font-size:18px}.account-mode strong{font-size:18px}}


/* ===== v2.6 Deriv account switch modal ===== */
.account-mode-button{font-family:inherit;color:inherit;width:100%;cursor:pointer;text-align:left}
.account-mode-button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
body.modal-open{overflow:hidden}
.deriv-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}
.deriv-modal.open{display:flex}
.deriv-modal-backdrop{position:absolute;inset:0;background:rgba(0,7,13,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.deriv-modal-box{position:relative;z-index:1;width:min(340px,92vw);background:linear-gradient(160deg,#0a2030,#071521);border:1px solid #1d5770;border-radius:20px;padding:30px 20px 20px;box-shadow:0 24px 70px rgba(0,0,0,.52);text-align:center}
.deriv-modal-box h3{margin:7px auto 21px;max-width:280px;font-size:20px;line-height:1.22;color:#f3fbff}
.deriv-modal-box h3 span{color:var(--cyan)}
.deriv-modal-close{position:absolute;right:11px;top:9px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#9ab2c0;font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center}
.deriv-modal-close:hover,.deriv-modal-close:focus{background:#102b3a;color:#fff}
.deriv-modal-box form{margin:0}
@media(max-width:480px){.deriv-modal{padding:18px}.deriv-modal-box{width:min(315px,94vw);padding:28px 17px 17px}.deriv-modal-box h3{font-size:18px}}


/* ===== v2.7 Deriv switch modal + loading ===== */
.account-mode-button{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #1d5770;
  font-family:inherit;
  color:inherit;
  width:100%;
  cursor:pointer;
  text-align:left;
}
.account-mode-button:active{transform:scale(.985)}
.account-mode-button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
body.modal-open{overflow:hidden}

.deriv-switch-modal,
.deriv-switch-loading{
  position:fixed;
  inset:0;
  z-index:3000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.deriv-switch-modal.is-open,
.deriv-switch-loading.is-open{display:flex}

.deriv-switch-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(0,7,13,.72);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.deriv-switch-box{
  position:relative;
  z-index:1;
  width:min(320px,92vw);
  background:linear-gradient(160deg,#0a2030,#071521);
  border:1px solid #1d5770;
  border-radius:19px;
  padding:31px 18px 18px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  text-align:center;
}

.deriv-switch-box h3{
  margin:8px auto 21px;
  max-width:255px;
  color:#f3fbff;
  font-size:18px;
  line-height:1.28;
}
.deriv-switch-box h3 span{color:var(--cyan)}

.deriv-switch-x{
  position:absolute;
  top:8px;
  right:9px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#9ab2c0;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.deriv-switch-x:hover,
.deriv-switch-x:focus{background:#102b3a;color:#fff}

.deriv-switch-box form{margin:0}

.deriv-switch-loading{
  z-index:3100;
  background:rgba(0,7,13,.84);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.deriv-loading-card{
  width:min(285px,88vw);
  padding:28px 22px;
  border-radius:20px;
  border:1px solid #1d5770;
  background:linear-gradient(160deg,#0a2030,#071521);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:8px;
}
.deriv-loading-card strong{font-size:18px;color:#f4fbff}
.deriv-loading-card span{font-size:12px;line-height:1.45;color:#8ba8ba}

.deriv-spinner{
  width:48px;
  height:48px;
  margin-bottom:7px;
  border:4px solid rgba(17,207,234,.18);
  border-top-color:var(--cyan);
  border-right-color:#4a71ff;
  border-radius:50%;
  animation:deriv-spin .72s linear infinite;
}
@keyframes deriv-spin{to{transform:rotate(360deg)}}

@media(max-width:480px){
  .deriv-switch-modal,.deriv-switch-loading{padding:16px}
  .deriv-switch-box{width:min(300px,93vw)}
}


/* ===== v2.8 Deriv branding + connected state ===== */
.deriv-logo-box{
  overflow:hidden;
  padding:0;
  background:linear-gradient(145deg,#8f102c,#ed3045);
  border:1px solid rgba(255,83,103,.36);
  box-shadow:inset 0 0 18px rgba(255,255,255,.035),0 7px 22px rgba(198,25,52,.16);
}
.deriv-logo-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.broker-info{min-width:0}
.broker-info h3{margin:0}
.broker-info small{
  display:block;
  max-width:220px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.broker-connected{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid #1b7c59;
  background:linear-gradient(145deg,#10392c,#0b2c23);
  color:#56f1aa;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.25px;
  cursor:default;
  user-select:none;
  box-shadow:0 0 18px rgba(44,255,150,.08);
}
.broker-connected::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:6px;
  border-radius:50%;
  background:#2cff96;
  box-shadow:0 0 10px #2cff96;
}
@media(max-width:390px){
  .broker-card{grid-template-columns:46px minmax(0,1fr) auto;gap:10px}
  .broker-connected{padding:6px 9px;font-size:9px}
  .broker-info small{max-width:145px}
}


/* ===== v3.0 Cor visual da conta Deriv ===== */
.account-mode-label{
  display:block;
  font-weight:1000;
  letter-spacing:.8px;
  text-shadow:0 0 10px currentColor;
}
.account-mode-label.demo{
  color:#ff405f;
  text-shadow:0 0 8px rgba(255,64,95,.72),0 0 16px rgba(255,64,95,.28);
}
.account-mode-label.real{
  color:#00ff66;
  text-shadow:0 0 9px rgba(0,255,102,.85),0 0 18px rgba(0,255,102,.34);
}

/* ===== PoloStake v4.0 — Mobile-first App ===== */
:root{--gold:#ffc43d;--gold2:#ff9f1a;--ink:#06111f;--panel:#081827;--line:#17364c;--green:#14d889;--red:#ff4458;--blue:#21a8ff}
.v4-shell{max-width:920px;padding-bottom:24px}
.with-bottom-nav{
  height:100dvh;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  padding-top:calc(68px + env(safe-area-inset-top));
  padding-bottom:calc(96px + env(safe-area-inset-bottom));
}
body:has(.with-bottom-nav){height:100dvh;overflow:hidden}
.v4-brandbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:500;
  width:100%;
  min-height:58px;
  margin:0;
  background:#04101c;
  border-bottom:1px solid #17334a;
  box-shadow:0 8px 24px rgba(0,0,0,.38);
  padding-top:calc(5px + env(safe-area-inset-top));
  padding-bottom:5px;
  padding-left:max(18px,calc((100vw - 920px)/2 + 18px));
  padding-right:max(18px,calc((100vw - 920px)/2 + 18px));
}
.v4-brand{gap:8px;font-size:22px;letter-spacing:-.6px}.brand-lion{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(255,190,45,.26))}.gold-text{color:var(--gold)!important}.v4-head-actions{display:flex;align-items:center;gap:7px}.lang-picker{position:relative}.lang-picker summary,.bell-button,.profile-button{width:38px;height:38px;border:1px solid #28475e;border-radius:50%;display:grid;place-items:center;background:#071522;color:#edf8ff;text-decoration:none;cursor:pointer;list-style:none}.lang-picker summary::-webkit-details-marker{display:none}.lang-menu{position:absolute;right:0;top:46px;min-width:145px;padding:7px;border-radius:13px;background:#071723;border:1px solid #24475d;box-shadow:0 18px 40px rgba(0,0,0,.45);display:grid;gap:3px}.lang-menu a{padding:9px 11px;border-radius:9px;color:#a8bdcc;text-decoration:none;font-size:12px}.lang-menu a.active,.lang-menu a:hover{background:#122a3a;color:var(--gold)}.bell-button{position:relative}.bell-button b{position:absolute;right:-4px;top:-5px;min-width:17px;height:17px;padding:0 3px;border-radius:9px;background:var(--gold);color:#07111c;display:grid;place-items:center;font-size:9px}.v4-page-head{padding:16px 3px 8px}.v4-page-head h1{font-size:27px;margin:0 0 3px}.v4-page-head p{margin:0;color:#9bb0c0;font-size:12px}.settings-stack{display:grid;gap:10px}.v4-card{background:linear-gradient(155deg,rgba(9,28,43,.96),rgba(5,18,29,.98));border:1px solid var(--line);border-radius:19px;padding:16px;box-shadow:inset 0 1px rgba(255,255,255,.015)}.v4-card h2{font-size:15px;margin:0 0 4px;color:#eef8ff}.v4-card h2>span{color:var(--gold)}.section-help{font-size:10px;color:#8ba2b4;margin:0 0 12px}.broker-select-wrap{position:relative}.v4-select,.stats-filters select{width:100%;appearance:none;background:#071522;color:#eef8ff;border:1px solid #2b4960;border-radius:13px;padding:15px;font:inherit}.broker-current{display:flex;align-items:center;gap:11px;margin-top:9px;padding:11px;border:1px solid #19384c;border-radius:13px;background:#071521}.broker-current img{width:42px;height:42px;border-radius:10px;object-fit:cover}.broker-current b{display:block}.broker-current small{font-size:10px}.connected{color:var(--green)}.mini-meta{font-size:9px;color:#7893a7;margin-top:9px}.mode-grid,.choice-2{display:grid;grid-template-columns:1fr;gap:9px}.select-card,.check-card{position:relative;display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #27445a;border-radius:14px;background:#071522;cursor:pointer}.select-card:has(input:checked),.check-card:has(input:checked){border-color:#d99615;box-shadow:0 0 0 1px rgba(255,190,50,.08) inset}.select-card input[type="radio"],.check-card input[type="checkbox"]{width:20px;height:20px;min-width:20px;flex:0 0 20px;padding:0;margin:1px 0 0;accent-color:var(--gold);box-shadow:none}.select-card>div,.check-card>div{min-width:0;flex:1 1 auto;width:auto;overflow:hidden}.select-card b,.check-card b{display:block;font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:break-word}.select-card small,.check-card small{display:block;color:#8fa6b7;font-size:9px;line-height:1.4;margin-top:3px;white-space:normal;overflow-wrap:break-word;max-width:100%}.check-card>span{font-size:24px}.asset-coin{width:34px;height:34px;border-radius:50%;display:grid!important;place-items:center;background:#f49619;color:#fff}.asset-coin.gold{border-radius:10px;background:#3a2d0b;color:#ffc43d}.info-strip{margin:11px 0 0;padding:10px 11px;border-radius:10px;background:#092237;border:1px solid #19547a;color:#71caff;font-size:9px;line-height:1.45}.info-strip.gold{border-color:#694d16;background:#211b0c;color:#f6c24c}.asset-window{border:1px solid #18384d;border-radius:14px;padding:12px;margin-top:10px;background:#061521}.asset-window-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.asset-window-head>b{font-size:12px}.switch{display:flex;align-items:center;gap:6px;color:var(--green);font-size:9px}.switch input{display:none}.switch span{width:32px;height:18px;border-radius:10px;background:#273847;position:relative}.switch span:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#a7bac6;transition:.2s}.switch input:checked+span{background:#0b9a64}.switch input:checked+span:after{left:16px;background:#fff}.switch em{font-style:normal}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.time-grid label{font-size:8px;color:#8fa6b6}.time-grid input{width:100%;box-sizing:border-box;margin-top:4px;background:#081a28;border:1px solid #274157;border-radius:9px;color:white;padding:9px;font:inherit}.weekday-row{display:flex;gap:4px;margin-top:9px;overflow-x:auto;padding-bottom:2px}.weekday-row input{display:none}.weekday-row span{display:block;border:1px solid #2b4558;border-radius:7px;padding:7px 9px;font-size:8px;color:#849aaa}.weekday-row input:checked+span{border-color:#d89413;color:#ffc43d;background:#1b190f}.multiplier-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.multiplier-row input{display:none}.multiplier-row span{display:block;text-align:center;padding:11px 5px;border-radius:10px;border:1px solid #284357;color:#9eb0bf}.multiplier-row input:checked+span{background:linear-gradient(135deg,#ffd04b,#f6a915);color:#07111c;border-color:#ffc43d;font-weight:1000}.disabled-settings{opacity:.38;pointer-events:none;filter:saturate(.5)}.gold-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffc43d;border-radius:12px;background:linear-gradient(135deg,#ffd04b,#f2a615);color:#08111a!important;text-decoration:none;padding:13px;font-weight:1000;font-size:11px;cursor:pointer}.segment-control{display:grid;grid-template-columns:1fr 1fr;border:1px solid #29465b;border-radius:14px;overflow:hidden;margin:8px 0 10px}.segment-control a{text-align:center;padding:14px 8px;text-decoration:none;color:#9fb2bf;font-size:11px;font-weight:900}.segment-control a.active{background:#17200f;color:var(--gold);box-shadow:inset 0 0 0 1px #c58413}.stats-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.stats-filters label{font-size:8px;color:#819aaa}.stats-filters select{margin-top:4px;padding:10px;font-size:10px}.stat-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.stat-card-grid article{min-height:92px;padding:13px;border:1px solid #1c4159;border-radius:15px;background:linear-gradient(145deg,#071925,#06131f);display:flex;flex-direction:column;justify-content:space-between}.stat-card-grid small{font-size:9px;color:#98adbb}.stat-card-grid strong{font-size:23px}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.chart-placeholder{margin-top:8px}.fake-chart{height:130px;margin-top:12px;border-bottom:1px dashed #456070;display:flex;align-items:flex-end;gap:7px}.fake-chart i{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(#19d98a,#0d6b4b);height:35%}.fake-chart i:nth-child(2){height:62%}.fake-chart i:nth-child(3){height:78%}.fake-chart i:nth-child(4){height:49%;background:linear-gradient(#ff4a5e,#76242f)}.fake-chart i:nth-child(5){height:30%;background:linear-gradient(#ff4a5e,#76242f)}.fake-chart i:nth-child(6){height:52%}.fake-chart i:nth-child(7){height:70%}.stats-dual{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}.summary-list p{display:flex;justify-content:space-between;border-bottom:1px solid #173246;padding:8px 0;margin:0;font-size:9px}.strategy-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}.strategy-mini>div{border:1px solid #224158;border-radius:12px;padding:10px;display:grid;gap:4px}.strategy-mini strong{font-size:17px}.strategy-mini small{font-size:8px;color:#819bad}.notification-list{display:grid;gap:8px}.notification-card{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:13px;border:1px solid #1d4156;border-radius:14px;background:#071724}.notification-card.warning{border-color:#745515}.notification-card b{font-size:11px}.notification-card p{font-size:10px;color:#9bb0bf;margin:4px 0}.notification-card small{font-size:8px;color:#607b90}.empty-state{text-align:center;padding:46px 20px;color:#7991a4;display:grid;gap:6px}.current-plan-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.current-plan-card .info-strip{grid-column:1/-1}.days-ring{width:82px;height:82px;border-radius:50%;border:8px solid #0a573c;box-shadow:inset 0 0 0 1px #19c985;display:grid;place-items:center;align-content:center}.days-ring strong{font-size:26px;color:var(--green);line-height:1}.days-ring span{font-size:8px;color:#9bb0bf}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.plan-card{position:relative;border:1px solid #24435a;border-radius:15px;padding:13px 10px;background:#071522;text-align:center}.plan-card.featured{border-color:#e39c16;box-shadow:0 0 22px rgba(255,183,33,.08)}.plan-card em{position:absolute;left:7px;right:7px;top:-9px;background:#f5b623;color:#10151b;font-size:7px;font-style:normal;font-weight:1000;padding:4px;border-radius:6px}.plan-card h3{font-size:14px;margin:8px 0}.plan-card>strong{display:block;font-size:21px}.plan-card>small{display:block;color:#9ab0bf;margin:2px 0 8px}.plan-card ul{padding:0;margin:10px 0;text-align:left;list-style:none}.plan-card li{font-size:8px;color:#9fb3c1;margin:6px 0}.plan-card li:before{content:"✓ ";color:var(--green)}.secure-payment,.saving-hint{margin-top:12px;padding:10px;border-radius:10px;background:#071522;border:1px solid #1e3a4e;font-size:9px;color:#8ea5b5}.purchase-list>div{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #173044}.purchase-list b{display:block;font-size:10px}.purchase-list small{font-size:8px;color:#7891a3}.purchase-list strong{font-size:10px}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:140;display:grid;grid-template-columns:repeat(6,1fr);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(4,14,25,.97);border-top:1px solid #17364c;backdrop-filter:blur(14px)}.mobile-bottom-nav a{text-decoration:none;color:#8297a8;display:grid;place-items:center;gap:2px;min-width:0}.mobile-bottom-nav a span{font-size:20px}.mobile-bottom-nav a small{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-bottom-nav a:hover{color:var(--gold)}
@media(min-width:560px){.mode-grid,.choice-2,.stats-dual{grid-template-columns:1fr 1fr}.stat-card-grid{grid-template-columns:repeat(3,1fr)}.plan-grid{grid-template-columns:repeat(4,1fr)}.mobile-bottom-nav{left:0;right:0;transform:none;width:100%;max-width:none;border:0;border-top:1px solid #17364c;border-radius:0}.v4-brand{font-size:26px}.brand-lion{width:52px;height:52px}}
@media(max-width:360px){.brand-lion{width:40px;height:40px}.v4-brand{font-size:19px}.v4-head-actions{gap:4px}.lang-picker summary,.bell-button,.profile-button{width:34px;height:34px}.plan-grid{grid-template-columns:1fr}.time-grid{grid-template-columns:1fr}.stat-card-grid{grid-template-columns:1fr 1fr}}


/* v4.1 mobile layout fixes */
.settings-stack,.v4-card,.mode-grid,.select-card,.check-card{min-width:0;max-width:100%}
.mode-grid{overflow:hidden}
.select-card{width:100%;overflow:hidden}
@media(max-width:559px){
  .v4-shell{overflow-x:clip}
  .select-card{padding:13px 12px;align-items:flex-start}
  .select-card b{font-size:12px}
  .select-card small{font-size:9px;line-height:1.45}
}


/* v4.2 — logos oficiais por setup */
.setup-choice{align-items:center}
.setup-lion-wrap{
  width:42px;
  height:42px;
  min-width:42px;
  flex:0 0 42px;
  display:grid!important;
  place-items:center;
  border-radius:11px;
  background:rgba(8,22,34,.72);
  border:1px solid #2b4558;
  overflow:visible;
}
.setup-lion{
  width:38px;
  height:38px;
  object-fit:contain;
  display:block;
}
.setup-lion-wrap.gold{
  border-color:#795913;
  box-shadow:inset 0 0 18px rgba(255,190,45,.06);
}
.setup-lion-wrap.gold .setup-lion{
  filter:drop-shadow(0 0 7px rgba(255,190,45,.36));
}
.setup-lion-wrap.silver{
  border-color:#607282;
  background:linear-gradient(145deg,rgba(39,52,63,.66),rgba(8,21,32,.86));
  box-shadow:inset 0 0 18px rgba(210,225,235,.06);
}
.setup-lion-wrap.silver .setup-lion{
  filter:grayscale(1) brightness(1.38) contrast(.94) drop-shadow(0 0 6px rgba(215,230,240,.24));
}

/* Header e rodapé fixos: somente a área central rola */
.mobile-bottom-nav{
  background:#04101c;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}


/* v4.3 — cabeçalho compacto e foto de perfil */
.v4-brandbar{box-sizing:border-box}
.v4-head-actions{align-items:center}
.profile-button{
  overflow:hidden;
  padding:0!important;
  display:grid!important;
  place-items:center;
  font-weight:900;
  font-size:14px;
}
.profile-button img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.profile-button>span{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#173048,#0a1725);
  color:#dce9f3;
}
.profile-editor{padding-top:18px}
.profile-photo-block{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.avatar-photo{
  width:84px!important;
  height:84px!important;
  min-width:84px;
  border-radius:50%!important;
  overflow:hidden;
  padding:0!important;
  border:2px solid #d89c27;
  box-shadow:0 0 0 4px rgba(216,156,39,.08),0 10px 30px rgba(0,0,0,.26);
}
.avatar-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.avatar-photo>span{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font-size:32px;
  font-weight:900;
}
.profile-photo-copy{min-width:0}
.profile-photo-copy h2{margin:0 0 3px}
.profile-photo-copy .muted{margin:0}
.profile-photo-help{
  color:#7891a4;
  font-size:11px;
  line-height:1.45;
  margin:8px 0 0;
}
.profile-upload-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0 8px;
}
.profile-photo-picker{
  min-height:46px;
  border:1px solid #29455a;
  border-radius:12px;
  background:#071522;
  color:#e6eef5;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-weight:800;
  font-size:12px;
}
.profile-photo-picker input{
  position:absolute;
  width:1px!important;
  height:1px!important;
  opacity:0;
  pointer-events:none;
}
.profile-save-photo{min-height:46px;margin:0}
.profile-remove-photo{
  appearance:none;
  border:0;
  background:transparent;
  color:#e98989;
  font-size:11px;
  padding:7px 0 12px;
  cursor:pointer;
}
.profile-status-list{
  border-top:1px solid #173249;
  margin-top:5px;
  padding-top:4px;
}
@media(max-width:420px){
  .v4-brand{font-size:20px}
  .brand-lion{width:42px;height:42px}
  .v4-brandbar{
    padding-left:max(14px,calc((100vw - 920px)/2 + 14px));
    padding-right:max(14px,calc((100vw - 920px)/2 + 14px));
  }
  .profile-upload-form{grid-template-columns:1fr}
  .profile-photo-block{align-items:flex-start}
}

/* ================================================================
   POLOSTAKE 5.1 — RESPONSIVE FINANCIAL APP SHELL
   Desktop: sidebar + full-width workspace. Mobile: app header + bottom nav.
   ================================================================ */
:root{--bg:#030b13;--panel:#071521;--panel2:#091c2b;--line:#18384e;--gold:#ffc43d;--gold2:#e7a51d;--cyan:#12dfff;--green:#16e39a;--red:#ff4d63;--muted:#8fa7b8}
html,body{background:#030b13}body{overflow-x:hidden}
.desktop-sidebar{display:none}
.v4-shell{width:100%;max-width:none;margin:0;padding:0 18px 30px;position:relative;z-index:2}
.with-bottom-nav{height:auto;min-height:100dvh;overflow:visible;padding-top:calc(78px + env(safe-area-inset-top));padding-bottom:calc(92px + env(safe-area-inset-bottom))}
body:has(.with-bottom-nav){height:auto;overflow-x:hidden;overflow-y:auto}
.v4-brandbar{position:fixed;top:0;left:0;right:0;z-index:500;min-height:64px;height:auto;margin:0;padding:calc(7px + env(safe-area-inset-top)) 18px 7px;background:rgba(3,11,19,.96);border-bottom:1px solid #17364b;box-shadow:0 8px 28px rgba(0,0,0,.32);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.v4-brand{gap:10px;font-size:23px;letter-spacing:-.5px;line-height:1}.brand-lion{width:46px;height:46px}.v4-brand>span{display:grid;gap:4px}.v4-brand>span small{font-size:7px;letter-spacing:1.7px;color:#7892a5;font-weight:900}.v4-head-actions{gap:8px}.lang-picker summary,.bell-button,.profile-button{width:40px;height:40px;border-radius:13px;background:#071723;border:1px solid #1f465d}.lang-picker summary{display:flex;gap:5px;font-size:16px}.lang-picker summary em{font-style:normal;font-size:9px;font-weight:1000;color:#dcecf5}.profile-button{border-radius:50%}
.market-ticker{position:fixed;top:calc(64px + env(safe-area-inset-top));left:0;right:0;z-index:490;height:36px;overflow:hidden;background:#05131f;border-bottom:1px solid #17364b;box-shadow:0 5px 15px rgba(0,0,0,.2)}.ticker-track{height:100%;display:flex;align-items:center;gap:0;width:max-content;min-width:100%;animation:ticker 34s linear infinite}.ticker-item{display:flex;align-items:center;gap:7px;padding:0 18px;border-right:1px solid #17364b;white-space:nowrap;font-size:9px}.ticker-item b{color:#dcebf4}.ticker-item strong{color:var(--gold)}.ticker-item small{color:#7893a6}.ticker-system i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-20%)}}
.with-bottom-nav{padding-top:calc(126px + env(safe-area-inset-top))}
.dashboard-wrap{width:100%;max-width:1680px;margin:0 auto}.dashboard-hero{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:30px 28px;margin:0 0 16px;border:1px solid #6a531e;border-radius:22px;background:radial-gradient(circle at 78% 50%,rgba(255,193,54,.12),transparent 24%),linear-gradient(110deg,#071622,#08131e 58%,#0d1a22);position:relative;overflow:hidden}.dashboard-hero:after{content:'🦁';position:absolute;right:8%;top:-28px;font-size:180px;opacity:.07;filter:sepia(1)}.dashboard-hero h1{font-size:clamp(30px,3.4vw,52px);margin:7px 0 5px;position:relative;z-index:1}.dashboard-hero p{margin:0;color:#a3b8c7;font-size:15px;max-width:720px;position:relative;z-index:1}.hero-signature{margin-top:18px;color:var(--gold);font-weight:900;font-size:16px;position:relative;z-index:1}.hero-status{position:relative;z-index:2;min-width:220px;text-align:right}.hero-status i,.live-pill i,.system-live i,.online-status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 13px var(--green);margin-right:7px}.hero-status span{display:block;color:#c9d8e2;font-size:10px;font-weight:900;letter-spacing:2px}.hero-status strong{display:block;color:var(--green);font-size:28px;line-height:1.1}.hero-status small{color:#8299aa}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.dashboard-main{min-width:0}.dashboard-side{display:grid;align-content:start;gap:16px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-metric{min-width:0;min-height:132px;padding:17px 18px;border:1px solid #1d4057;border-radius:18px;background:linear-gradient(145deg,#081a29,#06121d);position:relative;overflow:hidden}.dashboard-metric:after{content:'';position:absolute;right:-35px;bottom:-50px;width:120px;height:120px;border-radius:50%;background:rgba(18,223,255,.07);filter:blur(20px)}.dashboard-metric>div{display:grid;gap:7px}.dashboard-metric small{color:#7892a5;font-size:10px;text-transform:uppercase;letter-spacing:1px}.dashboard-metric strong{font-size:25px;line-height:1.1;color:#f1f8fc;overflow:hidden;text-overflow:ellipsis}.dashboard-metric>span{position:absolute;right:16px;top:16px;color:var(--gold);font-size:22px}.dashboard-metric>b{position:absolute;left:18px;bottom:16px;font-size:10px;color:#7f9bad}.dashboard-metric.result{border-color:#73581e}.dashboard-panel,.panel{border-radius:19px}.performance-panel{margin-top:12px}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.panel-title small{font-size:9px;color:var(--gold);font-weight:1000;letter-spacing:1.5px}.panel-title h2{margin:3px 0 0;font-size:18px}.panel-chip{font-size:8px;border:1px solid #315166;border-radius:999px;padding:7px 9px;color:#8ea7b8}.performance-bars{height:230px;display:flex;align-items:flex-end;gap:8px;margin-top:18px;padding:0 4px;border-bottom:1px solid #1d3a4d;background:repeating-linear-gradient(to bottom,transparent 0,transparent 44px,rgba(31,66,86,.25) 45px)}.bar-wrap{height:100%;flex:1;display:flex;align-items:flex-end;min-width:7px}.perf-bar{width:100%;border-radius:5px 5px 0 0;min-height:10px}.perf-bar.gain{background:linear-gradient(#1ce5a0,#087d5a)}.perf-bar.loss{background:linear-gradient(#ff5269,#8b2736)}.performance-caption{display:flex;justify-content:space-between;color:#6e8799;font-size:9px;padding-top:8px}.performance-caption b{color:#a5b8c5}.recent-panel{margin-top:12px}.operation-table{margin-top:12px}.operation-head,.operation-row{display:grid;grid-template-columns:1.6fr .8fr .7fr .9fr;gap:10px;align-items:center}.operation-head{padding:8px 10px;color:#607b8d;font-size:8px;text-transform:uppercase;letter-spacing:1px}.operation-row{padding:12px 10px;border-top:1px solid #153246;font-size:11px}.operation-row span:first-child{min-width:0}.operation-row b,.operation-row small{display:block}.operation-row small{color:#70899b;font-size:8px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operation-row .direction{font-size:8px;color:#9db2c0;font-weight:900}.operation-row>strong{text-align:right}.broker-widget,.strategy-panel,.system-panel{margin:0}.live-pill{font-size:8px;color:var(--green);font-weight:1000;border:1px solid #165b43;border-radius:999px;padding:6px 8px}.deriv-account-line{display:flex;align-items:center;gap:11px;padding:18px 0;border-top:1px solid #153246;border-bottom:1px solid #153246;margin-top:14px}.deriv-account-line img{width:44px;height:44px;border-radius:12px;object-fit:cover}.deriv-account-line b,.deriv-account-line small{display:block}.deriv-account-line small{color:#7892a4;margin-top:4px;font-size:9px}.broker-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.broker-actions>*{min-width:0}.strategy-card{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #153246;margin-top:9px}.strategy-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#18232c;font-size:21px}.strategy-icon.gold{border:1px solid #74591e}.strategy-icon.silver{filter:grayscale(1);border:1px solid #536472}.strategy-card b,.strategy-card small{display:block}.strategy-card small{font-size:8px;color:#7892a4;margin-top:3px}.strategy-card>strong{font-size:8px}.system-live{display:flex;align-items:center;gap:9px;padding-bottom:13px}.system-live i{margin:0}.system-live b,.system-live small{display:block}.system-live small{font-size:8px;color:#7892a4;margin-top:3px}.system-panel>a{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #153246;color:#a8bbc7;font-size:10px}.system-panel>a b{color:var(--cyan)}.people-robots{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:16px;padding:22px 24px;border:1px solid #5b481d;border-radius:19px;background:linear-gradient(100deg,#0d0f0e,#091723)}.people-robots h2{font-size:22px;margin:5px 0}.people-robots p{max-width:800px;margin:0;color:#8fa5b5;font-size:11px;line-height:1.55}.process-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.process-row span{padding:9px 11px;border:1px solid #29475b;border-radius:999px;background:#081a27;font-size:9px;font-weight:900}.process-row b{color:var(--gold)}
.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:140;display:grid;grid-template-columns:repeat(6,1fr);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(3,11,19,.97);border-top:1px solid #17364b;box-shadow:0 -8px 24px rgba(0,0,0,.3);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.mobile-bottom-nav a{min-width:0;color:#8197a8;text-decoration:none;display:grid;place-items:center;gap:3px;padding:4px 2px;border-radius:10px}.mobile-bottom-nav a span{font-size:19px;line-height:1}.mobile-bottom-nav a small{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-bottom-nav a.active{color:var(--gold);background:rgba(255,196,61,.06)}
@media(min-width:900px){.desktop-sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:220px;z-index:600;flex-direction:column;padding:22px 14px 18px;background:#040d15;border-right:1px solid #17364b}.sidebar-brand{display:flex;align-items:center;gap:9px;padding:0 9px 20px;border-bottom:1px solid #17364b}.sidebar-brand img{width:43px;height:43px;object-fit:contain}.sidebar-brand>span{display:grid;font-size:18px;font-weight:1000;letter-spacing:.2px}.sidebar-brand>span>span{display:inline}.sidebar-brand>span small{font-size:6px;color:#7892a5;letter-spacing:1.4px;margin-top:4px}.sidebar-nav{display:grid;gap:5px;padding-top:16px}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px 12px;border-left:3px solid transparent;border-radius:0 13px 13px 0;color:#91a7b6;font-size:11px;font-weight:900}.sidebar-nav a b{width:20px;text-align:center;color:#9bb3c3;font-size:18px}.sidebar-nav a:hover,.sidebar-nav a.active{background:linear-gradient(90deg,rgba(255,196,61,.14),transparent);border-left-color:var(--gold);color:#fff}.sidebar-nav a.active b{color:var(--gold)}.sidebar-divider{height:1px;background:#17364b;margin:9px 5px}.sidebar-bottom{margin-top:auto}.online-status{display:flex;gap:8px;align-items:center;padding:12px;border:1px solid #205069;border-radius:13px;background:#071622}.online-status i{margin:0}.online-status b,.online-status small{display:block}.online-status b{font-size:9px}.online-status small{font-size:7px;color:#7892a5;margin-top:3px}.sidebar-tag{text-align:center;color:#536d7e;font-size:7px;line-height:1.4;margin-top:12px}.v4-shell{margin-left:220px;width:calc(100% - 220px);padding-left:24px;padding-right:24px}.with-bottom-nav{min-height:100vh;padding-top:calc(102px + env(safe-area-inset-top));padding-bottom:30px}.v4-brandbar{left:220px;padding-left:24px;padding-right:24px}.market-ticker{left:220px}.mobile-bottom-nav{display:none}.v4-brandbar .brand-lion{display:none}.v4-brand>span{font-size:24px}.v4-brand>span small{font-size:7px}.dashboard-wrap{max-width:none}.dashboard-hero{min-height:155px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 330px}.dashboard-main{min-width:0}}
@media(min-width:1200px){.dashboard-layout{grid-template-columns:minmax(0,1fr) 350px}.dashboard-hero{padding:34px 38px}.dashboard-hero p{font-size:16px}.dashboard-metric strong{font-size:27px}.v4-shell{padding-left:28px;padding-right:28px}.v4-brandbar{padding-left:28px;padding-right:28px}.market-ticker{padding-left:0}.people-robots{padding:25px 30px}}
@media(max-width:899px){.dashboard-layout{display:block}.dashboard-side{margin-top:12px}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-hero{padding:22px 20px}.hero-status{min-width:150px}.people-robots{display:grid}.process-row{justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.v4-shell{padding-left:16px;padding-right:16px}}
@media(max-width:600px){.v4-brandbar{padding-left:14px;padding-right:14px}.v4-brand{font-size:20px}.brand-lion{width:42px;height:42px}.v4-brand>span small{font-size:6px}.v4-head-actions{gap:5px}.lang-picker summary,.bell-button,.profile-button{width:36px;height:36px}.market-ticker{height:32px}.with-bottom-nav{padding-top:calc(116px + env(safe-area-inset-top));padding-left:14px;padding-right:14px}.dashboard-hero{display:block;padding:19px 17px;border-radius:18px}.dashboard-hero h1{font-size:32px}.dashboard-hero p{font-size:12px;line-height:1.45}.hero-signature{font-size:13px;margin-top:13px}.hero-status{text-align:left;margin-top:17px;padding-top:14px;border-top:1px solid #253d4d}.hero-status strong{font-size:24px}.metric-grid{gap:8px}.dashboard-metric{min-height:112px;padding:13px}.dashboard-metric strong{font-size:20px}.dashboard-metric>b{left:13px;bottom:12px;font-size:8px}.dashboard-metric>span{right:12px;top:12px;font-size:18px}.panel{padding:14px}.performance-bars{height:155px;gap:5px}.operation-head{display:none}.operation-row{grid-template-columns:1.5fr .8fr .7fr;padding:11px 4px}.operation-row>span:nth-child(3){display:none}.operation-row>strong{text-align:right}.broker-actions{grid-template-columns:1fr 1fr}.people-robots{padding:17px;border-radius:17px}.people-robots h2{font-size:19px}.people-robots p{font-size:10px}.process-row span{font-size:8px;padding:8px 9px}.process-row b{font-size:9px}.ticker-item{padding:0 12px}.ticker-item small{font-size:8px}.ticker-track{animation-duration:28s}}
@media(max-width:380px){.metric-grid{grid-template-columns:1fr}.dashboard-metric{min-height:100px}.dashboard-hero h1{font-size:29px}.v4-brand>span{font-size:18px}.v4-brand>span small{display:none}.profile-button{width:34px;height:34px}.lang-picker summary,.bell-button{width:34px;height:34px}.operation-row{grid-template-columns:1fr .8fr}.operation-row>span:nth-child(2){display:none}}

/* 5.1 safety rails: never let content/assets create horizontal overflow */
img,svg,video,canvas{max-width:100%;height:auto}.v4-shell *{min-width:0}.v4-shell input,.v4-shell select,.v4-shell textarea,.v4-shell button{max-width:100%}
@media(max-width:899px){.v4-page-head,.settings-stack,.history-list,.stats-dual,.stat-card-grid,.broker-list,.notification-list,.plan-grid{width:100%;max-width:100%}.v4-card{overflow:hidden}.trade-history-card,.trade-history-head,.trade-data-grid{max-width:100%}.trade-history-head{min-width:0}.trade-result{overflow:hidden;text-overflow:ellipsis}.brand-lion{flex:0 0 auto}}

/* ===== POLOSTAKE 5.2 — refinamentos de desktop + ticker real ===== */
.desktop-header-context{display:flex;align-items:center;gap:9px;color:#9bb0bf;font-size:10px;letter-spacing:.2px}.desktop-header-context i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);display:block}.desktop-header-context b,.desktop-header-context small{display:block}.desktop-header-context b{color:#dceaf2;font-size:10px}.desktop-header-context small{color:#668094;font-size:8px;margin-top:2px}
.market-ticker{background:linear-gradient(90deg,#04111b,#061824 50%,#04111b);height:36px}.ticker-track{animation-duration:42s;min-width:max-content}.ticker-item{min-width:170px;justify-content:center;gap:8px}.ticker-item b{display:flex;align-items:center;gap:6px}.ticker-icon{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;color:var(--gold);background:#0a2030;border:1px solid #23475d;font-size:10px}.ticker-item strong{font-variant-numeric:tabular-nums;color:#eef8ff}.ticker-item small{font-size:8px;letter-spacing:.45px;color:#5d8399}.ticker-item.is-live small{color:var(--green)}
.dashboard-hero:after{content:none}.hero-watermark{position:absolute;right:3.5%;top:50%;width:min(360px,31%);transform:translateY(-50%);opacity:.11;pointer-events:none;z-index:0}.hero-watermark svg{display:block;width:100%;height:auto}.hero-watermark .wm-grid path{stroke:#6b8a9b;stroke-width:1;fill:none}.hero-watermark .wm-bars path{stroke:#b98a25;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.hero-watermark .wm-line{stroke:#1fe5a2!important;stroke-width:4!important}.hero-watermark .wm-robot rect,.hero-watermark .wm-robot path{stroke:#4ea9cf;stroke-width:2;fill:none}.hero-watermark .wm-robot circle{fill:#4ea9cf}.dashboard-hero>div:not(.hero-watermark){position:relative;z-index:2}
.account-mode-button{width:100%;margin-top:11px;padding:12px 13px;text-align:left;border:1px solid #29465a;border-radius:13px;background:linear-gradient(145deg,#081b29,#071522);color:#edf7fb;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 10px;font:inherit}.account-mode-button span{font-size:8px;letter-spacing:1.2px;color:#7d96a7}.account-mode-button strong{grid-row:1 / span 2;grid-column:2;align-self:center;font-size:19px;letter-spacing:1px}.account-mode-button small{font-size:9px;color:#91a7b5}.account-mode-button small b{color:var(--cyan)}.account-mode-button.demo{border-color:#5e2434}.account-mode-button.demo strong{color:#ff4c68;text-shadow:0 0 12px rgba(255,76,104,.3)}.account-mode-button.real{border-color:#1a684d}.account-mode-button.real strong{color:#32ef9c;text-shadow:0 0 12px rgba(50,239,156,.25)}.account-mode-button:hover{border-color:var(--gold);transform:translateY(-1px)}
@media(min-width:900px){.v4-brand{display:none!important}.desktop-header-context{margin-left:0}.v4-head-actions{margin-left:auto;flex:0 0 auto}.v4-brandbar{padding-left:28px;padding-right:28px}.lang-picker summary{width:auto;min-width:62px;height:38px;padding:0 11px;border-radius:12px;gap:6px}.lang-picker summary b{font-size:11px;color:#70899a;font-weight:900}.v4-head-actions .bell-button,.v4-head-actions .profile-button{width:38px;height:38px}.profile-button{border-radius:50%!important}.with-bottom-nav{padding-top:calc(112px + env(safe-area-inset-top))}.dashboard-wrap{padding-bottom:12px}.dashboard-hero{padding-right:360px}.hero-status{min-width:210px}.dashboard-layout{gap:18px}.dashboard-side{gap:18px}.dashboard-metric{min-height:126px}}
@media(min-width:1200px){.v4-brandbar{padding-left:32px;padding-right:32px}.desktop-header-context{font-size:11px}.dashboard-wrap{padding-left:0;padding-right:0}.dashboard-hero{padding-left:38px;padding-right:390px}.dashboard-hero h1{font-size:clamp(36px,3.1vw,50px)}.hero-watermark{right:6%;width:330px}.ticker-item{min-width:190px}}
@media(max-width:899px){.desktop-header-context{display:none}.hero-watermark{right:-10%;top:47%;width:260px;opacity:.075}.dashboard-hero{padding-right:17px}.account-mode-button{margin-top:10px}.ticker-track{animation-duration:34s}.ticker-item{min-width:154px}}
@media(max-width:600px){.v4-brand{display:flex!important;flex:1 1 auto;min-width:0}.v4-brand>span{min-width:0}.v4-head-actions{flex:0 0 auto}.lang-picker summary{width:58px;height:36px;justify-content:center;border-radius:12px;padding:0 7px}.lang-picker summary .lang-globe{font-size:15px}.lang-picker summary em{font-size:9px}.lang-picker summary b{font-size:10px;color:#70899a}.bell-button,.profile-button{width:36px!important;height:36px!important}.market-ticker{height:32px}.ticker-item{min-width:150px;padding:0 11px;font-size:8px}.ticker-icon{width:16px;height:16px;font-size:9px}.ticker-item strong{font-size:9px}.ticker-item small{font-size:7px}.hero-watermark{right:-15%;width:230px;opacity:.065}.dashboard-hero{overflow:hidden}.account-mode-button strong{font-size:17px}.account-mode-button{padding:11px 12px}}
@media(max-width:380px){.v4-brand{gap:7px}.brand-lion{width:40px;height:40px}.lang-picker summary{width:53px}.v4-head-actions{gap:4px}.ticker-item{min-width:142px}.hero-watermark{width:205px;right:-18%}}


/* v5.3 — mesmos leões oficiais usados na área Configurações; nunca emoji */
.strategy-icon{width:42px;height:42px;min-width:42px;display:grid;place-items:center;border-radius:11px;overflow:hidden;background:rgba(8,22,34,.72);border:1px solid #2b4558}
.strategy-icon img{width:36px;height:36px;object-fit:contain;display:block}
.strategy-icon.gold{border-color:#795913;box-shadow:inset 0 0 18px rgba(255,190,45,.06)}
.strategy-icon.gold img{filter:drop-shadow(0 0 7px rgba(255,190,45,.36))}
.strategy-icon.silver{border-color:#607282;background:linear-gradient(145deg,rgba(39,52,63,.66),rgba(8,21,32,.86));box-shadow:inset 0 0 18px rgba(210,225,235,.06)}
.strategy-icon.silver img{filter:grayscale(1) brightness(1.38) contrast(.94) drop-shadow(0 0 6px rgba(215,230,240,.24))}


/* ===== POLOSTAKE 5.6 — header desktop/mobile definitivo ===== */
.v4-brandbar{isolation:isolate;display:flex;align-items:center;position:fixed;z-index:700;}
.v4-head-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:10px;visibility:visible!important;opacity:1!important;position:relative;z-index:5;min-width:max-content;}
.v4-head-actions .lang-picker,.v4-head-actions .bell-button,.v4-head-actions .profile-button{visibility:visible!important;opacity:1!important;flex:0 0 auto;}
.lang-picker summary,.bell-button,.profile-button{box-shadow:0 6px 18px rgba(0,0,0,.22);}
.lang-picker summary{color:#eaf7ff!important;}
.lang-picker summary .lang-globe{font-size:15px;line-height:1;}
.lang-picker summary em{font-style:normal;font-weight:1000;letter-spacing:.4px;}
.profile-button{overflow:hidden!important;padding:0!important;}
.profile-button img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit;}
.bell-button b{z-index:2;}

@media(min-width:900px){
  .v4-brandbar{left:220px;right:0;width:auto;min-height:64px;height:64px;padding:8px 28px;justify-content:flex-start;}
  .v4-brandbar .v4-brand{display:none!important;}
  .desktop-header-context{display:flex!important;align-items:center;gap:10px;min-width:0;}
  .desktop-header-context b{font-size:11px;color:#e4f1f7;line-height:1.1;}
  .desktop-header-context small{font-size:8px;color:#6d899a;margin-top:3px;}
  .desktop-header-context i{width:8px;height:8px;flex:0 0 8px;}
  .v4-head-actions{margin-left:auto!important;position:relative!important;right:auto!important;top:auto!important;}
  .v4-head-actions .lang-picker summary{min-width:62px;width:auto;height:38px;padding:0 11px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;}
  .v4-head-actions .bell-button,.v4-head-actions .profile-button{width:40px!important;height:40px!important;display:grid!important;place-items:center!important;}
  .v4-head-actions .bell-button{font-size:17px;}
  .v4-head-actions .profile-button{border-radius:50%!important;}
}

@media(max-width:899px){
  .v4-brandbar{display:flex;}
  .v4-head-actions{margin-left:auto!important;}
}

@media(max-width:600px){
  .v4-brandbar{min-height:64px;height:auto;padding:calc(7px + env(safe-area-inset-top)) 14px 7px;}
  .v4-head-actions{gap:5px;}
  .v4-head-actions .lang-picker summary{width:58px!important;min-width:58px!important;height:36px!important;padding:0 7px!important;border-radius:12px!important;display:flex;align-items:center;justify-content:center;gap:4px;}
  .v4-head-actions .bell-button,.v4-head-actions .profile-button{width:36px!important;height:36px!important;}
  .v4-head-actions .bell-button{font-size:15px;}
}

@media(max-width:380px){
  .v4-head-actions{gap:4px;}
  .v4-head-actions .lang-picker summary{width:53px!important;min-width:53px!important;}
  .v4-head-actions .bell-button,.v4-head-actions .profile-button{width:34px!important;height:34px!important;}
}

/* ============================================================
   POLOSTAKE 6.0 — PAINEL ELETRÔNICO AO VIVO VIA DERIV (rolagem contínua)
   ============================================================ */
.market-ticker{
  position:fixed;
  top:calc(64px + env(safe-area-inset-top));
  left:0;
  right:0;
  z-index:490;
  height:52px;
  overflow:hidden;
  display:flex;
  align-items:stretch;
  background:linear-gradient(90deg,#03101a 0%,#061c29 50%,#03101a 100%);
  border-top:1px solid rgba(48,105,135,.55);
  border-bottom:1px solid rgba(48,105,135,.78);
  box-shadow:0 5px 18px rgba(0,0,0,.28);
  padding:0;
}
/* ponto discreto de conexão — sem caixa, sem texto, não ocupa espaço da tarja */
.deriv-ticker-status{
  position:absolute;
  top:6px;right:8px;
  width:6px;height:6px;
  border-radius:50%;
  background:#738b9a;
  z-index:2;
  pointer-events:none;
}
.deriv-ticker-status[data-state="live"]{background:#22d982;box-shadow:0 0 8px rgba(34,217,130,.9);}
.deriv-ticker-status[data-state="error"]{background:#ffb84b;box-shadow:0 0 8px rgba(255,184,75,.6);}

/* viewport ocupa 100% da tarja, de ponta a ponta; track é o trilho
   duplicado que se move — nenhuma caixa fixa interrompe o fluxo */
.deriv-ticker-viewport{flex:1 1 auto;width:100%;min-width:0;height:100%;overflow:hidden;position:relative;}
.deriv-ticker-track{
  position:absolute;
  top:0;left:0;
  height:100%;
  display:flex;
  align-items:stretch;
  width:max-content;
  will-change:transform;
}
.deriv-ticker-track.is-marquee{
  animation:polostakeMarquee var(--marquee-duration,32s) linear infinite;
}
.deriv-ticker-viewport:hover .deriv-ticker-track.is-marquee{animation-play-state:paused;}
@keyframes polostakeMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(var(--marquee-distance,-50%));}
}

.deriv-ticker-item{
  flex:0 0 auto;
  height:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 22px;
  color:#dcecf5;
  text-decoration:none;
  border-right:1px solid rgba(36,76,96,.7);
  font-variant-numeric:tabular-nums;
  transition:background .16s ease;
  white-space:nowrap;
}
.deriv-ticker-item:first-child{padding-left:18px;}
.deriv-ticker-item:hover{background:rgba(255,194,59,.08);}
.deriv-ticker-item .ticker-symbol{color:#93a9bb;font-size:10px;font-weight:900;letter-spacing:.4px;}
.deriv-ticker-item strong{font-size:13px;letter-spacing:.1px;color:#f1f8fc;font-weight:800;transition:transform .18s ease;}
.deriv-ticker-item.tick-up{background:rgba(34,217,130,.08);}
.deriv-ticker-item.tick-up strong{color:#3be3a4;}
.deriv-ticker-item.tick-down{background:rgba(255,98,98,.07);}
.deriv-ticker-item.tick-down strong{color:#ff7373;}
.deriv-ticker-item.tick-flash strong{transform:scale(1.08);}
@media(min-width:900px){
  .market-ticker{left:220px;width:calc(100% - 220px);}
}
@media(max-width:899px){
  .market-ticker{height:44px;}
  .deriv-ticker-item{padding:0 16px;gap:7px;}
  .deriv-ticker-item:first-child{padding-left:14px;}
  .deriv-ticker-item strong{font-size:11px;}
  .deriv-ticker-item .ticker-symbol{font-size:8px;}
}
@media(max-width:520px){
  .deriv-ticker-item{padding:0 13px;gap:6px;}
  .deriv-ticker-item:first-child{padding-left:12px;}
}


/* ================================================================
   POLOSTAKE 6.0 — REFRESH "EXCHANGE" (estilo Bybit / Binance)
   Camada final: reaproveita toda a estrutura HTML/JS existente e
   apenas refina cores, densidade, bordas e tipografia por cima das
   regras acima (cascata CSS — nenhuma classe foi removida).
   ================================================================ */
:root{
  --bg:#0a0e14;--panel:#0d131c;--panel2:#121a25;--line:#1c2733;--line-soft:#161e28;
  --gold:#f0b90b;--gold2:#d9a441;--cyan:#12dfff;--green:#1fd88f;--red:#f6465d;--muted:#848e9c;--text2:#eaecef;
  font-variant-numeric:tabular-nums;
}
html,body{background:var(--bg)}
body{background:var(--bg);background-image:none}
.ambient{display:none}
::selection{background:rgba(240,185,11,.28);color:#fff}

/* --- barra superior: mais chapada, menos "glow", tipo terminal --- */
.v4-brandbar{background:rgba(10,14,20,.98);border-bottom:1px solid var(--line);box-shadow:none}
.v4-brand span small{color:#6b7683}
.lang-picker summary,.bell-button,.profile-button{background:var(--panel2);border:1px solid var(--line);transition:border-color .15s ease,background .15s ease}
.lang-picker summary:hover,.bell-button:hover,.profile-button:hover{border-color:#31404f}
.profile-button img{border-radius:50%}

/* --- saldo + botão Depositar no cabeçalho ---
   Marco pediu: o texto "Depositar" tem que ficar sempre visível, nunca
   colapsar para um ícone sozinho. Em vez de esconder o texto em telas
   estreitas, reduzimos fonte/padding e liberamos espaço encolhendo o
   seletor de idioma para só o ícone (ver regras de .lang-picker abaixo). */
.header-balance{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;padding-right:1px;min-width:0}
.header-balance small{font-size:8px;font-weight:800;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;white-space:nowrap}
.header-balance strong{font-size:13px;font-weight:800;color:var(--text2);white-space:nowrap;font-variant-numeric:tabular-nums}
.header-deposit{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 12px;border-radius:9px;background:var(--gold);color:#101418;font-weight:900;font-size:11px;letter-spacing:.1px;white-space:nowrap;box-shadow:none;transition:filter .15s ease,transform .1s ease;flex:0 0 auto}
.header-deposit span{font-size:13px;line-height:1;font-weight:900}
.header-deposit:hover{filter:brightness(1.08)}
.header-deposit:active{transform:scale(.97)}
.header-deposit.header-deposit-connect{background:var(--panel2);color:var(--gold);border:1px solid #5a4715}
@media(max-width:600px){
  .header-balance strong{font-size:12px}
  .header-deposit{height:32px;padding:0 10px;font-size:10px}
}
@media(max-width:460px){
  .header-balance small{display:none}
  .header-balance strong{font-size:11px}
  .header-deposit{padding:0 9px;font-size:9px;gap:3px;height:31px}
  .header-deposit span{font-size:12px}
  /* seletor de idioma vira só o ícone do globo, sem "PT" nem seta, pra
     sobrar espaço horizontal pro texto "Depositar" continuar inteiro */
  .v4-head-actions .lang-picker summary{width:31px!important;min-width:31px!important;height:31px!important;padding:0!important;border-radius:50%!important;}
  .v4-head-actions .lang-picker summary em,.v4-head-actions .lang-picker summary b{display:none;}
  .v4-head-actions .lang-picker summary .lang-globe{font-size:14px;}
  .v4-head-actions .bell-button,.v4-head-actions .profile-button{width:31px!important;height:31px!important;}
}
@media(max-width:390px){
  .v4-brand>span{font-size:15px;}
  .header-deposit{padding:0 8px;font-size:8px;height:29px}
  .header-deposit span{font-size:11px}
  .header-deposit.header-deposit-connect{padding:0 7px}
  .v4-head-actions .lang-picker summary,.v4-head-actions .bell-button,.v4-head-actions .profile-button{width:29px!important;height:29px!important;}
  .v4-head-actions{gap:3px!important;}
  .v4-brand>span small{display:none}
}

/* --- sidebar desktop: linha de destaque lateral estilo exchange --- */
@media(min-width:900px){
  .desktop-sidebar{display:flex}
  .sidebar-nav a{position:relative;border-radius:10px}
  .sidebar-nav a.active{background:rgba(240,185,11,.08)}
  .sidebar-nav a.active:before{content:'';position:absolute;left:-16px;top:8px;bottom:8px;width:3px;border-radius:0 4px 4px 0;background:var(--gold)}
  .sidebar-nav a:hover:not(.active){background:var(--panel2)}
}

/* --- cards: bordas mais finas e neutras, menos gradiente néon --- */
.panel,.dashboard-metric,.broker-widget,.strategy-panel,.system-panel,.trade-history-card,.status-card,.auth-card{
  border-color:var(--line)!important;
  background:var(--panel)!important;
  box-shadow:none!important;
}
.dashboard-metric:after{display:none}
.dashboard-metric{border-top:2px solid var(--line)!important;transition:border-color .15s ease}
.dashboard-metric:hover{border-color:#2a3947!important}
.dashboard-metric.result{border-top-color:var(--gold)!important}

/* --- hero: menos "landing", mais painel de terminal --- */
.dashboard-hero{border-color:var(--line);background:linear-gradient(120deg,var(--panel),#0b1017 70%)}
.dashboard-hero:after{opacity:.045}
.hero-status{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:12px 16px}

/* --- botões: mais retos/flat, estilo Binance --- */
.primary{background:var(--gold);color:#101418;box-shadow:none;border-radius:10px}
.primary:hover{filter:brightness(1.06)}
.secondary{background:var(--panel2);border-color:var(--line);border-radius:10px}
.ghost{border-color:var(--line);border-radius:10px}
.danger{border-radius:10px}

/* --- tabelas / listas de operações: linhas mais densas com hover --- */
.operation-row{transition:background .12s ease;border-radius:8px}
.operation-row:hover{background:var(--panel2)}
.operation-head{border-bottom:1px solid var(--line-soft)}
.trade-history-card{transition:border-color .15s ease}
.trade-history-card:hover{border-color:#2a3947}

/* --- métricas com fonte tabular alinhada, mais "terminal" --- */
.dashboard-metric strong,.metric strong,.operation-row strong,.trade-result{font-variant-numeric:tabular-nums}
.positive{color:var(--green)!important}
.negative{color:var(--red)!important}

/* --- painel de mercado (ticker) mais neutro --- */
.market-ticker{background:var(--panel);border-color:var(--line)}
.deriv-ticker-item{border-color:var(--line-soft)}
.deriv-ticker-item:hover{background:rgba(240,185,11,.06)}


/* ===== POLOSTAKE 6.2 — NOVA LOGOMARCA OFICIAL ===== */
.v4-brand{display:flex;align-items:center;flex:0 1 auto;min-width:0;height:48px;gap:0;text-decoration:none}
.brand-logo{display:block;width:190px;height:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.22))}
.sidebar-brand{display:flex;align-items:center;justify-content:flex-start;min-height:64px}
.sidebar-logo{display:block;width:180px;height:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.22))}
@media(max-width:899px){
  .v4-brand{height:42px;flex:0 1 auto;max-width:calc(100% - 168px)}
  .brand-logo{width:165px;max-width:100%}
}
@media(max-width:600px){
  .v4-brand{height:40px;max-width:calc(100% - 160px)}
  .brand-logo{width:158px}
  .v4-head-actions{gap:5px}
}
@media(max-width:380px){
  .v4-brand{height:36px;max-width:calc(100% - 145px)}
  .brand-logo{width:145px}
  .v4-head-actions{gap:4px}
}
@media(min-width:900px){
  .sidebar-brand{padding:0 7px 20px}
  .sidebar-logo{width:190px}
}


/* ===== POLOSTAKE 7.3 — LOGOMARCA COMPLETA NO CABEÇALHO =====
   A nova marca horizontal é exibida como uma única imagem, preservando
   integralmente símbolo + "Polo Stake" + "COPY TRADING REAL". */
.v4-brand{
  height:52px;
  flex:0 1 auto;
  min-width:0;
  max-width:none;
  display:flex;
  align-items:center;
  overflow:visible;
}
.brand-logo{
  display:block;
  width:220px;
  height:auto;
  max-width:none;
  object-fit:contain;
  flex:0 0 auto;
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.20));
}
@media(max-width:899px){
  .v4-brand{
    height:52px;
    max-width:calc(100% - 168px);
  }
  .brand-logo{width:220px;max-width:100%;height:auto;}
}
@media(max-width:600px){
  .v4-brandbar{padding-left:10px;padding-right:10px;}
  .v4-brand{
    height:52px;
    max-width:calc(100% - 158px);
  }
  .brand-logo{width:215px;max-width:100%;}
  .v4-head-actions{gap:5px;}
}
@media(max-width:380px){
  .v4-brandbar{padding-left:8px;padding-right:8px;}
  .v4-brand{
    height:48px;
    max-width:calc(100% - 145px);
  }
  .brand-logo{width:200px;max-width:100%;}
  .v4-head-actions{gap:4px;}
}
@media(min-width:900px){
  .sidebar-brand{padding:0 5px 20px;}
  .sidebar-logo{width:205px;height:auto;max-width:100%;}
}


/* ================================================================
   POLOSTAKE 7.3.1 — desktop header + profile + language settings
   - Desktop sidebar uses the complete official horizontal logo.
   - Header actions stay anchored to the far right.
   - Language lives in Configurações; bell exists only with unread items.
   - Profile photos remain perfectly circular and contained on every viewport.
   ================================================================ */
@media (min-width:900px){
  .desktop-sidebar{width:220px;padding:18px 14px 18px}
  .sidebar-brand{height:62px;display:flex;align-items:center;padding:0 7px 16px;margin-bottom:0}
  .sidebar-brand img.sidebar-logo{display:block;width:184px!important;height:auto!important;max-width:100%!important;object-fit:contain;object-position:left center}
  .v4-brandbar{left:220px;padding-left:28px;padding-right:28px;display:flex;align-items:center;gap:18px}
  .desktop-header-context{flex:0 1 auto;min-width:0}
  .v4-head-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}
  .header-balance{margin-left:12px;text-align:right;white-space:nowrap}
  .header-balance small{display:block;font-size:7px;line-height:1;color:#6f8798;letter-spacing:.9px;text-transform:uppercase}
  .header-balance strong{display:block;margin-top:2px;font-size:12px;line-height:1.1;color:#f2f8fb;font-variant-numeric:tabular-nums}
  .header-deposit{height:36px;padding:0 14px;font-size:11px;border-radius:10px}
  .v4-head-actions .profile-button{width:42px!important;height:42px!important;margin-left:2px}
  .v4-head-actions .profile-button img{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:1/1;object-fit:cover!important;border-radius:50%!important;display:block}
  .v4-head-actions .profile-button>span{width:100%!important;height:100%!important;aspect-ratio:1/1;border-radius:50%!important}
}

/* Header language is intentionally removed. Keep these hidden if an older cached
   template/style combination ever leaves the control in the DOM. */
.v4-head-actions .lang-picker{display:none!important}

/* Notification bell: no notification = no bell in the header. */
.v4-head-actions .bell-button:not(.has-unread){display:none!important}
.v4-head-actions .bell-button.has-unread{display:grid!important}

/* Complete logo on compact/mobile header without forcing it to dominate actions. */
@media (max-width:899px){
  .v4-brand{flex:0 1 auto;min-width:0;max-width:calc(100% - 120px)}
  .v4-brand .brand-logo{display:block;width:min(174px,100%);height:auto;max-width:100%;object-fit:contain}
  .v4-head-actions{margin-left:auto;gap:6px;flex:0 0 auto}
  .v4-head-actions .header-balance{display:block;white-space:nowrap;text-align:right}
  .v4-head-actions .header-balance small{display:block;font-size:6px;color:#6f8798;line-height:1;text-transform:uppercase;letter-spacing:.5px}
  .v4-head-actions .header-balance strong{display:block;font-size:9px;line-height:1.1}
  .v4-head-actions .header-deposit{height:32px;padding:0 9px;font-size:9px;border-radius:9px}
  .v4-head-actions .profile-button{width:36px!important;height:36px!important;border-radius:50%!important;overflow:hidden!important;flex:0 0 36px}
  .v4-head-actions .profile-button img{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:1/1;object-fit:cover!important;border-radius:50%!important;display:block}
  .v4-head-actions .profile-button>span{width:100%!important;height:100%!important;aspect-ratio:1/1;border-radius:50%!important}
}

/* Profile editor: square crop + circular frame, with no stretching on small screens. */
.avatar-photo{width:84px!important;height:84px!important;min-width:84px!important;min-height:84px!important;flex:0 0 84px!important;aspect-ratio:1/1!important;border-radius:50%!important;overflow:hidden!important;display:grid!important;place-items:center!important;padding:0!important}
.avatar-photo img{width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important;display:block!important}
.avatar-photo>span{width:100%!important;height:100%!important;aspect-ratio:1/1;border-radius:50%!important}
@media(max-width:420px){
  .profile-photo-block{display:flex;align-items:center;gap:12px}
  .avatar-photo{width:76px!important;height:76px!important;min-width:76px!important;min-height:76px!important;flex-basis:76px!important}
  .profile-photo-copy{flex:1 1 auto;min-width:0}
}

/* Language selection inside Configurações */
.language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.language-option{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:12px 13px;border:1px solid #27445a;border-radius:13px;background:#071522;color:#dbeaf2;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .1s ease}
.language-option:hover{border-color:#6a571f;background:#0b1b27;transform:translateY(-1px)}
.language-option strong{width:34px;height:28px;display:grid;place-items:center;border-radius:8px;background:#0d2a3a;color:var(--cyan);font-size:10px;letter-spacing:.7px;flex:0 0 34px}
.language-option span{font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.language-option>b{margin-left:auto;color:var(--green);font-size:15px}
.language-option.active{border-color:#d9961b;box-shadow:inset 0 0 0 1px rgba(255,196,61,.08);background:linear-gradient(145deg,#151d12,#071522)}
.language-option.active strong{background:#2a210a;color:var(--gold)}
@media(max-width:600px){.language-options{grid-template-columns:1fr 1fr}.language-option{padding:11px 10px}.language-option span{font-size:10px}}
@media(max-width:380px){.language-options{grid-template-columns:1fr}.language-option span{font-size:11px}}

/* v7.4 — quatro setups, ícones novos e responsividade */
.setup-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.setup-card-new{min-width:0;min-height:92px;gap:12px}
.setup-icon-new{width:64px;height:64px;min-width:64px;border-radius:16px;overflow:hidden;display:block;
border:1px solid rgba(255,196,61,.34);box-shadow:0 8px 22px rgba(0,0,0,.28)}
.setup-icon-new img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.setup-copy{min-width:0}.setup-copy b{display:block}.setup-copy small{display:block;margin-top:3px}
.setup-copy em{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:99px;border:1px solid #5e6870;
font-size:7px;font-style:normal;font-weight:1000;color:#8293a0;letter-spacing:.05em}
.setup-copy em.ready{color:#00e99a;border-color:#08785a;background:#063a2e}
.setup-locked{opacity:.42;cursor:not-allowed;filter:saturate(.45)}
.setup-locked input{pointer-events:none}
@media(max-width:1250px){.setup-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .setup-grid-4{grid-template-columns:1fr 1fr;gap:8px}
 .setup-card-new{min-height:86px;padding:10px 9px;gap:9px}
 .setup-icon-new{width:50px;height:50px;min-width:50px;border-radius:13px}
 .setup-copy b{font-size:11px}.setup-copy small{font-size:7.5px;line-height:1.3}
}
@media(max-width:380px){.setup-grid-4{grid-template-columns:1fr}.setup-icon-new{width:54px;height:54px;min-width:54px}}

/* v7.5 — enquadramento integral dos novos ícones + dashboard */
.setup-icon-new{
  padding:0!important;
  background:transparent!important;
  border-radius:18px!important;
  overflow:hidden!important;
  aspect-ratio:1/1;
}
.setup-icon-new img{
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:50% 50%!important;
  border-radius:inherit!important;
  transform:scale(1.035);
}
.strategy-icon.setup-brand-icon{
  width:54px!important;height:54px!important;min-width:54px!important;
  padding:0!important;border-radius:15px!important;overflow:hidden!important;
  background:transparent!important;border:1px solid rgba(255,196,61,.28);
}
.strategy-icon.setup-brand-icon img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;object-position:center!important;border-radius:inherit!important;
  transform:scale(1.035);
}
.strategy-disabled{opacity:.48;filter:saturate(.55)}
.muted-status{color:#7f94a3!important}
@media(max-width:600px){
 .strategy-icon.setup-brand-icon{width:48px!important;height:48px!important;min-width:48px!important;border-radius:13px!important}
 .setup-icon-new{border-radius:14px!important}
}

/* ===== POLOSTAKE 8.0 — DASHBOARD ALINHADO À PRÉVIA LIVE ===== */
body:has(.live-dashboard) .desktop-sidebar{display:none!important}
body:has(.live-dashboard) .v4-shell{margin-left:0!important;width:100%!important;max-width:none!important}
body:has(.live-dashboard) .v4-brandbar{left:0!important;position:relative!important;height:112px!important;padding:16px 30px!important;border-bottom:1px solid #102b3a;background:#030c13!important}
body:has(.live-dashboard) .v4-brand{height:80px!important;max-width:none!important}.live-dashboard{padding:20px 30px 42px;max-width:1920px;margin:auto}.live-panel{border:1px solid #173243;background:linear-gradient(145deg,#06131c,#041019);border-radius:18px;box-shadow:0 10px 30px #0004}.live-hero-grid{display:grid;grid-template-columns:1.55fr .95fr;gap:16px}.live-welcome{min-height:240px;padding:26px;display:grid;grid-template-columns:1fr 48%;gap:24px;align-items:center}.live-welcome h1{font-size:36px;margin:4px 0 9px}.live-welcome p{color:#b4c7d7;line-height:1.5}.live-botbox{height:100%;border:1px solid #163243;border-radius:14px;background:#061722;padding:22px;display:grid;grid-template-columns:1fr 90px;align-items:center}.live-botstatus{display:flex;gap:12px;align-items:center}.live-botstatus i{width:34px;height:34px;border-radius:50%;background:#00e99a;box-shadow:0 0 24px #00e99a88;animation:pulse 1.6s infinite}.live-botstatus span{display:block;font-size:10px;color:#a9bdcc;font-weight:900}.live-botstatus strong{font-size:25px;color:#00e99a}.live-botmeta{margin-top:14px;padding-top:10px;border-top:1px solid #16313f;font-size:11px;line-height:1.7}.live-botmeta span{display:inline-block;width:92px;color:#8ea5b5}.live-robot{font-size:54px;opacity:.4}.live-operation{padding:22px}.live-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-panel-head h2{margin:0;color:#ffc400;font-size:12px;letter-spacing:.06em}.live-panel-head a{color:#9bc9ee;font-size:9px;text-decoration:none;font-weight:900}.live-pill2{border-radius:99px;padding:7px 11px;background:#063629;color:#00e99a;font-size:9px;font-weight:950}.live-pill2.idle{background:#132532;color:#9bb0c2}.live-opbody{display:grid;grid-template-columns:1fr 125px;gap:16px;margin-top:22px}.live-pair{display:flex;align-items:center;gap:10px}.live-pair>b{font-size:20px}.live-pair span{padding:5px 9px;border-radius:99px;background:#07573f;color:#00e99a;font-size:9px;font-weight:950}.live-opnums{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.live-opnums small,.risk-three small{display:block;color:#8da4b5;font-size:8px}.live-opnums b{display:block;margin-top:5px;font-size:12px}.live-progress,.risk-bar{height:10px;background:#102635;border-radius:99px;overflow:hidden;margin-top:18px}.live-progress i{display:block;width:68%;height:100%;background:linear-gradient(90deg,#00e99a,#00c884);box-shadow:0 0 13px #00e99a}.live-stop{border-radius:15px;background:linear-gradient(145deg,#ff3856,#e91335);color:#fff!important;text-decoration:none;display:grid;place-items:center;text-align:center;font-size:9px;font-weight:950}.live-stop span{font-size:25px}.live-empty-op{height:180px;display:grid;place-content:center;text-align:center;color:#7890a2}.live-empty-op span{font-size:36px}.live-empty-op b{color:#dce7ef;margin-top:8px}.live-empty-op small{margin-top:6px}.live-kpis{display:grid;grid-template-columns:repeat(4,1fr) 1.75fr;gap:16px;margin-top:16px}.live-kpi,.live-risk{padding:20px;min-height:140px}.scope-head{display:flex;justify-content:space-between;color:#b8d3e7;font-size:9px;font-weight:950}.scope-head b{color:#ffc400}.live-kpi>strong{display:block;font-size:24px;margin-top:13px}.live-kpi>small{display:block;font-size:10px;color:#8fa5b6;margin-top:8px}.risk-three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:17px}.risk-three strong{display:block;margin-top:6px;font-size:11px}.risk-bar i{display:block;width:62%;height:100%;background:linear-gradient(90deg,#ffd21a,#ffad00)}.risk-note{font-size:7px;color:#738b9c;margin-top:7px}.signal-road{margin-top:16px;padding:13px 20px;display:grid;grid-template-columns:170px 1fr;align-items:center}.signal-road>b{font-size:10px;color:#ffc400}.road{display:flex;align-items:center;justify-content:space-between;position:relative}.road:before{content:"";position:absolute;left:5%;right:5%;top:15px;height:2px;background:#173545}.road>span{position:relative;z-index:2;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#08202a;border:1px solid #285066;color:#9bb7ca;font-style:normal}.road>span.done{background:#063a2e;color:#00e99a;border-color:#08785a}.road>span.active{background:#322b06;color:#ffc400;border-color:#8b6e00;box-shadow:0 0 14px #ffc40055}.road small{position:absolute;top:38px;white-space:nowrap;font-size:7px;color:#8da4b5}.live-lower{display:grid;grid-template-columns:1.4fr .8fr .65fr;gap:16px;margin-top:30px}.live-history,.live-strategies,.live-trust{padding:20px;min-height:250px}.live-hist-row{display:grid;grid-template-columns:1.25fr .55fr .75fr .8fr;gap:8px;padding:12px 0;border-bottom:1px solid #14303e;font-size:10px;align-items:center}.live-hist-row strong{font-weight:950!important}.live-hist-row em{justify-self:end;border:1px solid #315064;border-radius:99px;padding:4px 8px;font-size:8px;font-style:normal}.live-setup{display:grid;grid-template-columns:54px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #14303e}.live-setup div b{display:block;font-size:10px}.live-setup div small{display:block;color:#8096a7;font-size:8px;margin-top:3px}.live-setup>strong{font-size:8px}.live-setup.disabled{opacity:.48}.live-trust>div:not(.live-panel-head){display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #14303e;font-size:9px}.positive{color:#00e99a!important;font-weight:950!important}.negative{color:#ff3654!important;font-weight:950!important}
/* moldura moderna: fina, da cor do fundo, com imagem preenchendo o interior */
.setup-icon-new,.strategy-icon.setup-brand-icon{padding:3px!important;background:#020a10!important;border:1px solid #0b202c!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 0 0 1px rgba(255,255,255,.025),0 8px 22px rgba(0,0,0,.32)!important}.setup-icon-new img,.strategy-icon.setup-brand-icon img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:14px!important;transform:none!important}
@media(max-width:1250px){.live-kpis{grid-template-columns:repeat(4,1fr)}.live-risk{grid-column:1/-1}.live-hero-grid{grid-template-columns:1fr}.live-lower{grid-template-columns:1fr 1fr}.live-history{grid-column:1/-1}}
@media(max-width:899px){body:has(.live-dashboard) .v4-brandbar{height:72px!important;padding:10px 12px!important}.live-dashboard{padding:12px 12px 90px}.live-welcome{grid-template-columns:1fr;padding:18px}.live-welcome h1{font-size:27px}.live-botbox{min-height:160px}.live-kpis{grid-template-columns:1fr 1fr;gap:9px}.live-risk{grid-column:1/-1}.signal-road{grid-template-columns:1fr;gap:12px;padding-bottom:32px}.live-lower{grid-template-columns:1fr}.live-history{grid-column:auto}.live-hist-row{grid-template-columns:1.1fr .55fr .8fr}.live-hist-row em{display:none}}
@media(max-width:520px){.live-hero-grid{gap:10px}.live-welcome{min-height:0}.live-welcome p{font-size:12px}.live-botbox{grid-template-columns:1fr 55px;padding:14px}.live-robot{font-size:36px}.live-operation{padding:16px}.live-opbody{grid-template-columns:1fr}.live-stop{min-height:54px;display:flex;gap:8px}.live-stop span{font-size:16px}.live-kpi,.live-risk{padding:14px;min-height:115px}.live-kpi>strong{font-size:19px}.risk-three{gap:8px}.road small{font-size:6px}.live-lower{margin-top:28px}.setup-icon-new,.strategy-icon.setup-brand-icon{padding:2px!important;border-radius:14px!important}.setup-icon-new img,.strategy-icon.setup-brand-icon img{border-radius:11px!important}}
/* v8 ticker — bandeiras circulares sobrepostas */
.deriv-ticker-item{display:flex!important;align-items:center!important;gap:10px!important}.ticker-copy{display:flex;flex-direction:column;min-width:86px}.ticker-flags{position:relative;width:48px;height:36px;flex:0 0 48px}.ticker-flags i{position:absolute;top:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#f4f7fa;border:2px solid #020a10;box-shadow:0 1px 6px #000b;font-size:23px;font-style:normal;line-height:34px}.ticker-flags i:first-child{left:0;z-index:1}.ticker-flags i:last-child{left:16px;z-index:2}.ticker-coin{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;border:1px solid #6d5800;color:#ffc400;background:#10170e;font-weight:950}.ticker-coin.btc{background:#f69a1c;color:#fff;border-color:#f69a1c;font-size:20px}.ticker-coin.gold{background:linear-gradient(145deg,#ffe367,#c68c00);color:#161616}.ticker-coin.eth{color:#b8c9ff}.ticker-coin.oil{color:#d7e3ea}


/* ============================================================
   POLOSTAKE 8.1 — TICKER COLADO AO TOPO + ÍCONES LOCAIS
   ============================================================ */
.market-ticker{
  top:0!important;
  margin-top:0!important;
  border-top:0!important;
}
.ticker-market-image{
  width:50px;
  height:38px;
  flex:0 0 50px;
  display:block;
  overflow:hidden;
  border-radius:9px;
  background:#07131c;
  border:2px solid #07131c;
  box-shadow:0 1px 7px rgba(0,0,0,.58);
}
.ticker-market-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

/* Desktop: ticker first, header immediately below. */
@media(min-width:900px){
  .market-ticker{
    left:220px!important;
    right:0!important;
    width:calc(100% - 220px)!important;
    height:52px!important;
  }
  .v4-brandbar{
    top:52px!important;
  }
  body:has(.live-dashboard) .v4-brandbar{
    top:auto!important;
    margin-top:52px!important;
  }
}

/* Mobile/tablet: same hierarchy, with the compact ticker height. */
@media(max-width:899px){
  .market-ticker{
    left:0!important;
    right:0!important;
    width:100%!important;
    height:44px!important;
  }
  .v4-brandbar{
    top:44px!important;
  }
  body:has(.live-dashboard) .v4-brandbar{
    top:auto!important;
    margin-top:44px!important;
  }
  .ticker-market-image{
    width:44px;
    height:34px;
    flex-basis:44px;
    border-radius:8px;
  }
}
@media(max-width:600px){
  .market-ticker{height:38px!important;}
  .v4-brandbar{top:38px!important;}
  body:has(.live-dashboard) .v4-brandbar{
    top:auto!important;
    margin-top:38px!important;
  }
  .ticker-market-image{
    width:40px;
    height:30px;
    flex-basis:40px;
    border-radius:7px;
  }
}


/* ================================================================
   POLOSTAKE 8.2 — ORGANIZAÇÃO FINAL DESKTOP/MOBILE
   Referência: dashboard live aprovado.
   ================================================================ */

/* Ticker: PRIMEIRA LINHA, de uma borda da janela à outra. */
.market-ticker{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:58px!important;
  margin:0!important;
  padding:0!important;
  z-index:1200!important;
  display:flex!important;
  align-items:stretch!important;
  background:#031019!important;
  border-top:0!important;
  border-bottom:1px solid #715b00!important;
  box-shadow:0 0 15px rgba(255,196,0,.10) inset!important;
}
.ticker-live-title{
  width:200px;
  min-width:200px;
  height:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 18px;
  border-right:1px solid #263947;
  background:#031019;
  color:#fff;
  white-space:nowrap;
  font-size:10px;
  font-weight:950;
  letter-spacing:.02em;
  z-index:3;
}
.ticker-wave{
  color:#ffc400;
  font-size:29px;
  line-height:1;
  transform:rotate(18deg);
  text-shadow:0 0 9px rgba(255,196,0,.55);
}
.ticker-live-dot{
  width:8px;height:8px;min-width:8px;border-radius:50%;
  background:#00e99a;
  box-shadow:0 0 12px #00e99a;
  animation:pulse 1.5s infinite;
}
.deriv-ticker-viewport{height:100%!important;flex:1 1 auto!important;min-width:0!important;}
.deriv-ticker-status{top:5px!important;right:6px!important;}
.deriv-ticker-item{padding-left:18px!important;padding-right:18px!important;}
.ticker-market-image{width:46px!important;height:36px!important;flex-basis:46px!important;border-radius:9px!important;}

/* Desktop: remove a navegação lateral e reproduz o cabeçalho horizontal. */
@media(min-width:900px){
  .desktop-sidebar{display:none!important;}
  .v4-shell{
    margin-left:0!important;
    width:100%!important;
    max-width:none!important;
    padding-top:0!important;
  }
  .v4-brandbar,
  body:has(.live-dashboard) .v4-brandbar{
    position:relative!important;
    left:0!important;
    top:auto!important;
    margin-top:58px!important;
    width:100%!important;
    height:112px!important;
    min-height:112px!important;
    padding:14px 28px!important;
    display:flex!important;
    align-items:center!important;
    gap:20px!important;
    background:#030c13!important;
    border-bottom:1px solid #102b3a!important;
  }
  .v4-brand{
    display:flex!important;
    flex:0 0 300px!important;
    width:300px!important;
    max-width:300px!important;
    height:82px!important;
    align-items:center!important;
  }
  .v4-brand .brand-logo{
    width:270px!important;
    max-width:100%!important;
    height:78px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .desktop-header-context{display:none!important;}
  .desktop-top-nav{
    flex:1 1 auto;
    min-width:0;
    height:82px;
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:3px;
  }
  .desktop-top-nav a{
    min-width:86px;
    max-width:116px;
    flex:1 1 92px;
    border:1px solid transparent;
    border-radius:11px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    color:#b6c7d7;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
    text-align:center;
    white-space:nowrap;
    transition:.18s ease;
  }
  .desktop-top-nav a b{
    color:#9bc4e6;
    font-size:19px;
    line-height:1;
  }
  .desktop-top-nav a:hover{
    background:#081721;
    border-color:#173243;
    color:#fff;
  }
  .desktop-top-nav a.active{
    border-color:#8b6d00;
    background:linear-gradient(#161b11,#12170d);
    color:#ffe16a;
    box-shadow:0 0 15px rgba(255,196,0,.12) inset;
  }
  .desktop-top-nav a.active b{color:#ffc400;}
  .v4-head-actions{
    flex:0 0 auto;
    margin-left:auto;
    gap:10px!important;
  }
  .header-balance{white-space:nowrap;}
  .header-deposit{white-space:nowrap;}
  .mobile-bottom-nav{display:none!important;}
}

/* Ajustes para notebooks/desktops mais estreitos. */
@media(min-width:900px) and (max-width:1250px){
  .v4-brand{flex-basis:230px!important;width:230px!important;max-width:230px!important;}
  .v4-brand .brand-logo{width:220px!important;}
  .desktop-top-nav a{min-width:70px;font-size:9px;}
  .desktop-top-nav a b{font-size:17px;}
  .header-balance small{font-size:7px!important;}
  .header-balance strong{font-size:15px!important;}
  .header-deposit{padding-left:12px!important;padding-right:12px!important;font-size:9px!important;}
}

/* Mobile/tablet: ticker continua sendo a primeira linha e o cabeçalho fica limpo. */
@media(max-width:899px){
  .market-ticker{
    height:44px!important;
  }
  .ticker-live-title{
    width:132px;
    min-width:132px;
    padding:0 9px;
    gap:6px;
    font-size:8px;
  }
  .ticker-wave{font-size:21px;}
  .ticker-live-dot{width:6px;height:6px;min-width:6px;}
  .ticker-market-image{width:40px!important;height:31px!important;flex-basis:40px!important;}
  .deriv-ticker-item{padding-left:11px!important;padding-right:11px!important;}

  .v4-brandbar,
  body:has(.live-dashboard) .v4-brandbar{
    position:relative!important;
    left:0!important;
    top:auto!important;
    margin-top:44px!important;
    min-height:64px!important;
    height:64px!important;
    padding:7px 12px!important;
    display:flex!important;
    align-items:center!important;
    background:#030c13!important;
  }
  .desktop-top-nav{display:none!important;}
  .v4-brand{display:flex!important;flex:1 1 auto!important;height:50px!important;}
  .v4-brand .brand-logo{
    width:175px!important;height:48px!important;
    object-fit:contain!important;object-position:left center!important;
  }
  .v4-head-actions{margin-left:auto!important;}
  .header-balance{display:none!important;}
  .header-deposit{padding:9px 11px!important;font-size:9px!important;}
  .live-dashboard{padding-top:12px!important;}
  .mobile-bottom-nav{
    display:grid!important;
    grid-template-columns:repeat(6,1fr)!important;
    gap:0!important;
  }
  .mobile-bottom-nav a{min-width:0!important;padding-left:2px!important;padding-right:2px!important;}
  .mobile-bottom-nav small{font-size:7px!important;white-space:nowrap!important;}
}

/* Celulares pequenos: preserva espaço útil sem esconder "Mercados ao vivo". */
@media(max-width:520px){
  .market-ticker{height:40px!important;}
  .ticker-live-title{
    width:112px;min-width:112px;padding:0 7px;gap:5px;font-size:7px;
  }
  .ticker-wave{font-size:18px;}
  .ticker-market-image{width:36px!important;height:28px!important;flex-basis:36px!important;}
  .v4-brandbar,
  body:has(.live-dashboard) .v4-brandbar{
    margin-top:40px!important;
    height:60px!important;
    min-height:60px!important;
    padding:6px 9px!important;
  }
  .v4-brand .brand-logo{width:150px!important;height:45px!important;}
  .header-deposit{display:none!important;}
  .mobile-bottom-nav small{font-size:6.5px!important;}
}


/* ================================================================
   POLOSTAKE V8.3 — LOGO HOME + USD/CAD + TICKER CLEANUP
   ================================================================ */
@media(min-width:900px){
  .v4-brand{
    flex:0 0 305px!important;
    width:305px!important;
    max-width:305px!important;
    min-width:305px!important;
    overflow:visible!important;
  }
  .v4-brand .brand-logo{
    display:block!important;
    width:285px!important;
    height:86px!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:left center!important;
    opacity:1!important;
    visibility:visible!important;
  }
}
@media(max-width:899px){
  .v4-brand .brand-logo{
    display:block!important;
    width:178px!important;
    height:50px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
}
@media(max-width:520px){
  .v4-brand .brand-logo{width:154px!important;height:45px!important;}
}

/* ============================================================
   POLOSTAKE 9.0 — Layout alinhado ao conceito live (v5 deriv flags)
   Scope toggles, Meta/Stop session, compare panel, activity feed
   ============================================================ */
:root{
  --ps-bg:#020a10;
  --ps-panel:#06131c;
  --ps-line:#173243;
  --ps-gold:#ffc400;
  --ps-green:#00e99a;
  --ps-red:#ff3654;
  --ps-text:#f7f9fc;
  --ps-muted:#9bb0c2;
  --ps-blue:#9bc9ee;
}

body:has(.live-dashboard){
  background:radial-gradient(circle at 80% 0,#05212c 0,transparent 24%),var(--ps-bg);
  color:var(--ps-text);
}

/* KPI heads */
.live-kpi .kpi-head,
.live-risk .kpi-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#b8d3e7;
  font-size:11px;
  font-weight:900;
}
.kpi-icon{font-size:22px;color:var(--ps-gold)}
.kpi-val{font-size:25px;font-weight:950;margin-top:12px}
.kpi-sub{font-size:12px;margin-top:8px;color:#8fa5b6}

/* Scope DIA / COMPLETO */
.scope-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:6px;
  gap:8px;
}
.scope-label{
  font-size:8px;
  font-weight:950;
  letter-spacing:.08em;
  color:#ffd22a;
  white-space:nowrap;
}
.scope-switch{
  display:flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  user-select:none;
}
.scope-switch input{display:none}
.scope-slider{
  width:31px;height:16px;border-radius:99px;
  background:#18303e;border:1px solid #315164;
  position:relative;transition:.25s;
}
.scope-slider:after{
  content:"";position:absolute;
  width:10px;height:10px;border-radius:50%;
  left:2px;top:2px;
  background:var(--ps-gold);
  box-shadow:0 0 8px #ffc40088;
  transition:.25s;
}
.scope-switch input:checked + .scope-slider{
  background:#3a3006;border-color:#806800;
}
.scope-switch input:checked + .scope-slider:after{
  transform:translateX(15px);
}
.scope-text{
  min-width:37px;font-size:8px;font-weight:950;
  color:#9fb4c5;transition:.25s;
}
.scope-switch input:checked ~ .scope-text{color:#ffd22a}
.scope-flash{animation:scopeFlash .4s ease}
@keyframes scopeFlash{50%{transform:translateY(-2px);opacity:.65}}

/* Ops extremes */
.ops-extremes{
  display:flex;gap:12px;margin-top:10px;padding-top:9px;
  border-top:1px solid #15303e;
}
.ops-extremes div{flex:1}
.ops-extremes small{display:block;color:#7890a2;font-size:8px}
.ops-extremes b{display:block;margin-top:3px;font-size:12px;font-weight:950}
.ops-extremes .best{color:var(--ps-green)!important;text-shadow:0 0 9px #00e99a22}
.ops-extremes .worst{color:var(--ps-red)!important;text-shadow:0 0 9px #ff365422}

/* Risk grid + session controls */
.risk-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.15fr;
  gap:16px;
  margin-top:14px;
}
.risk-grid small{display:block;color:#a9bdcc;font-size:9px}
.risk-grid b{display:block;margin-top:6px;font-size:14px}
.risk-progress{
  height:12px;background:#102635;border-radius:99px;
  margin-top:8px;overflow:hidden;
}
.risk-progress i{
  display:block;height:100%;
  background:linear-gradient(90deg,#ffd21a,#ffad00);
  border-radius:99px;
  animation:riskGlow 2s infinite;
}
@keyframes riskGlow{50%{box-shadow:0 0 18px #ffc400}}

.risk-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:13px;
}
.risk-actions button{
  border-radius:9px;
  padding:10px 10px;
  font-size:10px;
  font-weight:950;
  cursor:pointer;
  transition:.2s;
  border:1px solid transparent;
}
.session-toggle.running{
  background:#33131b;border-color:#8c293b;color:#ff6077;
}
.session-toggle.stopped{
  background:#06382c;border-color:#087b5d;color:var(--ps-green);
}
.next-day{
  background:#0c1c27;border:1px solid #315063;color:#b9cbd8;
}
.next-day.waiting{
  background:#322a06;border-color:#8a6c00;color:#ffd42a;
  box-shadow:0 0 13px #ffc40028;
}
.session-status{
  margin-top:9px;font-size:9px;color:#8fa4b4;
}
.session-status b{color:var(--ps-green)}
.session-status.wait b{color:#ffd42a}

/* Signal road stages (concept style) */
.signal-road{
  margin-top:16px;
  padding:14px 20px;
  display:grid;
  grid-template-columns:180px 1fr;
  align-items:center;
  overflow:hidden;
}
.signal-road-title{
  color:var(--ps-gold);
  font-size:11px;
  font-weight:950;
  letter-spacing:.04em;
}
.road{
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
}
.road:before{
  content:"";
  position:absolute;
  left:4%;right:4%;top:16px;
  height:2px;background:#173545;
}
.road:after{
  content:"";
  position:absolute;
  left:4%;top:16px;
  width:58%;height:2px;
  background:linear-gradient(90deg,var(--ps-green),var(--ps-gold));
  box-shadow:0 0 10px var(--ps-green);
  animation:roadmove 4s ease-in-out infinite alternate;
}
@keyframes roadmove{from{width:25%}to{width:74%}}
.stage{
  position:relative;z-index:2;
  text-align:center;width:120px;
}
.stage i{
  margin:auto;
  width:33px;height:33px;border-radius:50%;
  display:grid;place-items:center;
  background:#08202a;border:1px solid #285066;
  color:#9bb7ca;font-style:normal;font-size:12px;
}
.stage.done i{
  background:#063a2e;color:var(--ps-green);
  border-color:#08785a;box-shadow:0 0 14px #00e99a44;
}
.stage.active i{
  background:#322b06;color:var(--ps-gold);
  border-color:#8b6e00;box-shadow:0 0 16px #ffc40055;
  animation:pulse 1.2s infinite;
}
.stage b{
  display:block;font-size:8px;margin-top:6px;color:#a8bbca;
  font-weight:900;letter-spacing:.02em;
}

/* Activity feed */
.activity{
  margin-top:16px;
  padding:13px 20px;
  display:flex;
  align-items:center;
  gap:20px;
  overflow:hidden;
}
.activity strong{
  font-size:10px;color:var(--ps-gold);
  white-space:nowrap;font-weight:950;
}
.activity-window{overflow:hidden;flex:1}
.activity-track{
  display:inline-block;
  white-space:nowrap;
  color:#b5c5d3;
  font-size:10px;
  animation:activity 32s linear infinite;
}
@keyframes activity{
  from{transform:translateX(100%)}
  to{transform:translateX(-100%)}
}

/* History rows (concept hist) */
.hist{
  display:grid;
  grid-template-columns:55px 1fr 90px 80px;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid #14303e;
  font-size:10px;
  align-items:center;
}
.hist .tag{
  justify-self:end;
  border:1px solid #315064;
  border-radius:99px;
  padding:4px 8px;
  font-size:8px;
  text-align:center;
}
.hist .tag.client{color:var(--ps-gold);border-color:#7b6500}
.history-win{color:var(--ps-green)!important;font-weight:950!important;text-shadow:0 0 9px rgba(0,233,154,.18)}
.history-loss{color:var(--ps-red)!important;font-weight:950!important;text-shadow:0 0 9px rgba(255,54,84,.18)}
.history-manual-win{color:var(--ps-green)!important;font-weight:950!important}
.history-manual-loss{color:var(--ps-red)!important;font-weight:950!important}
.history-manual-win::before,
.history-manual-loss::before{content:"✂ ";color:var(--ps-gold)}

/* Compare strategy × client */
.section-title{
  color:var(--ps-gold);
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  margin-bottom:4px;
}
.compare-op{
  margin-top:13px;
  border:1px solid #173646;
  background:#061620;
  border-radius:11px;
  padding:11px;
}
.compare-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:9px;
  color:#8297a8;
  margin-bottom:10px;
}
.compare-head b{color:#eaf1f6}
.compare-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.compare-side{
  border:1px solid #183645;
  border-radius:9px;
  padding:9px;
}
.compare-side>strong{
  display:block;
  font-size:9px;
  color:var(--ps-gold);
  margin-bottom:8px;
}
.compare-line{
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:8px;
  color:#8196a7;
  margin:6px 0;
}
.compare-line b{font-size:9px;color:#eef4f8}
.diff-note{
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid #15313f;
  color:#8297a8;
  font-size:8px;
  line-height:1.45;
}
.recovery-badge{
  display:inline-block;
  border:1px solid #765f00;
  background:#282204;
  color:#ffd12a;
  border-radius:99px;
  padding:4px 7px;
  font-size:7px;
  font-weight:950;
}

/* Trust mini */
.mini{display:grid;gap:12px;margin-top:18px}
.mini div{
  display:flex;
  justify-content:space-between;
  color:#9db1c1;
  font-size:10px;
}
.mini b{color:white}

/* Pair buy/sell pills */
.live-pair .buy{
  background:#07573f;color:var(--ps-green);
  padding:7px 12px;border-radius:99px;
  font-size:10px;font-weight:950;
}
.live-pair .sell{
  background:#5c1a28;color:#ff6b7f;
  padding:7px 12px;border-radius:99px;
  font-size:10px;font-weight:950;
}

/* Responsive for new blocks */
@media(max-width:1250px){
  .signal-road{grid-template-columns:1fr;gap:14px}
  .road .stage{width:auto;flex:1}
  .stage b{font-size:7px}
}
@media(max-width:899px){
  .activity{flex-direction:column;align-items:flex-start;gap:8px}
  .compare-grid{grid-template-columns:1fr}
  .hist{grid-template-columns:48px 1fr 70px;gap:6px}
  .hist .tag{display:none}
  .risk-grid{grid-template-columns:1fr 1fr;gap:10px}
  .risk-grid > div:last-child{grid-column:1/-1}
  .ops-extremes{flex-direction:column;gap:6px}
}
@media(max-width:520px){
  .scope-wrap{flex-wrap:wrap}
  .kpi-val{font-size:20px}
  .risk-actions{grid-template-columns:1fr}
}

/* Meta / Stop diários — Configurações */
.risk-limits-card .section-help b{color:#e8f2f8;font-weight:900}
.risk-limits-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:4px;
}
.risk-limit-field{
  display:grid;
  gap:7px;
  min-width:0;
}
.risk-limit-field>span{
  font-size:11px;
  font-weight:900;
  color:#cfe0ec;
  letter-spacing:.02em;
}
.risk-limit-field small{
  font-size:9px;
  color:#7f97a9;
  line-height:1.4;
}
.risk-input-wrap{
  display:flex;
  align-items:center;
  gap:0;
  border:1px solid #2b4960;
  border-radius:13px;
  background:#071522;
  overflow:hidden;
}
.risk-input-wrap em{
  flex:0 0 36px;
  height:46px;
  display:grid;
  place-items:center;
  font-style:normal;
  font-weight:950;
  font-size:16px;
  color:var(--gold);
  background:#0a1c2a;
  border-right:1px solid #1e3a4e;
}
.risk-input-wrap input{
  flex:1;
  min-width:0;
  border:0;
  background:transparent;
  color:#eef8ff;
  font:inherit;
  font-size:16px;
  font-weight:900;
  padding:12px 14px;
  outline:0;
  font-variant-numeric:tabular-nums;
}
.risk-input-wrap input:focus{
  box-shadow:inset 0 0 0 1px rgba(255,196,0,.35);
}
.risk-input-wrap input::-webkit-outer-spin-button,
.risk-input-wrap input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.risk-input-wrap input[type=number]{-moz-appearance:textfield}
@media(max-width:600px){
  .risk-limits-grid{grid-template-columns:1fr}
}

/* Caminho do sinal — estado bloqueado + nota por cliente */
.stage.blocked i{
  background:#3a1218!important;
  color:#ff6b7f!important;
  border-color:#8c293b!important;
  box-shadow:0 0 12px #ff365444!important;
}
.signal-block-note{
  margin-top:12px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid #5c2430;
  background:#1a0c10;
  color:#ff8a9a;
  font-size:10px;
  font-weight:700;
  line-height:1.4;
}
.act-item{white-space:nowrap}
.act-item.act-error,.act-item.act-filter{color:#ff8a9a}
.act-item.act-success{color:#00e99a}
.act-item.act-warning{color:#ffd42a}
.act-item.act-info,.act-item.act-trade{color:#b5c5d3}

/* Histórico de sinais */
.signals-tg-link{margin-left:8px;color:var(--gold);font-weight:900;text-decoration:none;font-size:10px}
.signals-tg-link:hover{text-decoration:underline}
.signal-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.signal-stat{padding:14px 16px;min-height:0}
.signal-stat small{display:block;font-size:9px;color:#8fa5b6;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.signal-stat b{display:block;font-size:22px;margin-top:8px}
.signal-stat em{display:block;font-style:normal;font-size:10px;color:#7f97a9;margin-top:6px}
.recovery-pill{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:99px;border:1px solid #765f00;background:#282204;color:#ffd12a;font-size:8px;font-weight:950;vertical-align:middle}
.signals-filter-form{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:700px){
  .signal-stats-grid{grid-template-columns:1fr}
  .signals-filter-form{grid-template-columns:1fr 1fr}
}

/* Operação atual — PnL ao vivo */
.live-pnl-pct{display:block;font-size:10px;margin-top:3px;font-weight:900}
.live-progress i.bar-gain{
  background:linear-gradient(90deg,#00e99a,#00c884)!important;
  box-shadow:0 0 14px #00e99a88!important;
}
.live-progress i.bar-loss{
  background:linear-gradient(90deg,#ff6b7f,#e91335)!important;
  box-shadow:0 0 14px #ff365488!important;
}
.live-progress i.bar-flat{
  background:linear-gradient(90deg,#3a5a6e,#2a4558)!important;
  box-shadow:none!important;
}
.live-progress.is-gain{box-shadow:0 0 12px #00e99a22}
.live-progress.is-loss{box-shadow:0 0 12px #ff365422}
#liveOpPnl{font-size:14px;font-weight:950}
#liveOpSpot{font-variant-numeric:tabular-nums}


/* ================================================================
   POLOSTAKE 9.8 — HEADER + TICKER (desktop logo + mobile gap fix)
   ================================================================ */

/* Brandbar sempre colada no topo (evita "posição estática" residual) */
.v4-brandbar{
  position:fixed !important;
  top:0 !important;
  left:0;
  right:0;
  z-index:700;
  margin:0 !important;
  box-sizing:border-box;
}

/* Ticker imediatamente abaixo do brandbar */
.market-ticker{
  position:fixed !important;
  top:calc(64px + env(safe-area-inset-top, 0px)) !important;
  z-index:690;
  margin:0 !important;
}

/* Conteúdo: espaço exato = header + ticker (sem gap extra) */
.shell.v4-shell.with-bottom-nav{
  padding-top:calc(64px + 44px + env(safe-area-inset-top, 0px) + 12px) !important;
  padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px));
}

/* --- Mobile / tablet --- */
@media (max-width:899px){
  .v4-brandbar{
    min-height:56px !important;
    height:56px !important;
    padding:calc(6px + env(safe-area-inset-top, 0px)) 12px 6px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px;
  }
  .v4-brandbar .v4-brand{
    display:flex !important;
    align-items:center;
    height:40px !important;
    max-width:min(180px, calc(100% - 130px)) !important;
  }
  .v4-brandbar .brand-logo{
    display:block !important;
    width:min(168px, 100%) !important;
    height:auto !important;
    max-height:40px !important;
    object-fit:contain !important;
  }
  .market-ticker{
    top:calc(56px + env(safe-area-inset-top, 0px)) !important;
    height:40px !important;
  }
  .shell.v4-shell.with-bottom-nav{
    padding-top:calc(56px + 40px + env(safe-area-inset-top, 0px) + 10px) !important;
  }
  /* remove margens fantasmas do dashboard sob o header */
  .dashboard-wrap,
  .live-dashboard,
  .page-head{
    margin-top:0 !important;
  }
}

@media (max-width:600px){
  .v4-brandbar{
    min-height:52px !important;
    height:52px !important;
    padding:calc(5px + env(safe-area-inset-top, 0px)) 10px 5px !important;
  }
  .v4-brandbar .v4-brand{height:36px !important;max-width:min(156px, calc(100% - 120px)) !important;}
  .v4-brandbar .brand-logo{max-height:36px !important;width:min(150px, 100%) !important;}
  .market-ticker{
    top:calc(52px + env(safe-area-inset-top, 0px)) !important;
    height:36px !important;
  }
  .shell.v4-shell.with-bottom-nav{
    padding-top:calc(52px + 36px + env(safe-area-inset-top, 0px) + 8px) !important;
  }
}

/* --- Desktop: logo no cabeçalho (como no HTML conceito) --- */
@media (min-width:900px){
  .v4-brandbar{
    left:220px !important;
    right:0 !important;
    width:auto !important;
    min-height:64px !important;
    height:64px !important;
    padding:8px 28px !important;
    display:flex !important;
    align-items:center !important;
    gap:20px !important;
    justify-content:flex-start !important;
  }
  /* REEXIBE a logo no header desktop */
  .v4-brandbar .v4-brand{
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    height:48px !important;
    max-width:none !important;
    margin-right:8px;
  }
  .v4-brandbar .brand-logo{
    display:block !important;
    width:168px !important;
    max-width:168px !important;
    height:auto !important;
    max-height:48px !important;
    object-fit:contain !important;
  }
  .desktop-top-nav{
    display:flex !important;
    align-items:stretch;
    flex:1 1 auto;
    min-width:0;
    height:48px;
  }
  .v4-head-actions{
    margin-left:auto !important;
    flex:0 0 auto;
  }
  .market-ticker{
    left:220px !important;
    width:calc(100% - 220px) !important;
    top:calc(64px + env(safe-area-inset-top, 0px)) !important;
    height:52px !important;
  }
  .shell.v4-shell.with-bottom-nav{
    padding-top:calc(64px + 52px + 16px) !important;
    padding-bottom:28px !important;
  }
}

@media (min-width:1200px){
  .v4-brandbar .brand-logo{width:190px !important;max-width:190px !important;}
}


/* ================================================================
   POLOSTAKE 9.9 — MARCA INTEGRADA (ícone + tipografia, como o conceito)
   Sem faixa PNG “colada”: leão + texto nativo do layout.
   ================================================================ */
.v4-brand,
.sidebar-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  text-decoration:none !important;
  min-width:0;
}
.brand-lion,
.sidebar-lion{
  display:block !important;
  width:48px !important;
  height:48px !important;
  object-fit:contain !important;
  flex:0 0 48px;
  filter:drop-shadow(0 0 10px rgba(255,196,0,.18));
}
.brand-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1.05;
}
.brand-name{
  font-size:22px;
  font-weight:950;
  letter-spacing:-.04em;
  color:#f7f9fc;
  white-space:nowrap;
}
.brand-name em{
  font-style:normal;
  color:#ffc400;
  text-shadow:0 0 12px rgba(255,196,0,.25);
}
.brand-sub{
  margin-top:3px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.22em;
  color:#9bb0c2;
  white-space:nowrap;
}

/* Mobile header: marca compacta e legível */
@media (max-width:899px){
  .v4-brandbar .v4-brand{
    display:flex !important;
    height:auto !important;
    max-width:calc(100% - 120px) !important;
  }
  .v4-brandbar .brand-lion{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  .v4-brandbar .brand-name{font-size:18px;}
  .v4-brandbar .brand-sub{font-size:7px;letter-spacing:.18em;}
}
@media (max-width:600px){
  .v4-brandbar .brand-lion{
    width:36px !important;
    height:36px !important;
    flex-basis:36px !important;
  }
  .v4-brandbar .brand-name{font-size:16px;}
  .v4-brandbar .brand-sub{font-size:6px;letter-spacing:.14em;}
}
@media (max-width:380px){
  .v4-brandbar .brand-sub{display:none;} /* só o nome em telas mínimas */
}

/* Desktop header: marca visível e homogênea ao conceito */
@media (min-width:900px){
  .v4-brandbar .v4-brand{
    display:flex !important;
    flex:0 0 auto !important;
    max-width:none !important;
    height:auto !important;
    margin-right:10px;
  }
  .v4-brandbar .brand-lion{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }
  .v4-brandbar .brand-name{font-size:24px;}
  .v4-brandbar .brand-sub{font-size:9px;letter-spacing:.24em;}

  /* Sidebar: mesmo sistema visual */
  .sidebar-brand{
    height:auto !important;
    padding:4px 6px 18px !important;
    gap:12px !important;
  }
  .sidebar-lion{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }
  .sidebar-brand .brand-name{font-size:20px;}
  .sidebar-brand .brand-sub{font-size:8px;}
}
@media (min-width:1200px){
  .v4-brandbar .brand-lion{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
  }
  .v4-brandbar .brand-name{font-size:26px;}
}

/* Esconde regras antigas de logo-faixa se ainda restarem */
.v4-brand .brand-logo,
.sidebar-logo{display:none !important;}


/* ================================================================
   POLOSTAKE 10.0 — MARCA DO CONCEITO (vetorizada no layout)
   Ícone oficial do HTML conceito + tipografia nativa.
   NÃO usa faixa PNG horizontal nem leão antigo.
   ================================================================ */
.v4-brand,
.sidebar-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  text-decoration:none !important;
  min-width:0;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.brand-mark{
  display:block !important;
  width:54px !important;
  height:54px !important;
  object-fit:contain !important;
  flex:0 0 54px;
  border-radius:14px;
  /* sem caixa extra: o próprio PNG já traz o amarelo */
  background:transparent !important;
  filter:none !important;
  box-shadow:none !important;
}
.brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  min-width:0;
  line-height:1;
}
.brand-name{
  font-size:26px;
  font-weight:950;
  letter-spacing:-.045em;
  color:#f4f7fb;
  white-space:nowrap;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
}
.brand-name em{
  font-style:normal;
  color:#ffc400;
  text-shadow:0 0 14px rgba(255,196,0,.28);
}
.brand-name sup{
  font-size:10px;
  font-weight:800;
  color:#c9d6e2;
  margin-left:1px;
  vertical-align:super;
}
.brand-sub{
  font-size:10px;
  font-weight:800;
  letter-spacing:.26em;
  color:#b7c7d5;
  white-space:nowrap;
  text-transform:uppercase;
}

/* Garante logo no desktop (anula display:none legados) */
@media (min-width:900px){
  .v4-brandbar .v4-brand{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    flex:0 0 auto !important;
    max-width:none !important;
    height:auto !important;
    margin-right:14px;
  }
  .v4-brandbar .brand-mark{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
    border-radius:15px;
  }
  .v4-brandbar .brand-name{font-size:28px;}
  .v4-brandbar .brand-sub{font-size:10px;letter-spacing:.26em;}

  .sidebar-brand .brand-mark{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }
  .sidebar-brand .brand-name{font-size:20px;}
  .sidebar-brand .brand-sub{font-size:8px;letter-spacing:.2em;}
}

@media (max-width:899px){
  .v4-brandbar .v4-brand{display:flex !important;max-width:calc(100% - 118px) !important;}
  .v4-brandbar .brand-mark{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
    border-radius:12px;
  }
  .v4-brandbar .brand-name{font-size:18px;}
  .v4-brandbar .brand-sub{font-size:7px;letter-spacing:.18em;}
}
@media (max-width:600px){
  .v4-brandbar .brand-mark{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
  .v4-brandbar .brand-name{font-size:16px;}
  .v4-brandbar .brand-sub{font-size:6.5px;letter-spacing:.14em;}
}
@media (max-width:380px){
  .v4-brandbar .brand-sub{display:none;}
}

/* Remove vestígios de logo-faixa / leão no header */
.v4-brand .brand-logo,
.v4-brand .brand-lion,
.sidebar-logo,
.sidebar-lion{display:none !important;}



/* SVG mark — nítido em qualquer densidade de tela */
.brand-mark{
  image-rendering:auto;
}
img.brand-mark[src$=".svg"]{
  /* evita blur em alguns browsers ao escalar SVG-img */
  transform: translateZ(0);
}


/* ================================================================
   POLOSTAKE 10.2 — HEADER EXATO DO CONCEITO HTML
   Fontes, gaps, saldo, depositar + conteúdo colado sob o ticker.
   ================================================================ */

/* Ticker no topo absoluto (primeira faixa) */
.market-ticker{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:52px !important;
  z-index:720 !important;
  margin:0 !important;
}

/* Header logo abaixo do ticker */
.v4-brandbar{
  position:fixed !important;
  top:52px !important;
  left:0 !important;
  right:0 !important;
  height:88px !important;
  min-height:88px !important;
  padding:0 28px !important;
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  z-index:710 !important;
  margin:0 !important;
  border-bottom:1px solid #102b3a !important;
  background:rgba(4,12,20,.98) !important;
  box-sizing:border-box !important;
}

/* Marca — tamanhos do conceito */
.v4-brandbar .v4-brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex:0 0 auto !important;
  min-width:0;
  max-width:none !important;
  height:auto !important;
  text-decoration:none !important;
}
.v4-brandbar .brand-mark{
  width:72px !important;
  height:72px !important;
  flex:0 0 72px !important;
  object-fit:contain !important;
  border-radius:16px;
  background:transparent !important;
  filter:none !important;
  box-shadow:none !important;
}
.v4-brandbar .brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  line-height:1;
}
.v4-brandbar .brand-name{
  font-size:32px !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  color:#f7f9fc !important;
  white-space:nowrap;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
}
.v4-brandbar .brand-name span,
.v4-brandbar .brand-name em{
  font-style:normal !important;
  color:#ffc400 !important;
  text-shadow:0 0 14px rgba(255,196,0,.28);
}
.v4-brandbar .brand-name sup{
  font-size:10px !important;
  font-weight:800;
  color:#c9d6e2;
  margin-left:2px;
}
.v4-brandbar .brand-sub{
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.26em !important;
  color:#b7c7d5 !important;
  white-space:nowrap;
  text-transform:uppercase;
  margin-top:2px;
}

/* Nav desktop no header */
.v4-brandbar .desktop-top-nav{
  display:flex !important;
  align-items:stretch;
  flex:1 1 auto;
  min-width:0;
  height:72px;
  gap:2px;
}
.v4-brandbar .desktop-top-nav a{
  min-width:88px;
  border:0;
  background:transparent;
  color:#b6c7d7;
  font-size:11px;
  font-weight:850;
  border-radius:12px;
  padding:8px 6px;
  text-align:center;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.v4-brandbar .desktop-top-nav a b{
  display:block;
  font-size:20px;
  color:#9bc4e6;
  margin-bottom:5px;
  font-weight:900;
}
.v4-brandbar .desktop-top-nav a.active{
  border:1px solid #8b6d00;
  background:linear-gradient(#161b11,#12170d);
  color:#ffe16a;
  box-shadow:0 0 15px #ffc40020 inset;
}
.v4-brandbar .desktop-top-nav a.active b{color:#ffc400;}

/* Conta / saldo / depositar — tipografia do conceito */
.v4-brandbar .v4-head-actions{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  margin-left:auto !important;
  flex:0 0 auto !important;
  border-left:1px solid #1a3342;
  padding-left:22px;
}
.v4-brandbar .header-balance{
  display:flex !important;
  flex-direction:column;
  align-items:flex-end;
  line-height:1.15;
}
.v4-brandbar .header-balance small{
  display:block !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.4px;
  color:#a5b6c5 !important;
  text-transform:uppercase;
}
.v4-brandbar .header-balance strong{
  display:block !important;
  font-size:20px !important;
  font-weight:950 !important;
  color:#f7f9fc !important;
  margin-top:3px;
  font-variant-numeric:tabular-nums;
}
.v4-brandbar .header-deposit{
  height:auto !important;
  padding:14px 18px !important;
  border-radius:13px !important;
  background:linear-gradient(#ffd322,#ffb900) !important;
  color:#111 !important;
  font-size:14px !important;
  font-weight:950 !important;
  border:0 !important;
  box-shadow:0 0 18px #ffc40022 !important;
  white-space:nowrap;
}
.v4-brandbar .profile-button{
  width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  border:2px solid #4a6578 !important;
  overflow:hidden !important;
}

/* Conteúdo: exatamente sob ticker(52) + header(88) */
.shell.v4-shell.with-bottom-nav{
  padding-top:calc(52px + 88px + 16px) !important;
  padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  max-width:1920px !important;
  width:100% !important;
  margin:0 auto !important;
  box-sizing:border-box;
}

/* Desktop com sidebar */
@media (min-width:900px){
  .market-ticker{
    left:220px !important;
    width:calc(100% - 220px) !important;
    top:0 !important;
  }
  .v4-brandbar{
    left:220px !important;
    width:auto !important;
    top:52px !important;
    height:100px !important;
    min-height:100px !important;
    padding:0 32px !important;
    gap:24px !important;
  }
  .v4-brandbar .brand-mark{
    width:82px !important;
    height:82px !important;
    flex-basis:82px !important;
    border-radius:18px;
  }
  .v4-brandbar .brand-name{font-size:42px !important;}
  .v4-brandbar .brand-sub{font-size:15px !important;letter-spacing:.26em !important;}
  .v4-brandbar .desktop-top-nav{height:88px;}
  .v4-brandbar .desktop-top-nav a{min-width:100px;font-size:12px;}
  .v4-brandbar .desktop-top-nav a b{font-size:22px;margin-bottom:7px;}
  .v4-brandbar .header-balance strong{font-size:22px !important;}
  .v4-brandbar .header-deposit{padding:16px 21px !important;font-size:16px !important;}
  .v4-brandbar .profile-button{width:54px !important;height:54px !important;}
  .shell.v4-shell.with-bottom-nav{
    padding-top:calc(52px + 100px + 18px) !important;
    padding-left:28px !important;
    padding-right:28px !important;
    margin-left:220px !important;
    width:calc(100% - 220px) !important;
  }
}

@media (min-width:1200px){
  .v4-brandbar{padding:0 32px !important;}
  .v4-brandbar .brand-name{font-size:42px !important;}
}

/* Mobile: ticker top, header compacto logo abaixo, sem gap */
@media (max-width:899px){
  .market-ticker{
    top:0 !important;
    left:0 !important;
    width:100% !important;
    height:40px !important;
  }
  .v4-brandbar{
    top:40px !important;
    left:0 !important;
    height:64px !important;
    min-height:64px !important;
    padding:0 12px !important;
    gap:10px !important;
  }
  .v4-brandbar .desktop-top-nav{display:none !important;}
  .v4-brandbar .brand-mark{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
    border-radius:12px;
  }
  .v4-brandbar .brand-name{font-size:18px !important;}
  .v4-brandbar .brand-sub{font-size:8px !important;letter-spacing:.18em !important;}
  .v4-brandbar .v4-head-actions{
    gap:8px !important;
    padding-left:10px;
    border-left-color:#1a3342;
  }
  .v4-brandbar .header-balance strong{font-size:12px !important;}
  .v4-brandbar .header-balance small{font-size:7px !important;}
  .v4-brandbar .header-deposit{padding:8px 10px !important;font-size:10px !important;border-radius:9px !important;}
  .v4-brandbar .profile-button{width:36px !important;height:36px !important;}
  .shell.v4-shell.with-bottom-nav{
    padding-top:calc(40px + 64px + 10px) !important;
    margin-left:0 !important;
    width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

@media (max-width:600px){
  .market-ticker{height:36px !important;}
  .v4-brandbar{
    top:36px !important;
    height:56px !important;
    min-height:56px !important;
    padding:0 10px !important;
  }
  .v4-brandbar .brand-mark{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
  .v4-brandbar .brand-name{font-size:16px !important;}
  .v4-brandbar .brand-sub{font-size:7px !important;}
  .shell.v4-shell.with-bottom-nav{
    padding-top:calc(36px + 56px + 8px) !important;
  }
}

/* Sidebar marca alinhada */
@media (min-width:900px){
  .sidebar-brand .brand-mark{
    width:52px !important;
    height:52px !important;
  }
  .sidebar-brand .brand-name{font-size:20px !important;}
  .sidebar-brand .brand-sub{font-size:9px !important;letter-spacing:.2em !important;}
}


/* ================================================================
   POLOSTAKE 10.3 — ANIMAÇÕES CSS (conceito live dashboard)
   ================================================================ */

@keyframes pulse{
  0%,100%{opacity:1;filter:brightness(1)}
  50%{opacity:.45;filter:brightness(1.25)}
}
@keyframes roadmove{
  from{width:25%}
  to{width:74%}
}
@keyframes activity{
  from{transform:translateX(12%)}
  to{transform:translateX(-100%)}
}
@keyframes riskGlow{
  0%,100%{box-shadow:0 0 8px #ffc40033}
  50%{box-shadow:0 0 18px #ffc400}
}
@keyframes scopeFlash{
  0%{transform:translateY(0);opacity:1}
  50%{transform:translateY(-2px);opacity:.65}
  100%{transform:translateY(0);opacity:1}
}
@keyframes liveFadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes barShine{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@keyframes softGlow{
  0%,100%{box-shadow:0 0 10px rgba(0,233,154,.15)}
  50%{box-shadow:0 0 22px rgba(0,233,154,.45)}
}
@keyframes tickerTick{
  0%,100%{opacity:1;transform:scale(1)}
  40%{opacity:.7;transform:scale(1.06)}
  100%{opacity:1;transform:scale(1)}
}

/* LED / status vivo */
.bigled,
.live-pill2:not(.idle),
.botstatus .bigled,
.live-status-dot,
.deriv-ticker-status[data-state="live"]{
  animation:pulse 1.6s ease-in-out infinite;
}
.stage.active i{
  animation:pulse 1.2s ease-in-out infinite;
}

/* Caminho do sinal — linha de progresso animada */
.road{
  position:relative;
}
.road:before{
  content:"";
  position:absolute;
  left:4%;right:4%;top:16px;
  height:2px;
  background:#173545;
  z-index:0;
  pointer-events:none;
}
.road:after{
  content:"";
  position:absolute;
  left:4%;top:16px;
  width:58%;
  height:2px;
  background:linear-gradient(90deg,#00e99a,#ffc400);
  box-shadow:0 0 10px #00e99a;
  animation:roadmove 4s ease-in-out infinite alternate;
  z-index:0;
  pointer-events:none;
}
.road .stage{position:relative;z-index:2}

/* Atividade ao vivo — faixa rolante */
.activity-window{overflow:hidden}
.activity-track{
  display:inline-block;
  white-space:nowrap;
  animation:activity 28s linear infinite;
}
.activity-window:hover .activity-track{
  animation-play-state:paused;
}

/* Meta / barra de risco — brilho */
.risk-progress i,
.live-risk-progress i,
.meta-progress i{
  animation:riskGlow 2s ease-in-out infinite;
  transition:width .6s ease;
}

/* Progresso da operação atual */
.live-progress i,
#liveOpProgress{
  transition:width .55s cubic-bezier(.22,.8,.28,1), background .35s ease, box-shadow .35s ease;
  background-size:200% 100%;
}
.live-progress i.bar-gain,
#liveOpProgress.bar-gain{
  animation:softGlow 2.2s ease-in-out infinite;
}
.live-progress.is-gain i{
  background:linear-gradient(90deg,#00e99a,#00c884,#7dffc9,#00e99a);
  background-size:200% 100%;
  animation:barShine 2.8s linear infinite, softGlow 2.2s ease-in-out infinite;
}

/* KPI cards — entrada suave */
.live-kpis .live-panel,
.live-kpi,
.live-hero > *,
.live-operation,
.signal-road,
.activity{
  animation:liveFadeUp .45s ease both;
}
.live-kpis .live-panel:nth-child(1){animation-delay:.04s}
.live-kpis .live-panel:nth-child(2){animation-delay:.08s}
.live-kpis .live-panel:nth-child(3){animation-delay:.12s}
.live-kpis .live-panel:nth-child(4){animation-delay:.16s}
.live-kpis .live-panel:nth-child(5){animation-delay:.2s}

/* Toggle DIA/COMPLETO — flash */
.scope-card.scope-flash,
.live-kpi.scope-flash{
  animation:scopeFlash .4s ease;
}

/* Hover micro-interações */
.live-panel,
.v4-card,
.desktop-top-nav a,
.header-deposit{
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, filter .15s ease;
}
.live-panel:hover,
.v4-card:hover{
  border-color:rgba(255,196,0,.28);
  box-shadow:0 10px 28px rgba(0,0,0,.28);
}
.desktop-top-nav a:hover{
  transform:translateY(-1px);
  color:#e8f3ff;
}
.header-deposit:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}
.header-deposit:active{
  transform:scale(.97);
}

/* Ticker — leve tick nos preços quando atualizam */
.deriv-ticker-item.tick-up strong,
.deriv-ticker-item.tick-down strong,
.deriv-ticker-item.tick-flash strong{
  animation:tickerTick .42s ease;
}

/* Session buttons */
.session-toggle,
.session-nextday,
#sessionToggle,
#nextDay{
  transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.session-toggle:active,
.session-nextday:active{
  transform:scale(.97);
}

/* Respeita preferência de menos movimento */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .activity-track{animation:none !important}
  .road:after{animation:none !important;width:58% !important}
}


/* ================================================================
   POLOSTAKE 10.4 — LAYOUT DESKTOP FULL / MOBILE
   Detecta via html[data-device] + media queries.
   Desktop: preenche a tela, conteúdo centralizado.
   Mobile: coluna única, sem vão, bottom nav.
   ================================================================ */

html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

/* Anula o teto antigo de 560px do shell */
.shell,
.shell.v4-shell,
.v4-shell{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
}

/* ---------- DESKTOP (≥900px ou data-device=desktop) ---------- */
@media (min-width:900px){
  html[data-device="desktop"] body,
  body.device-desktop{
    /* sidebar 220 + conteúdo */
  }

  .desktop-sidebar{
    display:flex !important;
  }
  .mobile-bottom-nav{
    display:none !important;
  }

  .shell.v4-shell,
  .shell.v4-shell.with-bottom-nav{
    margin-left:220px !important;
    width:calc(100% - 220px) !important;
    max-width:none !important;
    padding-left:28px !important;
    padding-right:28px !important;
    padding-bottom:32px !important;
    box-sizing:border-box !important;
  }

  /* área útil centralizada até 1680/1920 */
  .live-dashboard,
  .dashboard-wrap,
  .page-head,
  .history-v2,
  .signals-history,
  .v4-card,
  form.history-filter-form,
  form.settings-form,
  section.history-v2{
    width:100%;
    max-width:1680px;
    margin-left:auto;
    margin-right:auto;
  }

  .live-dashboard{
    max-width:1680px;
    margin:0 auto;
    padding-left:0;
    padding-right:0;
  }

  /* grids full width no desktop */
  .live-hero-grid{
    display:grid !important;
    grid-template-columns:1.55fr .95fr !important;
    gap:16px !important;
  }
  .live-kpis{
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr 1fr 1.75fr !important;
    gap:16px !important;
  }
  .live-lower{
    display:grid !important;
    grid-template-columns:1.4fr .8fr .8fr !important;
    gap:16px !important;
  }

  .market-ticker{
    left:220px !important;
    width:calc(100% - 220px) !important;
  }
  .v4-brandbar{
    left:220px !important;
  }
}

@media (min-width:1400px){
  .live-dashboard,
  .dashboard-wrap{
    max-width:1840px;
  }
  .shell.v4-shell.with-bottom-nav{
    padding-left:36px !important;
    padding-right:36px !important;
  }
}

/* ---------- MOBILE / TABLET ---------- */
@media (max-width:899px){
  .desktop-sidebar{
    display:none !important;
  }
  .mobile-bottom-nav{
    display:flex !important;
  }

  .shell.v4-shell,
  .shell.v4-shell.with-bottom-nav{
    margin-left:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
    padding-bottom:calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .live-dashboard,
  .dashboard-wrap{
    max-width:100% !important;
    margin:0 !important;
    width:100% !important;
  }

  .live-hero-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .live-kpis{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .live-kpis .live-risk,
  .live-kpis .live-panel:last-child{
    grid-column:1 / -1;
  }
  .live-lower{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .market-ticker{
    left:0 !important;
    width:100% !important;
  }
  .v4-brandbar{
    left:0 !important;
  }
}

@media (max-width:600px){
  .live-kpis{
    grid-template-columns:1fr !important;
  }
  .shell.v4-shell.with-bottom-nav{
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

/* Reforço via atributo data-device (JS) — mesmo se resize cruzar o breakpoint */
html[data-device="mobile"] .desktop-sidebar{display:none !important}
html[data-device="mobile"] .mobile-bottom-nav{display:flex !important}
html[data-device="mobile"] .shell.v4-shell.with-bottom-nav{
  margin-left:0 !important;
  width:100% !important;
}
html[data-device="desktop"] .mobile-bottom-nav{display:none !important}
html[data-device="desktop"] .desktop-sidebar{display:flex !important}

/* Páginas internas também full width no desktop */
@media (min-width:900px){
  .page-head + *,
  .history-filter-form,
  .signal-stats-grid,
  .settings-grid,
  .status-card,
  .admin-metrics{
    max-width:1680px;
    margin-left:auto;
    margin-right:auto;
  }
}


/* ================================================================
   POLOSTAKE 10.5 — CORREÇÃO CRÍTICA HEADER/TICKER (gap + overlap)
   Problema: .v4-brandbar fixed SEM top usava posição estática
   (no meio da tela após padding). Ticker no topo + vão enorme.
   ================================================================ */

:root{
  --ps-ticker-h: 48px;
  --ps-header-h: 88px;
  --ps-sidebar-w: 220px;
}

/* TICKER — sempre primeira faixa */
section.market-ticker,
.market-ticker{
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  height: var(--ps-ticker-h) !important;
  z-index: 800 !important;
  margin: 0 !important;
  transform: none !important;
}

/* HEADER — imediatamente sob o ticker (NUNCA posição estática) */
header.brandbar.v4-brandbar,
.brandbar.v4-brandbar,
.v4-brandbar{
  position: fixed !important;
  top: var(--ps-ticker-h) !important;
  right: 0 !important;
  left: 0 !important;
  height: var(--ps-header-h) !important;
  min-height: var(--ps-header-h) !important;
  max-height: var(--ps-header-h) !important;
  z-index: 790 !important;
  margin: 0 !important;
  padding: 0 20px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  border-bottom: 1px solid #102b3a !important;
  background: rgba(4, 12, 20, 0.98) !important;
  box-sizing: border-box !important;
  transform: none !important;
  overflow: visible !important;
}

/* Marca — não encolhe, não fica sob o menu */
.v4-brandbar .v4-brand{
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: none !important;
  min-width: 200px !important;
  height: auto !important;
  overflow: visible !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}
.v4-brandbar .brand-mark{
  width: 64px !important;
  height: 64px !important;
  flex: 0 0 64px !important;
  object-fit: contain !important;
  border-radius: 14px !important;
}
.v4-brandbar .brand-copy{
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  overflow: visible !important;
}
.v4-brandbar .brand-name{
  font-size: 28px !important;
  font-weight: 950 !important;
  letter-spacing: -0.045em !important;
  color: #f7f9fc !important;
  white-space: nowrap !important;
  line-height: 1.05 !important;
}
.v4-brandbar .brand-name span,
.v4-brandbar .brand-name em{
  color: #ffc400 !important;
  font-style: normal !important;
}
.v4-brandbar .brand-sub{
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  color: #b7c7d5 !important;
  white-space: nowrap !important;
}

/* Nav — ocupa o meio, sem cobrir a logo */
.v4-brandbar .desktop-top-nav{
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 72px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Ações à direita */
.v4-brandbar .v4-head-actions{
  display: flex !important;
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  align-items: center !important;
  gap: 12px !important;
  border-left: 1px solid #1a3342 !important;
  padding-left: 16px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Conteúdo colado sob ticker+header — SEM vão */
main.shell.v4-shell,
.shell.v4-shell,
.shell.v4-shell.with-bottom-nav{
  padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 12px) !important;
  margin-top: 0 !important;
}

/* Desktop com sidebar */
@media (min-width: 900px){
  :root{
    --ps-ticker-h: 52px;
    --ps-header-h: 96px;
  }

  section.market-ticker,
  .market-ticker{
    left: var(--ps-sidebar-w) !important;
    width: calc(100% - var(--ps-sidebar-w)) !important;
    top: 0 !important;
  }

  header.brandbar.v4-brandbar,
  .v4-brandbar{
    left: var(--ps-sidebar-w) !important;
    top: var(--ps-ticker-h) !important;
    padding: 0 28px !important;
    gap: 20px !important;
  }

  .v4-brandbar .brand-mark{
    width: 78px !important;
    height: 78px !important;
    flex-basis: 78px !important;
  }
  .v4-brandbar .brand-name{ font-size: 36px !important; }
  .v4-brandbar .brand-sub{ font-size: 13px !important; letter-spacing: 0.24em !important; }
  .v4-brandbar .v4-brand{ min-width: 280px !important; }

  .v4-brandbar .desktop-top-nav a{
    min-width: 92px;
    font-size: 11px;
  }
  .v4-brandbar .desktop-top-nav a b{ font-size: 20px; }

  .v4-brandbar .header-balance strong{ font-size: 18px !important; }
  .v4-brandbar .header-deposit{
    padding: 12px 16px !important;
    font-size: 14px !important;
  }

  main.shell.v4-shell.with-bottom-nav,
  .shell.v4-shell.with-bottom-nav{
    margin-left: var(--ps-sidebar-w) !important;
    width: calc(100% - var(--ps-sidebar-w)) !important;
    padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 14px) !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .live-dashboard{
    max-width: 1680px;
    margin: 0 auto;
  }
}

@media (min-width: 1200px){
  .v4-brandbar .brand-name{ font-size: 40px !important; }
  .v4-brandbar .brand-mark{
    width: 82px !important;
    height: 82px !important;
    flex-basis: 82px !important;
  }
}

/* Mobile */
@media (max-width: 899px){
  :root{
    --ps-ticker-h: 40px;
    --ps-header-h: 60px;
  }

  section.market-ticker,
  .market-ticker{
    left: 0 !important;
    width: 100% !important;
    top: 0 !important;
  }

  header.brandbar.v4-brandbar,
  .v4-brandbar{
    left: 0 !important;
    top: var(--ps-ticker-h) !important;
    padding: 0 12px !important;
    gap: 8px !important;
  }

  .v4-brandbar .desktop-top-nav{ display: none !important; }
  .v4-brandbar .brand-mark{
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }
  .v4-brandbar .v4-brand{ min-width: 0 !important; max-width: 55% !important; }
  .v4-brandbar .brand-name{ font-size: 17px !important; }
  .v4-brandbar .brand-sub{ font-size: 7px !important; letter-spacing: 0.14em !important; }
  .v4-brandbar .v4-head-actions{
    padding-left: 8px !important;
    gap: 6px !important;
  }
  .v4-brandbar .header-balance strong{ font-size: 11px !important; }
  .v4-brandbar .header-deposit{
    padding: 8px 10px !important;
    font-size: 10px !important;
  }
  .v4-brandbar .profile-button{
    width: 34px !important;
    height: 34px !important;
  }

  main.shell.v4-shell.with-bottom-nav,
  .shell.v4-shell.with-bottom-nav{
    margin-left: 0 !important;
    width: 100% !important;
    padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 10px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* Anula regras antigas body:has que empurravam o header */
body:has(.live-dashboard) .v4-brandbar{
  position: fixed !important;
  top: var(--ps-ticker-h) !important;
}


/* ================================================================
   POLOSTAKE 10.6 — ACESSIBILIDADE MOBILE (toque, foco, reflow)
   POLOSTAKE 10.7 — ARIA + CONTRASTE WCAG 2.2 AA
   ================================================================ */

/* --- Skip link --- */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:9999;
  padding:12px 18px;
  background:#ffc400;
  color:#07111c;
  font-weight:900;
  font-size:14px;
  border-radius:0 0 10px 0;
  text-decoration:none;
}
.skip-link:focus,
.skip-link:focus-visible{
  left:0;
  outline:3px solid #fff;
  outline-offset:2px;
}

/* --- Visually hidden (screen-reader only) --- */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* --- Focus visible (WCAG 2.4.7 / 2.4.13) --- */
:focus{outline:none}
:focus-visible{
  outline:2px solid #ffc400!important;
  outline-offset:2px!important;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
.session-toggle:focus-visible,
.next-day:focus-visible,
.header-deposit:focus-visible,
.profile-button:focus-visible,
.bell-button:focus-visible,
.mobile-bottom-nav a:focus-visible,
.scope-switch:focus-within{
  outline:2px solid #ffc400!important;
  outline-offset:2px!important;
}

/* --- Touch: less 300ms delay --- */
button,
a,
.session-toggle,
.next-day,
.header-deposit,
.mobile-bottom-nav a,
.scope-switch,
.profile-button,
.bell-button{
  touch-action:manipulation;
}

/* --- Contraste: muted mais legível (aprox. 4.5:1 no fundo escuro) --- */
:root{
  --ps-muted:#c5d4e2;
}
.muted,
.section-help,
.kpi-sub,
.live-botmeta span,
.live-opnums small,
.risk-grid small,
.stage b,
.activity,
.activity-track,
.activity-list,
.hist span:first-child,
.mini span,
.diff-note,
.risk-note,
.header-balance small,
.live-welcome p,
.brand-sub,
.signal-block-note{
  color:#c5d4e2!important;
}
/* reforço seletivo em textos secundários legados */
.v4-page-head p,
.section-help,
.select-card small,
.check-card small,
.notification-card p,
.broker-current small,
.mini-meta{
  color:#c5d4e2!important;
}

/* prefers-contrast */
@media (prefers-contrast: more){
  :root{
    --ps-muted:#e8eef4;
    --ps-text:#ffffff;
  }
  .live-panel,
  .v4-card,
  .v4-brandbar{
    border-color:#3a5a70!important;
  }
  .muted,.section-help,.kpi-sub,.stage b{color:#e8eef4!important}
  a,button{text-decoration-thickness:from-font}
}

/* --- iOS: evita zoom automático em inputs --- */
input,select,textarea{font-size:16px}

/* --- Caminho do sinal: labels legíveis + scroll horizontal se preciso --- */
.signal-road .road{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  gap:4px;
  padding-bottom:4px;
}
.signal-road .stage b{
  font-size:10px!important;
  line-height:1.25;
  white-space:normal;
  max-width:88px;
  margin-left:auto;
  margin-right:auto;
}
.signal-road .stage{
  min-width:72px;
  flex:0 0 auto;
}
@media (max-width:520px){
  .signal-road .stage b{font-size:10px!important}
  .road small{font-size:10px!important}
}

/* --- Atividade: lista estática (leitores de tela / reduced motion / mobile) --- */
.activity-list{
  list-style:none;
  margin:0;
  padding:0;
  display:none;
  width:100%;
  gap:6px;
}
.activity-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px 0;
  border-bottom:1px solid #14303e;
  font-size:12px;
  color:#c5d4e2;
  line-height:1.4;
}
.activity-list li time{
  flex:0 0 42px;
  font-weight:800;
  color:#ffc400;
  font-variant-numeric:tabular-nums;
}
.activity-list li span{flex:1;min-width:0}

/* Desktop: marquee visual; lista só para SR (sr-only via clip se marquee ativo) */
@media (min-width:900px){
  .activity-list{
    position:absolute!important;
    width:1px!important;height:1px!important;
    padding:0!important;margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
    display:block!important;
  }
  .activity-window{display:block}
}
/* Mobile / reduced-motion: só a lista estática */
@media (max-width:899px){
  .activity-window{display:none!important}
  .activity-list{
    display:grid!important;
    position:static!important;
    width:100%!important;height:auto!important;
    margin:8px 0 0!important;padding:0!important;
    clip:auto!important;overflow:visible!important;
    white-space:normal!important;
  }
  .activity{flex-direction:column;align-items:stretch}
}
@media (prefers-reduced-motion: reduce){
  .activity-track{animation:none!important}
  .activity-window{display:none!important}
  .activity-list{
    display:grid!important;
    position:static!important;
    width:100%!important;height:auto!important;
    margin:8px 0 0!important;clip:auto!important;
    overflow:visible!important;white-space:normal!important;
  }
  .live-botstatus i,
  .stage.active i,
  .road:after{animation:none!important}
}

/* --- Toque ≥ 44×44 (2.5.8 + boa prática) --- */
.mobile-bottom-nav a{
  min-height:44px!important;
  min-width:44px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:6px 2px!important;
  box-sizing:border-box!important;
}
.mobile-bottom-nav{
  padding-top:6px!important;
  padding-bottom:calc(6px + env(safe-area-inset-bottom, 0px))!important;
  min-height:calc(52px + env(safe-area-inset-bottom, 0px))!important;
}
.mobile-bottom-nav a[aria-current="page"],
.mobile-bottom-nav a.active{
  color:#ffc400!important;
}

.v4-brandbar .header-deposit,
.header-deposit{
  min-height:44px!important;
  min-width:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.v4-brandbar .profile-button,
.v4-brandbar .bell-button,
.profile-button,
.bell-button{
  min-width:44px!important;
  min-height:44px!important;
  width:44px!important;
  height:44px!important;
  box-sizing:border-box!important;
}
.session-toggle,
.next-day{
  min-height:44px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
.scope-switch{
  min-height:44px!important;
  min-width:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}

/* --- Header mobile densidades (10.6) --- */
@media (max-width:899px){
  .v4-brandbar .brand-sub{font-size:8px!important;letter-spacing:.12em!important}
  .v4-brandbar .brand-name{font-size:16px!important}
  .v4-brandbar .header-deposit{
    padding:8px 12px!important;
    font-size:11px!important;
  }
  /* anula legado body:has que competia com v10.5 */
  body:has(.live-dashboard) .v4-brandbar{
    height:var(--ps-header-h)!important;
    min-height:var(--ps-header-h)!important;
    max-height:var(--ps-header-h)!important;
    padding:0 12px!important;
    top:var(--ps-ticker-h)!important;
  }
}
@media (max-width:600px){
  .v4-brandbar .brand-sub{display:none!important}
  .v4-brandbar .balance-label,
  .header-balance .balance-label,
  .header-balance small{display:none!important}
  .v4-brandbar .header-deposit .deposit-label{
    /* encurta visual se necessário; mantém aria-label no <a> */
  }
  .v4-brandbar .v4-brand{max-width:48%!important}
  .v4-brandbar .header-balance strong{font-size:12px!important}
}

/* main:focus sem outline feio ao skip */
#main-content:focus,
#main-content:focus-visible{
  outline:none!important;
}


/* =========================================================
   v10.8 — Bottom nav full-bleed (borda a borda no mobile)
   Corrige barra flutuante com cantos arredondados e margens laterais.
   ========================================================= */
.mobile-bottom-nav{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  transform:none !important;
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-top:1px solid #1a3a4e !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:0 !important;
  /* fundo colado nas bordas; safe-area só no padding */
  padding-top:8px !important;
  padding-left:max(2px, env(safe-area-inset-left, 0px)) !important;
  padding-right:max(2px, env(safe-area-inset-right, 0px)) !important;
  padding-bottom:max(8px, env(safe-area-inset-bottom, 0px)) !important;
  min-height:calc(56px + env(safe-area-inset-bottom, 0px)) !important;
  background:#04101c !important;
  background:linear-gradient(180deg, #061522 0%, #030c14 100%) !important;
  box-shadow:0 -10px 28px rgba(0,0,0,.45) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  z-index:9990 !important;
}

.mobile-bottom-nav a{
  min-width:0 !important;
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  border-radius:10px !important;
  padding:6px 2px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  box-sizing:border-box !important;
}

.mobile-bottom-nav a span{
  font-size:18px !important;
  line-height:1 !important;
}

.mobile-bottom-nav a small{
  font-size:7.5px !important;
  letter-spacing:.02em !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* Em telas largas a bottom nav some; se reaparecer, continua full width */
@media (min-width:560px){
  .mobile-bottom-nav{
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    transform:none !important;
    border-radius:0 !important;
  }
}

@media (min-width:900px){
  .mobile-bottom-nav{
    display:none !important;
  }
}

html[data-device="mobile"] .mobile-bottom-nav{
  display:grid !important;
  width:100% !important;
  left:0 !important;
  right:0 !important;
  transform:none !important;
  border-radius:0 !important;
}

/* Espaço do conteúdo para não ficar atrás da barra full-bleed */
.shell.v4-shell.with-bottom-nav,
body:has(.mobile-bottom-nav) .shell.v4-shell,
.live-dashboard{
  padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px)) !important;
}


/* =========================================================
   v10.9 — RESTAURA TICKER (tarja de preços) + mantém bottom nav full-bleed
   Problema: após o ajuste da barra inferior, a tarja de mercados sumiu
   no smartphone (header colado no topo, sem BTC/XAU).
   Causa: conflitos de CSS legados (brandbar top:0, body:has overflow,
   ticker preso dentro de <main>) e cascade frágil.
   ========================================================= */

:root{
  --ps-ticker-h: 44px;
  --ps-header-h: 60px;
  --ps-sidebar-w: 220px;
  --ps-bottom-nav-h: 56px;
}

/* TICKER: sempre a PRIMEIRA faixa, de borda a borda, SEMPRE visível */
section.market-ticker,
.market-ticker[data-deriv-ticker],
.market-ticker{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--ps-ticker-h) !important;
  min-height: var(--ps-ticker-h) !important;
  max-height: var(--ps-ticker-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 9000 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
  transform: none !important;
  pointer-events: auto !important;
  background: linear-gradient(90deg, #03101a 0%, #061c29 50%, #03101a 100%) !important;
  border: 0 !important;
  border-bottom: 1px solid #1a3a4e !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.35) !important;
  box-sizing: border-box !important;
}

/* HEADER imediatamente ABAIXO do ticker — NUNCA top:0 quando logado */
body:has(.market-ticker) header.brandbar.v4-brandbar,
body:has(.market-ticker) header.v4-brandbar,
body:has(.market-ticker) .brandbar.v4-brandbar,
body:has(.market-ticker) .v4-brandbar,
body:has([data-deriv-ticker]) .v4-brandbar{
  position: fixed !important;
  top: var(--ps-ticker-h) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: var(--ps-header-h) !important;
  min-height: var(--ps-header-h) !important;
  max-height: var(--ps-header-h) !important;
  z-index: 8900 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  transform: none !important;
}

/* Anula legado "brandbar colada no topo" e body:has relative */
body:has(.live-dashboard) .v4-brandbar,
body:has(.with-bottom-nav) .v4-brandbar,
body:has(.market-ticker) .v4-brandbar{
  position: fixed !important;
  top: var(--ps-ticker-h) !important;
  margin-top: 0 !important;
}

/* Conteúdo: espaço = ticker + header (sem cobrir a tarja) */
body:has(.market-ticker) main.shell.v4-shell,
body:has(.market-ticker) .shell.v4-shell,
body:has(.market-ticker) .shell.v4-shell.with-bottom-nav,
body:has([data-deriv-ticker]) .shell.v4-shell.with-bottom-nav{
  padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 12px) !important;
  margin-top: 0 !important;
}

/* Não esconder overflow do body no mobile (quebrava fixed) */
body:has(.with-bottom-nav),
body:has(.market-ticker){
  height: auto !important;
  min-height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Mobile densidades */
@media (max-width: 899px){
  :root{
    --ps-ticker-h: 42px;
    --ps-header-h: 58px;
  }
  section.market-ticker,
  .market-ticker{
    left: 0 !important;
    width: 100% !important;
    height: var(--ps-ticker-h) !important;
  }
  body:has(.market-ticker) .v4-brandbar{
    top: var(--ps-ticker-h) !important;
    left: 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 600px){
  :root{
    --ps-ticker-h: 40px;
    --ps-header-h: 56px;
  }
}

/* Desktop com sidebar */
@media (min-width: 900px){
  :root{
    --ps-ticker-h: 52px;
    --ps-header-h: 88px;
  }
  section.market-ticker,
  .market-ticker{
    left: var(--ps-sidebar-w) !important;
    width: calc(100% - var(--ps-sidebar-w)) !important;
  }
  body:has(.market-ticker) .v4-brandbar{
    left: var(--ps-sidebar-w) !important;
    width: calc(100% - var(--ps-sidebar-w)) !important;
    top: var(--ps-ticker-h) !important;
  }
  body:has(.market-ticker) .shell.v4-shell{
    margin-left: var(--ps-sidebar-w) !important;
    width: calc(100% - var(--ps-sidebar-w)) !important;
  }
}

/* Bottom nav continua full-bleed (v10.8) — não reintroduzir dock flutuante */
.mobile-bottom-nav{
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  transform: none !important;
  border-radius: 0 !important;
  z-index: 9500 !important;
}

/* Itens internos do ticker não podem colapsar a faixa */
.market-ticker .deriv-ticker-viewport,
.market-ticker .deriv-ticker-track,
.market-ticker .ticker-live-title{
  min-height: 100% !important;
}
.market-ticker .deriv-ticker-item strong{
  font-variant-numeric: tabular-nums !important;
}


/* =========================================================
   v10.10 — REORGANIZA DESKTOP: sidebar + ticker + header + cards
   Problema (print com círculos amarelos):
   - Logo/header invadindo a sidebar
   - Botão "Dashboard" flutuando sobre os cards
   - Ticker cobrindo a coluna da sidebar
   Causa: v10.9 forçou left:0 / z-index alto no ticker+header
   sem respeitar a sidebar de 220px no desktop.
   ========================================================= */

:root{
  --ps-ticker-h: 44px;
  --ps-header-h: 60px;
  --ps-sidebar-w: 220px;
  --ps-bottom-nav-h: 56px;
}

/* ---------- SIDEBAR (desktop) ---------- */
.desktop-sidebar{
  z-index: 9600 !important; /* acima do ticker/header na coluna esquerda */
}

/* ---------- TICKER base (mobile full-bleed) ---------- */
section.market-ticker,
.market-ticker[data-deriv-ticker],
.market-ticker{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: var(--ps-ticker-h) !important;
  min-height: var(--ps-ticker-h) !important;
  max-height: var(--ps-ticker-h) !important;
  z-index: 9000 !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
  background: linear-gradient(90deg, #03101a 0%, #061c29 50%, #03101a 100%) !important;
  border-bottom: 1px solid #1a3a4e !important;
}

/* ---------- HEADER base ---------- */
body:has(.market-ticker) header.brandbar.v4-brandbar,
body:has(.market-ticker) .v4-brandbar,
body:has([data-deriv-ticker]) .v4-brandbar{
  position: fixed !important;
  top: var(--ps-ticker-h) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: var(--ps-header-h) !important;
  min-height: var(--ps-header-h) !important;
  max-height: var(--ps-header-h) !important;
  z-index: 8900 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  transform: none !important;
  overflow: hidden !important; /* não vazar botões sobre os cards */
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

body:has(.live-dashboard) .v4-brandbar,
body:has(.with-bottom-nav) .v4-brandbar{
  position: fixed !important;
  top: var(--ps-ticker-h) !important;
  margin-top: 0 !important;
}

body:has(.market-ticker) main.shell.v4-shell,
body:has(.market-ticker) .shell.v4-shell,
body:has(.market-ticker) .shell.v4-shell.with-bottom-nav{
  padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 12px) !important;
  margin-top: 0 !important;
}

/* ---------- MOBILE / TABLET (<900) ---------- */
@media (max-width: 899px){
  :root{
    --ps-ticker-h: 40px;
    --ps-header-h: 56px;
  }

  .desktop-sidebar{
    display: none !important;
  }

  section.market-ticker,
  .market-ticker{
    left: 0 !important;
    width: 100% !important;
  }

  body:has(.market-ticker) .v4-brandbar{
    left: 0 !important;
    width: 100% !important;
    top: var(--ps-ticker-h) !important;
    padding: 0 12px !important;
  }

  /* No mobile a nav é a bottom bar — esconde nav do header */
  .v4-brandbar .desktop-top-nav{
    display: none !important;
  }

  body:has(.market-ticker) .shell.v4-shell,
  body:has(.market-ticker) .shell.v4-shell.with-bottom-nav{
    margin-left: 0 !important;
    width: 100% !important;
    padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 10px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .mobile-bottom-nav{
    display: grid !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    border-radius: 0 !important;
  }
}

/* ---------- DESKTOP (>=900): coluna sidebar + conteúdo ---------- */
@media (min-width: 900px){
  :root{
    --ps-ticker-h: 52px;
    --ps-header-h: 72px; /* mais compacto para não invadir cards */
    --ps-sidebar-w: 220px;
  }

  .desktop-sidebar{
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: var(--ps-sidebar-w) !important;
    z-index: 9600 !important;
    flex-direction: column !important;
    background: #040d15 !important;
    border-right: 1px solid #17364b !important;
  }

  /* Ticker e header SÓ na área de conteúdo (à direita da sidebar) */
  section.market-ticker,
  .market-ticker[data-deriv-ticker],
  .market-ticker{
    left: var(--ps-sidebar-w) !important;
    right: 0 !important;
    width: calc(100% - var(--ps-sidebar-w)) !important;
    max-width: calc(100% - var(--ps-sidebar-w)) !important;
    top: 0 !important;
  }

  body:has(.market-ticker) header.brandbar.v4-brandbar,
  body:has(.market-ticker) .v4-brandbar,
  body:has(.live-dashboard) .v4-brandbar,
  body:has(.with-bottom-nav) .v4-brandbar,
  body:has([data-deriv-ticker]) .v4-brandbar{
    left: var(--ps-sidebar-w) !important;
    right: 0 !important;
    width: calc(100% - var(--ps-sidebar-w)) !important;
    max-width: calc(100% - var(--ps-sidebar-w)) !important;
    top: var(--ps-ticker-h) !important;
    padding: 0 20px !important;
    gap: 12px !important;
    overflow: hidden !important;
  }

  /* Sidebar já tem a navegação — evita "Dashboard" flutuando no header */
  .v4-brandbar .desktop-top-nav{
    display: none !important;
  }

  /* Logo do header no desktop: menor, sem invadir */
  .v4-brandbar .v4-brand{
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: 42% !important;
    overflow: hidden !important;
  }
  .v4-brandbar .brand-mark{
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }
  .v4-brandbar .brand-name{
    font-size: 22px !important;
    white-space: nowrap !important;
  }
  .v4-brandbar .brand-sub{
    font-size: 9px !important;
    letter-spacing: .14em !important;
  }

  /* Ações (saldo / depositar / perfil) à direita, estáveis */
  .v4-brandbar .v4-head-actions{
    margin-left: auto !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border-left: 1px solid #1a3342 !important;
    padding-left: 16px !important;
  }

  /* Conteúdo alinhado à direita da sidebar */
  body:has(.market-ticker) main.shell.v4-shell,
  body:has(.market-ticker) .shell.v4-shell,
  body:has(.market-ticker) .shell.v4-shell.with-bottom-nav,
  body:has(.live-dashboard) .shell.v4-shell,
  .shell.v4-shell.with-bottom-nav{
    margin-left: var(--ps-sidebar-w) !important;
    width: calc(100% - var(--ps-sidebar-w)) !important;
    max-width: none !important;
    padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 16px) !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }

  /* Bottom nav escondida no desktop */
  .mobile-bottom-nav{
    display: none !important;
  }

  /* Cards do live dashboard: sem overlap, grid limpo */
  .live-dashboard{
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
  }
  .live-dashboard .live-panel,
  .live-dashboard .live-kpi,
  .live-dashboard .live-risk,
  .live-dashboard .live-welcome,
  .live-dashboard .live-botbox,
  .live-dashboard .live-operation{
    position: relative !important;
    z-index: 1 !important;
  }
}

/* Telas largas: um pouco mais de respiro no header */
@media (min-width: 1200px){
  :root{
    --ps-header-h: 76px;
  }
  .v4-brandbar .brand-mark{
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
  }
  .v4-brandbar .brand-name{ font-size: 24px !important; }
}

/* Bottom nav full-bleed (mobile) — mantém v10.8 */
@media (max-width: 899px){
  .mobile-bottom-nav{
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    border-radius: 0 !important;
    z-index: 9500 !important;
  }
}


/* =========================================================
   v10.11 — LAYOUT CONCEITO (print do Marco): SEM SIDEBAR
   Header full-width:
   [Logo] [Dashboard Operações Sinais Estatísticas Config VIP]
          [Conta conectada · Saldo · Depositar · Avatar]
   Mobile: bottom nav full-bleed (sem Corretoras/Perfil na bottom —
   já cobertos por Configurações + foto de perfil).
   ========================================================= */

:root{
  --ps-ticker-h: 48px;
  --ps-header-h: 84px;
  --ps-bottom-nav-h: 58px;
}

/* --- Sidebar removida do produto --- */
.desktop-sidebar{
  display: none !important;
}

/* --- Ticker full-bleed (borda a borda) --- */
section.market-ticker,
.market-ticker[data-deriv-ticker],
.market-ticker{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--ps-ticker-h) !important;
  min-height: var(--ps-ticker-h) !important;
  z-index: 9000 !important;
  display: flex !important;
  margin: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* --- Header full-bleed, logo + nav + ações --- */
header.brandbar.v4-brandbar,
.brandbar.v4-brandbar,
.v4-brandbar,
body:has(.market-ticker) .v4-brandbar,
body:has(.live-dashboard) .v4-brandbar,
body:has(.with-bottom-nav) .v4-brandbar{
  position: fixed !important;
  top: var(--ps-ticker-h) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--ps-header-h) !important;
  min-height: var(--ps-header-h) !important;
  max-height: var(--ps-header-h) !important;
  z-index: 8900 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  padding: 0 28px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 18px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: rgba(4, 12, 20, 0.98) !important;
  border-bottom: 1px solid #102b3a !important;
  transform: none !important;
}

/* Logo */
.v4-brandbar .v4-brand{
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  max-width: none !important;
  text-decoration: none !important;
}
.v4-brandbar .brand-mark{
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  border-radius: 14px !important;
  object-fit: contain !important;
}
.v4-brandbar .brand-name{
  font-size: 28px !important;
  font-weight: 950 !important;
  letter-spacing: -0.04em !important;
  white-space: nowrap !important;
  color: #f7f9fc !important;
  line-height: 1.05 !important;
}
.v4-brandbar .brand-name span,
.v4-brandbar .brand-name em{
  color: #ffc400 !important;
  font-style: normal !important;
}
.v4-brandbar .brand-sub{
  display: block !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  color: #9eb3c4 !important;
  white-space: nowrap !important;
}

/* Nav central — igual ao conceito */
.v4-brandbar .desktop-top-nav{
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  height: 100% !important;
}
.v4-brandbar .desktop-top-nav a{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 78px !important;
  height: 64px !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  color: #8fa6b8 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.v4-brandbar .desktop-top-nav a b{
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: inherit !important;
}
.v4-brandbar .desktop-top-nav a span{
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
}
.v4-brandbar .desktop-top-nav a:hover{
  color: #e8f2fa !important;
  background: rgba(255,196,0,.06) !important;
}
.v4-brandbar .desktop-top-nav a.active,
.v4-brandbar .desktop-top-nav a[aria-current="page"]{
  color: #ffc400 !important;
  border-color: rgba(255,196,0,.55) !important;
  background: rgba(255,196,0,.08) !important;
  box-shadow: 0 0 0 1px rgba(255,196,0,.12), inset 0 0 20px rgba(255,196,0,.04);
}

/* Ações à direita — conta + saldo + depositar + avatar */
.v4-brandbar .v4-head-actions{
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 12px !important;
  margin-left: 0 !important;
  border-left: 1px solid #1a3342 !important;
  padding-left: 16px !important;
}

.header-account-meta{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.header-conn-dot{
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #00e99a !important;
  box-shadow: 0 0 10px #00e99a !important;
  flex: 0 0 8px !important;
}
.header-account-text{
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  line-height: 1.15 !important;
}
.header-account-text small{
  font-size: 9px !important;
  color: #7f96a8 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.header-account-text b{
  font-size: 11px !important;
  color: #d7e6f1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.v4-brandbar .header-balance{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 1px !important;
  line-height: 1.15 !important;
}
.v4-brandbar .header-balance .balance-label,
.v4-brandbar .header-balance small{
  font-size: 9px !important;
  color: #7f96a8 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-weight: 800 !important;
}
.v4-brandbar .header-balance strong{
  font-size: 15px !important;
  color: #f3f8fc !important;
  font-weight: 950 !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

.v4-brandbar .header-deposit{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #ffc400, #f0a800) !important;
  color: #0a1218 !important;
  font-weight: 950 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  border: 0 !important;
  white-space: nowrap !important;
  box-shadow: 0 6px 18px rgba(255,196,0,.25) !important;
}
.v4-brandbar .header-deposit:hover{
  filter: brightness(1.06);
}

.v4-brandbar .profile-button{
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 2px solid #2a4a5e !important;
  display: grid !important;
  place-items: center !important;
  background: #0b1a26 !important;
  padding: 0 !important;
}
.v4-brandbar .profile-button img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* Conteúdo full-width (sem margem da sidebar) */
main.shell.v4-shell,
.shell.v4-shell,
.shell.v4-shell.with-bottom-nav,
body:has(.market-ticker) .shell.v4-shell,
body:has(.live-dashboard) .shell.v4-shell{
  margin-left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 16px) !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
  box-sizing: border-box !important;
}

/* Live dashboard cards sem overlap residual */
.live-dashboard{
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate !important;
  max-width: 1600px !important;
  margin: 0 auto !important;
}

/* ========== Desktop grande ========== */
@media (min-width: 1100px){
  :root{
    --ps-ticker-h: 52px;
    --ps-header-h: 92px;
  }
  .v4-brandbar{ padding: 0 32px !important; }
  .v4-brandbar .brand-mark{ width: 64px !important; height: 64px !important; flex-basis: 64px !important; }
  .v4-brandbar .brand-name{ font-size: 32px !important; }
  .v4-brandbar .desktop-top-nav a{ min-width: 88px !important; height: 68px !important; }
  .mobile-bottom-nav{ display: none !important; }
}

/* ========== Tablet / laptop ========== */
@media (min-width: 900px) and (max-width: 1099px){
  :root{
    --ps-ticker-h: 48px;
    --ps-header-h: 80px;
  }
  .v4-brandbar .desktop-top-nav a{ min-width: 70px !important; height: 60px !important; padding: 6px 6px !important; }
  .v4-brandbar .desktop-top-nav a span{ font-size: 9px !important; }
  .v4-brandbar .brand-name{ font-size: 24px !important; }
  .v4-brandbar .brand-mark{ width: 50px !important; height: 50px !important; flex-basis: 50px !important; }
  .header-account-meta{ display: none !important; } /* economiza espaço */
  .mobile-bottom-nav{ display: none !important; }
}

@media (min-width: 900px){
  .mobile-bottom-nav{ display: none !important; }
  .v4-brandbar .desktop-top-nav{ display: flex !important; }
}

/* ========== Mobile: bottom nav, sem top nav ========== */
@media (max-width: 899px){
  :root{
    --ps-ticker-h: 40px;
    --ps-header-h: 58px;
  }

  .v4-brandbar{
    padding: 0 12px !important;
    gap: 8px !important;
  }
  .v4-brandbar .desktop-top-nav{
    display: none !important; /* ícones na bottom nav */
  }
  .v4-brandbar .brand-mark{
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
    border-radius: 11px !important;
  }
  .v4-brandbar .brand-name{ font-size: 17px !important; }
  .v4-brandbar .brand-sub{ font-size: 7px !important; letter-spacing: .12em !important; }
  .header-account-meta{ display: none !important; }
  .v4-brandbar .v4-head-actions{
    border-left: 0 !important;
    padding-left: 0 !important;
    gap: 8px !important;
  }
  .v4-brandbar .header-balance strong{ font-size: 12px !important; }
  .v4-brandbar .header-deposit{
    min-height: 38px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }
  .v4-brandbar .profile-button{
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }

  main.shell.v4-shell,
  .shell.v4-shell.with-bottom-nav,
  body:has(.market-ticker) .shell.v4-shell{
    padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 12px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Bottom nav: 6 itens (sem Corretoras/Perfil — como pedido) */
  .mobile-bottom-nav{
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    border-radius: 0 !important;
    z-index: 9500 !important;
  }
}


/* =========================================================
   v10.12 — Labels do conceito: SALDO DISPONÍVEL + VIP / Planos
   ========================================================= */
.v4-brandbar .header-balance .balance-label,
.v4-brandbar .header-balance small.balance-label{
  font-size: 9px !important;
  color: #7f96a8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.v4-brandbar .desktop-top-nav a span{
  /* VIP / Planos e demais itens */
  max-width: 96px;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* =========================================================
   v10.13 — Header desktop cabe a 100% de zoom (sem overlap)
   Problema: a 100% o Dashboard invadia a logo e o VIP/Planos
   colidia com "Conta conectada" / saldo. A 80% "cabia".
   Solução: densidades fluidas por largura, 1 linha rígida,
   nav mais compacta, meta de conta só em telas largas.
   ========================================================= */

/* Linha única no header — nunca empilhar */
header.brandbar.v4-brandbar,
.v4-brandbar,
body:has(.market-ticker) .v4-brandbar{
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  gap: 10px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Logo: não cresce, pode encolher um pouco o texto */
.v4-brandbar .v4-brand{
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 240px !important;
  gap: 10px !important;
}
.v4-brandbar .brand-mark{
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 12px !important;
}
.v4-brandbar .brand-copy{
  min-width: 0 !important;
  overflow: hidden !important;
}
.v4-brandbar .brand-name{
  font-size: 22px !important;
  letter-spacing: -0.03em !important;
}
.v4-brandbar .brand-sub{
  font-size: 8px !important;
  letter-spacing: 0.16em !important;
}

/* Nav central: compacta e com shrink controlado */
.v4-brandbar .desktop-top-nav{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  justify-content: center !important;
  gap: 2px !important;
  overflow: hidden !important;
}
.v4-brandbar .desktop-top-nav a{
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: 96px !important;
  height: 58px !important;
  padding: 6px 4px !important;
  gap: 3px !important;
  border-radius: 12px !important;
}
.v4-brandbar .desktop-top-nav a b{
  font-size: 16px !important;
}
.v4-brandbar .desktop-top-nav a span{
  font-size: 9px !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Ações: não encolhem, não são invadidas */
.v4-brandbar .v4-head-actions{
  flex: 0 0 auto !important;
  gap: 10px !important;
  padding-left: 12px !important;
  border-left: 1px solid #1a3342 !important;
  margin-left: 4px !important;
}

/* Em larguras típicas de laptop (100% zoom ~1280–1500),
   esconde "Conta conectada" — evita colisão com VIP/Planos.
   Mantém saldo + depositar + avatar (como prioridade visual). */
.v4-brandbar .header-account-meta{
  display: none !important;
}

.v4-brandbar .header-balance strong{
  font-size: 14px !important;
}
.v4-brandbar .header-deposit{
  min-height: 40px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}
.v4-brandbar .profile-button{
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
}

/* Altura do header um pouco menor para não “apertar” o conteúdo */
@media (min-width: 900px){
  :root{
    --ps-header-h: 72px;
    --ps-ticker-h: 48px;
  }
  .v4-brandbar .desktop-top-nav{ display: flex !important; }
  .mobile-bottom-nav{ display: none !important; }
}

/* Laptop padrão 100% (900–1366) — ainda mais compacto */
@media (min-width: 900px) and (max-width: 1366px){
  :root{ --ps-header-h: 68px; }
  .v4-brandbar{
    gap: 8px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .v4-brandbar .v4-brand{ max-width: 200px !important; }
  .v4-brandbar .brand-mark{
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }
  .v4-brandbar .brand-name{ font-size: 18px !important; }
  .v4-brandbar .brand-sub{ font-size: 7px !important; letter-spacing: 0.12em !important; }
  .v4-brandbar .desktop-top-nav a{
    height: 54px !important;
    max-width: 84px !important;
    padding: 4px 2px !important;
  }
  .v4-brandbar .desktop-top-nav a b{ font-size: 15px !important; }
  .v4-brandbar .desktop-top-nav a span{ font-size: 8px !important; }
  .v4-brandbar .header-deposit{
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }
  .v4-brandbar .header-balance strong{ font-size: 13px !important; }
}

/* Desktop médio (1367–1599): um pouco mais de ar, ainda sem meta de conta */
@media (min-width: 1367px) and (max-width: 1599px){
  :root{ --ps-header-h: 76px; }
  .v4-brandbar{ padding-left: 20px !important; padding-right: 20px !important; gap: 12px !important; }
  .v4-brandbar .v4-brand{ max-width: 260px !important; }
  .v4-brandbar .brand-mark{ width: 50px !important; height: 50px !important; flex-basis: 50px !important; }
  .v4-brandbar .brand-name{ font-size: 22px !important; }
  .v4-brandbar .desktop-top-nav a{
    height: 58px !important;
    max-width: 100px !important;
    padding: 6px 6px !important;
  }
  .v4-brandbar .desktop-top-nav a span{ font-size: 9px !important; }
}

/* Telas largas (≥1600): mostra "Conta conectada" e layout do conceito */
@media (min-width: 1600px){
  :root{
    --ps-header-h: 84px;
    --ps-ticker-h: 52px;
  }
  .v4-brandbar{
    padding-left: 28px !important;
    padding-right: 28px !important;
    gap: 16px !important;
  }
  .v4-brandbar .v4-brand{ max-width: none !important; }
  .v4-brandbar .brand-mark{
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
  }
  .v4-brandbar .brand-name{ font-size: 28px !important; }
  .v4-brandbar .brand-sub{ font-size: 10px !important; letter-spacing: 0.2em !important; }
  .v4-brandbar .desktop-top-nav a{
    height: 64px !important;
    max-width: 110px !important;
    min-width: 78px !important;
    flex: 0 0 auto !important;
    padding: 8px 10px !important;
  }
  .v4-brandbar .desktop-top-nav a b{ font-size: 18px !important; }
  .v4-brandbar .desktop-top-nav a span{ font-size: 10px !important; }
  .v4-brandbar .header-account-meta{
    display: flex !important;
  }
  .v4-brandbar .header-balance strong{ font-size: 15px !important; }
  .v4-brandbar .header-deposit{
    min-height: 42px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
  }
  .v4-brandbar .profile-button{
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* Conteúdo: padding-top acompanha header mais baixo */
@media (min-width: 900px){
  body:has(.market-ticker) main.shell.v4-shell,
  body:has(.market-ticker) .shell.v4-shell,
  .shell.v4-shell.with-bottom-nav{
    padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 14px) !important;
    margin-left: 0 !important;
    width: 100% !important;
  }
}


/* =========================================================
   v10.14 — Cards KPI + hero sem overlap a 100% zoom
   Problema: "STATUS COMPLETO" + toggle "COMPLETO" colidiam
   nos cards; hero superior também espremido sob o header.
   ========================================================= */

/* Garante respiro sob ticker+header (desktop e mobile) */
body:has(.market-ticker) main.shell.v4-shell,
body:has(.market-ticker) .shell.v4-shell,
body:has(.market-ticker) .shell.v4-shell.with-bottom-nav,
.shell.v4-shell.with-bottom-nav{
  padding-top: calc(var(--ps-ticker-h, 48px) + var(--ps-header-h, 72px) + 18px) !important;
}

.live-dashboard{
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate !important;
  overflow: visible !important;
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hero: colunas sem invadir uma à outra */
.live-hero-grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
  min-width: 0 !important;
}
.live-hero-grid > *{
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.live-welcome,
.live-operation,
.live-botbox{
  min-width: 0 !important;
  overflow: hidden !important;
}
.live-welcome h1{
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.live-botmeta{
  overflow: hidden !important;
  word-break: break-word !important;
}

/* KPIs: grid fluido 5 colunas → reflow sem esmagar */
.live-kpis{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  min-width: 0 !important;
}
.live-kpis > *{
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.live-kpi,
.live-panel.live-kpi,
.live-risk{
  padding: 14px 14px 16px !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* Cabeçalho do escopo: label + switch SEM colisão */
.live-kpi .scope-wrap,
.scope-card .scope-wrap,
.scope-wrap{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 2px !important;
  flex-wrap: nowrap !important;
}

.scope-label{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #8da4b5 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
}

.scope-switch{
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  max-width: 50% !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.scope-switch .scope-text{
  font-size: 8px !important;
  font-weight: 950 !important;
  letter-spacing: 0.04em !important;
  color: #9bb0c2 !important;
  max-width: 52px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.scope-switch .scope-slider{
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 18px !important;
  min-width: 34px !important;
}

.kpi-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.kpi-head span{
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.kpi-val{
  font-size: clamp(18px, 1.6vw, 26px) !important;
  line-height: 1.1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 100% !important;
}
.kpi-sub,
.ops-extremes{
  min-width: 0 !important;
  overflow: hidden !important;
}
.ops-extremes{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
}
.ops-extremes > div{
  min-width: 0 !important;
  overflow: hidden !important;
}
.ops-extremes b,
.ops-extremes small{
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Meta/Stop card */
.live-risk{
  min-width: 0 !important;
}
.live-risk .risk-three{
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.live-risk .risk-three > *{
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Laptops 100% zoom (~1280–1500):  KPI em 3+2 sem esmagar */
@media (min-width: 900px) and (max-width: 1399px){
  .live-hero-grid{
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  .live-kpis{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  /* 4º e 5º card na segunda linha */
  .live-kpis > :nth-child(4),
  .live-kpis > :nth-child(5){
    /* natural flow */
  }
  .scope-label{ font-size: 8px !important; letter-spacing: 0.04em !important; }
  .kpi-val{ font-size: 20px !important; }
  .live-kpi, .live-risk{ padding: 12px !important; }
}

/* Telas médias-largas: 5 colunas com respiro */
@media (min-width: 1400px){
  .live-kpis{
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  .live-hero-grid{
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important;
  }
}

/* Mobile */
@media (max-width: 899px){
  .live-hero-grid{
    grid-template-columns: 1fr !important;
  }
  .live-kpis{
    grid-template-columns: 1fr 1fr !important;
  }
  .live-kpis > :last-child{
    grid-column: 1 / -1 !important;
  }
}


/* =========================================================
   v10.15 — Dashboard 100% = visual da foto 80% + config à esquerda
   - Sem espaço morto à esquerda (usa coluna de CONFIGURAÇÃO)
   - Densidade ~80% de zoom (cabe tudo a 100%)
   - Idiomas ocultos (settings)
   ========================================================= */

/* Idioma: oculto por enquanto (pedido do Marco) */
.language-settings-card.ps-lang-hidden,
.language-settings-card[hidden]{
  display: none !important;
}

/* Shell: full width, sem residual de sidebar */
body:has(.market-ticker) main.shell.v4-shell,
body:has(.market-ticker) .shell.v4-shell,
.shell.v4-shell.with-bottom-nav,
body:has(.live-dashboard) .shell.v4-shell{
  margin-left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  padding-top: calc(var(--ps-ticker-h, 48px) + var(--ps-header-h, 72px) + 12px) !important;
  box-sizing: border-box !important;
}

/* Live dashboard: grid 2 colunas no desktop */
.live-dashboard{
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 28px !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 1 !important;
  isolation: isolate !important;
}

.live-main-col{
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* ---------- COLUNA CONFIG (esquerda) ---------- */
.live-config-rail{
  position: sticky !important;
  top: calc(var(--ps-ticker-h, 48px) + var(--ps-header-h, 72px) + 10px) !important;
  align-self: start !important;
  max-height: calc(100vh - var(--ps-ticker-h, 48px) - var(--ps-header-h, 72px) - 24px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid #173243 !important;
  border-radius: 16px !important;
  background: linear-gradient(165deg, #06141e 0%, #040e16 100%) !important;
  box-sizing: border-box !important;
  scrollbar-width: thin;
}

.live-config-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 2px 2px 6px !important;
  border-bottom: 1px solid #153040 !important;
  margin-bottom: 2px !important;
}
.live-config-head h2{
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: 0.12em !important;
  color: #ffc400 !important;
}
.live-config-head a{
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #7ec8ff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.live-config-card{
  padding: 10px !important;
  border: 1px solid #14303f !important;
  border-radius: 12px !important;
  background: rgba(6, 20, 30, 0.75) !important;
}
.live-config-card h3{
  margin: 0 0 6px !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #7f96a8 !important;
}
.live-config-row{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.live-config-row img{
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  object-fit: contain !important;
  background: #0a1a26 !important;
}
.live-config-row b{
  display: block !important;
  font-size: 12px !important;
  color: #e8f2fa !important;
}
.live-config-row small{
  display: block !important;
  font-size: 10px !important;
  margin-top: 2px !important;
}
.live-config-row small.ok{ color: #00e99a !important; }
.live-config-row small.off{ color: #ff6b7f !important; }

.live-config-value{
  display: block !important;
  font-size: 13px !important;
  color: #f0f6fb !important;
  font-weight: 850 !important;
}

.live-config-chips{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
.live-config-chips .chip{
  display: inline-flex !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  border: 1px solid #2a4a5e !important;
  background: #0a1824 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #c5d7e6 !important;
  text-transform: capitalize !important;
}
.live-config-chips .chip.muted{
  color: #6d8496 !important;
  border-style: dashed !important;
}

.live-config-meta{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
}
.live-config-meta small{
  display: block !important;
  font-size: 8px !important;
  color: #7f96a8 !important;
  text-transform: uppercase !important;
}
.live-config-meta b{
  display: block !important;
  font-size: 12px !important;
  margin-top: 2px !important;
}
.live-config-meta .pos{ color: #00e99a !important; }
.live-config-meta .neg{ color: #ff5d75 !important; }

.live-config-list{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 4px !important;
}
.live-config-list li{
  display: flex !important;
  justify-content: space-between !important;
  gap: 6px !important;
  font-size: 10px !important;
  color: #b7c9d7 !important;
}
.live-config-list b{ color: #e8f2fa !important; }
.live-config-list em{ color: #ff8a9a !important; font-style: normal !important; }

.live-config-link,
.live-config-cta{
  display: block !important;
  text-align: center !important;
  margin-top: 6px !important;
  padding: 9px 10px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  color: #0a1218 !important;
  background: linear-gradient(135deg, #ffc400, #f0a800) !important;
}
.live-config-link{
  background: transparent !important;
  color: #7ec8ff !important;
  border: 1px solid #2a5a78 !important;
  padding: 7px !important;
}

/* ---------- MAIN densificado (efeito “80% de zoom” a 100%) ---------- */
.live-main-col .live-hero-grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.live-main-col .live-hero-grid > *{
  min-width: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.live-welcome{
  padding: 14px 16px !important;
  min-height: 0 !important;
}
.live-welcome h1{
  font-size: clamp(22px, 2.1vw, 30px) !important;
  margin: 4px 0 6px !important;
  line-height: 1.1 !important;
}
.live-welcome p,
.live-welcome .hero-signature{
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.live-botbox{
  padding: 12px !important;
  min-height: 0 !important;
  font-size: 12px !important;
}
.live-operation{
  padding: 12px 14px !important;
  min-height: 0 !important;
}

/* KPIs: 5 colunas fluidas sempre no desktop com rail */
.live-main-col .live-kpis{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.live-main-col .live-kpis > *{
  min-width: 0 !important;
  overflow: hidden !important;
}
.live-kpi,
.live-risk{
  padding: 10px 11px !important;
  gap: 6px !important;
}
.kpi-val{
  font-size: clamp(16px, 1.35vw, 22px) !important;
}
.kpi-head span,
.scope-label{
  font-size: 8px !important;
}
.scope-wrap{
  gap: 4px !important;
}
.scope-switch .scope-slider{
  width: 30px !important;
  height: 16px !important;
  min-width: 30px !important;
}
.scope-switch .scope-text{
  font-size: 7px !important;
  max-width: 40px !important;
}

.signal-road,
.live-panel.signal-road{
  padding: 10px 12px !important;
}
.live-lower{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 0.7fr) !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.live-lower > *{
  min-width: 0 !important;
  overflow: hidden !important;
}

/* Painéis genéricos mais compactos */
.live-main-col .live-panel{
  border-radius: 14px !important;
}

/* ---------- Breakpoints ---------- */
@media (min-width: 1500px){
  .live-dashboard{
    grid-template-columns: 270px minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .live-main-col .live-kpis{ gap: 10px !important; }
  .kpi-val{ font-size: 22px !important; }
}

/* Laptop típico 100% (com rail): ainda 5 KPIs, mais apertados */
@media (min-width: 1100px) and (max-width: 1399px){
  .live-dashboard{
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .live-config-rail{ padding: 8px !important; }
  .live-main-col .live-kpis{
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .live-kpi, .live-risk{ padding: 8px 9px !important; }
  .kpi-val{ font-size: 15px !important; }
  .live-welcome h1{ font-size: 22px !important; }
  .live-main-col .live-hero-grid{
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
  }
}

/* Entre 900–1099: config em cima, main embaixo (sem esmagar) */
@media (min-width: 900px) and (max-width: 1099px){
  .live-dashboard{
    grid-template-columns: 1fr !important;
  }
  .live-config-rail{
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .live-config-head,
  .live-config-cta{
    grid-column: 1 / -1 !important;
  }
  .live-main-col .live-kpis{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Mobile: config some (já tem página Configurações) */
@media (max-width: 899px){
  .live-dashboard{
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .live-config-rail{
    display: none !important;
  }
  .live-main-col .live-hero-grid{
    grid-template-columns: 1fr !important;
  }
  .live-main-col .live-kpis{
    grid-template-columns: 1fr 1fr !important;
  }
  .live-main-col .live-kpis > :last-child{
    grid-column: 1 / -1 !important;
  }
  .live-lower{
    grid-template-columns: 1fr !important;
  }
}

/* Header um pouco mais compacto para liberar altura vertical */
@media (min-width: 900px){
  :root{
    --ps-ticker-h: 44px;
    --ps-header-h: 68px;
  }
}
@media (min-width: 1500px){
  :root{
    --ps-ticker-h: 48px;
    --ps-header-h: 76px;
  }
}


/* =========================================================
   v10.16 — FULL BLEED notebook 1366×768 (usa a tela TODA)
   Problema: conteúdo compactado no “antigo main”, laterais
   pretas vazias. Usuários do segmento usam notebook 1366×768.
   Solução: largura 100%, sem max-width centralizado, grid
   config + main de ponta a ponta, densificado para 768px altura.
   ========================================================= */

/* --- Variáveis alvo notebook --- */
@media (min-width: 900px){
  :root{
    --ps-ticker-h: 40px;
    --ps-header-h: 64px;
    --ps-config-w: 240px;
    --ps-page-pad-x: 10px;
    --ps-page-gap: 10px;
  }
}
@media (min-width: 1366px){
  :root{
    --ps-config-w: 250px;
    --ps-page-pad-x: 12px;
    --ps-page-gap: 12px;
  }
}
@media (min-width: 1600px){
  :root{
    --ps-ticker-h: 46px;
    --ps-header-h: 72px;
    --ps-config-w: 280px;
    --ps-page-pad-x: 16px;
    --ps-page-gap: 14px;
  }
}

/* --- Shell: ZERO margem lateral residual, 100% viewport --- */
html, body{
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

main.shell.v4-shell,
.shell.v4-shell,
.shell.v4-shell.with-bottom-nav,
body:has(.market-ticker) main.shell.v4-shell,
body:has(.market-ticker) .shell.v4-shell,
body:has(.live-dashboard) .shell.v4-shell,
body:has(.live-dashboard) main.shell.v4-shell{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--ps-page-pad-x, 10px) !important;
  padding-right: var(--ps-page-pad-x, 10px) !important;
  padding-top: calc(var(--ps-ticker-h, 40px) + var(--ps-header-h, 64px) + 8px) !important;
  padding-bottom: 16px !important;
  box-sizing: border-box !important;
}

/* --- Header / ticker full-bleed (já full, reforça) --- */
section.market-ticker,
.market-ticker{
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
header.brandbar.v4-brandbar,
.v4-brandbar,
body:has(.market-ticker) .v4-brandbar{
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* --- Dashboard: ocupa 100% da largura útil --- */
.live-dashboard{
  display: grid !important;
  grid-template-columns: var(--ps-config-w, 240px) minmax(0, 1fr) !important;
  gap: var(--ps-page-gap, 10px) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.live-main-col{
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--ps-page-gap, 10px) !important;
}

/* Config rail: altura útil notebook, sticky, full column */
.live-config-rail{
  width: 100% !important;
  max-width: none !important;
  position: sticky !important;
  top: calc(var(--ps-ticker-h, 40px) + var(--ps-header-h, 64px) + 6px) !important;
  align-self: start !important;
  max-height: calc(100vh - var(--ps-ticker-h, 40px) - var(--ps-header-h, 64px) - 16px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  gap: 6px !important;
  padding: 8px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

.live-config-card{
  padding: 8px !important;
  border-radius: 10px !important;
}
.live-config-card h3{
  font-size: 8px !important;
  margin-bottom: 4px !important;
}
.live-config-value{
  font-size: 12px !important;
}
.live-config-head h2{
  font-size: 10px !important;
}
.live-config-chips .chip{
  font-size: 9px !important;
  padding: 3px 7px !important;
}
.live-config-cta{
  padding: 8px !important;
  font-size: 10px !important;
}

/* --- Main: hero + KPIs expandem na área restante --- */
.live-main-col .live-hero-grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.05fr) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
}
.live-main-col .live-hero-grid > *{
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.live-welcome{
  padding: 12px 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.live-welcome h1{
  font-size: clamp(20px, 2vw, 28px) !important;
  margin: 2px 0 4px !important;
}
.live-welcome p{
  font-size: 11px !important;
  line-height: 1.35 !important;
}
.live-botbox,
.live-operation{
  padding: 10px 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* KPIs: 5 colunas esticadas na largura toda do main */
.live-main-col .live-kpis{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
}
.live-main-col .live-kpis > *{
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.live-kpi,
.live-risk,
.live-panel.live-kpi{
  padding: 9px 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}
.kpi-val{
  font-size: clamp(15px, 1.4vw, 20px) !important;
}
.kpi-sub,
.ops-extremes small{
  font-size: 9px !important;
}
.scope-label{
  font-size: 7.5px !important;
  letter-spacing: 0.04em !important;
}

/* Signal road + lower: full width do main */
.live-main-col .signal-road,
.live-main-col .live-panel.signal-road,
.live-main-col .activity,
.live-main-col .live-lower{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.live-lower{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 0.75fr) !important;
  gap: 8px !important;
  width: 100% !important;
}

/* Qualquer max-width residual de versões antigas — anula no live */
.live-dashboard,
.live-main-col,
.live-dashboard .live-panel,
.live-dashboard .live-hero-grid,
.live-dashboard .live-kpis{
  max-width: none !important;
}

/* ========== 1366×768 — perfil principal do segmento ========== */
@media (min-width: 1200px) and (max-width: 1440px){
  :root{
    --ps-ticker-h: 38px;
    --ps-header-h: 60px;
    --ps-config-w: 230px;
    --ps-page-pad-x: 8px;
    --ps-page-gap: 8px;
  }

  .v4-brandbar{
    padding-left: 10px !important;
    padding-right: 10px !important;
    gap: 6px !important;
  }
  .v4-brandbar .brand-mark{
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }
  .v4-brandbar .brand-name{ font-size: 18px !important; }
  .v4-brandbar .desktop-top-nav a{
    height: 50px !important;
    max-width: 78px !important;
    padding: 4px 2px !important;
  }
  .v4-brandbar .desktop-top-nav a span{ font-size: 8px !important; }
  .v4-brandbar .desktop-top-nav a b{ font-size: 14px !important; }
  .v4-brandbar .header-deposit{
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }
  .v4-brandbar .header-balance strong{ font-size: 12px !important; }
  .v4-brandbar .header-account-meta{ display: none !important; }

  .live-welcome h1{ font-size: 22px !important; }
  .live-kpi, .live-risk{ padding: 8px !important; min-height: 0 !important; }
  .kpi-val{ font-size: 16px !important; }

  /* Altura: cabe mais conteúdo sem scroll excessivo */
  .live-config-rail{
    max-height: calc(100vh - 110px) !important;
  }
}

/* Telas um pouco menores que 1366 mas ainda desktop */
@media (min-width: 900px) and (max-width: 1199px){
  :root{
    --ps-config-w: 200px;
    --ps-page-pad-x: 8px;
  }
  .live-main-col .live-kpis{
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .kpi-val{ font-size: 14px !important; }
}

/* Mobile: sem rail, full width */
@media (max-width: 899px){
  .live-dashboard{
    grid-template-columns: 1fr !important;
  }
  .live-config-rail{ display: none !important; }
  body:has(.market-ticker) .shell.v4-shell{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* =========================================================
   v10.17 — CONFIG fixa na borda esquerda + main full-bleed
   Problema (print com ???): faixa preta INÚTIL à esquerda da
   coluna CONFIGURAÇÃO. Conteúdo ainda “flutuando” no meio.
   Solução:
   - Config position:fixed; left:0 (permanente na borda)
   - Main com margin-left = largura da config
   - Shell sem padding lateral morto
   - Cards maiores, mais respiro, 100% da área útil
   Alvo: notebook 1366×768
   ========================================================= */

:root{
  --ps-config-w: 260px;
  --ps-ticker-h: 40px;
  --ps-header-h: 64px;
  --ps-gap: 14px;
}

@media (min-width: 1366px){
  :root{
    --ps-config-w: 280px;
    --ps-gap: 16px;
  }
}
@media (min-width: 1600px){
  :root{
    --ps-config-w: 300px;
    --ps-ticker-h: 46px;
    --ps-header-h: 72px;
    --ps-gap: 18px;
  }
}

/* Shell: sem faixa preta lateral — dashboard usa 100vw útil */
body:has(.live-config-rail) main.shell.v4-shell,
body:has(.live-config-rail) .shell.v4-shell,
body:has(.live-config-rail) .shell.v4-shell.with-bottom-nav{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: calc(var(--ps-ticker-h) + var(--ps-header-h) + 10px) !important;
  padding-bottom: 20px !important;
  box-sizing: border-box !important;
}

/* Dashboard vira “canvas” full width; layout por fixed + margin */
.live-dashboard{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  box-sizing: border-box !important;
  grid-template-columns: none !important;
}

/* ========== CONFIG: FIXA PERMANENTE NA BORDA ESQUERDA ========== */
.live-config-rail{
  position: fixed !important;
  left: 0 !important;
  top: calc(var(--ps-ticker-h) + var(--ps-header-h)) !important;
  bottom: 0 !important;
  width: var(--ps-config-w) !important;
  max-width: var(--ps-config-w) !important;
  z-index: 8500 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-right: 1px solid #1a3a4e !important;
  background: linear-gradient(180deg, #06141e 0%, #040d14 55%, #030a10 100%) !important;
  padding: 12px 12px 18px !important;
  gap: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  max-height: none !important;
  align-self: auto !important;
  box-shadow: 8px 0 28px rgba(0,0,0,.35) !important;
}

.live-config-head{
  padding: 4px 2px 10px !important;
  margin-bottom: 4px !important;
  border-bottom: 1px solid #1a3344 !important;
}
.live-config-head h2{
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  color: #ffc400 !important;
}
.live-config-head a{
  font-size: 11px !important;
}

.live-config-card{
  padding: 12px !important;
  border-radius: 12px !important;
  border: 1px solid #183447 !important;
  background: rgba(8, 22, 34, 0.9) !important;
}
.live-config-card h3{
  font-size: 9px !important;
  margin: 0 0 8px !important;
  letter-spacing: 0.1em !important;
}
.live-config-value{
  font-size: 14px !important;
}
.live-config-row b{ font-size: 13px !important; }
.live-config-row small{ font-size: 11px !important; }
.live-config-chips{
  gap: 6px !important;
}
.live-config-chips .chip{
  font-size: 11px !important;
  padding: 5px 10px !important;
}
.live-config-meta b{ font-size: 13px !important; }
.live-config-cta{
  margin-top: auto !important;
  padding: 12px 10px !important;
  font-size: 12px !important;
  border-radius: 12px !important;
}

/* ========== MAIN: começa DEPOIS da config, usa o resto da tela ========== */
.live-main-col{
  display: flex !important;
  flex-direction: column !important;
  gap: var(--ps-gap) !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: var(--ps-config-w) !important;
  padding-left: var(--ps-gap) !important;
  padding-right: var(--ps-gap) !important;
  box-sizing: border-box !important;
}

/* Hero expandido */
.live-main-col .live-hero-grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.1fr) !important;
  gap: var(--ps-gap) !important;
  width: 100% !important;
  max-width: none !important;
}
.live-main-col .live-hero-grid > *{
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.live-welcome{
  padding: 18px 20px !important;
  border-radius: 16px !important;
  min-height: 160px !important;
}
.live-welcome h1{
  font-size: clamp(24px, 2.4vw, 34px) !important;
  margin: 6px 0 8px !important;
}
.live-welcome p{
  font-size: 13px !important;
  line-height: 1.45 !important;
  max-width: 42ch !important;
}
.live-botbox{
  padding: 16px !important;
  border-radius: 16px !important;
  min-height: 160px !important;
}
.live-operation{
  padding: 16px 18px !important;
  border-radius: 16px !important;
  min-height: 160px !important;
}

/* KPIs maiores e com ar */
.live-main-col .live-kpis{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: var(--ps-gap) !important;
  width: 100% !important;
  max-width: none !important;
}
.live-main-col .live-kpis > *{
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.live-kpi,
.live-risk,
.live-panel.live-kpi{
  padding: 14px 14px 16px !important;
  border-radius: 14px !important;
  min-height: 140px !important;
  gap: 8px !important;
}
.kpi-val{
  font-size: clamp(18px, 1.7vw, 26px) !important;
}
.kpi-head span{
  font-size: 10px !important;
}
.scope-label{
  font-size: 9px !important;
  letter-spacing: 0.06em !important;
}
.scope-switch .scope-slider{
  width: 34px !important;
  height: 18px !important;
  min-width: 34px !important;
}
.scope-switch .scope-text{
  font-size: 9px !important;
  max-width: 48px !important;
}
.kpi-sub,
.ops-extremes small{
  font-size: 10px !important;
}
.ops-extremes b{
  font-size: 12px !important;
}

/* Lower / road full width do main */
.live-main-col .signal-road,
.live-main-col .live-panel.signal-road,
.live-main-col .activity{
  width: 100% !important;
  max-width: none !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
}
.live-lower{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 0.8fr) !important;
  gap: var(--ps-gap) !important;
  width: 100% !important;
  max-width: none !important;
}
.live-lower > *{
  min-width: 0 !important;
  border-radius: 14px !important;
  padding: 14px !important;
  box-sizing: border-box !important;
}

/* Anula max-width antigos que encolhiam o main */
.live-dashboard,
.live-main-col,
.live-dashboard .live-panel,
.live-dashboard .live-hero-grid,
.live-dashboard .live-kpis,
.live-dashboard .live-lower{
  max-width: none !important;
}

/* ========== 1366×768 — perfil principal ========== */
@media (min-width: 1200px) and (max-width: 1440px){
  :root{
    --ps-config-w: 250px;
    --ps-ticker-h: 38px;
    --ps-header-h: 58px;
    --ps-gap: 12px;
  }
  .live-welcome{ min-height: 148px !important; padding: 14px 16px !important; }
  .live-welcome h1{ font-size: 24px !important; }
  .live-kpi, .live-risk{ min-height: 128px !important; padding: 12px !important; }
  .kpi-val{ font-size: 18px !important; }
  .v4-brandbar .header-account-meta{ display: none !important; }
}

/* Header full width por cima de tudo (config começa abaixo) */
body:has(.live-config-rail) .market-ticker,
body:has(.live-config-rail) .v4-brandbar{
  left: 0 !important;
  width: 100% !important;
}

/* Desktop sempre mostra config fixa */
@media (min-width: 900px){
  .live-config-rail{
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
  }
  .live-main-col{
    margin-left: var(--ps-config-w) !important;
  }
  .mobile-bottom-nav{ display: none !important; }
}

/* Mobile: config some; main full */
@media (max-width: 899px){
  .live-config-rail{
    display: none !important;
  }
  .live-main-col{
    margin-left: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body:has(.live-config-rail) .shell.v4-shell,
  body:has(.market-ticker) .shell.v4-shell{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .live-main-col .live-hero-grid{
    grid-template-columns: 1fr !important;
  }
  .live-main-col .live-kpis{
    grid-template-columns: 1fr 1fr !important;
  }
  .live-main-col .live-kpis > :last-child{
    grid-column: 1 / -1 !important;
  }
  .live-lower{
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   v10.18 — Header / ticker de margem a margem (logo na esq.)
   Problema (print ??? + caixa amarela): topo não ia da borda
   esquerda à direita; sobrava faixa preta antes do logo.
   Solução: brandbar + ticker full-bleed left:0 / width:100%,
   padding lateral mínimo, logo colada na margem esquerda.
   Config continua fixa ABAIXO do header (left:0).
   ========================================================= */

/* Ticker: borda a borda */
section.market-ticker,
.market-ticker[data-deriv-ticker],
.market-ticker,
body:has(.live-config-rail) .market-ticker,
body:has(.market-ticker) .market-ticker{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  box-sizing: border-box !important;
  z-index: 9200 !important;
}

/* Header (brandbar): UM único card/faixa de margem a margem */
header.brandbar.v4-brandbar,
.brandbar.v4-brandbar,
.v4-brandbar,
body:has(.market-ticker) header.brandbar.v4-brandbar,
body:has(.market-ticker) .v4-brandbar,
body:has(.live-config-rail) .v4-brandbar,
body:has(.live-dashboard) .v4-brandbar,
body:has(.with-bottom-nav) .v4-brandbar{
  position: fixed !important;
  top: var(--ps-ticker-h, 40px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  /* padding mínimo — logo vai para a margem esquerda */
  padding: 0 10px 0 10px !important;
  box-sizing: border-box !important;
  z-index: 9100 !important;
  transform: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  border-radius: 0 !important;
}

/* Logo colada à esquerda (sem “vão” antes do Polo Stake) */
.v4-brandbar .v4-brand{
  flex: 0 0 auto !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  gap: 8px !important;
}
.v4-brandbar .brand-mark{
  margin-left: 0 !important;
}

/* Nav e ações distribuem o resto da largura total */
.v4-brandbar .desktop-top-nav{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  justify-content: center !important;
}
.v4-brandbar .v4-head-actions{
  flex: 0 0 auto !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
}

/* Config FIXA permanente — começa ABAIXO do header, na borda esq. */
@media (min-width: 900px){
  .live-config-rail{
    position: fixed !important;
    left: 0 !important;
    top: calc(var(--ps-ticker-h, 40px) + var(--ps-header-h, 64px)) !important;
    bottom: 0 !important;
    width: var(--ps-config-w, 260px) !important;
    z-index: 8500 !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  /* Main continua à direita da config */
  .live-main-col{
    margin-left: var(--ps-config-w, 260px) !important;
  }

  /* Garante que NADA empurre o header para a direita da config */
  body:has(.live-config-rail) .v4-brandbar,
  body:has(.live-config-rail) .market-ticker{
    left: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* Notebook 1366: header bem colado nas bordas */
@media (min-width: 1200px) and (max-width: 1440px){
  :root{
    --ps-ticker-h: 38px;
    --ps-header-h: 58px;
  }
  .v4-brandbar{
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 6px !important;
  }
  .v4-brandbar .brand-mark{
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }
  .v4-brandbar .brand-name{ font-size: 18px !important; }
}

/* Mobile: header também full-bleed, logo à esquerda */
@media (max-width: 899px){
  .v4-brandbar{
    left: 0 !important;
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .market-ticker{
    left: 0 !important;
    width: 100% !important;
  }
}


/* =========================================================
   v10.19 — Logo na proporção da faixa vermelha (print Marco)
   Faixa vermelha = da margem esquerda até a borda direita da
   CONFIG (mesma largura do sidebar de configuração).
   Altura = altura do header (borda superior → inferior).
   O quadradinho da marca (brand-mark) usa essa altura e a
   mesma medida de largura (quadrado), com mais amplitude.
   ========================================================= */

/* Zona da logo = largura da config, altura do header */
.v4-brandbar .v4-brand{
  flex: 0 0 var(--ps-config-w, 260px) !important;
  width: var(--ps-config-w, 260px) !important;
  max-width: var(--ps-config-w, 260px) !important;
  min-width: var(--ps-config-w, 260px) !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 0 10px 0 8px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: hidden !important;
}

/* Quadradinho da logo: altura quase total do header, largura = altura */
.v4-brandbar .brand-mark{
  /* header ~58–72px; marca = header - 10px de respiro */
  --ps-logo-sq: calc(var(--ps-header-h, 64px) - 10px);
  width: var(--ps-logo-sq) !important;
  height: var(--ps-logo-sq) !important;
  min-width: var(--ps-logo-sq) !important;
  min-height: var(--ps-logo-sq) !important;
  max-width: var(--ps-logo-sq) !important;
  max-height: var(--ps-logo-sq) !important;
  flex: 0 0 var(--ps-logo-sq) !important;
  border-radius: 12px !important;
  object-fit: contain !important;
  margin: 0 !important;
  background: #0a1620 !important;
}

/* Texto da marca ao lado, com amplitude maior */
.v4-brandbar .brand-copy{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  gap: 2px !important;
  overflow: hidden !important;
}
.v4-brandbar .brand-name{
  font-size: clamp(18px, 1.55vw, 26px) !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.v4-brandbar .brand-sub{
  display: block !important;
  font-size: clamp(8px, 0.7vw, 10px) !important;
  letter-spacing: 0.16em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Header padding zero na esquerda — zona logo começa na margem */
body:has(.market-ticker) .v4-brandbar,
.v4-brandbar{
  padding-left: 0 !important;
  gap: 0 !important;
}

/* Nav começa depois da zona da logo (alinha com o main) */
.v4-brandbar .desktop-top-nav{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding-left: 8px !important;
}

/* Notebook 1366 — logo ainda mais presente na faixa */
@media (min-width: 1200px) and (max-width: 1440px){
  :root{
    --ps-config-w: 250px;
    --ps-header-h: 62px;
  }
  .v4-brandbar .v4-brand{
    flex-basis: 250px !important;
    width: 250px !important;
    max-width: 250px !important;
    min-width: 250px !important;
    padding: 0 8px 0 6px !important;
    gap: 8px !important;
  }
  .v4-brandbar .brand-name{ font-size: 20px !important; }
  .v4-brandbar .brand-sub{ font-size: 8px !important; letter-spacing: 0.12em !important; }
}

@media (min-width: 1366px){
  :root{
    --ps-config-w: 280px;
    --ps-header-h: 68px;
  }
  .v4-brandbar .v4-brand{
    flex-basis: 280px !important;
    width: 280px !important;
    max-width: 280px !important;
    min-width: 280px !important;
  }
  .v4-brandbar .brand-name{ font-size: 22px !important; }
}

@media (min-width: 1600px){
  :root{
    --ps-config-w: 300px;
    --ps-header-h: 76px;
  }
  .v4-brandbar .v4-brand{
    flex-basis: 300px !important;
    width: 300px !important;
    max-width: 300px !important;
    min-width: 300px !important;
  }
  .v4-brandbar .brand-name{ font-size: 26px !important; }
  .v4-brandbar .brand-sub{ font-size: 10px !important; }
}

/* Mobile: logo grande mas sem travar largura da config */
@media (max-width: 899px){
  .v4-brandbar .v4-brand{
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 55% !important;
    padding: 0 6px 0 8px !important;
  }
  .v4-brandbar .brand-mark{
    --ps-logo-sq: calc(var(--ps-header-h, 58px) - 14px);
  }
}


/* =========================================================
   v10.20 — Remove SALDO DERIV; 4 cards KPI com mais amplitude
   Restam: Operações | Win Rate | Resultado | Meta/Stop
   ========================================================= */

.live-main-col .live-kpis,
.live-kpis{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--ps-gap, 16px) !important;
  width: 100% !important;
  max-width: none !important;
}

.live-main-col .live-kpis > *,
.live-kpis > *{
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Cards mais altos e com ar — visual premium em 4 colunas */
.live-kpi,
.live-risk,
.live-panel.live-kpi,
.live-panel.live-risk{
  padding: 16px 18px 18px !important;
  min-height: 160px !important;
  border-radius: 16px !important;
  gap: 10px !important;
}

.kpi-val{
  font-size: clamp(22px, 2.1vw, 30px) !important;
  line-height: 1.1 !important;
}
.kpi-head span{
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
}
.scope-label{
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
}
.kpi-sub{
  font-size: 11px !important;
}
.ops-extremes{
  margin-top: 4px !important;
  gap: 10px !important;
}
.ops-extremes small{
  font-size: 9px !important;
}
.ops-extremes b{
  font-size: 13px !important;
}

/* Meta/Stop também ganha respiro na 4ª coluna */
.live-risk .risk-three{
  gap: 10px !important;
}
.live-risk .risk-three b,
.live-risk .risk-three strong{
  font-size: 13px !important;
}

@media (min-width: 1200px) and (max-width: 1440px){
  .live-kpi, .live-risk{
    min-height: 148px !important;
    padding: 14px 14px 16px !important;
  }
  .kpi-val{ font-size: 24px !important; }
}

/* Mobile: 2x2 */
@media (max-width: 899px){
  .live-main-col .live-kpis,
  .live-kpis{
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .live-kpi, .live-risk{
    min-height: 130px !important;
  }
}


/* =========================================================
   v10.21 — UFO Elite Scanner no card OPERAÇÃO ATUAL
   Mostra APENAS enquanto aguarda operação (sem open_orders).
   Quando há operação aberta: some e exibe dados normais.
   Quando a operação fecha (reload): o scanner volta.
   Escopo: somente dentro de .live-operation
   ========================================================= */

.live-operation{
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 200px !important;
}

.live-operation .live-panel-head{
  position: relative !important;
  z-index: 5 !important;
  flex: 0 0 auto !important;
}

.live-operation .live-opbody{
  position: relative !important;
  z-index: 4 !important;
  flex: 1 1 auto !important;
}

/* Container do scanner: preenche o corpo do card */
.live-operation .polostake-ufo-elite-scanner,
.live-operation .live-op-scanner{
  position: relative !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  min-height: 170px !important;
  height: auto !important;
  margin-top: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: radial-gradient(ellipse at center, #0c121a 0%, #080b10 70%) !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  border: 1px solid #1a2e3c !important;
  box-sizing: border-box !important;
  pointer-events: none !important; /* só visual */
}

/* Quando há operação aberta, o scanner não existe no HTML.
   Se no futuro ambos existirem, esconde via data-state: */
.live-operation[data-state="open"] .polostake-ufo-elite-scanner{
  display: none !important;
}
.live-operation[data-state="idle"] .live-opbody{
  display: none !important;
}

/* Poeira cósmica */
.live-operation .cosmic-dust{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.live-operation .particle{
  position: absolute;
  width: 2px;
  height: 2px;
  background: #ffd700;
  border-radius: 50%;
  opacity: 0.3;
  animation: ps-ufo-twinkle 3s ease-in-out infinite alternate;
}
.live-operation .particle:nth-child(1){ top: 25%; left: 20%; animation-delay: 0.5s; }
.live-operation .particle:nth-child(2){ top: 70%; left: 75%; animation-delay: 1.2s; }
.live-operation .particle:nth-child(3){ top: 30%; right: 25%; animation-delay: 2s; }
.live-operation .particle:nth-child(4){ top: 65%; left: 30%; animation-delay: 0.8s; }

@keyframes ps-ufo-twinkle{
  0% { opacity: 0.1; transform: scale(0.8); }
  100% { opacity: 0.7; transform: scale(1.3); box-shadow: 0 0 6px #ffd700; }
}

/* OVNI */
.live-operation .ufo-elite-container{
  position: relative;
  width: 140px;
  height: 95px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 6px;
  z-index: 2;
  animation: ps-ufo-hover 4s ease-in-out infinite alternate;
}
@keyframes ps-ufo-hover{
  0% { transform: translateY(0px) rotate(-1.5deg); }
  100% { transform: translateY(-7px) rotate(1.5deg); }
}

.live-operation .ufo-tractor-beam{
  position: absolute;
  top: 24px;
  width: 80px;
  height: 70px;
  background: linear-gradient(to bottom, rgba(255, 215, 0, 0.4) 0%, rgba(255, 215, 0, 0.0) 100%);
  clip-path: polygon(25% 0%, 75% 0%, 100% 100%, 0% 100%);
  animation: ps-ufo-beam 2s ease-in-out infinite alternate;
  pointer-events: none;
  overflow: hidden;
}
.live-operation .signal-particle-beam{
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 15px;
  background: #ffffff;
  box-shadow: 0 0 8px #ffd700;
  animation: ps-ufo-signal-rise 1.5s linear infinite;
}
.live-operation .signal-particle-beam.delayed{
  left: 30%;
  animation-delay: 0.7s;
  animation-duration: 1.2s;
}
@keyframes ps-ufo-signal-rise{
  0% { bottom: 0%; opacity: 0; transform: scaleY(0.5); }
  50% { opacity: 1; }
  100% { bottom: 100%; opacity: 0; transform: scaleY(1.5); }
}
@keyframes ps-ufo-beam{
  0% { opacity: 0.5; transform: scaleX(0.92); }
  100% { opacity: 1; transform: scaleX(1.08); }
}

.live-operation .ufo-elite-saucer{
  position: relative;
  width: 85px;
  height: 20px;
  background: linear-gradient(to bottom, #ffe033, #996515);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.6), 0 0 5px rgba(255, 255, 255, 0.4) inset;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
}
.live-operation .ufo-elite-dome{
  position: absolute;
  top: -12px;
  width: 36px;
  height: 16px;
  background: rgba(8, 11, 16, 0.9);
  border: 1.5px solid #ffd700;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.5) inset;
}
.live-operation .ufo-elite-core-glow{
  position: absolute;
  top: -4px;
  width: 12px;
  height: 4px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 8px #ffd700;
  animation: ps-ufo-core 1s ease-in-out infinite alternate;
}
@keyframes ps-ufo-core{
  0% { opacity: 0.4; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1.2); }
}
.live-operation .ufo-elite-lights{
  position: absolute;
  bottom: 2px;
  width: 65px;
  display: flex;
  justify-content: space-around;
}
.live-operation .e-light{
  width: 3px;
  height: 3px;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 6px #ffd700;
  animation: ps-ufo-light 0.5s steps(2) infinite alternate;
}
.live-operation .e-light:nth-child(2){ animation-delay: 0.15s; }
.live-operation .e-light:nth-child(3){ animation-delay: 0.3s; }
.live-operation .e-light:nth-child(4){ animation-delay: 0.45s; }
@keyframes ps-ufo-light{
  0% { opacity: 0.2; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1.2); }
}

.live-operation .ufo-elite-status-box{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  z-index: 2;
  padding-bottom: 6px;
}
.live-operation .ufo-elite-status-text{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #ffd700;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}
.live-operation .ufo-elite-blink-led{
  width: 6px;
  height: 6px;
  background-color: #ffd700;
  border-radius: 50%;
  box-shadow: 0 0 8px #ffd700;
  animation: ps-ufo-led 0.8s steps(2) infinite;
}
.live-operation .ufo-elite-sub-status{
  font-size: 9px;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0.8px;
  text-transform: uppercase;
}
@keyframes ps-ufo-led{
  0% { opacity: 0.2; }
  100% { opacity: 1; }
}

/* Card um pouco mais alto no idle para o scanner respirar */
.live-operation[data-state="idle"]{
  min-height: 240px !important;
}

/* Mobile: scanner compacto */
@media (max-width: 899px){
  .live-operation .polostake-ufo-elite-scanner{
    min-height: 150px !important;
  }
  .live-operation .ufo-elite-container{
    width: 120px;
    height: 84px;
  }
  .live-operation .ufo-elite-saucer{ width: 72px; height: 18px; }
  .live-operation .ufo-elite-status-text{ font-size: 10px; }
}


/* =========================================================
   v10.22 — UFO: desce no card (não corta o topo)
   Problema: cúpula/topo do OVNI some sob o header do card
   durante a animação. Havia espaço livre embaixo (tarja amarela).
   Solução: mais padding-top, grupo mais baixo, hover sem subir
   tanto; status colado no OVNI para usar o espaço inferior.
   ========================================================= */

.live-operation .polostake-ufo-elite-scanner,
.live-operation .live-op-scanner{
  /* mais ar em cima para a cúpula + hover */
  padding: 28px 10px 10px !important;
  min-height: 180px !important;
  justify-content: flex-start !important; /* desce o bloco visualmente */
  gap: 2px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Container do OVNI: posição um pouco mais baixa + hover controlado */
.live-operation .ufo-elite-container{
  margin-top: 8px !important;
  margin-bottom: 2px !important;
  /* hover só desce levemente / sobe pouco — evita corte no topo */
  animation: ps-ufo-hover-safe 4s ease-in-out infinite alternate !important;
  will-change: transform;
}

/* Antes: 0 → -7px (subia e cortava). Agora: +6px → 0 (fica mais baixo) */
@keyframes ps-ufo-hover-safe{
  0% { transform: translateY(8px) rotate(-1.2deg); }
  100% { transform: translateY(0px) rotate(1.2deg); }
}

/* Cúpula e saucer garantem espaço interno no container */
.live-operation .ufo-elite-container{
  height: 100px !important;
  padding-top: 14px !important; /* espaço para a cúpula (top: -12px) */
  box-sizing: border-box !important;
}
.live-operation .ufo-elite-dome{
  top: -10px !important;
}
.live-operation .ufo-tractor-beam{
  top: 28px !important;
}

/* Status sobe um pouco (menos vazio embaixo / usa a tarja amarela) */
.live-operation .ufo-elite-status-box{
  margin-top: 0 !important;
  padding-bottom: 2px !important;
  gap: 2px !important;
}

/* Idle card: altura estável */
.live-operation[data-state="idle"]{
  min-height: 250px !important;
}

@media (max-width: 899px){
  .live-operation .polostake-ufo-elite-scanner{
    padding-top: 22px !important;
    min-height: 160px !important;
  }
  .live-operation .ufo-elite-container{
    margin-top: 4px !important;
    height: 92px !important;
    padding-top: 12px !important;
  }
}


/* =========================================================
   v10.23 — UFO mobile: partículas sobem + luzes piscam
   Problema (print smartphone/gravação):
   - 2 traços brancos do feixe ficam PARADOS (não sobem)
   - 4 luzes da nave ficam brancas fixas (não piscam)
   - Hover da nave ok
   Causa: animar `bottom` e `steps()` falha em WebKit/Android.
   Solução: só transform + opacity (GPU); pulse suave nas luzes.
   ========================================================= */

/* Partículas do feixe: sobem com transform (não bottom) */
.live-operation .signal-particle-beam{
  position: absolute !important;
  bottom: auto !important;
  top: auto !important;
  left: 50% !important;
  width: 3px !important;
  height: 16px !important;
  margin: 0 !important;
  background: #ffffff !important;
  border-radius: 2px !important;
  box-shadow: 0 0 8px #ffd700, 0 0 4px #fff !important;
  /* ponto de partida: base do feixe */
  transform: translate3d(-50%, 55px, 0) scaleY(0.6) !important;
  opacity: 0 !important;
  animation: ps-ufo-signal-rise-gpu 1.4s linear infinite !important;
  will-change: transform, opacity !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.live-operation .signal-particle-beam.delayed{
  left: 38% !important;
  animation-name: ps-ufo-signal-rise-gpu !important;
  animation-duration: 1.15s !important;
  animation-delay: 0.55s !important;
}
/* terceira partícula extra no mobile para leitura do movimento */
.live-operation .ufo-tractor-beam::after{
  content: "" !important;
  position: absolute !important;
  left: 62% !important;
  width: 2px !important;
  height: 12px !important;
  background: #fff !important;
  border-radius: 2px !important;
  box-shadow: 0 0 6px #ffd700 !important;
  transform: translate3d(-50%, 55px, 0) !important;
  opacity: 0 !important;
  animation: ps-ufo-signal-rise-gpu 1.3s linear infinite !important;
  animation-delay: 0.9s !important;
  will-change: transform, opacity !important;
  pointer-events: none !important;
}

@keyframes ps-ufo-signal-rise-gpu{
  0% {
    transform: translate3d(-50%, 58px, 0) scaleY(0.5);
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translate3d(-50%, 4px, 0) scaleY(1.35);
    opacity: 0;
  }
}

/* Feixe: garantir overflow e posição estável no mobile */
.live-operation .ufo-tractor-beam{
  overflow: hidden !important;
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
}

/* Luzes da nave: pulse suave (sem steps) — pisca em todos browsers */
.live-operation .e-light{
  width: 4px !important;
  height: 4px !important;
  background-color: #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 0 6px #ffd700 !important;
  opacity: 0.35 !important;
  transform: scale(0.9) translateZ(0) !important;
  animation: ps-ufo-light-pulse 0.7s ease-in-out infinite !important;
  will-change: opacity, transform !important;
}
.live-operation .e-light:nth-child(1){ animation-delay: 0s !important; }
.live-operation .e-light:nth-child(2){ animation-delay: 0.18s !important; }
.live-operation .e-light:nth-child(3){ animation-delay: 0.36s !important; }
.live-operation .e-light:nth-child(4){ animation-delay: 0.54s !important; }

@keyframes ps-ufo-light-pulse{
  0%, 100% {
    opacity: 0.2;
    transform: scale(0.85) translateZ(0);
    box-shadow: 0 0 2px #ffd700;
  }
  50% {
    opacity: 1;
    transform: scale(1.35) translateZ(0);
    box-shadow: 0 0 10px #ffd700, 0 0 4px #fff;
  }
}

/* LED do status: pulse suave também (sem steps) */
.live-operation .ufo-elite-blink-led{
  animation: ps-ufo-led-pulse 0.9s ease-in-out infinite !important;
}
@keyframes ps-ufo-led-pulse{
  0%, 100% { opacity: 0.25; box-shadow: 0 0 2px #ffd700; }
  50% { opacity: 1; box-shadow: 0 0 10px #ffd700; }
}

/* Núcleo: reforça GPU */
.live-operation .ufo-elite-core-glow{
  animation: ps-ufo-core 1s ease-in-out infinite alternate !important;
  will-change: opacity, transform !important;
  transform: translateZ(0);
}

/* Mobile: garante animações mesmo em views apertadas */
@media (max-width: 899px){
  .live-operation .signal-particle-beam{
    width: 3px !important;
    height: 14px !important;
    animation-duration: 1.25s !important;
  }
  .live-operation .e-light{
    width: 4px !important;
    height: 4px !important;
    animation-duration: 0.65s !important;
  }
  /* força composição em camada (ajuda Android Chrome) */
  .live-operation .ufo-elite-container,
  .live-operation .ufo-tractor-beam,
  .live-operation .signal-particle-beam,
  .live-operation .e-light{
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}

/* Não desligar as animações do scanner no reduced-motion parcial:
   só suaviza um pouco se o SO pedir redução */
@media (prefers-reduced-motion: reduce){
  .live-operation .signal-particle-beam,
  .live-operation .ufo-tractor-beam::after{
    animation-duration: 2.2s !important;
  }
  .live-operation .e-light{
    animation-duration: 1.2s !important;
  }
}


/* =========================================================
   v10.24 — Sidebar CONFIG só em Configurações (não no Dashboard)
   Dashboard: sem rail → main full-bleed expandido
   Configurações: rail fixa à esquerda com resumo rápido do setup
   ========================================================= */

/* --- Dashboard: sem sidebar, main ocupa tudo --- */
body:has(.live-dashboard) .live-config-rail{
  display: none !important;
}

body:has(.live-dashboard) .live-main-col{
  margin-left: 0 !important;
  padding-left: var(--ps-gap, 16px) !important;
  padding-right: var(--ps-gap, 16px) !important;
  width: 100% !important;
  max-width: 100% !important;
}

body:has(.live-dashboard) .live-dashboard{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Shell dashboard: padding normal nas laterais (sem reservar config) */
body:has(.live-dashboard):not(:has(.settings-with-rail)) main.shell.v4-shell,
body:has(.live-dashboard) .shell.v4-shell{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Hero no dashboard full width mais folgado */
body:has(.live-dashboard) .live-main-col .live-hero-grid{
  width: 100% !important;
}
body:has(.live-dashboard) .live-main-col .live-kpis{
  width: 100% !important;
}

/* --- Página Configurações: layout com rail fixa --- */
.settings-with-rail{
  display: block !important;
  width: 100% !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* Reutiliza a rail fixa (mesmas regras desktop) */
body:has(.settings-with-rail) .live-config-rail{
  display: flex !important;
  position: fixed !important;
  left: 0 !important;
  top: calc(var(--ps-ticker-h, 40px) + var(--ps-header-h, 64px)) !important;
  bottom: 0 !important;
  width: var(--ps-config-w, 260px) !important;
  z-index: 8500 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border-right: 1px solid #1a3a4e !important;
  overflow-y: auto !important;
}

body:has(.settings-with-rail) .settings-main-col{
  margin-left: var(--ps-config-w, 260px) !important;
  padding: 12px var(--ps-gap, 16px) 32px !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* Shell na página de settings: sem padding morto à esquerda */
body:has(.settings-with-rail) main.shell.v4-shell,
body:has(.settings-with-rail) .shell.v4-shell{
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Mobile: rail some nas settings (formulário full); atalhos no form bastam */
@media (max-width: 899px){
  body:has(.settings-with-rail) .live-config-rail{
    display: none !important;
  }
  body:has(.settings-with-rail) .settings-main-col{
    margin-left: 0 !important;
    padding: 12px !important;
  }
  body:has(.live-dashboard) .live-main-col{
    margin-left: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}


/* =========================================================
   v10.25 — Dashboard FULL expand (sem reserva da sidebar)
   Após remover a rail, regras antigas ainda faziam:
   .live-main-col { margin-left: var(--ps-config-w) }
   Isso deixava a faixa preta com ??? à esquerda (print).
   Agora: zero margem de config + conteúdo de borda a borda.
   ========================================================= */

/* Mata QUALQUER reserva de largura da config no dashboard */
@media (min-width: 900px){
  body:has(.live-dashboard) .live-main-col,
  body:has(.live-dashboard) .live-dashboard > .live-main-col,
  body:has(.live-dashboard) .live-dashboard .live-main-col{
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

body:has(.live-dashboard) .live-dashboard{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
}

body:has(.live-dashboard) main.shell.v4-shell,
body:has(.live-dashboard) .shell.v4-shell,
body:has(.live-dashboard) .shell.v4-shell.with-bottom-nav{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Hero: usa a largura toda com respiro */
body:has(.live-dashboard) .live-main-col .live-hero-grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body:has(.live-dashboard) .live-welcome,
body:has(.live-dashboard) .live-botbox,
body:has(.live-dashboard) .live-operation{
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

body:has(.live-dashboard) .live-welcome{
  min-height: 200px !important;
  padding: 22px 24px !important;
}
body:has(.live-dashboard) .live-welcome h1{
  font-size: clamp(28px, 2.6vw, 40px) !important;
}
body:has(.live-dashboard) .live-operation{
  min-height: 200px !important;
  padding: 18px 20px !important;
}

/* KPIs: 4 colunas esticadas na largura total */
body:has(.live-dashboard) .live-main-col .live-kpis,
body:has(.live-dashboard) .live-kpis{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:has(.live-dashboard) .live-kpi,
body:has(.live-dashboard) .live-risk{
  min-height: 168px !important;
  padding: 16px 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body:has(.live-dashboard) .kpi-val{
  font-size: clamp(22px, 2vw, 32px) !important;
}

/* Caminho do sinal + lower: full width */
body:has(.live-dashboard) .signal-road,
body:has(.live-dashboard) .live-panel.signal-road,
body:has(.live-dashboard) .activity,
body:has(.live-dashboard) .live-lower{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  box-sizing: border-box !important;
}

body:has(.live-dashboard) .live-lower{
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(0, 0.85fr) !important;
  gap: 16px !important;
}

/* Notebook 1366: ainda mais colado nas bordas */
@media (min-width: 1200px) and (max-width: 1440px){
  body:has(.live-dashboard) .live-main-col{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body:has(.live-dashboard) .live-main-col .live-hero-grid,
  body:has(.live-dashboard) .live-kpis{
    gap: 12px !important;
  }
}

/* Mobile inalterado: full width já */
@media (max-width: 899px){
  body:has(.live-dashboard) .live-main-col{
    margin-left: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body:has(.live-dashboard) .live-main-col .live-hero-grid{
    grid-template-columns: 1fr !important;
  }
  body:has(.live-dashboard) .live-kpis{
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Settings: NÃO mexe — rail continua reservando a esquerda */
body:has(.settings-with-rail) .settings-main-col{
  margin-left: var(--ps-config-w, 260px) !important;
}


/* =========================================================
   v10.26 — VIP / Planos full-bleed (sem faixa da sidebar)
   Mesmo problema do dashboard: shell ainda reservava a
   esquerda (margin-left / --ps-sidebar-w / config-w).
   VIP agora ocupa toda a área disponível.
   ========================================================= */

/* Shell full width em páginas SEM rail de config */
body:not(:has(.settings-with-rail)) main.shell.v4-shell,
body:not(:has(.settings-with-rail)) .shell.v4-shell,
body:not(:has(.settings-with-rail)) .shell.v4-shell.with-bottom-nav{
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

/* Anula reservas antigas de sidebar legada */
body:not(:has(.settings-with-rail)) .shell.v4-shell{
  margin-left: 0 !important;
  width: 100% !important;
}

/* --- VIP page --- */
.vip-page-wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 24px !important;
  box-sizing: border-box !important;
}

.vip-page-wrap .v4-page-head{
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
  box-sizing: border-box !important;
}

.vip-page-wrap .v4-card,
.vip-page-wrap .current-plan-card{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Grid de planos: 4 colunas esticadas na largura total */
.vip-page-wrap .plan-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
}

.vip-page-wrap .plan-card{
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  min-height: 100% !important;
}

/* Plano atual: aproveita a largura */
.vip-page-wrap .current-plan-card{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px 24px !important;
  align-items: center !important;
  padding: 22px 24px !important;
}
.vip-page-wrap .current-plan-card .info-strip{
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

/* Histórico full width */
.vip-page-wrap .purchase-list{
  width: 100% !important;
}

/* Notebook 1366 */
@media (min-width: 1200px) and (max-width: 1440px){
  body:not(:has(.settings-with-rail)) .shell.v4-shell{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .vip-page-wrap .plan-grid{ gap: 12px !important; }
}

/* Tablet: 2x2 */
@media (max-width: 1100px) and (min-width: 700px){
  .vip-page-wrap .plan-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: 1 coluna */
@media (max-width: 699px){
  .vip-page-wrap .plan-grid{
    grid-template-columns: 1fr !important;
  }
  body:not(:has(.settings-with-rail)) .shell.v4-shell{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* Settings: NÃO regride — mantém offset da rail */
body:has(.settings-with-rail) .settings-main-col{
  margin-left: var(--ps-config-w, 260px) !important;
}
body:has(.settings-with-rail) main.shell.v4-shell,
body:has(.settings-with-rail) .shell.v4-shell{
  margin-left: 0 !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ============================================================
   V10.28 — Histórico de Sinais · livros leves (sem win rate / PnL)
   Uma linha por sinal · data · horário · lado · SL · TP · ticket
   Viewport alvo: 1366×768
   ============================================================ */
.signals-page{
  --sig-gold:#ffc43d;
  --sig-line:#1c3a4f;
  width:100%;
  max-width:1366px;
  margin:0 auto;
  padding:10px 14px 24px;
  box-sizing:border-box;
}
.signals-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 10px}
.signals-page-titles h1{margin:0 0 3px;font-size:22px;letter-spacing:-.3px;color:#eef8ff}
.signals-page-titles p{margin:0;font-size:11px;color:#8fa5b6;line-height:1.4}
.signals-page .signals-tg-link{margin-left:8px;color:var(--sig-gold);font-weight:900;text-decoration:none;font-size:11px;white-space:nowrap}
.signals-page .signals-tg-link:hover{text-decoration:underline}

.signals-filter-bar{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr)) minmax(130px,1.15fr) auto;
  gap:8px;align-items:end;margin:0 0 10px;padding:9px 11px;
  border:1px solid var(--sig-line);border-radius:14px;
  background:linear-gradient(155deg,rgba(9,28,43,.96),rgba(5,18,29,.98));
}
.signals-filter-bar .sig-f{display:grid;gap:3px;min-width:0}
.signals-filter-bar .sig-f > span{font-size:8px;font-weight:950;letter-spacing:.07em;color:#7f97a9;text-transform:uppercase}
.signals-filter-bar .v4-select,
.signals-ticket-input{padding:9px 10px!important;font-size:11px!important;border-radius:10px!important;min-height:36px}
.signals-ticket-input{
  width:100%;box-sizing:border-box;background:#071522;color:#eef8ff;
  border:1px solid #2b4960;font:inherit;
}
.signals-clear-btn{
  display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 12px;
  border-radius:10px;border:1px solid #35566d;color:#9eb6c8;text-decoration:none;
  font-size:10px;font-weight:900;white-space:nowrap;background:#0a1a28;
}
.signals-clear-btn:hover{border-color:var(--sig-gold);color:var(--sig-gold)}

.signals-kpi-row,
.signals-kpi-row-lite{
  display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:8px;margin:0 0 10px;
}
.signals-kpi{
  border:1px solid var(--sig-line);border-radius:12px;
  background:linear-gradient(155deg,rgba(9,28,43,.96),rgba(5,18,29,.98));
  padding:10px 12px;min-height:70px;
}
.signals-kpi > small{display:block;font-size:8px;font-weight:950;letter-spacing:.06em;color:#8fa5b6;text-transform:uppercase}
.signals-kpi-total > b{display:block;font-size:26px;margin-top:4px;color:#fff;line-height:1.1}
.signals-kpi-total > em{display:block;font-style:normal;font-size:9px;color:#7f97a9;margin-top:3px}
.signals-kpi-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:6px}
.signals-kpi-pills.assets{grid-template-columns:1fr 1fr}
.signals-kpi-pills span{
  display:grid;place-items:center;gap:1px;padding:6px 3px;border-radius:9px;
  background:#0a1c2b;border:1px solid #1a3a50;text-align:center;
}
.signals-kpi-pills span strong{font-size:15px;color:#eef8ff;line-height:1}
.signals-kpi-pills span i{font-style:normal;font-size:8px;font-weight:900;color:#8fa5b6}
.signals-kpi-pills span.btc strong{color:#f5a623}
.signals-kpi-pills span.xau strong{color:#ffd24a}

/* sem win-rate row nesta versão */
.signals-wr-row{display:none!important}

.signals-setup-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-items:stretch;
}
.signals-setup-card{
  border:1px solid #c99618;border-radius:13px;
  background:linear-gradient(180deg,#081825 0%,#050f18 100%);
  box-shadow:0 0 0 1px rgba(255,196,61,.08) inset,0 8px 22px rgba(0,0,0,.25);
  min-height:0;display:flex;flex-direction:column;overflow:hidden;
}
.signals-setup-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 10px 7px;border-bottom:1px solid #2a3f14;
  background:linear-gradient(90deg,rgba(255,196,61,.08),transparent);
}
.signals-setup-head h2{margin:0;font-size:11px;font-weight:1000;letter-spacing:.08em;color:var(--sig-gold)}
.signals-setup-badge{
  font-size:8px;font-weight:900;color:#1a1406;
  background:linear-gradient(135deg,#ffd24a,#f0a812);border-radius:99px;padding:2px 7px;white-space:nowrap;
}
.signals-books-pair{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:300px;flex:1 1 auto}
.signals-book{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid #14303f}
.signals-book:last-child{border-right:0}
.signals-book-head{
  display:flex;align-items:center;gap:5px;padding:6px 7px 5px;
  border-bottom:1px solid #14303f;background:#071722;
}
.signals-book-head b{font-size:10px;letter-spacing:.04em;color:#dceaf4}
.signals-book-head em{
  margin-left:auto;font-style:normal;font-size:8px;font-weight:900;color:#8fa5b6;
  background:#0d2231;border:1px solid #1c3a4f;border-radius:99px;padding:1px 6px;
}
.signals-book-head .coin{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:1000}
.signals-book-head .coin.btc{background:#f49619;color:#fff}
.signals-book-head .coin.xau{border-radius:4px;background:#3a2d0b;color:#ffc43d;font-size:7px}

.signals-book-cols{
  display:grid;grid-template-columns:42px 40px 1fr 1fr 1.1fr;gap:3px;
  padding:4px 6px 3px;font-size:7px;font-weight:950;letter-spacing:.04em;
  color:#6f8799;text-transform:uppercase;border-bottom:1px solid #102635;background:#06131c;
}

/* SCROLL interno — uma linha por sinal */
.signals-book-scroll{
  flex:1 1 auto;max-height:360px;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;padding:2px 0 6px;
  scrollbar-width:thin;scrollbar-color:#3a5a70 #0a1520;
}
.signals-book-scroll::-webkit-scrollbar{width:6px}
.signals-book-scroll::-webkit-scrollbar-track{background:#0a1520;border-radius:8px}
.signals-book-scroll::-webkit-scrollbar-thumb{background:#3a5a70;border-radius:8px;border:1px solid #0a1520}

.signals-row.one-line{
  display:grid;
  grid-template-columns:42px 40px 1fr 1fr 1.1fr;
  align-items:center;
  gap:3px;
  padding:4px 6px;
  min-height:22px;
  max-height:28px;
  border-bottom:1px solid #102635;
  font-size:9px;
  color:#c5d7e4;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
}
.signals-row.one-line time{
  display:grid;font-variant-numeric:tabular-nums;font-weight:900;color:#9eb6c8;font-size:9px;line-height:1.1;
}
.signals-row.one-line time i{
  display:block;font-style:normal;font-size:7px;font-weight:800;color:#6f8799;letter-spacing:.02em;
}
.signals-row.one-line .side{
  display:inline-flex;justify-content:center;align-items:center;border-radius:4px;
  padding:2px 3px;font-size:7px;font-weight:1000;letter-spacing:.01em;min-width:0;
}
.signals-row.one-line .side.buy{background:#063629;color:#00e99a}
.signals-row.one-line .side.sell{background:#3a1018;color:#ff5a72}
.signals-row.one-line .lvl{
  font-variant-numeric:tabular-nums;font-size:8px;font-weight:800;color:#9eb6c8;
  overflow:hidden;text-overflow:ellipsis;
}
.signals-row.one-line .lvl.tp{color:#7ec8a8}
.signals-row.one-line .ticket{
  justify-self:end;color:#7f97a9;font-size:8px;font-variant-numeric:tabular-nums;
  display:inline-flex;align-items:center;gap:3px;min-width:0;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;
}
.signals-row.one-line .ticket em{
  font-style:normal;font-size:7px;font-weight:950;color:#ffd12a;
  border:1px solid #765f00;background:#282204;border-radius:99px;padding:0 4px;
}
.signals-row.one-line .part-dot{color:var(--sig-gold);font-size:8px;line-height:1;margin-left:1px}

/* Participação notável — ainda em UMA linha */
.signals-row.one-line.is-mine{
  background:linear-gradient(90deg,rgba(255,196,61,.12),rgba(255,196,61,.02));
  box-shadow:inset 2px 0 0 var(--sig-gold);
}
.signals-row.one-line.is-mine .ticket{color:#d8c07a}

/* Motivo só no filtro "não participei" — pode quebrar em 2ª linha só nesse modo */
.signals-row.one-line .skip-reason{
  grid-column:1 / -1;
  font-size:7px;color:#f0b84a;background:#1a1608;border:1px solid #5a4714;
  border-radius:4px;padding:2px 5px;margin-top:1px;line-height:1.25;
  white-space:normal;max-height:none;
}
.signals-row.one-line:has(.skip-reason){max-height:none;height:auto;white-space:normal}

.signals-book-empty{padding:18px 8px;text-align:center;color:#5f778a;font-size:10px}
.signals-trunc-note{margin-top:8px}
.signals-empty{margin-top:20px}

@media (min-width:1100px){
  body:has(.signals-page) .shell.v4-shell{max-width:100%!important;width:100%!important}
  .signals-page{max-width:1340px;padding:8px 12px 18px}
  .signals-book-scroll{max-height:min(360px, calc(100vh - 360px));min-height:240px}
}
@media (max-width:1100px){
  .signals-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .signals-kpi-row,.signals-kpi-row-lite{grid-template-columns:1fr}
  .signals-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signals-book-scroll{max-height:280px}
}
@media (max-width:699px){
  .signals-filter-bar{grid-template-columns:1fr 1fr}
  .signals-setup-grid{grid-template-columns:1fr}
  .signals-books-pair{grid-template-columns:1fr 1fr;min-height:220px}
  .signals-book-scroll{max-height:240px}
  .signals-page-titles h1{font-size:18px}
  .signals-kpi-pills{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signals-book-cols{display:none}
}

/* ============================================================
   V10.29 — Layout Sinais ATT
   Filtro de 1 setup → card full-width (margem esq → dir)
   Filtro Todos → grade 4 cards
   ============================================================ */
.signals-page.is-single-setup .signals-setup-grid,
.signals-setup-grid.is-single{
  grid-template-columns: 1fr !important;
  gap: 0;
}
.signals-page.is-single-setup .signals-setup-card,
.signals-setup-grid.is-single .signals-setup-card{
  width: 100%;
  max-width: 100%;
  min-height: 420px;
}
.signals-page.is-single-setup .signals-books-pair,
.signals-setup-grid.is-single .signals-books-pair{
  grid-template-columns: 1fr 1fr;
  min-height: 420px;
  flex: 1 1 auto;
}

/* Colunas mais largas e legíveis no modo full */
.signals-page.is-single-setup .signals-book-cols,
.signals-setup-grid.is-single .signals-book-cols{
  grid-template-columns: 56px 64px minmax(70px,1fr) minmax(70px,1fr) minmax(90px,1.15fr);
  gap: 8px;
  padding: 6px 12px 5px;
  font-size: 9px;
  letter-spacing: .06em;
}
.signals-page.is-single-setup .signals-row.one-line,
.signals-setup-grid.is-single .signals-row.one-line{
  grid-template-columns: 56px 64px minmax(70px,1fr) minmax(70px,1fr) minmax(90px,1.15fr);
  gap: 8px;
  padding: 6px 12px;
  min-height: 28px;
  max-height: 34px;
  font-size: 11px;
}
.signals-page.is-single-setup .signals-row.one-line time,
.signals-setup-grid.is-single .signals-row.one-line time{
  font-size: 11px;
}
.signals-page.is-single-setup .signals-row.one-line time i,
.signals-setup-grid.is-single .signals-row.one-line time i{
  font-size: 8px;
}
.signals-page.is-single-setup .signals-row.one-line .side,
.signals-setup-grid.is-single .signals-row.one-line .side{
  font-size: 9px;
  padding: 3px 6px;
  border-radius: 5px;
}
.signals-page.is-single-setup .signals-row.one-line .lvl,
.signals-setup-grid.is-single .signals-row.one-line .lvl{
  font-size: 11px;
  font-weight: 850;
  overflow: visible;
  text-overflow: clip;
}
.signals-page.is-single-setup .signals-row.one-line .ticket,
.signals-setup-grid.is-single .signals-row.one-line .ticket{
  font-size: 10px;
}
.signals-page.is-single-setup .signals-book-head,
.signals-setup-grid.is-single .signals-book-head{
  padding: 8px 12px 7px;
}
.signals-page.is-single-setup .signals-book-head b,
.signals-setup-grid.is-single .signals-book-head b{
  font-size: 13px;
}
.signals-page.is-single-setup .signals-book-scroll,
.signals-setup-grid.is-single .signals-book-scroll{
  max-height: min(480px, calc(100vh - 340px));
  min-height: 320px;
  padding: 2px 0 10px;
}
.signals-page.is-single-setup .signals-setup-head,
.signals-setup-grid.is-single .signals-setup-head{
  padding: 10px 14px 9px;
}
.signals-page.is-single-setup .signals-setup-head h2,
.signals-setup-grid.is-single .signals-setup-head h2{
  font-size: 13px;
  letter-spacing: .1em;
}

/* No modo Todos, manter grade compacta de 4 */
.signals-page:not(.is-single-setup) .signals-setup-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px){
  .signals-page:not(.is-single-setup) .signals-setup-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .signals-page.is-single-setup .signals-book-scroll,
  .signals-setup-grid.is-single .signals-book-scroll{
    max-height: 360px;
    min-height: 260px;
  }
}
@media (max-width: 699px){
  .signals-page:not(.is-single-setup) .signals-setup-grid,
  .signals-page.is-single-setup .signals-setup-grid,
  .signals-setup-grid.is-single{
    grid-template-columns: 1fr !important;
  }
  .signals-page.is-single-setup .signals-books-pair,
  .signals-setup-grid.is-single .signals-books-pair{
    grid-template-columns: 1fr;
    min-height: 0;
  }
}

/* ============================================================
   V10.30 — Pontos TP/SL no livro de sinais
   Em vez do preço absoluto, mostra quantos pontos o bot busca
   ( |TP-entrada| e |SL-entrada| )
   ============================================================ */
.signals-row.one-line .lvl.pts{
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: .01em;
}
.signals-row.one-line .lvl.tp.pts{
  color: #00e99a;
}
.signals-row.one-line .lvl.sl.pts{
  color: #ff7a8a;
}
.signals-page.is-single-setup .signals-row.one-line .lvl.pts,
.signals-setup-grid.is-single .signals-row.one-line .lvl.pts{
  font-size: 12px;
}
/* cabeçalho: deixa claro que são pontos */
.signals-book-cols span:nth-child(3){ color: #5ecf9a; }
.signals-book-cols span:nth-child(4){ color: #d98995; }


/* ============================================================
   V10.32 — Operação atual: PnL 1s + PARAR Deriv + tesoura
   ============================================================ */
button.live-stop{
  border:0;cursor:pointer;font:inherit;
  border-radius:15px;
  background:linear-gradient(145deg,#ff3856,#e91335);
  color:#fff!important;text-decoration:none;
  display:grid;place-items:center;align-content:center;gap:2px;
  text-align:center;font-size:9px;font-weight:950;
  min-height:110px;padding:12px 8px;
  box-shadow:0 8px 22px rgba(233,19,53,.28);
  transition:filter .15s,transform .1s,opacity .15s;
}
button.live-stop:hover{filter:brightness(1.06)}
button.live-stop:active{transform:scale(.98)}
button.live-stop span{font-size:22px;line-height:1}
button.live-stop b{display:block;font-size:11px;letter-spacing:.04em}
button.live-stop small{display:block;font-size:8px;opacity:.85;font-weight:700}
button.live-stop.is-loading,
button.live-stop:disabled{opacity:.75;cursor:wait;filter:grayscale(.15)}

#liveOpPnl.positive,.live-pnl-pct.positive{color:#00e99a!important}
#liveOpPnl.negative,.live-pnl-pct.negative{color:#ff3654!important}
#liveOpPnl.flat,.live-pnl-pct.flat{color:#9bb0c2!important}

.live-progress i.bar-gain,
#liveOpProgress.bar-gain{
  background:linear-gradient(90deg,#00e99a,#00c884)!important;
  box-shadow:0 0 14px rgba(0,233,154,.45);
}
.live-progress i.bar-loss,
#liveOpProgress.bar-loss{
  background:linear-gradient(90deg,#ff5a72,#e91335)!important;
  box-shadow:0 0 14px rgba(255,54,84,.45);
}
.live-progress i.bar-flat,
#liveOpProgress.bar-flat{
  background:linear-gradient(90deg,#5a7a90,#3d5a70)!important;
  box-shadow:none;
}
.live-progress.is-gain{box-shadow:inset 0 0 0 1px rgba(0,233,154,.25)}
.live-progress.is-loss{box-shadow:inset 0 0 0 1px rgba(255,54,84,.25)}

/* ============================================================
   V10.34 — Lower dashboard: ops dual + sinais MT5 (sem confiança)
   ============================================================ */
body:has(.live-dashboard) .live-lower.live-lower-v34,
.live-lower.live-lower-v34{
  display:grid !important;
  grid-template-columns: 1.2fr 1fr 1.2fr !important;
  gap:14px !important;
  margin-top:22px !important;
  align-items:stretch;
}
.live-lower-v34 > .live-panel{
  min-width:0;
  min-height:280px;
  padding:16px 14px !important;
  display:flex;
  flex-direction:column;
}
.live-card-hint{
  margin:0 0 10px;
  font-size:10px;
  color:#7f96a8;
  line-height:1.35;
}
.dash-dual-books{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  flex:1 1 auto;
  min-height:0;
}
.dash-book{
  border:1px solid #1a3548;
  border-radius:12px;
  background:linear-gradient(180deg,#071722,#050f16);
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}
.dash-book-head{
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border-bottom:1px solid #14303f;
  background:linear-gradient(90deg,rgba(255,196,61,.05),transparent);
}
.dash-book-head b{font-size:10px;color:#e8f4ff;letter-spacing:.03em}
.dash-book-head em{
  margin-left:auto;font-style:normal;font-size:9px;font-weight:900;color:#8fa5b6;
  background:#0c2030;border:1px solid #1c3a4f;border-radius:99px;padding:1px 7px;
}
.dash-book-head .coin{
  width:18px;height:18px;border-radius:50%;display:grid;place-items:center;
  font-size:10px;font-weight:1000;
}
.dash-book-head .coin.btc{background:#f49619;color:#fff}
.dash-book-head .coin.xau{border-radius:4px;background:#3a2d0b;color:#ffc43d;font-size:8px}
.dash-book-scroll{
  flex:1 1 auto;
  max-height:220px;
  overflow-y:auto;
  overflow-x:hidden;
  padding:6px;
  scrollbar-width:thin;
  scrollbar-color:#3a5a70 #0a1520;
}
.dash-book-scroll::-webkit-scrollbar{width:5px}
.dash-book-scroll::-webkit-scrollbar-thumb{background:#3a5a70;border-radius:8px}
.dash-hist-row{
  display:grid !important;
  grid-template-columns: minmax(72px,auto) 42px 1fr auto auto;
  gap:4px 6px;
  align-items:center;
  padding:7px 6px !important;
  border-bottom:1px solid #122a38 !important;
  font-size:10px !important;
}
.dash-hist-row:last-child{border-bottom:0 !important}
.dash-when{
  font-variant-numeric:tabular-nums;
  font-weight:800;
  color:#c5d6e4;
  font-size:9px;
  white-space:nowrap;
}
.dash-hist-row b{font-size:10px;color:#eef6ff}
.dash-hist-row .tag{
  justify-self:end;
  border:1px solid #315064;
  border-radius:99px;
  padding:2px 6px;
  font-size:8px;
  color:#9bb7ca;
  white-space:nowrap;
}
.hist-scissors{color:#ffc43d;font-style:normal;font-size:11px}
.dash-empty{padding:18px 8px !important;font-size:11px !important;text-align:center}
.dash-sig-row.is-mine{background:rgba(0,233,154,.04)}
.dash-sig-row.is-skip{opacity:.88}
.sig-flag{
  font-style:normal;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
  border-radius:99px;
  padding:2px 6px;
}
.sig-flag.mine{color:#00e99a;background:rgba(0,233,154,.12);border:1px solid rgba(0,233,154,.28)}
.sig-flag.skip{color:#ff8a9a;background:rgba(255,54,84,.1);border:1px solid rgba(255,54,84,.22)}

/* Oculta legado do centro de confiança se ainda houver CSS residual */
.live-trust{display:none !important}

@media(max-width:1250px){
  .live-lower.live-lower-v34{
    grid-template-columns:1fr 1fr !important;
  }
  .live-lower-v34 .live-ops-realized{grid-column:1 / -1}
  .live-lower-v34 .live-signals-mt5{grid-column:1 / -1}
}
@media(max-width:899px){
  .live-lower.live-lower-v34{grid-template-columns:1fr !important}
  .dash-dual-books{grid-template-columns:1fr}
  .dash-book-scroll{max-height:180px}
}

/* ===== v10.40 privacy eye fix (1 olho + largura fixa) =============== */
/* Largura reservada: ao mascarar com ****** a NAV/barra NÃO se move */
.v4-brandbar .header-balance{
  min-width: 148px !important;
  width: 148px !important;
  max-width: 148px !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}
.v4-brandbar .header-balance .balance-row{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 22px !important;
}
.v4-brandbar .header-balance .privacy-value,
.v4-brandbar .header-balance strong.privacy-value{
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-align: right !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  color: #f3f8fc !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}
/* Botão do olho: caixa FIXA; só 1 ícone visível por vez */
.privacy-eye{
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: #8aa0b2 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  flex: 0 0 22px !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  line-height: 0 !important;
  transition: color .15s ease, background .15s ease !important;
}
.privacy-eye:hover{
  color: #e8f2fa !important;
  background: rgba(255,255,255,.06) !important;
}
.privacy-eye:focus-visible{
  outline: 2px solid #ffc400 !important;
  outline-offset: 2px !important;
}
.privacy-eye.is-hidden{
  color: #ffc400 !important;
}
/* Stack dos SVGs no MESMO lugar — nunca os dois juntos */
.privacy-eye .eye-stack{
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}
.privacy-eye .eye-stack svg{
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  pointer-events: none !important;
  transition: opacity .12s ease !important;
}
.privacy-eye .eye-stack .eye-open{
  opacity: 1 !important;
  visibility: visible !important;
}
.privacy-eye .eye-stack .eye-closed{
  opacity: 0 !important;
  visibility: hidden !important;
}
.privacy-eye.is-hidden .eye-stack .eye-open{
  opacity: 0 !important;
  visibility: hidden !important;
}
.privacy-eye.is-hidden .eye-stack .eye-closed{
  opacity: 1 !important;
  visibility: visible !important;
}
.privacy-eye-kpi{
  color: #7f96a8 !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  flex: 0 0 20px !important;
}
.privacy-eye-kpi .eye-stack{
  width: 16px !important;
  height: 16px !important;
}
.privacy-eye-kpi .eye-stack svg{
  width: 16px !important;
  height: 16px !important;
}
.kpi-head-right{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}
.live-kpi .kpi-head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
/* Máscara: NÃO muda letter-spacing (evita salto de largura) */
.privacy-value.is-masked,
.kpi-val.is-masked{
  letter-spacing: normal !important;
  color: #c5d3de !important;
}
/* KPI resultado: largura mínima estável */
#resultValue{
  min-width: 7ch !important;
}
@media (max-width: 899px){
  .v4-brandbar .header-balance{
    min-width: 118px !important;
    width: 118px !important;
    max-width: 118px !important;
  }
  .v4-brandbar .header-balance .privacy-value,
  .v4-brandbar .header-balance strong.privacy-value{
    font-size: 13px !important;
  }
}
/* end v10.40 */

/* ===== v10.41 market icons (pares faltantes) ======================= */
.ticker-market-image{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 24px !important;
  flex: 0 0 28px !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}
.ticker-market-image img{
  display: block !important;
  width: 28px !important;
  height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}
.deriv-ticker-item .ticker-coin{
  width: 28px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  border-radius: 6px;
  background: #1a2430;
}
/* end v10.41 */


/* v10.52 — conta Deriv selecionada e ações de conexão */
.account-picker{position:relative;flex-shrink:0}
.account-picker>summary{cursor:pointer;list-style:none;border-radius:10px;padding:4px}
.account-picker>summary::-webkit-details-marker{display:none}
.account-picker>summary:focus-visible{outline:2px solid var(--gold,#f5bd00)}
.account-picker[open]>summary{background:#102331}
.account-picker-menu{position:absolute;right:0;top:calc(100% + 12px);width:260px;max-width:calc(100vw - 24px);z-index:500;background:#071724;border:1px solid #725c22;border-radius:14px;box-shadow:0 12px 40px #0008;padding:16px;display:grid;gap:10px;color:#edf8ff}
.account-picker-menu small{color:#9ab0bf;font-size:11px;white-space:normal}
.account-picker-menu form,.account-picker-menu button{width:100%}
.broker-current{flex-wrap:wrap}
.broker-account-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.broker-account-actions button{width:auto;min-height:38px;padding:8px 16px;border-radius:10px;font-size:12px}
.account-disconnect{border:1px solid #365267;background:#0b1c29;color:#e4edf4}
.broker-current .connected{color:#00ffa6!important;display:flex;align-items:center;gap:5px}
.broker-status-dot{display:inline-block;width:6px;height:6px;background:#00ffa6;border-radius:50%;box-shadow:0 0 8px #00ffa6;animation:deriv-connected-pulse 1.5s ease-in-out infinite}
.header-conn-dot{animation:deriv-connected-pulse 1.5s ease-in-out infinite}
@keyframes deriv-connected-pulse{50%{opacity:.45;box-shadow:0 0 3px #00ffa6}}
@media(prefers-reduced-motion:reduce){.broker-status-dot,.header-conn-dot{animation:none}}
@media(max-width:600px){.broker-account-actions{width:100%;margin-left:0}.broker-account-actions button{flex:1}.account-picker-menu{width:230px}}

.v4-brandbar,.v4-brandbar .v4-head-actions{overflow:visible!important}
@media(max-width:899px){.balance-label-desktop{display:none}}
