:root{
  --bg:#050a08;--bg2:#07120e;--panel:#0a1511;--panel2:#0e1c16;--panel3:#11231b;
  --line:#1a3428;--line2:#28503d;--text:#f4f8f6;--muted:#8ea59a;--green:#35f58a;
  --green2:#16c96b;--red:#ff6576;--amber:#ffc760;--blue:#69a9ff;--shadow:0 20px 50px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(900px 500px at 25% -10%,rgba(53,245,138,.10),transparent 65%),linear-gradient(180deg,#07110d 0,#050a08 100%);color:var(--text);font-family:Inter,Calibri,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}.top{height:72px;border-bottom:1px solid rgba(67,112,90,.22);display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:rgba(5,11,8,.88);position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}.top-left{display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}.brandmark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#52ff9d,#20d674);color:#041009;font-size:20px;font-weight:950;box-shadow:0 0 30px rgba(53,245,138,.16)}.brand b{display:block;font-size:15px;letter-spacing:.5px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.topright{display:flex;gap:16px;align-items:center}.tenant-chip{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#0b1712}.tenant-chip small{display:block;color:var(--muted);font-size:10px}.tenant-chip b{font-size:13px}.tenant-dot,.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(53,245,138,.75)}.logout-link{color:#c9d8d1;text-decoration:none;font-size:13px;padding:9px 11px;border-radius:9px}.logout-link:hover{background:#102018;color:#fff}.nav-toggle{display:none;background:#102018;color:#fff;border:1px solid var(--line);width:40px;height:40px;padding:0}.shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:calc(100vh - 72px)}.side{position:sticky;top:72px;height:calc(100vh - 72px);border-right:1px solid rgba(67,112,90,.20);padding:21px 13px;background:linear-gradient(180deg,rgba(7,16,12,.96),rgba(5,10,8,.96));overflow:auto}.side-caption{font-size:10px;letter-spacing:1.35px;color:#607a6d;padding:0 12px 10px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;color:#aebfb7;text-decoration:none;margin:3px 0;font-size:13.5px;font-weight:650;transition:.18s ease}.nav-item:hover{background:#0f2119;color:#e9fff2}.nav-item.active{background:linear-gradient(90deg,rgba(53,245,138,.15),rgba(53,245,138,.05));color:var(--green);box-shadow:inset 0 0 0 1px rgba(53,245,138,.12)}.nav-item.active:before{content:"";position:absolute;left:0;width:3px;height:22px;background:var(--green);border-radius:0 3px 3px 0}.nav-icon{width:24px;height:24px;display:grid;place-items:center;color:inherit;font-size:14px}.side-foot{position:absolute;bottom:16px;left:13px;right:13px;padding:12px;border:1px solid var(--line);background:#09140f;border-radius:12px;display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:10px;color:var(--muted)}.side-foot b{font-size:9px;color:var(--green)}.main{padding:30px clamp(18px,3vw,38px) 48px;max-width:1720px;width:100%;overflow:hidden}.loginwrap{max-width:500px;margin:64px auto;padding:24px}.pagehead{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#628173;margin-bottom:7px}.pagehead h1{font-size:29px;line-height:1.1;margin:0;font-weight:800;letter-spacing:-.4px}.card{background:linear-gradient(180deg,rgba(15,29,23,.96),rgba(8,19,14,.96));border:1px solid rgba(56,93,75,.55);border-radius:16px;padding:19px;box-shadow:var(--shadow)}.card.soft{box-shadow:none;background:#0a1611}.card h2,.card h3{margin-top:0}.card h3{font-size:15px;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric{min-height:112px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-26px;top:-25px;background:rgba(53,245,138,.08)}.metric b{display:block;font-size:30px;margin-top:10px;letter-spacing:-.7px}.muted{color:var(--muted)}.good{color:var(--green)}.bad{color:var(--red)}.warn{color:var(--amber)}.sectiontitle{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:28px 0 12px}.sectiontitle h2{margin:0;font-size:18px}.sectiontitle p{margin:3px 0 0}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:15px;background:#09140f}table{width:100%;border-collapse:collapse;background:transparent;min-width:760px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #14291f;font-size:13px;vertical-align:middle}th{color:#8eaa9d;background:#0d1b15;font-size:10.5px;text-transform:uppercase;letter-spacing:.65px;font-weight:750;position:sticky;top:0}tbody tr{transition:.15s ease}tbody tr:hover{background:rgba(53,245,138,.025)}tr:last-child td{border-bottom:0}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:9px 13px;font-weight:750;background:linear-gradient(145deg,#46fb94,#24db79);color:#041109;text-decoration:none;cursor:pointer;font-size:12.5px;line-height:1.15;transition:.15s ease;white-space:nowrap}.btn:hover,button:hover{transform:translateY(-1px);filter:brightness(1.04)}.btn.secondary,button.secondary{background:#12251c;color:#dce9e3;border:1px solid #284636}.btn.ghost,button.ghost{background:transparent;color:#bdd0c6;border:1px solid var(--line)}.btn.danger,button.danger{background:#35151b;color:#ffabb5;border:1px solid #632831}.btn.small,button.small{padding:7px 10px;font-size:11.5px;border-radius:8px}.copied{background:var(--blue)!important;color:#06101a!important}.btn-row,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}input,select,textarea{width:100%;background:#06100c;color:#f4f8f6;border:1px solid #254335;border-radius:10px;padding:10px 11px;outline:none;font:inherit;font-size:13px;transition:.15s ease}input:focus,select:focus,textarea:focus{border-color:#3c7d5b;box-shadow:0 0 0 3px rgba(53,245,138,.07)}textarea{min-height:110px;resize:vertical}label{display:block;color:#b5c9bf;margin-bottom:6px;font-size:11.5px;font-weight:700}.field{margin-bottom:12px}.field-hint{color:#718a7e;font-size:10.5px;margin-top:5px}.inline-fields{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.checkbox{display:flex;align-items:center;gap:8px;font-size:12px;color:#b9cbc2}.checkbox input{width:auto}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #2c483a;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;color:#cfe1d7;background:#102018}.badge.green{border-color:#286d46;color:var(--green);background:#0b2416}.badge.red{border-color:#71323b;color:#ff8f9d;background:#251016}.badge.amber{border-color:#67542c;color:#ffd87c;background:#231e0f}.flash{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border-radius:11px;margin-bottom:14px;font-size:13px}.flash.success{background:#0c2b1a;border:1px solid #246640}.flash.error{background:#34141a;border:1px solid #6d2933}.secret{background:#030806;border:1px dashed #386047;padding:12px;border-radius:10px;word-break:break-all;font-family:Consolas,monospace;font-size:12px}.stack{display:flex;flex-direction:column;gap:14px}.code{font-family:Consolas,monospace;font-size:11.5px}.help{font-size:12px;color:var(--muted);line-height:1.55}.loginbox{margin-top:16px}.pill{border-radius:999px;padding:5px 9px;background:#17261f;color:#cce0d6;display:inline-block}.kvs{display:grid;grid-template-columns:170px 1fr;gap:8px 14px}.kvs div{padding:6px 0;border-bottom:1px solid #14221c}.hero-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:18px;align-items:center;background:linear-gradient(120deg,#0d2118,#0a1712 55%,#10271b);border-color:#28503c}.hero-card h2{font-size:22px;margin:0 0 8px}.hero-card p{margin:0;color:#94aa9f;max-width:720px;line-height:1.6}.hero-badge{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.hero-badge strong{font-size:13px;color:var(--green)}.copyline{display:flex;gap:8px;align-items:stretch}.copyline .secret{flex:1}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.mini-stat{padding:14px;border:1px solid var(--line);border-radius:13px;background:#091610}.mini-stat span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.7px}.mini-stat b{display:block;font-size:24px;margin-top:5px}.toolbar{display:flex;gap:10px;align-items:end;justify-content:space-between;margin-bottom:12px}.toolbar .filters{display:flex;gap:8px;align-items:end;flex:1;flex-wrap:wrap}.toolbar .filters .field{margin:0;min-width:150px}.toolbar .filters .field.search{min-width:240px;flex:1}.bulkbar{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);background:#0a1611;border-radius:11px;margin-bottom:10px}.bulkbar select{width:auto;min-width:170px}.client-name{font-weight:800;font-size:13px}.client-meta{color:var(--muted);font-size:11px;margin-top:3px}.topic-cell{max-width:280px}.topic-short{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{text-align:center;padding:42px 20px;color:var(--muted)}.empty-state b{display:block;color:#d6e5de;font-size:15px;margin-bottom:6px}.split-card{display:grid;grid-template-columns:1fr 1fr;gap:18px}.import-drop{border:1px dashed #315541;border-radius:12px;padding:15px;background:#07120d}.import-example{font-family:Consolas,monospace;font-size:11px;color:#92ad9f;background:#050c09;padding:10px;border-radius:9px;line-height:1.6}.public-join{max-width:650px;margin:30px auto}.public-join .brand-public{text-align:center;margin-bottom:22px}.public-join .brand-public .brandmark{margin:0 auto 10px}.public-join .success-panel{text-align:center;padding:24px}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.select-col{width:38px}.select-col input{width:auto}.nowrap{white-space:nowrap}
@media(max-width:1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:1fr 1fr}.hero-card{grid-template-columns:1fr}.hero-badge{justify-self:start;align-items:flex-start}.inline-fields{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.nav-toggle{display:grid;place-items:center}.shell{grid-template-columns:1fr}.side{position:fixed;left:-270px;top:72px;width:246px;z-index:25;transition:.22s ease;box-shadow:20px 0 40px #0008}.nav-open .side{left:0}.main{padding:22px 16px}.top{padding:0 14px}.tenant-chip{display:none}.grid2,.split-card{grid-template-columns:1fr}.side-foot{position:static;margin-top:24px}.toolbar{align-items:stretch;flex-direction:column}.toolbar .filters{width:100%}}
@media(max-width:620px){.grid,.grid3{grid-template-columns:1fr}.inline-fields{grid-template-columns:1fr}.pagehead h1{font-size:24px}.brand small{display:none}.main{padding:18px 12px}.card{padding:15px}.topright{gap:5px}.logout-link{padding:8px}.copyline{flex-direction:column}.bulkbar{align-items:stretch;flex-direction:column}.bulkbar select{width:100%}}

/* ==========================================================
   MTGATES SIGNAL — INDICATOR GUARD THEME SYNC
   Keeps Signal Center behaviour intact while matching the
   Indicator Guard visual system (navy/black + MTGATES red).
   ========================================================== */
:root{
  --bg:#070b12;--bg2:#09111b;--panel:#0c131f;--panel2:#101a29;--panel3:#0a111b;
  --line:#1d2a3d;--line2:#2a3a51;--line-soft:rgba(255,255,255,.065);
  --text:#f3f6fb;--muted:#97a5b8;--red:#ff3038;--red2:#d21924;--red-soft:rgba(255,48,56,.11);
  --green:#43d3a2;--green2:#2dbb8e;--amber:#f0b958;--blue:#69a9ff;--shadow:0 18px 46px rgba(0,0,0,.28);
  --sidebar:252px
}
html{background:var(--bg)}
body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.45}
a{text-decoration:none}
.app-body{min-height:100vh;background:var(--bg)}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:28px;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at 16% 12%,rgba(255,48,56,.15),transparent 24%),radial-gradient(circle at 88% 5%,rgba(142,15,23,.17),transparent 22%),linear-gradient(145deg,#04070c 0%,#07101a 52%,#080d15 100%)}
.auth-body:before,.auth-body:after{content:"";position:fixed;pointer-events:none;border-radius:999px;filter:blur(70px);opacity:.45}.auth-body:before{width:300px;height:300px;left:-100px;top:70px;background:rgba(255,48,56,.18)}.auth-body:after{width:260px;height:260px;right:-90px;bottom:50px;background:rgba(171,18,25,.14)}

/* app shell */
.top{display:none!important}.shell{display:block;min-height:100vh}
.side.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar);height:100vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:20px 15px 18px;background:linear-gradient(180deg,#070b12 0%,#09111b 100%);border-right:1px solid var(--line-soft);scrollbar-width:thin;scrollbar-color:#26364b transparent}
.side.sidebar::-webkit-scrollbar{width:6px}.side.sidebar::-webkit-scrollbar-thumb{background:#26364b;border-radius:10px}
.side-brand{display:block;padding:3px 8px 17px;margin:0 0 10px;border-bottom:1px solid var(--line-soft)}
.side-logo-img{display:block;width:184px;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 7px 18px rgba(255,48,56,.11))}
.side nav{display:grid;gap:5px}.side-caption.nav-label{display:block;margin:15px 10px 4px;padding:0;color:#77889f;font-size:9px;font-weight:900;letter-spacing:1.25px}
.nav-item{position:relative;display:flex;align-items:center;min-height:38px;padding:9px 12px;border:1px solid transparent;border-radius:10px;color:#c9d2de;font-size:13px;font-weight:760;margin:0;transition:.16s ease}
.nav-item:hover{color:#fff;background:rgba(255,48,56,.07);border-color:rgba(255,48,56,.16)}
.nav-item.active{color:#fff;background:linear-gradient(90deg,rgba(255,48,56,.16),rgba(255,48,56,.045));border-color:rgba(255,48,56,.30);box-shadow:inset 3px 0 0 var(--red)}
.nav-item.active:before{display:none}.nav-item.active:after{content:"";position:absolute;right:11px;top:50%;width:7px;height:7px;border-radius:50%;transform:translateY(-50%);background:var(--red);box-shadow:0 0 0 4px rgba(255,48,56,.11)}
.nav-icon{display:none}
.side-foot.sidebar-foot{position:static;left:auto;right:auto;bottom:auto;margin-top:auto;padding:15px 0 0;border:0;border-top:1px solid var(--line-soft);background:transparent;border-radius:0;display:block;color:var(--muted);font-size:10px}
.workspace-mini{display:grid;gap:3px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line-soft)}.workspace-mini span,.workspace-mini small{font-size:9px;color:#7d8da2}.workspace-mini strong{font-size:12px;line-height:1.35;color:#fff}.workspace-mini small{display:flex;align-items:center;gap:6px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 11px rgba(67,211,162,.62)}
.user-mini{display:grid;gap:2px;min-width:0}.user-mini strong{font-size:12px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-mini span{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logout-link{margin-top:13px!important;color:#eef3f9!important;padding:9px 13px!important}
.main.content{min-height:100vh;margin-left:var(--sidebar);padding:29px clamp(24px,3vw,44px) 46px;max-width:none;width:auto;overflow:visible;background:radial-gradient(circle at 100% 0,rgba(255,48,56,.055),transparent 24%),radial-gradient(circle at 25% -10%,rgba(51,78,115,.10),transparent 28%),var(--bg)}
.content-inner{width:100%;max-width:1460px;margin:0 auto}
.pagehead.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 20px}.pagehead h1{font-size:29px;line-height:1.15;margin:4px 0 6px;letter-spacing:-.35px}.eyebrow{color:#ff666c;font-size:9px;font-weight:900;letter-spacing:1.45px;text-transform:uppercase;margin:0 0 3px}
.nav-toggle{display:none;position:fixed;top:12px;right:12px;z-index:60;width:42px;height:42px;padding:9px;background:#0b1420!important;border:1px solid #26364b!important;border-radius:11px!important;box-shadow:0 10px 25px rgba(0,0,0,.25)}.nav-toggle span{display:block;width:20px;height:2px;margin:3px auto;background:#fff;border-radius:2px}

/* common UI */
.card{min-width:0;padding:19px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#0d1521 0%,#0a111a 100%);box-shadow:0 10px 27px rgba(0,0,0,.13)}.card.soft{background:#0a111a;box-shadow:none}.card h2,.card h3{color:#fff}
.grid{gap:14px}.metric{min-height:112px}.metric:after{background:rgba(255,48,56,.065)}.metric b{color:#fff;font-size:28px}.muted{color:var(--muted)}.good{color:#82e7c2}.bad{color:#ff9ca4}.warn{color:#f4cf8e}
.sectiontitle{margin:26px 0 12px}.sectiontitle h2{font-size:18px;color:#fff}
.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 13px;border:1px solid transparent;border-radius:10px;color:#fff;background:linear-gradient(135deg,#ff4148,#d21924);font-weight:800;font-size:12px;line-height:1.2;cursor:pointer;white-space:nowrap;transition:.16s ease;box-shadow:0 9px 21px rgba(210,25,36,.18)}
.btn:hover,button:hover{transform:translateY(-1px);filter:brightness(1.045)}.btn.secondary,button.secondary,.btn.ghost,button.ghost{background:#0b1420;color:#eef3f9;border-color:#26364b;box-shadow:none}.btn.secondary:hover,button.secondary:hover,.btn.ghost:hover,button.ghost:hover{border-color:rgba(255,74,80,.32);background:#0e1826}.btn.danger,button.danger{background:rgba(255,74,82,.09);border-color:rgba(255,88,96,.28);color:#ff9ca1;box-shadow:none}.btn.small,button.small{min-height:31px;padding:6px 9px;border-radius:8px;font-size:11px}.copied{background:#194b76!important;color:#e9f5ff!important;border-color:#2c6ca0!important}
input,select,textarea{width:100%;background:#09131f;color:#eef3f9;border:1px solid #24344a;border-radius:10px;padding:10px 11px;outline:none;font:inherit;font-size:13px;transition:.15s ease}input:focus,select:focus,textarea:focus{border-color:#ff5c62;box-shadow:0 0 0 3px rgba(255,48,56,.12)}input::placeholder,textarea::placeholder{color:#6f8096}label{color:#cad5e3}.field-hint{color:#76879d}.checkbox{color:#c2cede}.checkbox input,.select-col input{accent-color:var(--red)}
.table-wrap{border:1px solid var(--line);border-radius:14px;background:#0a111a}table{background:transparent}th,td{padding:12px 14px;border-bottom:1px solid var(--line-soft);font-size:12px}th{background:#0c1724;color:#7f93ac;font-size:9px;font-weight:900;letter-spacing:.72px}tbody tr:hover{background:rgba(255,255,255,.014)}
.badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.45px;white-space:nowrap;color:#cbd5e1;background:#101a29;border:1px solid #2b3b52}.badge.green{background:rgba(67,211,162,.09);border-color:rgba(67,211,162,.24);color:#82e7c2}.badge.red{background:rgba(255,102,112,.09);border-color:rgba(255,102,112,.26);color:#ff9ca4}.badge.amber{background:rgba(240,185,88,.09);border-color:rgba(240,185,88,.25);color:#f4cf8e}
.flash{border-radius:10px}.flash.success{background:rgba(67,211,162,.08);border:1px solid rgba(67,211,162,.22);color:#9eead1}.flash.error{background:rgba(255,102,112,.08);border:1px solid rgba(255,102,112,.23);color:#ffc0c5}
.secret{background:#060b12;border:1px dashed #34465e;color:#dce8f8}.pill{background:#101a29;color:#d6e1ef;border:1px solid #26364b}.mini-stat{border-color:var(--line);background:#09131f}.hero-card{background:linear-gradient(120deg,#101a29,#0b121d 55%,#13151f);border-color:#2b3546;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;width:180px;height:180px;right:-80px;top:-95px;border-radius:50%;background:rgba(255,48,56,.08)}.hero-badge strong{color:#ff666c}.bulkbar{border-color:var(--line);background:#0a111a}.import-drop{border-color:#354861;background:#09131f}.import-example{background:#060b12;color:#a8b7c9}

/* login / public */
.loginwrap.auth-shell{position:relative;z-index:1;width:min(520px,100%);max-width:520px;margin:0 auto;padding:0}.loginwrap .pagehead{display:none}.loginbox.auth-card{width:100%;margin:0;padding:32px 30px 26px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:26px;background:linear-gradient(180deg,rgba(13,20,31,.96),rgba(8,13,21,.98));box-shadow:0 26px 70px rgba(0,0,0,.36)}.auth-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.028),transparent 32%,rgba(255,48,56,.025))}.auth-card-top{position:relative;z-index:1;display:grid;justify-items:center;gap:14px;margin-bottom:16px}.auth-logo-inline{display:block;width:158px;max-width:64%;height:auto;object-fit:contain;margin:0 auto;filter:drop-shadow(0 9px 20px rgba(0,0,0,.28))}.auth-copy{width:100%;text-align:left}.auth-copy h1{font-size:31px;margin:2px 0 8px}.auth-copy p{line-height:1.65}.auth-form-pro{position:relative;z-index:1;display:grid;gap:14px;margin-top:12px}.auth-form-pro label{display:grid;gap:8px;margin:0;color:#dce4ef;font-size:13px;font-weight:800}.auth-form-pro input{height:53px;padding:0 15px;color:#0b1220;background:#eef2f8;border:1px solid #d7dfeb;border-radius:14px;caret-color:var(--red)}.auth-form-pro input::placeholder{color:#7b8798}.auth-form-pro input:focus{background:#fff;border-color:#ff6c71;box-shadow:0 0 0 4px rgba(255,48,56,.13)}.auth-submit{height:53px;margin-top:2px!important;border-radius:14px!important;font-size:15px!important}.auth-footnote{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.auth-foot-chip{display:inline-flex;padding:8px 10px;border:1px solid rgba(255,255,255,.075);border-radius:999px;background:rgba(255,255,255,.035);font-size:11px;font-weight:700;color:#c9d4e2}
.public-join{max-width:650px;margin:30px auto;padding:20px}.public-join .brand-public{text-align:center;margin-bottom:22px}.public-logo{display:block;width:210px;max-width:72%;height:auto;margin:0 auto 8px;filter:drop-shadow(0 7px 18px rgba(255,48,56,.10))}.public-join .brand-public b{font-size:10px;letter-spacing:2px;color:#8b9aaf}.public-join .card{box-shadow:0 20px 55px rgba(0,0,0,.24)}

@media(max-width:900px){
  .nav-toggle{display:block}.side.sidebar{left:-272px;transition:left .22s ease;box-shadow:20px 0 40px rgba(0,0,0,.45)}.nav-open .side.sidebar{left:0}.main.content{margin-left:0;padding:72px 18px 36px}.nav-item.active:after{display:none}
}
@media(max-width:680px){
  .auth-body{display:block;padding:12px 12px 28px}.loginwrap.auth-shell{width:100%;max-width:460px}.loginbox.auth-card{padding:22px 18px 20px;border-radius:22px}.auth-logo-inline{width:136px;max-width:60%}.auth-copy h1{font-size:27px}.pagehead h1{font-size:25px}.card{padding:16px}.main.content{padding:68px 12px 30px}
}


/* Tenant scope clarity — Signal Settings */
.tenant-scope-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:16px 18px;border:1px solid rgba(255,48,56,.28);border-radius:14px;background:linear-gradient(115deg,rgba(255,48,56,.095),rgba(13,21,33,.96) 40%,rgba(10,17,26,.96));box-shadow:0 12px 30px rgba(0,0,0,.14);position:relative;overflow:hidden}
.tenant-scope-banner:after{content:"";position:absolute;width:150px;height:150px;right:-64px;top:-92px;border-radius:50%;background:rgba(255,48,56,.08);pointer-events:none}
.tenant-scope-copy{position:relative;z-index:1;min-width:0}
.tenant-scope-label{font-size:9px;font-weight:950;letter-spacing:1.45px;color:#ff666c;margin-bottom:4px}
.tenant-scope-name{font-size:20px;line-height:1.2;font-weight:900;color:#fff;letter-spacing:-.2px}
.tenant-scope-note{margin-top:6px;color:#9eacbd;font-size:12px;line-height:1.55;max-width:920px}
.tenant-scope-note strong{color:#dfe7f1}
.tenant-scope-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}
.tenant-current-badge{min-height:30px;padding:6px 10px}
@media(max-width:760px){.tenant-scope-banner{align-items:flex-start;flex-direction:column;padding:15px}.tenant-scope-actions{justify-content:flex-start;width:100%}.tenant-scope-name{font-size:18px}}

/* v1.4 — per-tenant ntfy notification logo */
.notification-brand-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center;margin:16px 0 20px;padding:16px;border:1px solid rgba(255,48,56,.20);border-radius:14px;background:linear-gradient(115deg,rgba(255,48,56,.055),rgba(9,16,25,.78) 42%,rgba(8,14,22,.9))}
.notification-brand-preview{width:118px;height:118px;display:grid;place-items:center;border-radius:24px;background:#050a10;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,48,56,.05),0 14px 30px rgba(0,0,0,.22);overflow:hidden}
.notification-brand-preview img{display:block;width:92px;height:92px;object-fit:contain}
.notification-brand-copy h3{margin:0 0 7px;font-size:17px}.notification-brand-copy p{margin:0 0 13px;line-height:1.55}.notification-upload-field{margin:0 0 10px}.notification-upload-field input[type=file]{padding:9px}.notification-upload-field small{display:block;margin-top:7px;color:#8998aa;line-height:1.45}.notification-remove{margin-top:7px}
@media(max-width:680px){.notification-brand-card{grid-template-columns:1fr;align-items:start}.notification-brand-preview{width:96px;height:96px}.notification-brand-preview img{width:76px;height:76px}}


/* v1.5 — SaaS per-tenant public Join branding */
.join-brand-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:center;margin:16px 0 20px;padding:17px;border:1px solid color-mix(in srgb,var(--join-preview-primary,#ff3038) 28%,#26364b);border-radius:14px;background:linear-gradient(115deg,color-mix(in srgb,var(--join-preview-primary,#ff3038) 7%,#0a111a),#09111b 45%,#080e16)}
.join-brand-preview{min-height:210px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:16px;background:#070d15;border:1px solid #24344a;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.join-brand-preview-logo{width:154px;height:72px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.join-brand-preview-logo img{display:block;max-width:100%;max-height:70px;object-fit:contain}.join-brand-preview-name{font-size:13px;font-weight:900;color:#fff;margin-bottom:12px}.join-brand-preview-button{width:100%;padding:10px 9px;border-radius:9px;background:var(--join-preview-primary,#ff3038);color:var(--join-preview-button-text,#fff);font-size:10px;font-weight:900;box-shadow:0 8px 20px color-mix(in srgb,var(--join-preview-primary,#ff3038) 22%,transparent)}
.join-brand-copy h3{margin:0 0 7px;font-size:17px}.join-brand-copy p{margin:0 0 14px;line-height:1.55}.join-brand-copy .field small{display:block;margin-top:7px;color:#8998aa;line-height:1.45}
.tenant-color-picker-row{display:flex;align-items:center;gap:10px;max-width:300px}
.tenant-color-swatch{position:relative;display:block;flex:0 0 64px;width:64px;height:44px;margin:0;padding:0;border:1px solid #34465e;border-radius:11px;background:#09131f;overflow:hidden;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.tenant-color-swatch:hover{border-color:#5a6e88;transform:translateY(-1px)}
.tenant-color-swatch-fill{position:absolute;inset:5px;border-radius:7px;background:var(--picker-color,#ff3038);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);pointer-events:none}
.tenant-color-native{position:absolute!important;inset:0!important;z-index:3!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;opacity:0!important;cursor:pointer!important}
.tenant-color-value-wrap{position:relative;display:flex;align-items:center;min-width:0;flex:1}
.tenant-color-dot{position:absolute;left:12px;z-index:2;width:15px;height:15px;border:2px solid rgba(255,255,255,.72);border-radius:50%;background:var(--picker-color,#ff3038);box-shadow:0 0 0 2px rgba(0,0,0,.28);pointer-events:none}
.tenant-color-hex{height:44px!important;padding-left:39px!important;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;font-weight:800!important;letter-spacing:.4px!important}

.tenant-branded-join .brand-public{position:relative}.tenant-branded-join .tenant-public-logo{width:auto;max-width:min(300px,78%);height:auto;max-height:112px;filter:drop-shadow(0 10px 24px color-mix(in srgb,var(--tenant-primary,#ff3038) 18%,transparent))}.tenant-branded-join .brand-public b{color:color-mix(in srgb,var(--tenant-primary,#ff3038) 65%,#b9c4d2);letter-spacing:2px}.tenant-branded-join .card{border-color:color-mix(in srgb,var(--tenant-primary,#ff3038) 24%,#24344a);box-shadow:0 20px 55px rgba(0,0,0,.27),0 0 40px color-mix(in srgb,var(--tenant-primary,#ff3038) 5%,transparent)}.tenant-branded-join .eyebrow{color:var(--tenant-primary,#ff3038)}.tenant-branded-join button{background:var(--tenant-primary,#ff3038);color:var(--tenant-button-text,#fff)!important;box-shadow:0 10px 24px color-mix(in srgb,var(--tenant-primary,#ff3038) 23%,transparent)}.tenant-branded-join input:focus,.tenant-branded-join select:focus,.tenant-branded-join textarea:focus{border-color:var(--tenant-primary,#ff3038);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-primary,#ff3038) 16%,transparent)}
.tenant-public-body{background:radial-gradient(700px 420px at 50% -120px,color-mix(in srgb,var(--tenant-primary,#ff3038) 10%,transparent),transparent 70%),var(--bg)}
@media(max-width:680px){.join-brand-card{grid-template-columns:1fr}.join-brand-preview{min-height:175px}.tenant-color-picker-row{max-width:none}.tenant-color-swatch{flex-basis:58px;width:58px}.tenant-branded-join .tenant-public-logo{max-width:74%;max-height:92px}}

/* ==========================================================
   v1.7 — MT5 Client Connections / Phase 1
   ========================================================== */
.mt5-phase-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:17px 18px;border:1px solid rgba(255,48,56,.24);border-radius:14px;background:linear-gradient(115deg,rgba(255,48,56,.09),#0c1420 45%,#09111b);box-shadow:0 12px 30px rgba(0,0,0,.14)}
.mt5-phase-banner h2{margin:2px 0 6px;font-size:19px;color:#fff}.mt5-phase-banner p{margin:0;color:#9caabd;line-height:1.55;font-size:12px;max-width:900px}.mt5-phase-banner p strong{color:#eef3f9}
.mt5-key-card{margin:0 0 16px;border-color:rgba(255,48,56,.34);background:linear-gradient(125deg,rgba(255,48,56,.10),#0b121d 42%,#09101a)}.mt5-key-card h3{font-size:18px;margin:4px 0 6px}.mt5-key-warning{margin-top:10px;padding:9px 11px;border-radius:9px;background:rgba(240,185,88,.08);border:1px solid rgba(240,185,88,.20);color:#e8c982;font-size:11px}
.mt5-stats-grid{margin-bottom:16px}.mt5-setup-grid{align-items:stretch}.mt5-inline-2{grid-template-columns:1fr 1fr}
.mt5-install-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.055)}.mt5-install-row>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,48,56,.10);border:1px solid rgba(255,48,56,.22);color:#ff6a70;font-size:11px;font-weight:900}.mt5-install-row b{display:block;color:#eef3f9;font-size:12px}.mt5-install-row small{display:block;margin-top:2px;color:#8494a9;font-size:10.5px;line-height:1.45}.mt5-url-copy{margin:10px 0 2px}
.mt5-connection-list{display:grid;gap:12px}.mt5-connection-card{padding:0;overflow:hidden}.mt5-connection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 17px 13px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(90deg,rgba(255,48,56,.035),transparent)}.mt5-client-name{font-size:17px;font-weight:900;color:#fff}.mt5-connection-label{margin-top:3px;color:#8494a9;font-size:10.5px}.mt5-status-stack{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.mt5-last-seen{font-size:10px;color:#8291a4}
.mt5-account-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid rgba(255,255,255,.055)}.mt5-account-strip>div{padding:12px 14px;border-right:1px solid rgba(255,255,255,.045);min-width:0}.mt5-account-strip>div:last-child{border-right:0}.mt5-account-strip span,.mt5-money-grid span{display:block;color:#728298;font-size:8.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.mt5-account-strip b{display:block;margin-top:4px;color:#e8edf5;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt5-money-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:13px 14px;gap:9px}.mt5-money-grid>div{padding:11px 12px;border:1px solid #1d2a3d;border-radius:10px;background:#080f18}.mt5-money-grid strong{display:block;margin-top:4px;color:#fff;font-size:14px;font-weight:850}
.mt5-tech-row{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 13px}.mt5-tech-row span{display:inline-flex;padding:5px 7px;border:1px solid #1d2a3d;border-radius:7px;background:#0a121d;color:#8393a7;font-size:9.5px}
.mt5-connection-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding:11px 14px;border-top:1px solid rgba(255,255,255,.055);background:#080f18}.mt5-connection-actions form{margin:0}
@media(max-width:1080px){.mt5-account-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.mt5-account-strip>div{border-bottom:1px solid rgba(255,255,255,.045)}.mt5-money-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.mt5-phase-banner{align-items:flex-start;flex-direction:column}.mt5-inline-2{grid-template-columns:1fr}.mt5-install-row{grid-template-columns:30px minmax(0,1fr)}.mt5-install-row .btn{grid-column:2;justify-self:start}.mt5-connection-head{align-items:flex-start}.mt5-account-strip{grid-template-columns:1fr 1fr}.mt5-money-grid{grid-template-columns:1fr 1fr}.mt5-connection-actions{justify-content:flex-start}}
@media(max-width:460px){.mt5-account-strip,.mt5-money-grid{grid-template-columns:1fr}.mt5-status-stack{align-items:flex-start}.mt5-connection-head{flex-direction:column}.mt5-connection-actions>*{width:100%}.mt5-connection-actions .badge{width:auto}.mt5-connection-actions button{width:100%}}

/* ==========================================================
   v1.8 — MT5 Client Bridge / Phase 2 Live Sync
   ========================================================== */
.mt5-phase-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.mt5-phase-live{border-color:rgba(67,211,162,.23);background:linear-gradient(115deg,rgba(67,211,162,.07),#0c1420 45%,#09111b)}
.mt5-sync-error{margin:0 14px 13px;padding:9px 10px;border:1px solid rgba(255,102,112,.22);border-radius:9px;background:rgba(255,102,112,.07);color:#ffafb5;font-size:10.5px;line-height:1.45}
.mt5-live-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.mt5-live-filter-card{margin-bottom:16px}.mt5-live-filters{display:grid;grid-template-columns:170px minmax(260px,1fr) auto;gap:12px;align-items:end}.mt5-live-filters .field{margin:0}.mt5-filter-actions{display:flex;align-items:center;gap:8px;padding-bottom:1px}
.mt5-live-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#0a111a}.mt5-live-table{min-width:1040px}.mt5-live-table td{vertical-align:top;line-height:1.45}.mt5-live-table small{font-size:9.5px}.mt5-live-table .code{font-size:9.5px}
.mt5-event-feed{padding:0;overflow:hidden}.mt5-event-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.055)}.mt5-event-row:last-child{border-bottom:0}.mt5-event-main{min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.mt5-event-main b{color:#f2f6fb;font-size:12px}.mt5-event-main span{color:#b8c5d4;font-size:11px}.mt5-event-main small{width:100%;color:#728298;font-size:9.5px}.mt5-event-row time{color:#7f8fa3;font-size:9.5px;white-space:nowrap}
@media(max-width:1100px){.mt5-live-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.mt5-live-filters{grid-template-columns:1fr 1fr}.mt5-filter-actions{grid-column:1/-1}}
@media(max-width:720px){.mt5-phase-actions{justify-content:flex-start}.mt5-live-stats{grid-template-columns:1fr 1fr}.mt5-live-filters{grid-template-columns:1fr}.mt5-filter-actions{grid-column:auto}.mt5-event-row{grid-template-columns:1fr;gap:6px}.mt5-event-row time{justify-self:start}}
@media(max-width:460px){.mt5-live-stats{grid-template-columns:1fr}.mt5-filter-actions{align-items:stretch;flex-direction:column}.mt5-filter-actions>*{width:100%}}
