/* Tokens and component metrics follow the reference dashboard theme (_inject_theme). */
:root{--bg:#080d16;--surface:#0e1624;--panel:#131d2d;--raised:#19263a;--line:#26354b;--gold:#d4af37;--gold-light:#f0cc78;
  --text:#f4f6fa;--muted:#98a7bc;--green:#22c997;--red:#f07178;--blue:#60a5fa;--teal:#28e0c5;--teal-hi:#48ffec;
  --sidebar:230px;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Source Sans Pro",sans-serif;font-size:16px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--bg);color:var(--text)}
body{min-height:100vh;background:radial-gradient(ellipse at 52% -20%,#18243a 0%,var(--bg) 48%) fixed}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
button,select,input{font:inherit;color:inherit}
a{color:#8efff2}
h1{font-size:2.75rem;font-weight:700;letter-spacing:.02em;line-height:1.2;margin:.2rem 0 .9rem}
h2{font-size:1.75rem;font-weight:600;margin:0 0 1rem;line-height:1.25}
h3{font-size:1.5rem;font-weight:600;margin:0 0 .6rem}
h2.section,h3.section{margin-top:1.6rem}
p{line-height:1.6}
.caption{color:var(--muted);font-size:.875rem;margin:0 0 1rem;line-height:1.5}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:800;margin-top:.4rem}
.subtle{color:var(--muted);font-size:.85rem}
.app{display:flex;min-height:100vh}

/* Public pilot sign-in */
.login-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:var(--bg)}
.login-card{width:min(380px,100%);text-align:center;display:grid;gap:.6rem;justify-items:center}
.login-card .btn{margin-top:.4rem}
.login-gate{display:block;overflow:auto;padding:0;background:#03080d}
.public-site{--landing-image:url('./assets/public_landing_hero.jpg');position:relative;isolation:isolate;min-height:100svh;overflow:hidden;color:#f3f5f7;background:#03080d var(--landing-image) center center/cover no-repeat fixed}
.public-site:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#03080d42 0%,#03080d10 30%,#03080d22 58%,#03080df2 100%)}
.landing-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2vw,32px);width:100%;min-height:86px;padding:10px clamp(18px,3.6vw,58px);border-bottom:1px solid #7a8a9555;background:linear-gradient(180deg,#02070bb8,#02070b32)}
.landing-brand{display:flex;align-items:center;flex:0 1 300px;min-width:120px;text-decoration:none}
.landing-brand img{display:block;width:min(100%,300px);height:auto;max-height:72px;object-fit:contain;object-position:left center}
.landing-language{flex:0 0 auto}.landing-language select{height:35px;padding:0 9px;border:1px solid #9e8047;border-radius:6px;background:#07111bd9;color:#f1f3f5;font-size:.78rem}
.landing-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2vw,30px);margin-left:auto}
.landing-links a{color:#f1f3f5;text-decoration:none;font-size:.78rem;white-space:nowrap;transition:color .15s ease}
.landing-links a:hover{color:#edc16c}.landing-links .landing-signin{padding:9px 16px;border:1px solid #9e8047;border-radius:6px}
.landing-menu-toggle{display:none;color:#f2d28c;border:1px solid #9e8047;border-radius:6px;background:#07111bd9;padding:7px 11px}
.landing-main{position:relative;z-index:1;min-height:calc(100svh - 86px);display:flex;flex-direction:column;justify-content:flex-end;padding:0 clamp(18px,4vw,64px) 22px}
.landing-view{width:100%;animation:landing-in .22s ease both}.landing-view[hidden]{display:none!important}@keyframes landing-in{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.landing-home{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:calc(100svh - 108px);text-align:center}
.landing-home-copy{width:min(100%,700px);margin:auto auto 0;padding-top:clamp(72px,22vh,230px)}
.landing-kicker{color:#e7d7b5;letter-spacing:.43em;font-size:.68rem;font-weight:500;text-transform:uppercase;margin:0 0 .8rem;text-shadow:0 2px 12px #000}
.landing-title{margin:0 auto .55rem;color:#fff;font:600 clamp(2.5rem,5.15vw,4.5rem)/1.02 Georgia,'Times New Roman',serif;letter-spacing:-.035em;text-shadow:0 2px 18px #000b}
.landing-title span{display:block}.landing-title span+span{color:#eec16d}
.landing-copy{max-width:560px;margin:0 auto 1rem;color:#f0f2f4;font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.48;text-shadow:0 2px 14px #000}
.google-login{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:min(340px,100%);min-height:48px;padding:8px 16px;border:1px solid #e3e6e9;border-radius:7px;background:#fff;color:#171b20;text-decoration:none;font-size:.92rem;font-weight:650;box-shadow:0 2px 18px #0008;transition:background .15s ease,border-color .15s ease}
.google-login:hover{background:#e9eef4;border-color:#cbd5df}.google-login svg{width:21px;height:21px;flex:none}
.login-message{min-height:1.2em;margin:.35rem 0 0;color:#ffd16a;font-size:.85rem;text-shadow:0 2px 8px #000}
.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(850px,100%);margin:clamp(24px,5vh,56px) auto 0;padding:8px 0 4px;background:linear-gradient(180deg,#02070b00,#02070baa)}
.landing-feature{display:flex;min-height:80px;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:0 12px;border-right:1px solid #d4ae5d55;color:#f5f1e7;text-decoration:none;text-align:center}
.landing-feature:last-child{border-right:0}.feature-icon{display:block;color:#e9b951;line-height:1;text-shadow:0 0 12px #edbd5c66}.feature-icon svg{width:32px;height:32px;fill:none;stroke:#e9b951;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #edbd5c66)}
.landing-feature b{font-size:.76rem;line-height:1.6;letter-spacing:.15em;font-weight:550;text-transform:uppercase}
.landing-footer{width:min(850px,100%);margin:9px auto 0;color:#c1c6cd;font-size:.64rem;line-height:1.45;text-align:center;text-shadow:0 1px 8px #000}
.landing-info{max-width:1450px;min-height:calc(100svh - 108px);margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:12px 2vw;color:#f7f4ed}
.info-hero{min-height:23vh;display:flex;align-items:center;padding:1.3rem 2.6rem;background-position:center;background-size:cover;border-radius:5px}
.info-hero>div{max-width:650px}.info-hero .landing-kicker{color:#e4c27c;font-size:.65rem;margin-bottom:.9rem}.info-hero h1{margin:0 0 .7rem;color:#f4d38f;font:600 clamp(2.25rem,4vw,3.55rem)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.025em;text-shadow:0 2px 20px #000}.info-hero p{max-width:540px;margin:0;color:#e4e8ec;font-size:1rem;line-height:1.5;text-shadow:0 2px 12px #000}
.info-features{background-image:linear-gradient(90deg,#030910e8 0%,#030910bd 47%,#03091045 73%,#03091012 100%),url('./assets/public_landing_hero.jpg')}
.info-how{background-image:linear-gradient(90deg,#030910e8 0%,#030910bd 47%,#03091045 73%,#03091012 100%),url('./assets/public_landing_hero.jpg');background-position:center 36%}
.info-plans{background-image:linear-gradient(90deg,#03080de8 0%,#03080db8 40%,#03080d40 75%,#03080d20 100%),url('./assets/public_plans_background.jpg')}
.info-resources{background-image:linear-gradient(90deg,#030910e8 0%,#030910bd 47%,#03091045 73%,#03091012 100%),url('./assets/public_landing_hero.jpg');background-position:center 57%}
.info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 .7rem}
.info-card{position:relative;box-sizing:border-box;min-height:190px;padding:1.15rem 1.3rem;border:1px solid #b58c4a99;border-radius:10px;color:#f5f1e8;text-align:left;background:linear-gradient(145deg,#071722d9,#07101bd1 68%,#0b1b24d9);box-shadow:0 8px 26px #0007,inset 0 1px #ffffff08;overflow:hidden}
.image-cards .info-card{background-color:#06121b;background-repeat:no-repeat;background-size:auto,300% auto}
.features-cards .info-card{background-image:linear-gradient(180deg,#04101b44 0%,#04101ba8 58%,#04101bed 100%),url('./assets/public_features_triptych.jpg')}
.features-cards .info-card:nth-child(1){background-position:center,0% 56%}.features-cards .info-card:nth-child(2){background-position:center,50% 56%}.features-cards .info-card:nth-child(3){background-position:center,100% 56%}
.resources-cards .info-card{background-image:linear-gradient(180deg,#04101b38 0%,#04101b9c 56%,#04101bef 100%),url('./assets/public_resources_triptych.jpg')}
.resources-cards .info-card:nth-child(1){background-position:center,0% 56%}.resources-cards .info-card:nth-child(2){background-position:center,50% 56%}.resources-cards .info-card:nth-child(3){background-position:center,100% 56%}
.info-icon{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid #e7bd67;border-radius:50%;color:#f2ce7d;background:#03101bd9;font-size:1.35rem;box-shadow:0 0 12px #e7bd6733}
.info-card h2{margin:.7rem 0 .4rem;color:#f0d28f;font:600 1.2rem Georgia,'Times New Roman',serif}.info-card p{margin:0;color:#e0e5ea;font-size:.88rem;line-height:1.5;text-shadow:0 1px 8px #0008}
.steps-cards{position:relative;margin-top:2.3rem}.steps-cards:before{content:"";position:absolute;z-index:0;left:16%;right:16%;top:-1.25rem;border-top:1px solid #e7bd67aa}
.step-card{text-align:center;min-height:205px;padding-top:1.3rem}.step-number{position:absolute;z-index:2;left:50%;top:-2.2rem;transform:translateX(-50%);display:grid;place-items:center;width:44px;height:44px;border:2px solid #ffd36e;border-radius:50%;color:#ffe4a0;background:#07121cf5;box-shadow:0 0 15px #efba4a99;font:600 1.15rem Georgia,serif}
.step-card .info-icon{width:54px;height:48px;border-radius:7px;border-width:2px}.step-card .info-card h2{margin-top:.75rem}
.plan-cards{grid-template-columns:minmax(0,600px);gap:.55rem}.plan-card{display:grid;grid-template-columns:44px 1fr;align-items:center;column-gap:.8rem;min-height:88px;padding:.65rem 1rem;background:linear-gradient(145deg,#071722b8,#07101ba8 68%,#0b1b24b8)}.plan-card .info-icon{grid-row:span 2}.plan-card h2{margin:0 0 .22rem}.plan-card p{grid-column:2}
.info-cta{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:210px;margin:.5rem 0 0;padding:11px 22px;border:1px solid #f5d182;border-radius:7px;background:linear-gradient(135deg,#f5d182,#c88e2b);color:#17120a;text-decoration:none;font-weight:700;box-shadow:0 0 18px #e3b75855}.info-cta:hover{filter:brightness(1.08)}
@media(max-width:800px){
  .public-site{--landing-image:url('./assets/public_landing_hero_mobile.jpg');background-attachment:scroll;background-position:center center}
  .landing-nav{min-height:70px;flex-wrap:wrap;gap:8px 12px;padding:10px 4vw}.landing-brand{flex:1 1 150px}.landing-brand img{width:min(100%,200px);max-height:48px}.landing-language{margin-left:auto}.landing-menu-toggle{display:block}
  .landing-links{display:none;order:5;width:100%;margin:0;justify-content:center;flex-wrap:wrap;gap:6px 15px;padding:5px 0 3px}.landing-nav.menu-open .landing-links{display:flex}.landing-links a{font-size:.72rem}.landing-links .landing-signin{padding:6px 10px}
  .landing-main{min-height:calc(100svh - 70px);padding:0 1rem 12px}.landing-home{min-height:calc(100svh - 82px)}.landing-home-copy{padding-top:clamp(80px,20vh,180px)}.landing-kicker{font-size:.56rem;letter-spacing:.34em}.landing-title{font-size:clamp(2.35rem,9.5vw,3.25rem)}.landing-copy{font-size:.96rem;padding:0 .4rem}.landing-features{margin-top:clamp(18px,4vh,38px)}.landing-feature{min-height:70px;padding:0 .35rem;gap:6px}.feature-icon svg{width:28px;height:28px}.landing-feature b{font-size:.57rem;letter-spacing:.08em}.landing-footer{font-size:.55rem;margin-top:6px}
  .landing-info{min-height:calc(100svh - 82px);padding:1rem .05rem;justify-content:flex-start}.info-hero{min-height:34vh;padding:1.2rem 1rem;background-position:58% center}.info-hero h1{font-size:clamp(2rem,9vw,3rem);max-width:12ch}.info-hero p{font-size:.9rem;max-width:32ch}.info-cards,.plan-cards{grid-template-columns:1fr;gap:.65rem}.info-card{min-height:0;padding:1rem}.image-cards .info-card{min-height:145px;background-size:auto,cover;background-position:center,center 54%}.steps-cards{margin-top:1.6rem}.steps-cards:before{display:none}.step-card{text-align:left;margin-top:1.8rem;padding-top:1rem}.step-number{left:22px;top:-1.9rem;width:36px;height:36px}.step-card .info-icon{margin-left:2.6rem}.plan-card{grid-template-columns:42px 1fr}.info-cta{margin-top:.4rem}
}
@media(max-width:400px){.landing-language select{max-width:120px;font-size:.7rem}.landing-feature b{font-size:.51rem;letter-spacing:.06em}.landing-brand{flex-basis:125px}}
.account .caption{margin:.4rem 0 .6rem;overflow-wrap:anywhere}

/* Sidebar */
.sidebar{position:sticky;top:0;flex:0 0 var(--sidebar);width:var(--sidebar);height:100vh;overflow-y:auto;background:#080f1b;border-right:1px solid #1d2a3d;
  padding:60px 8px 18px;display:flex;flex-direction:column;gap:.65rem;transition:margin-left .3s ease;z-index:20}
.app.collapsed .sidebar{margin-left:calc(-1 * var(--sidebar))}
.edge-button{width:30px;height:30px;display:grid;place-items:center;color:#8efff2;border:1px solid var(--teal);border-radius:9px;cursor:pointer;
  background:linear-gradient(145deg,#071a1c,#0b1723);box-shadow:0 0 7px #20e6ce99,0 0 16px #20e6ce55,inset 0 0 8px #20e6ce22;font-size:1.05rem;line-height:1}
.edge-button:hover{color:#d5fffb;background:linear-gradient(145deg,#0c2929,#102337);box-shadow:0 0 10px #20e6ce,0 0 23px #20e6ce88,inset 0 0 10px #20e6ce44}
.edge-button.collapse{position:absolute;top:8px;right:10px}
.edge-button.expand{position:fixed;top:14px;left:14px;z-index:30;display:none}
.app.collapsed .edge-button.expand{display:grid}
.language select{width:100%;height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.logo{display:flex;align-items:center;justify-content:center;height:275px;flex:none}
.logo img{display:block;width:100%;max-width:180px;height:auto}
.box{border:1px solid var(--line);border-radius:14px;background:rgba(19,29,45,.84);padding:16px}
.nav{display:grid;gap:5px;padding:12px}
.nav button{position:relative;min-height:43px;display:flex;align-items:center;gap:12px;padding:8px 10px;margin:0;border:1px solid transparent;border-radius:8px;
  color:#d2dced;background:transparent;cursor:pointer;text-align:left;font-size:.89rem;font-weight:550;transition:background .15s,border-color .15s,color .15s}
.nav button i{font-style:normal;width:21px;min-width:21px;color:#8ea0b9;font-size:1.08rem;line-height:1;text-align:center}
.nav button:hover{background:#121e30;border-color:#25364d;color:#fff}
.nav button.active{color:#d5fffb;border-color:var(--teal);border-left:2px solid var(--teal-hi);background:linear-gradient(100deg,#28e0c533,#28e0c51c 76%,#111a28 100%);box-shadow:0 0 10px #28e0c533,inset 0 0 18px #28e0c51c}
.nav button.active i{color:var(--teal-hi)}
.nav button:focus-visible{outline:2px solid #28e0c588;outline-offset:1px}
.status strong,.quota strong{display:block;margin-bottom:.45rem}
.status-line{display:flex;align-items:center;min-height:23px;color:#d2dced;font-size:.7rem;white-space:nowrap}
.status-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:#64748b;margin-right:7px}
.status-live{background:var(--green);box-shadow:0 0 10px #22c99766}.status-off{background:#64748b}
.status-warn{background:#f5c542;box-shadow:0 0 8px #f5c54266}.status-error{background:#ff5d67;box-shadow:0 0 8px #ff5d6766}
.status hr,hr.rule{border:0;border-top:1px solid #1d2a3d;margin:.55rem 0}
.status .caption,.quota .caption{margin:0}
.sidebar-ticker{margin-top:.25rem;padding:12px 11px 8px;border:1px solid #20314a;border-radius:10px;background:linear-gradient(145deg,#0d1726,#09111d)}
.sidebar-ticker-head{display:flex;align-items:center;gap:9px}
.badge-gold{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:50%;background:linear-gradient(145deg,#f0cc78,#c99e25);color:#101522;font-size:.72rem;font-weight:800}
.sidebar-ticker-symbol{font-size:.72rem;font-weight:750;letter-spacing:.05em}
.sidebar-ticker-price{margin-top:1px;font-size:1.02rem;line-height:1.25;font-variant-numeric:tabular-nums}
.sidebar-ticker-change{font-size:.73rem;font-weight:700;font-variant-numeric:tabular-nums}
.up{color:var(--green)}.down{color:var(--red)}.muted{color:#8392a8}
.sidebar-ticker svg{display:block;width:100%;height:42px;margin-top:3px;overflow:visible}
.ctrader-panel h3{font-size:1.25rem;margin:.2rem 0 .4rem}
.ctrader-panel .field{margin:.5rem 0}

/* Buttons and inputs */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:43px;padding:6px 14px;border-radius:8px;font-weight:550;cursor:pointer;text-decoration:none;
  border:1px solid #24616b;border-left:2px solid var(--teal);background:linear-gradient(110deg,#10202b,#0d1726 78%);color:#d5fffb;box-shadow:0 0 5px #28e0c522;
  transition:background .15s,border-color .15s,color .15s;font-size:1rem}
.btn:hover,.btn:active{border-color:var(--teal);border-left-color:var(--teal-hi);background:linear-gradient(100deg,#28e0c544,#28e0c51f 76%,#111a28);color:#effffd;box-shadow:0 0 12px #28e0c566,inset 0 0 12px #28e0c522}
.btn:focus-visible{outline:2px solid #28e0c588;outline-offset:1px}
.btn.primary{border:1px solid var(--teal-hi);background:linear-gradient(135deg,#28e0c5,#12999b);color:#06151a;font-weight:750;box-shadow:0 0 11px #28e0c566}
.btn.primary:hover{background:linear-gradient(135deg,#72fff2,#28cfc5);box-shadow:0 0 18px #28e0c5aa}
.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.btn.block{width:100%}.btn.fit{margin-bottom:1rem}
select,input[type=text],input[type=search]{min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}
select{cursor:pointer}
.field{display:block;font-size:.875rem;color:var(--text);margin:0 0 .75rem}
.field select,.field input{display:block;width:100%;margin-top:.35rem}
.check{display:flex;gap:8px;align-items:flex-start;font-size:1rem;line-height:1.5;margin:.6rem 0;cursor:pointer}
.check input{margin-top:.3rem;accent-color:var(--teal)}
fieldset{border:0;margin:.4rem 0;padding:0}legend{font-size:.875rem;margin-bottom:.35rem}
.chip-check{display:inline-flex;gap:5px;align-items:center;margin:0 6px 6px 0;padding:3px 10px;border:1px solid var(--line);border-radius:14px;background:#101a29;font-size:.85rem;cursor:pointer}
.chip-check:has(input:checked){border-color:#ff4b4b88;background:#ff4b4b22}
.chip-check input{accent-color:#ff4b4b}

/* Layout */
main{flex:1 1 0;min-width:0;padding:1.4rem .5rem 2rem 8px;padding-top:3.4rem}
.page{max-width:none}
.card{border:1px solid var(--line);border-radius:14px;background:rgba(19,29,45,.84);padding:16px;margin:0 0 1rem}
.card.inner{background:rgba(14,22,36,.7)}
.cols3,.cols4,.cols5{display:grid;gap:1rem}
.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cols5{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}
.cols3.tight{gap:.5rem}
.metric{background:linear-gradient(145deg,#131d2d,#101827);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}
.metric .label{color:var(--muted);font-size:.875rem;margin-bottom:.25rem}
.metric .value{font-size:2.25rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric .delta{display:inline-block;max-width:100%;margin-top:.2rem;padding:1px 8px;border-radius:12px;background:#ffffff14;color:#bfc8d6;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.metric .delta::before{content:"↑ "}
.metric .delta.good{background:#22c99722;color:#46e39a}
.metrics-caption{margin:.6rem 0 1.2rem}
.alert{border-radius:8px;padding:14px 16px;margin:0 0 1rem;line-height:1.5}
.alert.info{background:#1c83e126;color:#5aa9f2}
.alert.warn{background:#ffbd4526;color:#ffd16a}
.alert.error{background:#ff2b2b24;color:#ff8f8f}
.alert.success{background:#21c35424;color:#5ce488}
.expander{border:1px solid var(--line);border-radius:8px;margin:0 0 1rem;background:transparent}
.expander summary{list-style:none;cursor:pointer;padding:10px 16px;display:flex;align-items:center;gap:10px;font-size:1rem}
.expander summary::-webkit-details-marker{display:none}
.expander summary::before{content:"›";display:inline-block;width:12px;transition:transform .15s;font-size:1.2rem;line-height:1}
.expander[open] summary::before{transform:rotate(90deg)}
.expander-body{padding:0 16px 16px}
.expander-body>select{width:100%;margin-bottom:1rem}
.concept-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem 1rem}
.concept{width:100%;min-height:43px;height:auto;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;padding:8px 10px;border:1px solid #46515f;border-left:2px solid #697586;
  border-radius:8px;background:linear-gradient(110deg,#18212c,#111923 78%);color:#aeb8c5;font-weight:550;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.concept:hover{background:linear-gradient(100deg,#35404d,#1b2531 76%,#111a28);border-color:#758294;color:#eef2f7;box-shadow:0 0 7px #8a99ad33}
.concept[aria-pressed=true],.concept[aria-pressed=true]:hover{color:#dffaff;border-color:#18cfff;border-left:2px solid #63e5ff;background:linear-gradient(100deg,#12bfff44,#087fcf32 76%,#101b2b 100%);box-shadow:0 0 12px #05bfff77,inset 0 0 18px #08baff2b}
.conclusion{margin:0 0 1rem}
.verdict{border:1px solid rgba(120,160,190,.18);border-radius:9px;background:rgba(8,20,34,.55);padding:12px 14px;min-height:76px}
.verdict .label{color:#a9b8cc;font-size:.82rem;margin-bottom:7px}
.verdict .value{color:#a9b8cc;font-size:1.2rem;font-weight:700;line-height:1.25}
.ai-brand{display:block;text-align:center;padding:14px 12px;margin:0 0 12px;border:1px solid #2ae9dc;border-radius:12px;background:linear-gradient(145deg,#071a1c,#0b1723);
  box-shadow:0 0 12px #2ae9dc77,inset 0 0 14px #2ae9dc22;font-weight:800;letter-spacing:.06em;font-size:1.15rem;color:#c9fffb;text-shadow:0 0 6px #22e6df,0 0 16px #22e6df}
.ai-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:1rem;align-items:start}
.segmented{display:inline-flex;flex-wrap:wrap;margin:.6rem 0 1rem;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.segmented button{border:0;border-right:1px solid var(--line);background:transparent;padding:6px 16px;min-height:38px;cursor:pointer;font-size:.92rem;color:var(--text)}
.segmented button:last-child{border-right:0}
.segmented button.active{color:#ff4b4b;box-shadow:inset 0 0 0 1px #ff4b4b;border-radius:8px}
.events .event-row{display:grid;grid-template-columns:1.25fr .75fr 1fr 1fr 1.7fr;gap:1rem;align-items:start;padding:.45rem 0}
.events code,.code{display:block;padding:10px 12px;border-radius:8px;background:#0e1624;border:1px solid var(--line);color:var(--teal);font-family:ui-monospace,SFMono-Regular,monospace;font-size:.85rem}
.result-md{line-height:1.6;overflow-wrap:anywhere}
.result-md pre{white-space:pre-wrap;background:#0e1624;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:.82rem;overflow:auto}
.progress-text{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.8rem;color:#bcd;max-height:260px;overflow:auto;background:#0e1624;border:1px solid var(--line);border-radius:8px;padding:10px}

/* Chart panel (compact_chart_panel) */
.chart-panel{padding:0 .38rem .45rem;margin-bottom:1rem;position:relative}
.chart-head{display:flex;align-items:flex-start;gap:.16rem;padding:.5rem .3rem .2rem;flex-wrap:nowrap}
.chart-quote-line{flex:1.5 1 0;display:flex;align-items:center;gap:9px;min-height:34px;white-space:nowrap;min-width:0;overflow:hidden}
.chart-quote-symbol{color:#edf3fc;font-size:.72rem;font-weight:750;letter-spacing:.04em}
.chart-quote-price{color:#edf3fc;font-size:.98rem;font-weight:700;font-variant-numeric:tabular-nums}
.chart-quote-change{font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}
.chart-head .tf{flex:.7 1 0;min-width:0;min-height:40px}
.chart-head .reset{flex:1 1 0;min-height:22px;padding:.04rem .24rem;font-size:.95rem;white-space:nowrap}
.chart-head .popover{flex:.7 1 0;min-width:0}
.chart-head .controls-toggle{min-height:40px;border:1px solid var(--line);background:var(--surface);box-shadow:none;font-size:.95rem;white-space:nowrap;padding:0 14px}
.chart-head .fs-enter{flex:0 0 auto;min-width:60px;min-height:30px;padding:0 .35rem;border:1px solid var(--teal);border-radius:8px;color:#8efff2;background:linear-gradient(145deg,#071a1c,#0b1723);box-shadow:0 0 8px #20e6ce55;font-size:1.05rem;margin-left:auto}
.chart-panel[data-notitle] .chart-quote-line{display:none}
.chart-head .fs-exit,.chart-panel .fs-indicators{display:none}
.popover{position:relative}
.popover-body{position:absolute;z-index:40;top:calc(100% + 6px);left:0;min-width:340px;max-width:min(92vw,460px);padding:16px;border:1px solid var(--line);border-radius:10px;background:#0e1624;box-shadow:0 10px 30px #000a}
.popover-body.up{top:auto;bottom:calc(100% + 6px)}
.popover-body .row3{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:.5rem;align-items:end;margin-bottom:.5rem}
.popover-body .row3 .btn{min-height:38px;font-size:.85rem;padding:4px 8px}
.popover-body .field{margin:0}
.chart-frame{position:relative}
.chart-frame iframe{display:block;width:100%;border:0;background:transparent}
.chart-frame iframe.back{position:absolute;inset:0;visibility:hidden}
.chart-empty{height:360px;border:1px solid #20314a;border-radius:10px;position:relative;overflow:hidden;
  background:linear-gradient(#17243a55 1px,transparent 1px),linear-gradient(90deg,#17243a55 1px,transparent 1px),#0b1321;background-size:100% 20%,10% 100%}
.chart-empty::after{content:'SIN DATOS DE MERCADO';color:#8392a8;font:700 .8rem Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.2em;position:absolute;inset:0;display:grid;place-items:center;background:#080d1670}
.chart-caption:empty{display:none}
/* Fullscreen overlay, as the reference st-key-compact_chart_panel fullscreen rules */
.chart-panel.fullscreen{position:fixed;inset:0;z-index:99999;margin:0;padding:16px 14px 10px;border:0;border-radius:0;background:#07101a;display:flex;flex-direction:column;gap:.4rem}
.chart-panel.fullscreen .chart-quote-line,.chart-panel.fullscreen .fs-enter{display:none}
.chart-panel.fullscreen .chart-head{padding:0 54px 0 0;align-items:center;gap:.45rem}
.chart-panel.fullscreen .tf{flex:0 0 110px}.chart-panel.fullscreen .reset{flex:0 0 54px;font-size:1.1rem}
.chart-panel.fullscreen .popover{flex:0 0 72px}.chart-panel.fullscreen .controls-toggle{width:100%}
.chart-panel.fullscreen .fs-exit{display:grid;place-items:center;position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));z-index:100100;width:44px;height:44px;min-height:44px;padding:0;
  color:#fff;background:linear-gradient(145deg,#9e2431,#601520);border:1px solid #ff5968;border-radius:10px;box-shadow:0 0 12px #ff324766;font-size:1.35rem;font-weight:800}
.chart-panel.fullscreen .chart-frame{flex:1 1 auto;min-height:0}
.chart-panel.fullscreen .chart-frame iframe{height:100%!important}
.chart-panel.fullscreen .fs-indicators{display:block;flex:0 0 auto}
.chart-panel.fullscreen .chart-caption{display:none}
body.fs-lock{overflow:hidden}
.scrim{display:none}

/* Market Watch */
.mw-head{display:grid;grid-template-columns:2.6fr 1fr 1fr;gap:1rem;align-items:start}
.filters{display:grid;grid-template-columns:1fr 1fr 1.2fr 2fr;gap:1rem;margin-bottom:1rem}
.multi{display:flex;flex-wrap:wrap;gap:4px;min-height:40px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.multi .chip-check{margin:0;font-size:.8rem}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;margin-bottom:1rem;max-height:420px}
table{width:100%;border-collapse:collapse;font-size:.85rem}
th,td{padding:7px 10px;border-bottom:1px solid #1d2a3d;text-align:left;white-space:nowrap}
th{position:sticky;top:0;background:#101a29;color:var(--muted);font-weight:600}
tr.selected td{background:#28e0c51a}
tbody tr{cursor:pointer}
.news-card h4{margin:0 0 .35rem;font-size:1rem}
.metric.small .value{font-size:1.4rem}

/* Responsive: Streamlit collapses the sidebar into a drawer below ~1000px and stacks columns below 950px */
@media(max-width:999px){
  .sidebar{position:fixed;left:0;top:0;bottom:0;box-shadow:0 0 30px #000c;width:min(300px,86vw);flex-basis:auto}
  .app:not(.drawer-open) .sidebar{margin-left:-320px}
  .app.drawer-open .scrim{display:block;position:fixed;inset:0;background:#0008;z-index:15}
  .edge-button.expand{display:grid}
  .app.drawer-open .edge-button.expand{display:none}
  main{padding:3.6rem 1rem 2rem}
}
@media(max-width:950px){
  .cols3,.cols4,.cols5,.filters,.mw-head,.ai-layout{grid-template-columns:1fr}
  .concept-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .chart-head{flex-wrap:wrap;justify-content:flex-start}
  .chart-quote-line{flex:1 1 150px;min-width:140px}
  .chart-head .tf{flex:1 1 140px}.chart-head .reset{flex:1 1 140px;min-height:29px}
  .chart-head .popover{flex:0 1 140px}
  .chart-head .fs-enter{flex:1 1 100%;margin-left:0}
  .events .event-row{grid-template-columns:1fr 1fr}
  .chart-empty{height:260px}
  h1{font-size:2.6rem}
}
@media(max-width:560px){
  .chart-panel.fullscreen{padding:8px 6px 5px}
  .chart-panel.fullscreen .chart-head{padding-right:48px;gap:.22rem}
  .chart-panel.fullscreen .tf{flex:0 0 82px}.chart-panel.fullscreen .reset{flex:0 0 44px}.chart-panel.fullscreen .popover{flex:0 0 50px}
  .popover-body{min-width:0;width:min(92vw,360px)}
  .popover-body .row3{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.chart-quote-line{flex:1 1 100%}}
