:root{--bg:#050914;--panel:#0b1220;--panel2:#101a2e;--line:rgba(148,163,184,.18);--text:#eaf2ff;--muted:#94a3b8;--gold:#d4af37;--blue:#00aeff;--green:#22c55e;--red:#ef4444;--warn:#f59e0b;--shadow:0 26px 70px rgba(0,0,0,.36)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 18% 0%,rgba(0,174,255,.20),transparent 34%),radial-gradient(circle at 85% 12%,rgba(212,175,55,.16),transparent 32%),linear-gradient(135deg,#020617 0%,#07111f 50%,#020617 100%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle at center,black,transparent 80%)}
.pro-topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:12px 22px;background:rgba(3,7,18,.82);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,174,255,.20);box-shadow:0 12px 40px rgba(0,0,0,.28)}.pro-topbar.admin{border-bottom-color:rgba(212,175,55,.26)}.brand-block{display:flex;align-items:center;gap:13px}.brand-logo{width:58px;height:58px;border-radius:18px;object-fit:cover;box-shadow:0 0 30px rgba(0,174,255,.32),0 0 18px rgba(212,175,55,.18);border:1px solid rgba(212,175,55,.35);animation:logoGlow 4s ease-in-out infinite}.brand-block strong{font-size:20px;letter-spacing:.08em}.brand-block span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.nav-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nav-actions a,.nav-actions button{color:var(--text);text-decoration:none;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.86));padding:10px 13px;border-radius:14px;font-weight:800;transition:.18s}.nav-actions a:hover,.nav-actions button:hover{transform:translateY(-1px);border-color:rgba(0,174,255,.58);box-shadow:0 0 25px rgba(0,174,255,.18)}
.shell{max-width:1500px;margin:auto;padding:22px}.premium-shell{padding-bottom:42px}.hero-premium{position:relative;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:stretch;padding:28px;margin-bottom:16px;background:linear-gradient(135deg,rgba(15,23,42,.84),rgba(6,13,27,.66));border:1px solid rgba(148,163,184,.18);border-radius:30px;box-shadow:var(--shadow)}.hero-premium:after{content:"";position:absolute;right:-130px;top:-160px;width:440px;height:440px;background:radial-gradient(circle,rgba(0,174,255,.24),transparent 60%);filter:blur(6px)}.hero-copy{position:relative;z-index:1}.hero-copy h1{font-size:clamp(32px,5vw,62px);line-height:1.02;margin:14px 0 12px;max-width:980px;letter-spacing:-.04em}.hero-copy p{color:#cbd5e1;font-size:16px;line-height:1.6;max-width:850px}.hero-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.hero-metrics span{padding:9px 12px;border-radius:999px;background:rgba(15,23,42,.78);border:1px solid rgba(0,174,255,.20);color:#bfeaff;font-weight:800;font-size:12px}.hero-terminal{position:relative;z-index:1;align-self:stretch;background:rgba(1,5,15,.78);border:1px solid rgba(212,175,55,.30);border-radius:24px;padding:16px;box-shadow:inset 0 0 45px rgba(0,174,255,.08),0 20px 55px rgba(0,0,0,.26)}.terminal-header{display:flex;gap:7px;align-items:center;margin-bottom:14px;color:#cbd5e1}.terminal-header span{width:10px;height:10px;border-radius:999px;background:#ef4444}.terminal-header span:nth-child(2){background:#f59e0b}.terminal-header span:nth-child(3){background:#22c55e}.terminal-header b{margin-left:8px;font-size:12px;color:#93c5fd}.hero-terminal pre{color:#d1fae5;font-size:13px;line-height:1.55;white-space:pre-wrap}.actions,.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row.left{justify-content:flex-start}button,.primary{cursor:pointer;border:0;border-radius:15px;padding:11px 16px;background:linear-gradient(180deg,#1e293b,#0f172a);color:var(--text);font-weight:900;letter-spacing:.01em;border:1px solid rgba(148,163,184,.22);transition:.18s}.primary{background:linear-gradient(135deg,var(--gold),#facc15 48%,var(--blue));color:#03111f;border:0;box-shadow:0 0 35px rgba(212,175,55,.22)}button:hover,.primary:hover{transform:translateY(-1px);filter:brightness(1.08)}.wide{width:100%}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(34,197,94,.14);color:#a7f3d0;font-weight:900;font-size:12px;letter-spacing:.05em;border:1px solid rgba(34,197,94,.24)}.badge.warning{background:rgba(251,191,36,.14);color:#fde68a;border-color:rgba(251,191,36,.32)}.badge.adminb{background:rgba(212,175,55,.13);color:#fde68a;border-color:rgba(212,175,55,.36)}.live-dot:before{content:"";width:8px;height:8px;background:#22c55e;border-radius:999px;box-shadow:0 0 15px #22c55e;animation:pulse 1.8s infinite}.risk-strip,.status,.market,.panel,.card{background:rgba(15,23,42,.74);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 54px rgba(0,0,0,.22)}.sticky-warning{padding:13px 16px;color:#fde68a;margin:14px 0}.status,.market{padding:12px 16px;margin:10px 0;color:#dbeafe}.status-glow{border-color:rgba(0,174,255,.26);box-shadow:0 0 28px rgba(0,174,255,.08)}.market-ticker{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#bfeaff}.cards{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px;margin:16px 0}.cards.compact{grid-template-columns:repeat(6,minmax(110px,1fr))}.card{padding:17px;position:relative;overflow:hidden}.card:after{content:"";position:absolute;right:-40px;top:-40px;width:110px;height:110px;border-radius:50%;background:rgba(0,174,255,.08)}.card small{display:block;color:#a6b3c6;font-weight:800}.card b{display:block;font-size:30px;margin-top:7px}.card em{display:block;color:#718096;font-size:12px;font-style:normal;margin-top:4px}.card.buy{background:linear-gradient(135deg,rgba(22,163,74,.84),rgba(6,95,70,.54));border-color:rgba(34,197,94,.32)}.card.neon{border-color:rgba(0,174,255,.34);box-shadow:0 0 40px rgba(0,174,255,.08)}.warn-card{border-color:rgba(245,158,11,.32)}.tab{display:none;animation:fadeIn .22s ease}.tab.active{display:block}.grid2{display:grid;grid-template-columns:1fr 1.35fr;gap:16px}.panel{padding:18px;margin-bottom:16px}.pro-panel{background:linear-gradient(180deg,rgba(15,23,42,.82),rgba(2,6,23,.62));border-color:rgba(148,163,184,.20)}.panel h2{margin:0 0 8px}.muted{color:var(--muted);line-height:1.5}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.workspace-toolbar h2{margin:0}.workspace-toolbar span{color:var(--muted)}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.widget{min-height:180px;transition:transform .18s,box-shadow .18s,border-color .18s}.widget:hover{transform:translateY(-2px);border-color:rgba(0,174,255,.35);box-shadow:0 22px 70px rgba(0,0,0,.28),0 0 35px rgba(0,174,255,.08)}.widget.dragging{opacity:.55;transform:scale(.985)}.widget-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.handle{cursor:grab;color:var(--gold);font-weight:900}.command-widget{border-color:rgba(212,175,55,.30);background:linear-gradient(135deg,rgba(30,41,59,.82),rgba(15,23,42,.72))}.table-wrap{overflow:auto;border-radius:17px;border:1px solid rgba(148,163,184,.14)}table{width:100%;border-collapse:collapse;min-width:820px;background:rgba(2,6,23,.40)}th{position:sticky;top:0;background:#07111f;color:#dbeafe;text-align:left;font-size:12px;padding:12px;border-bottom:1px solid rgba(148,163,184,.20);z-index:2}td{padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.10);font-size:13px;color:#d1d5db}tr:hover td{background:rgba(0,174,255,.065)}.good{color:#86efac;font-weight:900}.bad{color:#fca5a5;font-weight:900}.warn{color:#fde68a;font-weight:900}.note{min-width:340px;color:#cbd5e1}.progress{height:32px;border-radius:999px;overflow:hidden;background:#050914;margin:14px 0;border:1px solid rgba(148,163,184,.14)}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--blue),var(--green));text-align:center;line-height:32px;font-weight:900;color:#03111f}canvas{width:100%;max-width:100%;background:linear-gradient(180deg,rgba(2,6,23,.70),rgba(15,23,42,.52));border-radius:20px;border:1px solid rgba(148,163,184,.14);margin:12px 0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}input{background:#020617;border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:13px;color:var(--text);outline:none}input:focus{border-color:rgba(0,174,255,.55);box-shadow:0 0 0 4px rgba(0,174,255,.08)}.alert-list{display:grid;gap:10px}.alert{border:1px solid rgba(148,163,184,.18);border-left:4px solid var(--blue);background:rgba(2,6,23,.48);border-radius:16px;padding:12px}.alert.STOP{border-left-color:var(--red)}.alert.TARGET1,.alert.TARGET2{border-left-color:var(--green)}.alert small{display:block;color:var(--muted);margin-top:5px}.json-box{white-space:pre-wrap;max-height:500px;overflow:auto;background:#020617;color:#d1fae5;border:1px solid rgba(34,197,94,.25);border-radius:18px;padding:16px;font-size:12px;line-height:1.45}.footer-credits{color:#a6b3c6;text-align:center;padding:28px 16px;font-size:12px}.footer-credits strong{color:#fde68a}.legal-modal{position:fixed;inset:0;background:rgba(2,6,23,.90);z-index:99;display:grid;place-items:center;padding:18px}.legal-modal.hidden{display:none}.legal-card{max-width:720px;background:linear-gradient(180deg,#0f172a,#07111f);border:1px solid rgba(212,175,55,.38);border-radius:28px;padding:28px;box-shadow:0 35px 95px rgba(0,0,0,.55),0 0 80px rgba(0,174,255,.12)}.modal-logo{text-align:center}.modal-logo img{width:136px;height:136px;border-radius:30px;object-fit:cover;border:1px solid rgba(212,175,55,.42);box-shadow:0 0 42px rgba(0,174,255,.20)}.legal-card h1{font-size:30px;margin:12px 0}.legal-card p{color:#cbd5e1;line-height:1.62}.v12-card{margin-top:0}.admin-shell .hero-copy h1{max-width:900px}.admin-terminal{border-color:rgba(212,175,55,.38)}
@keyframes pulse{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.25)}}@keyframes logoGlow{0%,100%{box-shadow:0 0 24px rgba(0,174,255,.22),0 0 15px rgba(212,175,55,.12)}50%{box-shadow:0 0 45px rgba(0,174,255,.42),0 0 28px rgba(212,175,55,.28)}}@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.hero-premium{grid-template-columns:1fr}.cards,.cards.compact{grid-template-columns:repeat(2,1fr)}.workspace,.grid2{grid-template-columns:1fr}.nav-actions{margin-top:10px}.pro-topbar{display:block}.brand-logo{width:52px;height:52px}}@media(max-width:640px){.shell{padding:12px}.hero-premium{padding:18px;border-radius:22px}.hero-copy h1{font-size:30px}.cards,.cards.compact{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.nav-actions a,.nav-actions button,.actions button,.button-row button{width:100%;justify-content:center}table{min-width:980px}.card b{font-size:25px}.modal-logo img{width:110px;height:110px}.legal-card{padding:20px}.workspace-toolbar{display:block}.workspace-toolbar button{margin-top:10px;width:100%}}


/* V17 broker terminal additions */
.badge{letter-spacing:.08em}.panel h3{margin:22px 0 10px;color:#dbeafe}.button-row.left{justify-content:flex-start;gap:10px;flex-wrap:wrap}.button-row.left button{margin:3px}
.table-wrap table td.good{color:#22c55e;font-weight:800}.table-wrap table td.bad{color:#ef4444;font-weight:800}.table-wrap table td.warn{color:#f59e0b;font-weight:800}
@media(max-width:760px){.nav-actions{overflow-x:auto}.hero-premium{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(2,1fr)}.table-wrap{border-radius:16px}.table-wrap table{min-width:780px}.brand-logo{width:54px;height:54px}}

/* V17 broker terminal refinements */
.pro-chart{height:460px;touch-action:none}.mobile-signal-card{display:none}.toast{position:fixed;right:20px;bottom:20px;background:#07111f;border:1px solid rgba(0,174,255,.35);box-shadow:0 0 40px rgba(0,174,255,.12);border-radius:16px;padding:14px 16px;color:#dbeafe;z-index:999}.tooltip{border-bottom:1px dotted rgba(212,175,55,.65);cursor:help}.resize-hint{font-size:11px;color:#64748b}.widget{resize:vertical;overflow:auto;min-height:180px}.widget:focus-within{outline:1px solid rgba(0,174,255,.45)}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.cards,.cards.compact{grid-template-columns:repeat(2,minmax(130px,1fr))}.grid2{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.nav-actions{overflow-x:auto;white-space:nowrap}.brand-block span{font-size:11px}.brand-logo{width:58px;height:58px}.table-wrap{border:0}.table-wrap table{min-width:760px}.pro-chart{height:360px}.form-grid{grid-template-columns:1fr}.hero-copy h1{font-size:32px}}
@media(max-width:560px){.cards,.cards.compact{grid-template-columns:1fr}.shell{padding:14px}.topbar{padding:12px}.card b{font-size:25px}.legal-card{padding:20px}.modal-logo img{width:96px;height:96px}}

/* V17 widget resize / broker terminal hardening */
.widget{resize:both; overflow:auto; min-height:180px; min-width:280px;}
.pro-panel{resize:vertical; overflow:auto;}
.json-box{max-height:560px; overflow:auto; border:1px solid rgba(56,189,248,.22);}
.toast{position:fixed;right:18px;bottom:18px;background:#0f172a;color:#e5e7eb;border:1px solid rgba(212,175,55,.35);box-shadow:0 0 22px rgba(0,174,255,.22);padding:14px 16px;border-radius:14px;z-index:50}
@media(max-width:760px){.table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block}.table-wrap th{display:none}.table-wrap td{border-bottom:1px solid rgba(148,163,184,.13);padding:8px 10px}.kpi-row{grid-template-columns:1fr 1fr}.nav-actions{overflow-x:auto;white-space:nowrap}.pro-chart,canvas{max-width:100%;height:auto}.widget{resize:none;min-width:0}}

/* V17.1 mobile-card, toast and resizable widgets */
.widget,.card{resize: both; overflow:auto; min-height:120px;}
.toast.error{border-color:rgba(239,68,68,.55)!important}.toast.success{border-color:rgba(34,197,94,.55)!important}
@media (max-width: 760px){
  table, thead, tbody, tr, th, td{display:block;width:100%;}
  thead{display:none;}
  tr{margin:10px 0;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(15,23,42,.82);}
  td{border:0!important;padding:6px 4px!important;}
  td::before{content:attr(data-label);display:block;color:#94a3b8;font-size:11px;text-transform:uppercase;letter-spacing:.04em;}
  .grid,.dashboard-grid{grid-template-columns:1fr!important;}
}
