/* =========================================================
   BM138 — Glass Brand Theme
   Colors from logo: metallic silver + orange/amber glow
   ========================================================= */
:root{
  --bg0:#07090d;
  --bg1:#0b0f14;
  --orange:#ff7a1a;
  --orange2:#ff9a3c;
  --orange-dim:rgba(255,122,26,.14);
  --orange-line:rgba(255,122,26,.35);
  --silver:#c9d2db;
  --silver2:#e8eef4;
  --muted:#8b98a5;
  --muted2:#667582;
  --glass:rgba(16,22,30,.55);
  --glass2:rgba(22,30,40,.62);
  --glass-border:rgba(255,255,255,.08);
  --glass-border2:rgba(255,122,26,.18);
  --ok:#3dde8a;
  --bad:#ff6b6b;
  --warn:#ffc14d;
  --radius:16px;
  --radius-sm:12px;
  --shadow:0 20px 50px rgba(0,0,0,.45);
  --font:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%}
body{
  font-family:var(--font);
  color:var(--silver2);
  background:
    radial-gradient(1000px 500px at 12% -10%, rgba(255,122,26,.16), transparent 55%),
    radial-gradient(900px 480px at 95% 10%, rgba(255,154,60,.08), transparent 50%),
    radial-gradient(800px 500px at 50% 110%, rgba(255,122,26,.07), transparent 55%),
    linear-gradient(180deg, #080b10 0%, #0a0e14 100%);
  background-attachment:fixed;
}

.hidden{display:none !important}
a{color:var(--orange2);text-decoration:none}

/* ---------- AUTH (Login / 2FA) ---------- */
.auth-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:28px 16px;
}
.auth-card, .login-card, .twofa-card{
  width:min(420px,100%);
  background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  backdrop-filter:blur(22px) saturate(140%);
  -webkit-backdrop-filter:blur(22px) saturate(140%);
  border:1px solid var(--glass-border);
  border-top-color:rgba(255,255,255,.14);
  border-radius:20px;
  padding:32px 28px 26px;
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.06);
  position:relative;
  overflow:hidden;
}
.auth-card::before, .login-card::before{
  content:"";position:absolute;inset:-1px;border-radius:20px;pointer-events:none;
  background:linear-gradient(135deg, rgba(255,122,26,.25), transparent 35%, transparent 65%, rgba(201,210,219,.12));
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite:exclude; padding:1px;
}
.login-brand{text-align:center;margin-bottom:22px;position:relative;z-index:1}
.login-logo{height:64px;margin:0 auto 14px;display:block;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(255,122,26,.25))}
.login-card h1, .auth-card h1, .twofa-card h2{
  margin:0;font-size:22px;font-weight:700;letter-spacing:.2px;
  background:linear-gradient(90deg, #f4f7fa, #cfd8e2 40%, #ff9a3c);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-align:center;
}
.login-tagline, .twofa-sub{
  margin:10px 0 0;color:var(--muted);font-size:12.5px;letter-spacing:.5px;text-align:center;line-height:1.45
}
.field-label{display:block;font-size:11px;color:var(--muted);margin:14px 0 6px;letter-spacing:.4px;font-weight:600;text-transform:uppercase}
.field-label small{text-transform:none;font-weight:400;color:var(--muted2)}

.login-form input[type=email],
.login-form input[type=password],
.login-form input[type=text],
.auth-card input,
.modal-card input,
.modal-card textarea,
.modal-card select,
.panel input, .panel select, .panel textarea{
  width:100%;
  background:rgba(5,10,16,.55) !important;
  color:var(--silver2) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:12px;
  padding:12px 14px;
  margin:0;
  outline:none;
  font-size:14px;
  transition:border-color .15s, box-shadow .15s, background .15s;
  -webkit-appearance:none;appearance:none;
}
.login-form input:focus,
.auth-card input:focus,
.modal-card input:focus,
.modal-card textarea:focus,
.modal-card select:focus{
  border-color:var(--orange-line) !important;
  box-shadow:0 0 0 3px var(--orange-dim);
  background:rgba(8,14,22,.75) !important;
}
.login-form input::placeholder{color:#5c6b78}
.pass-wrap{position:relative}
.pass-wrap input{padding-right:46px !important}
.pass-toggle{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:14px;padding:8px;
}
.pass-toggle:hover{color:var(--orange2)}

.btn-primary, .login-form button[type=submit], #loginBtn, #verifyBtn,
.modal-card form button[type=submit], .modal-card form > button{
  width:100%;margin-top:18px;
  background:linear-gradient(100deg, var(--orange), var(--orange2));
  color:#120b05;border:0;border-radius:12px;padding:13px 16px;
  font-weight:800;font-size:14px;letter-spacing:.5px;cursor:pointer;
  box-shadow:0 10px 28px rgba(255,122,26,.28);
  transition:filter .15s, transform .15s;
}
.btn-primary:hover, #loginBtn:hover, #verifyBtn:hover{filter:brightness(1.06)}
.btn-primary:disabled, #loginBtn:disabled, #verifyBtn:disabled{opacity:.65;cursor:wait;filter:none;box-shadow:none}
.auth-msg, #authMsg, .twofa-msg, #twofaMsg{min-height:18px;margin-top:12px;text-align:center;color:var(--bad);font-size:13px}
.login-foot{margin:18px 0 0;text-align:center;color:var(--muted2);font-size:11px;letter-spacing:.35px}
.icon-logo{height:40px;margin:0 auto 12px;display:block;filter:drop-shadow(0 6px 14px rgba(255,122,26,.3))}
.btn-link{
  display:block;width:100%;margin-top:12px;background:transparent;border:0;
  color:var(--muted);cursor:pointer;font-size:13px;padding:8px;
}
.btn-link:hover{color:var(--orange2)}

/* OTP */
.qr-box{margin:0 0 18px;text-align:center}
.qr-box img{width:190px;height:190px;border-radius:14px;background:#fff;padding:8px;margin:0 auto 10px;display:block}
.otp-row{display:flex;gap:10px;justify-content:center;margin:8px 0 18px}
.otp-digit{
  width:48px;height:56px;text-align:center;font-size:22px;font-weight:700;
  border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(5,10,16,.55);color:#fff;
  outline:none;caret-color:var(--orange);
}
.otp-digit:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-dim)}
.otp-digit.otp-error{border-color:var(--bad);box-shadow:0 0 0 3px rgba(255,107,107,.18)}
@media(max-width:480px){.otp-digit{width:42px;height:50px;font-size:20px}.otp-row{gap:6px}}

/* ---------- APP SHELL ---------- */
#app{min-height:100vh;display:flex}
.sidebar{
  width:248px;flex-shrink:0;
  background:rgba(10,14,20,.72);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  border-right:1px solid var(--glass-border);
  display:flex;flex-direction:column;padding:18px 14px;
  position:sticky;top:0;height:100vh;
}
.brand{
  height:42px;object-fit:contain;margin:4px 10px 18px;display:block;
  filter:drop-shadow(0 6px 14px rgba(255,122,26,.2));
}
.nav-title{
  font-size:10px;letter-spacing:1.2px;color:var(--muted2);font-weight:700;
  margin:16px 10px 8px;text-transform:uppercase;
}
.nav-btn, #logout{
  display:block;width:100%;text-align:left;
  background:transparent;border:1px solid transparent;
  color:var(--silver);padding:10px 12px;border-radius:10px;
  cursor:pointer;font-size:13px;font-weight:600;margin:2px 0;
  transition:background .15s, border-color .15s, color .15s;
}
.nav-btn:hover, #logout:hover{
  background:rgba(255,255,255,.04);color:#fff;border-color:rgba(255,255,255,.06);
}
.nav-btn.active{
  background:linear-gradient(90deg, rgba(255,122,26,.18), rgba(255,122,26,.05));
  border-color:var(--orange-line);color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,122,26,.08);
}
#logout{margin-top:auto;color:var(--muted)}
.sidebar-foot{
  margin-top:12px;padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px solid var(--glass-border);
  font-size:11px;color:var(--muted);
}
.sidebar-foot .dot{color:var(--ok)}

.main{flex:1;min-width:0;padding:22px 26px 40px}
.topbar{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  margin-bottom:20px;
}
.topbar h1{margin:0;font-size:20px;font-weight:700;color:#f3f6f9}
.topbar p{margin:6px 0 0;color:var(--muted);font-size:13px}
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;
  background:rgba(61,222,138,.1);border:1px solid rgba(61,222,138,.25);color:var(--ok);
  white-space:nowrap;
}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok)}

/* panels / glass cards */
.panel, .card, .detail-box, .project-row{
  background:var(--glass);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.panel{padding:18px 18px 16px;margin-bottom:16px}
.panel-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;
}
.panel-head h2{
  margin:0;font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:var(--silver);
  font-weight:800;
}
.section-sub{margin:6px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45;font-weight:500}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cards{grid-template-columns:1fr}}
.card{padding:16px 16px 14px;position:relative;overflow:hidden}
.card::after{
  content:"";position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,122,26,.18), transparent 70%);
  pointer-events:none;
}
.card .label{font-size:11px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-weight:700}
.card .value{margin-top:8px;font-size:28px;font-weight:800;letter-spacing:-.5px;color:#fff}
.card .hint{margin-top:6px;font-size:11px;color:var(--muted2)}

.btn-sm, .btn-xs{
  background:rgba(255,255,255,.05);
  color:var(--silver2);
  border:1px solid rgba(255,255,255,.1);
  border-radius:9px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer;
}
.btn-sm:hover, .btn-xs:hover{background:rgba(255,122,26,.12);border-color:var(--orange-line);color:#fff}
.btn-sm{
  background:linear-gradient(100deg, var(--orange), var(--orange2));
  color:#140c05;border:0;box-shadow:0 8px 20px rgba(255,122,26,.22);
}
.btn-sm:hover{filter:brightness(1.05);color:#140c05}
.btn-xs.btn-danger{background:rgba(255,107,107,.08);border-color:rgba(255,107,107,.28);color:#ff8f8f}
.btn-xs.btn-danger:hover{background:rgba(255,107,107,.16)}
.actions{white-space:nowrap;display:flex;gap:6px}

/* tables */
.table-wrap{overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.06)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{
  text-align:left;padding:11px 12px;color:var(--muted);font-size:11px;letter-spacing:.5px;
  text-transform:uppercase;font-weight:700;
  background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06);
}
td{padding:12px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--silver);vertical-align:middle}
tr:hover td{background:rgba(255,255,255,.02)}
.ip, code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#b7c4d0}
.money{color:var(--orange2);font-weight:700}

.detail-box{padding:14px 16px}
.detail-box h3{margin:0 0 10px;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px}
.kv span:first-child{color:var(--muted)}
.kv span:last-child{color:var(--silver2);font-weight:600;text-align:right}

.project-row{
  margin:10px 0;padding:14px 16px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}

/* modal glass */
.modal{
  position:fixed;inset:0;z-index:50;
  background:rgba(4,7,12,.62);
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.modal.hidden{display:none !important}
.modal-card{
  width:min(480px,100%);max-height:min(90vh,820px);overflow:auto;
  background:linear-gradient(165deg, rgba(24,32,42,.88), rgba(12,16,22,.92));
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;padding:22px 22px 18px;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  position:relative;
}
.modal-card h2{margin:0 40px 8px 0;font-size:18px;color:#fff}
.modal-card > p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.45}
.modal-card .x{
  position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:10px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);
  color:var(--muted);cursor:pointer;font-size:18px;line-height:1;
}
.modal-card .x:hover{color:#fff;border-color:rgba(255,255,255,.16)}
.modal-card textarea{min-height:88px;resize:vertical}
.form-msg{margin-top:12px;color:var(--ok);font-size:13px;min-height:18px}
pre#projectResult, pre#destResult{
  white-space:pre-wrap;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.06);
  border-radius:10px;padding:12px;color:#d7e0e8;font-size:12px;margin-top:12px;
}

.view.hidden{display:none !important}
.footer-note{
  margin-top:28px;text-align:center;color:var(--muted2);font-size:12px;
}
.footer-note a{color:var(--orange2)}

/* status colors */
.status-sent, .ok{color:var(--ok)}
.status-failed, .bad{color:var(--bad)}
.status-skipped{color:var(--warn)}

/* misc from older UI */
.small{font-size:12px;color:var(--muted)}

/* compatibility aliases */
.status-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;
  background:rgba(61,222,138,.1);border:1px solid rgba(61,222,138,.25);color:var(--ok);
  white-space:nowrap;
}
.env{
  margin-top:12px;padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px solid var(--glass-border);
  font-size:11px;color:var(--muted);line-height:1.5;
}
.env span{color:var(--muted2)}
.layout, .shell{display:flex;min-height:100vh}
.aside, aside, .side{ /* if any */ }
#app > aside, #app .sidebar, .sidebar{width:248px}

/* shell structure used by index.html */
#app.layout, .layout{display:flex;min-height:100vh}
#app > aside{
  width:248px;flex-shrink:0;
  background:rgba(10,14,20,.72);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  border-right:1px solid var(--glass-border);
  display:flex;flex-direction:column;padding:18px 14px;
  position:sticky;top:0;height:100vh;overflow:auto;
}
#app > main{flex:1;min-width:0;padding:22px 26px 40px}
#app > main > header{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  margin-bottom:20px;
}
#app > main > header h1{margin:0;font-size:20px;font-weight:700;color:#f3f6f9}
#app > main > header p{margin:6px 0 0;color:var(--muted);font-size:13px}
#app > aside nav{display:flex;flex-direction:column;flex:1}

/* ===== Dashboard mockup-inspired ===== */
.kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;margin-bottom:16px;
}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}
.kpi-card{
  display:flex;gap:12px;align-items:flex-start;
  padding:16px;
  background:rgba(16,22,30,.55);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  position:relative;overflow:hidden;
}
.kpi-card::after{
  content:"";position:absolute;right:-18px;top:-18px;width:80px;height:80px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,122,26,.2), transparent 70%);
}
.kpi-icon{
  width:42px;height:42px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,122,26,.12);border:1px solid rgba(255,122,26,.22);
  font-size:18px;
}
.kpi-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.kpi-value{font-size:28px;font-weight:800;color:#fff;margin-top:4px;letter-spacing:-.5px;line-height:1.1}
.kpi-sub{font-size:11px;color:var(--muted2);margin-top:4px}

.dash-split{display:grid;grid-template-columns:1.7fr .9fr;gap:14px;margin-bottom:16px}
@media(max-width:1100px){.dash-split{grid-template-columns:1fr}}
.pipeline-panel h2, .status-panel h2{margin:0 0 14px}
.pipeline{
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;
}
.pipe-step{
  flex:1;min-width:120px;text-align:center;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px;padding:14px 10px;
}
.pipe-step.pipe-core{
  border-color:rgba(255,122,26,.3);
  background:linear-gradient(180deg, rgba(255,122,26,.12), rgba(255,255,255,.02));
  box-shadow:0 0 24px rgba(255,122,26,.08);
}
.pipe-orb{
  width:52px;height:52px;margin:0 auto 8px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;letter-spacing:.4px;color:#fff;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
}
.pipe-orb.core{
  background:linear-gradient(135deg, rgba(255,122,26,.35), rgba(255,154,60,.15));
  border-color:rgba(255,122,26,.4);
  box-shadow:0 0 20px rgba(255,122,26,.2);
}
.pipe-title{font-size:13px;font-weight:700;color:#fff}
.pipe-sub{font-size:11px;color:var(--muted);margin-top:4px}
.pipe-live{font-size:11px;color:var(--ok);margin-top:8px;font-weight:700}
.pipe-arrow{color:var(--orange);font-size:20px;font-weight:700;padding:0 2px}

.uptime-ring{
  width:120px;height:120px;margin:8px auto 16px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at center, rgba(10,14,20,.95) 58%, transparent 59%),
    conic-gradient(var(--orange) 0 90%, rgba(255,255,255,.08) 90% 100%);
  border:1px solid rgba(255,122,26,.25);
  box-shadow:0 0 30px rgba(255,122,26,.12);
}
.uptime-ring span{font-size:16px;font-weight:800;color:#fff}
.uptime-ring small{font-size:10px;color:var(--muted);margin-top:2px}
.status-list{display:flex;flex-direction:column;gap:8px}
.status-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 11px;border-radius:10px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);
  font-size:12.5px;color:var(--silver);
}
.live{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--ok);font-size:12px;font-weight:700;
  background:rgba(61,222,138,.08);border:1px solid rgba(61,222,138,.2);
  padding:6px 10px;border-radius:999px;
}
.badge{
  display:inline-block;padding:4px 8px;border-radius:999px;
  font-size:10.5px;font-weight:700;letter-spacing:.2px;margin:2px 2px 2px 0;
}
.badge-sent{background:rgba(61,222,138,.12);color:#3dde8a;border:1px solid rgba(61,222,138,.25)}
.badge-fail{background:rgba(255,107,107,.12);color:#ff8f8f;border:1px solid rgba(255,107,107,.25)}
.badge-skip{background:rgba(255,193,77,.12);color:#ffc14d;border:1px solid rgba(255,193,77,.25)}
.badge-wait{background:rgba(255,255,255,.06);color:#aab6c2;border:1px solid rgba(255,255,255,.1)}
.dest-list{display:flex;flex-wrap:wrap;gap:4px}
.muted, small.muted{color:var(--muted2);font-size:11px}
.event-row{cursor:pointer}
.event-row:hover td{background:rgba(255,122,26,.04)}

/* old cards fallback */
.cards .card span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-weight:700}
.cards .card b{display:block;margin-top:8px;font-size:28px;color:#fff}

/* ===== Sidebar premium ===== */
#app > aside{
  width:260px;
  background:linear-gradient(180deg, rgba(12,16,22,.88), rgba(8,11,16,.94));
  border-right:1px solid rgba(255,255,255,.07);
}
.side-brand{padding:6px 8px 14px;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:10px}
.side-brand .brand{height:40px;margin:0 auto;display:block}
#app > aside nav{gap:2px}
.nav-title{
  margin:14px 12px 6px;
  font-size:10px;letter-spacing:1.3px;color:#667582;font-weight:800;
}
.nav-btn{
  display:flex !important;align-items:center;gap:12px;
  width:100%;text-align:left;
  background:transparent;border:1px solid transparent;
  color:#b7c2cc;padding:11px 12px;border-radius:12px;
  cursor:pointer;font-size:13px;font-weight:600;margin:2px 0;
  position:relative;transition:all .15s ease;
}
.nav-btn span{line-height:1.2}
.nav-ico{
  width:18px;height:18px;flex-shrink:0;opacity:.85;
}
.nav-btn:hover{
  background:rgba(255,255,255,.04);
  color:#fff;border-color:rgba(255,255,255,.05);
}
.nav-btn.active{
  background:linear-gradient(90deg, rgba(255,122,26,.16), rgba(255,122,26,.04));
  color:#fff;
  border-color:rgba(255,122,26,.28);
  box-shadow:inset 3px 0 0 #ff7a1a;
}
.nav-btn.active .nav-ico{opacity:1;color:#ff9a3c;stroke:#ff9a3c}
.side-bottom{margin-top:auto;padding-top:12px;display:flex;flex-direction:column;gap:8px}
.user-card{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
}
.user-avatar{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;color:#140c05;
  background:linear-gradient(135deg,#ff7a1a,#ff9a3c);
  box-shadow:0 6px 16px rgba(255,122,26,.25);
}
.user-name{font-size:13px;font-weight:700;color:#fff}
.user-role{font-size:11px;color:#ff9a3c;margin-top:2px;font-weight:600;letter-spacing:.3px}
.logout-btn{color:#9aa7b3 !important}
.logout-btn:hover{color:#ff8f8f !important;background:rgba(255,107,107,.08) !important;border-color:rgba(255,107,107,.2) !important}
.env{
  font-size:11px;color:#667582;padding:8px 10px;border-radius:10px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);
  display:flex;align-items:center;gap:8px;
}
.env-dot{
  width:7px;height:7px;border-radius:50%;background:#3dde8a;
  box-shadow:0 0 8px #3dde8a;display:inline-block;
}

/* Device breakdown */
.device-panel{display:flex;flex-direction:column;align-items:stretch}
.donut-wrap{position:relative;width:220px;height:220px;margin:4px auto 12px}
.donut-wrap canvas{width:220px;height:220px;display:block}
.donut-center{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  pointer-events:none;
}
.donut-center strong{font-size:26px;font-weight:800;color:#fff;line-height:1}
.donut-center span{font-size:11px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.4px}
.device-legend{display:flex;flex-direction:column;gap:8px}
.legend-row{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:10px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);
  font-size:12.5px;color:var(--silver);
}
.legend-row b{margin-left:auto;color:#fff}
.legend-pct{color:var(--muted);min-width:36px;text-align:right}
.legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.legend-empty{text-align:center;color:var(--muted);font-size:12px;padding:12px}

/* ===== Professional split login ===== */
.login-screen{
  min-height:100vh;padding:0;display:block;position:relative;overflow:hidden;
}
.login-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(900px 500px at 18% 30%, rgba(255,122,26,.18), transparent 60%),
    radial-gradient(700px 400px at 85% 70%, rgba(255,154,60,.1), transparent 55%),
    radial-gradient(circle at 30% 40%, rgba(255,255,255,.03) 0 1px, transparent 1.5px),
    linear-gradient(135deg, #07090d 0%, #0b1018 45%, #0a0e14 100%);
  background-size:auto, auto, 48px 48px, auto;
}
.login-bg::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(rgba(255,122,26,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,122,26,.05) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse at 30% 45%, #000 10%, transparent 70%);
  opacity:.45;
}
.login-bg::after{
  content:"";position:absolute;left:8%;top:18%;width:420px;height:420px;border-radius:50%;
  border:1px solid rgba(255,122,26,.12);
  box-shadow:
    0 0 0 40px rgba(255,122,26,.04),
    0 0 0 90px rgba(255,122,26,.025),
    inset 0 0 80px rgba(255,122,26,.06);
  opacity:.9;
}
.login-shell{
  position:relative;z-index:1;min-height:100vh;
  display:grid;grid-template-columns:1.15fr .85fr;gap:24px;
  align-items:center;padding:40px clamp(20px,5vw,64px);
  max-width:1200px;margin:0 auto;
}
.login-hero{color:#e8eef4;padding-right:12px}
 .hero-logo{height:108px;object-fit:contain;margin-bottom:26px;filter:drop-shadow(0 10px 24px rgba(255,122,26,.3))}
.login-hero h1{
  margin:0;font-size:clamp(28px,4vw,40px);line-height:1.15;font-weight:800;color:#f4f7fa;
  letter-spacing:-.4px;
}
.login-hero h1 span{
  background:linear-gradient(90deg,#ff9a3c,#ff7a1a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-desc{margin:16px 0 28px;color:#8b98a5;font-size:15px;line-height:1.6;max-width:520px}
.hero-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.hero-features li{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px 14px;border-radius:14px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
}
.hf-ico{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,122,26,.12);border:1px solid rgba(255,122,26,.22);
  color:#ff9a3c;font-size:14px;font-weight:800;
}
.hero-features strong{display:block;color:#fff;font-size:13.5px;margin-bottom:2px}
.hero-features small{color:#8b98a5;font-size:12px;line-height:1.4}
.hero-copy{margin:28px 0 0;color:#5d6f7c;font-size:12px}

.login-panel{display:flex;justify-content:center}
.login-panel .login-card{
  width:min(400px,100%);
  margin:0;
}
.login-panel .login-brand h2{
  margin:0;text-align:center;font-size:26px;font-weight:800;color:#fff;
}
.login-panel .login-tagline{margin-top:8px}

@media(max-width:900px){
  .login-screen{overflow:auto;}
  .login-shell{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    padding:max(16px, env(safe-area-inset-top)) 18px max(16px, env(safe-area-inset-bottom));
    gap:12px;
    align-content:center;
    justify-items:center;
    min-height:100vh;
  }
  .login-hero{
    order:1;
    text-align:center;
    padding:0;
    width:100%;
  }
  .login-panel{
    order:2;
    width:100%;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    min-height:0;
  }
  .login-bg::after{display:none;}
  .hero-logo{
    height:84px;
    margin:0 auto 10px;
    display:block;
  }
  .login-hero h1{
    font-size:18px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.2px;
  }
  .login-hero h1 br{display:block;}
  .hero-desc,
  .hero-features,
  .hero-copy{display:none !important;}
  .login-panel .login-card{
    width:100%;
    max-width:400px;
    margin:0 auto;
    padding:16px 16px 14px;
    border-radius:12px;
    background:#121821 !important;
    border:1px solid #243041 !important;
    box-shadow:0 10px 28px rgba(0,0,0,.35) !important;
    backdrop-filter:none !important;
  }
  .login-panel .login-brand{margin-bottom:12px;}
  .login-panel .login-brand h2{
    font-size:18px;
    font-weight:700;
    letter-spacing:.2px;
  }
  .login-panel .login-tagline{
    font-size:11.5px;
    margin-top:3px;
    color:#8b96a3;
  }
  .login-panel .login-form{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .login-panel .field-label{
    font-size:10.5px;
    letter-spacing:.4px;
    margin:4px 0 0;
  }
  .login-panel .login-form input,
  .login-panel .pass-wrap input{
    min-height:42px;
    padding:10px 12px;
    font-size:14px;
    border-radius:8px;
  }
  .login-panel .btn-primary,
  .login-panel #loginBtn{
    margin-top:8px;
    min-height:42px;
    border-radius:8px;
    font-size:14px;
    font-weight:700;
  }
  .login-foot{
    margin-top:10px;
    font-size:11px;
    color:#6d7b88;
  }
}

@media(max-width:900px){
  .login-foot::after{
    content:" · © 2026 BM138";
  }
}



/* =========================================================
   ADMIN DASHBOARD — Solid Professional (no glass)
   Clean SaaS surfaces, BM138 orange accents
   ========================================================= */
#app, #app.layout{
  background:#0b0e13 !important;
}
#app > aside{
  background:#0f131a !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-right:1px solid #1c2430 !important;
  box-shadow:none !important;
}
#app > main{
  background:#0b0e13 !important;
}
#app > main > header h1{color:#f3f5f7}
#app > main > header p{color:#8b96a3}

#app .panel,
#app .kpi-card,
#app .project-row,
#app .detail-box,
#app .modal-card,
#app .table-wrap,
#app .user-card,
#app .env,
#app .pipe-step,
#app .status-row,
#app .legend-row{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#app .panel,
#app .kpi-card{
  background:#121821 !important;
  border:1px solid #1e2733 !important;
  box-shadow:0 1px 0 rgba(255,255,255,.02), 0 8px 24px rgba(0,0,0,.25) !important;
  border-radius:14px !important;
}
#app .kpi-card::after{
  background:radial-gradient(circle, rgba(255,122,26,.12), transparent 70%) !important;
  opacity:.7;
}
#app .kpi-value{color:#ffffff !important}
#app .kpi-label{color:#8b96a3 !important}
#app .kpi-sub{color:#6b7684 !important}
#app .kpi-icon{
  background:#1a222d !important;
  border:1px solid #2a3442 !important;
}

#app .pipe-step{
  background:#161c26 !important;
  border:1px solid #243041 !important;
}
#app .pipe-step.pipe-core{
  background:#1a160f !important;
  border-color:#3d2a14 !important;
  box-shadow:0 0 0 1px rgba(255,122,26,.15) !important;
}
#app .pipe-orb{
  background:#1a222d !important;
  border:1px solid #2a3442 !important;
}
#app .pipe-orb.core{
  background:linear-gradient(145deg,#2a1c0e,#1a140c) !important;
  border-color:#ff7a1a55 !important;
  box-shadow:0 0 16px rgba(255,122,26,.15) !important;
}

#app th{
  background:#161c26 !important;
  color:#8b96a3 !important;
  border-bottom:1px solid #243041 !important;
}
#app td{
  border-bottom:1px solid #1a222d !important;
  color:#c5ced8 !important;
}
#app tr:hover td{background:#161c26 !important}
#app .table-wrap{
  background:#121821 !important;
  border:1px solid #1e2733 !important;
}

#app .nav-btn{
  color:#a7b1bd !important;
}
#app .nav-btn:hover{
  background:#171d27 !important;
  color:#fff !important;
  border-color:#243041 !important;
}
#app .nav-btn.active{
  background:#1a160f !important;
  border-color:#3d2a14 !important;
  color:#fff !important;
  box-shadow:inset 3px 0 0 #ff7a1a !important;
}

#app .user-card,
#app .env{
  background:#161c26 !important;
  border:1px solid #243041 !important;
}

#app .btn-sm{
  background:linear-gradient(100deg,#ff7a1a,#ff9a3c) !important;
  color:#140c05 !important;
  border:0 !important;
  box-shadow:0 6px 16px rgba(255,122,26,.2) !important;
}
#app .btn-xs{
  background:#1a222d !important;
  border:1px solid #2a3442 !important;
  color:#d5dde6 !important;
}
#app .btn-xs:hover{
  border-color:#ff7a1a55 !important;
  color:#fff !important;
  background:#221a12 !important;
}

#app .modal{
  background:rgba(6,8,12,.72) !important;
  backdrop-filter:blur(4px) !important;
}
#app .modal-card{
  background:#121821 !important;
  border:1px solid #2a3442 !important;
  box-shadow:0 24px 60px rgba(0,0,0,.55) !important;
}

#app .live{
  background:#122019 !important;
  border:1px solid #1e3a2c !important;
  color:#3dde8a !important;
}
#app .status-pill{
  background:#122019 !important;
  border:1px solid #1e3a2c !important;
  color:#3dde8a !important;
}

#app .device-panel .donut-wrap{
  filter:none;
}
#app .legend-row{
  background:#161c26 !important;
  border:1px solid #243041 !important;
}

#app .section-sub,
#app .panel-head h2,
#app .panel > h2{
  color:#c5ced8;
}
#app .panel > h2,
#app .panel-head h2{
  color:#e8eef4 !important;
}

/* inputs inside app */
#app input, #app select, #app textarea{
  background:#0e131a !important;
  border:1px solid #2a3442 !important;
  color:#e8eef4 !important;
}
#app input:focus, #app select:focus, #app textarea:focus{
  border-color:#ff7a1a88 !important;
  box-shadow:0 0 0 3px rgba(255,122,26,.12) !important;
}

/* Attention panel */
.attention-list{display:flex;flex-direction:column;gap:8px}
.attention-empty{
  padding:16px;text-align:center;color:#8b96a3;font-size:13px;
  background:#161c26;border:1px dashed #2a3442;border-radius:12px;
}
.attention-item{
  padding:12px 14px;border-radius:12px;border:1px solid #243041;background:#161c26;
}
.attention-item.att-fail{border-color:rgba(255,107,107,.28);background:#1a1214}
.attention-item.att-skip{border-color:rgba(255,193,77,.22);background:#1a1710}
.att-main{display:flex;flex-direction:column;gap:4px}
.att-main b{color:#fff;font-size:13px}
.att-main span{color:#8b96a3;font-size:12px}
.att-meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:11px;color:#6b7684}
.att-err{margin-top:8px;font-size:12px;color:#ff8f8f;line-height:1.4}
.attention-panel.is-clean .live{color:#3dde8a}

.pipe-count{font-size:22px;font-weight:800;color:#fff;margin-top:8px;letter-spacing:-.3px}
.gtm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:900px){.gtm-grid{grid-template-columns:1fr}}
.code-block{
  white-space:pre-wrap;background:#0e131a;border:1px solid #2a3442;border-radius:12px;
  padding:14px;color:#d5dde6;font-size:12px;line-height:1.5;overflow:auto;
}

/* Confirm modal */
.confirm-card{text-align:center;max-width:420px}
.confirm-icon{font-size:32px;margin:4px 0 10px}
.confirm-card h2{text-align:center;margin:0 0 8px}
.confirm-card #confirmMessage{text-align:center;margin:0 0 18px;line-height:1.5;color:#9aa7b3}
.confirm-actions{display:flex;gap:10px;justify-content:center}
.confirm-actions .btn-ghost,
.btn-ghost{
  background:transparent;border:1px solid #2a3442;color:#c5ced8;
  border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer;
}
.btn-ghost:hover{border-color:#3d4b5c;color:#fff}
.btn-danger-solid{
  background:linear-gradient(100deg,#e25555,#ff6b6b)!important;
  color:#fff!important;border:0!important;
  box-shadow:0 8px 20px rgba(226,85,85,.25)!important;
}
.confirm-actions .btn-sm{width:auto;min-width:120px;margin-top:0}

/* Copy row in confirm modal */
.confirm-copy-wrap{
  display:flex;align-items:center;gap:8px;
  margin:0 0 16px;padding:10px 12px;
  background:#0e131a;border:1px solid #2a3442;border-radius:10px;
  text-align:left;
}
.confirm-copy-wrap.hidden{display:none !important}
.confirm-copy-value{
  flex:1;font-size:12px;color:#d5dde6;word-break:break-all;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.confirm-copy-btn{flex-shrink:0;white-space:nowrap}

/* Toast */
.toast-host{
  position:fixed;top:18px;right:18px;z-index:9999;
  display:flex;flex-direction:column;gap:10px;pointer-events:none;
}
.toast{
  pointer-events:auto;
  min-width:260px;max-width:380px;
  display:flex;align-items:flex-start;gap:10px;
  padding:12px 14px;border-radius:12px;
  background:#121821;border:1px solid #2a3442;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
  color:#e8eef4;font-size:13px;font-weight:600;
  opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;
}
.toast.show{opacity:1;transform:translateY(0)}
.toast-success{border-color:rgba(61,222,138,.35)}
.toast-error{border-color:rgba(255,107,107,.35)}
.toast-icon{font-size:16px;line-height:1.2}
.toast-msg{line-height:1.4}

.boot-splash{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  background:#070b10;
}
.boot-splash.hidden{display:none !important}
.boot-splash-inner{text-align:center;color:#8b96a3}
.boot-logo{height:48px;width:auto;margin:0 auto 18px;display:block}
.boot-spinner{
  width:28px;height:28px;margin:0 auto 12px;
  border:2px solid #243041;border-top-color:#f5a623;border-radius:50%;
  animation:bootSpin .7s linear infinite;
}
@keyframes bootSpin{to{transform:rotate(360deg)}}
.boot-splash-inner p{font-size:13px;margin:0}


/* GTM catalog */
.gtm-choice-row{display:flex;flex-wrap:wrap;gap:8px}
.gtm-chip{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:var(--text,#e7eef7);
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  cursor:pointer;
  transition:.15s ease;
}
.gtm-chip:hover{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.08)}
.gtm-chip.active{
  border-color:rgba(56,189,248,.7);
  background:linear-gradient(135deg,rgba(56,189,248,.22),rgba(99,102,241,.18));
  box-shadow:0 0 0 1px rgba(56,189,248,.15);
}
.gtm-var-list{display:flex;flex-direction:column;gap:6px}
.gtm-var-item{
  display:flex;justify-content:space-between;gap:10px;
  font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)
}
.gtm-var-item span:first-child{color:var(--muted,#8b98a5)}
.gtm-var-item code{font-size:12px}
.gtm-script-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gtm-steps{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:var(--muted,#8b98a5)}
.gtm-steps ol{margin:8px 0 0 18px;padding:0}
.gtm-steps li{margin:4px 0}

/* Events monitor toolbar */
.events-toolbar{margin:0 0 12px}
.events-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.events-filters .flt{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted,#8b98a5)}
.events-filters .flt input,
.events-filters .flt select{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  color:inherit;border-radius:8px;padding:7px 10px;min-width:120px;font-size:13px
}
.events-filters .flt-search input{min-width:180px}
.flt-shortcuts{display:flex;gap:6px;align-items:center;padding-bottom:2px}
.events-pager{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
  margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font-size:13px
}
.events-pager .pager-left,.events-pager .pager-right{display:flex;align-items:center;gap:10px}
.events-pager select{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);
  color:inherit;border-radius:6px;padding:4px 8px
}
.pager-num{min-width:64px;text-align:center;color:var(--muted,#8b98a5)}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.14)}


/* date picker icon fix */
.events-filters .flt input[type="date"]{
  color-scheme: dark;
  min-width: 150px;
  padding-right: 8px;
}
.events-filters .flt input[type="date"]::-webkit-calendar-picker-indicator{
  opacity: 1 !important;
  cursor: pointer;
  /* force white icon */
  filter: invert(1) brightness(2) contrast(1.2);
  width: 18px;
  height: 18px;
  padding: 3px;
  margin-left: 4px;
  border-radius: 4px;
  background-color: transparent;
}
.events-filters .flt input[type="date"]::-webkit-calendar-picker-indicator:hover{
  filter: invert(1) brightness(2.2);
  background-color: rgba(255,255,255,.08);
}
.events-filters .flt input[type="date"]::-webkit-datetime-edit,
.events-filters .flt input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.events-filters .flt input[type="date"]::-webkit-datetime-edit-text,
.events-filters .flt input[type="date"]::-webkit-datetime-edit-month-field,
.events-filters .flt input[type="date"]::-webkit-datetime-edit-day-field,
.events-filters .flt input[type="date"]::-webkit-datetime-edit-year-field{
  color: #e8eef5;
}

.chart-wrap{width:100%;padding:4px 8px 12px;box-sizing:border-box}
.chart-wrap canvas{width:100%!important;height:280px!important;display:block}

.chart-wrap{position:relative}
.chart-tip{
  position:absolute;z-index:20;pointer-events:none;
  min-width:180px;padding:10px 12px;border-radius:10px;
  background:rgba(12,16,24,.94);border:1px solid rgba(255,255,255,.1);
  box-shadow:0 8px 24px rgba(0,0,0,.35);color:#e8eef5;font-size:12px;
}
.chart-tip.hidden{display:none}
.chart-tip-title{font-weight:600;margin-bottom:8px;color:#ffb070}
.chart-tip-row{display:flex;justify-content:space-between;gap:16px;padding:2px 0;color:#9aa8b5}
.chart-tip-row b{color:#e8eef5;font-weight:600}


/* ===== MOBILE / HAMBURGER ===== */
.btn-hamburger{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;
  gap:5px;width:42px;height:42px;flex-shrink:0;
  border-radius:10px;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);cursor:pointer;padding:0;
}
.btn-hamburger span{
  display:block;width:18px;height:2px;border-radius:2px;
  background:#e8eef5;transition:transform .2s,opacity .2s;
}
.header-left{display:flex;align-items:flex-start;gap:12px;min-width:0}
.side-backdrop{
  display:none;position:fixed;inset:0;z-index:90;
  background:rgba(0,0,0,.55);backdrop-filter:blur(2px);
}
.side-backdrop.show{display:block}

@media (max-width: 900px){
  .btn-hamburger{display:inline-flex}
  #app.layout, .layout{position:relative}
  #app > aside{
    position:fixed;left:0;top:0;bottom:0;z-index:100;
    width:min(280px,86vw)!important;
    height:100vh;height:100dvh;
    transform:translateX(-105%);
    transition:transform .25s ease;
    box-shadow:none;
  }
  body.side-open #app > aside{
    transform:translateX(0);
    box-shadow:12px 0 40px rgba(0,0,0,.45);
  }
  body.side-open .btn-hamburger span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  body.side-open .btn-hamburger span:nth-child(2){opacity:0}
  body.side-open .btn-hamburger span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  #app > main{padding:14px 14px 32px;width:100%}
  #app > main > header{
    flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;
  }
  #app > main > header h1{font-size:16px;line-height:1.35}
  #app > main > header p{font-size:12px}
  .status-pill{font-size:11px;padding:6px 10px}
  .kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .kpi-card{padding:12px!important}
  .kpi-value{font-size:20px!important}
  .kpi-label{font-size:11px!important}
  .table-wrap, .event-table-wrap{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    margin:0 -4px;padding-bottom:4px;
  }
  table.data, table.event-table, .table-wrap table{
    min-width:720px;
  }
  .panel{padding:12px!important;border-radius:12px}
  .panel-head{flex-wrap:wrap;gap:8px}
  .events-filters{
    flex-wrap:wrap;gap:8px!important;
  }
  .events-filters .flt{min-width:0}
  .events-filters input[type="date"],
  .events-filters input[type="search"],
  .events-filters select{max-width:100%}
  .events-pager{flex-wrap:wrap;gap:8px}
  .chart-wrap canvas{height:220px!important}
  .pipe-row, .pipeline, #pipeRow{
    flex-wrap:wrap;overflow-x:auto;
  }
  .gtm-grid, .gtm-layout{grid-template-columns:1fr!important}
  #gtmSample, .code-block, pre{
    font-size:11px;max-width:100%;overflow-x:auto;
  }
}

@media (max-width: 480px){
  .kpi-grid{grid-template-columns:1fr!important}
  #app > main{padding:12px 10px 28px}
  #app > main > header h1{font-size:15px}
  .login-shell, .auth-wrap .login-shell{
    padding:12px!important;
  }
}

.settings-tabs{display:flex;gap:8px;margin-bottom:14px}
.settings-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  border-radius:14px;padding:16px 18px;
}
.settings-card h3{margin:0 0 8px;font-size:15px}
.settings-key-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.settings-key-row code{
  flex:1;min-width:180px;padding:10px 12px;border-radius:8px;
  background:rgba(0,0,0,.35);font-size:12px;word-break:break-all;
}
.settings-notes{margin:8px 0 0;padding-left:18px;color:#8b98a5;font-size:12px;line-height:1.5}
.settings-route-grid{display:grid;gap:8px;margin-top:10px}
.settings-route-grid div{
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;
  padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.2);font-size:13px;
}
.settings-route-grid span{color:#8b98a5}

.btn-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;padding:0;border-radius:10px;cursor:pointer;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  color:#c5d0da;transition:background .15s,color .15s,border-color .15s;
}
.btn-icon:hover{background:rgba(255,114,0,.15);color:#ffb070;border-color:rgba(255,114,0,.35)}
.btn-icon .ico-eye.hidden{display:none}
.settings-key-row code{
  letter-spacing:.02em;
}

.by-project-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
}
.by-project-card{
  border:1px solid rgba(255,255,255,.08);border-radius:14px;
  background:rgba(255,255,255,.03);padding:14px 16px;
}
.by-project-card .bp-head{
  display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;
}
.by-project-card .bp-name{font-weight:600;font-size:14px}
.by-project-card .bp-plat{
  font-size:11px;padding:3px 8px;border-radius:999px;
  background:rgba(255,114,0,.15);color:#ffb070;
}
.by-project-card .bp-plat.tt{background:rgba(82,237,147,.12);color:#7dffa8}
.by-project-card .bp-metrics{
  display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;
}
.by-project-card .bp-metrics div{display:flex;flex-direction:column;gap:2px}
.by-project-card .bp-metrics span{font-size:11px;color:#8b98a5}
.by-project-card .bp-metrics b{font-size:16px;font-weight:650;color:#e8eef5}
.by-project-card .bp-nominal{grid-column:1/-1;margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}

.events-summary-grid{margin:0 0 14px}


/* ===== BM138 PRO POLISH v1 ===== */
/* Visual only — no logic changes */

:root{
  --ctrl-h:36px;
  --ctrl-px:14px;
  --ctrl-radius:10px;
  --ctrl-fs:12.5px;
  --ctrl-fw:600;
  --surface:#0e141c;
  --surface2:#121a24;
  --line:rgba(255,255,255,.07);
  --line2:rgba(255,255,255,.11);
  --text:#e8eef4;
  --text-dim:#8b98a5;
}

/* ---------- Unified controls ---------- */
.btn-sm,
.btn-xs,
.btn-primary,
.btn-ghost,
button.btn-sm,
button.btn-xs,
button.btn-primary,
button.btn-ghost,
.filters-bar button,
.events-toolbar button,
.toolbar button,
.range-btn,
button[data-range],
.gtm-chip,
.chip,
#evApply,
#evExport,
#evReset,
#evPrev,
#evNext,
.events-pager button,
.pager-right button{
  box-sizing:border-box !important;
  height:var(--ctrl-h) !important;
  min-height:var(--ctrl-h) !important;
  padding:0 var(--ctrl-px) !important;
  border-radius:var(--ctrl-radius) !important;
  font-size:var(--ctrl-fs) !important;
  font-weight:var(--ctrl-fw) !important;
  letter-spacing:.2px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  cursor:pointer !important;
  border:1px solid transparent !important;
  transition:background .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease !important;
  white-space:nowrap !important;
}

#evApply,
.btn-primary,
button.btn-sm:not(.btn-ghost):not(.btn-xs){
  background:linear-gradient(180deg,#ff8a2b,#ff6a00) !important;
  color:#0b0f14 !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset, 0 6px 16px rgba(255,122,26,.18) !important;
}
#evApply:hover,
.btn-primary:hover{
  filter:brightness(1.05);
}

#evExport,
#evReset,
.btn-ghost,
.btn-xs,
#evPrev,
#evNext,
button[data-range],
.range-btn{
  background:rgba(255,255,255,.03) !important;
  color:var(--text) !important;
  border-color:var(--line2) !important;
  box-shadow:none !important;
}
#evExport:hover,
#evReset:hover,
.btn-ghost:hover,
button[data-range]:hover,
#evPrev:hover,
#evNext:hover{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.16) !important;
}

button[data-range].active,
.range-btn.active,
.gtm-chip.active{
  background:rgba(255,122,26,.14) !important;
  border-color:rgba(255,122,26,.4) !important;
  color:#ffb070 !important;
}

/* Inputs / selects same height as buttons */
.filters-bar input,
.filters-bar select,
.events-toolbar input,
.events-toolbar select,
.toolbar input,
.toolbar select,
#evFrom, #evTo, #evProject, #evName, #evStatus, #evQ, #evLimit,
.panel select, .panel input[type=text], .panel input[type=search],
.panel input[type=date], .panel input:not([type=checkbox]):not([type=radio]):not([type=hidden]){
  box-sizing:border-box !important;
  height:var(--ctrl-h) !important;
  min-height:var(--ctrl-h) !important;
  border-radius:var(--ctrl-radius) !important;
  font-size:13px !important;
  padding:0 12px !important;
  background:rgba(5,10,16,.55) !important;
  border:1px solid var(--line2) !important;
  color:var(--text) !important;
}

/* ---------- Shell / layout breathing room ---------- */
.shell, .app-shell, #app{
  background:radial-gradient(1200px 600px at 10% -10%, rgba(255,122,26,.07), transparent 50%),
             radial-gradient(900px 500px at 100% 0%, rgba(80,120,180,.06), transparent 45%),
             var(--bg0) !important;
}

.sidebar, aside.sidebar, .nav-side{
  border-right:1px solid var(--line) !important;
  background:linear-gradient(180deg, #0a0e14 0%, #080b10 100%) !important;
}

.nav-btn{
  border-radius:10px !important;
  margin:2px 10px !important;
  padding:10px 12px !important;
  font-size:13px !important;
  font-weight:500 !important;
  color:var(--text-dim) !important;
  border:1px solid transparent !important;
}
.nav-btn:hover{
  background:rgba(255,255,255,.04) !important;
  color:var(--text) !important;
}
.nav-btn.active{
  background:rgba(255,122,26,.1) !important;
  border-color:rgba(255,122,26,.22) !important;
  color:#ffc08a !important;
}

.main, .content, .main-content, #main{
  padding:22px 24px 32px !important;
}

.topbar, .page-head, .hero-row, .welcome-row{
  margin-bottom:18px !important;
}

/* ---------- Cards / panels ---------- */
.panel, .card, .settings-card, .section-card,
.events-summary-card, .project-kpi-card, .kpi-card,
#eventsSummaryGrid > div, .summary-card{
  background:linear-gradient(165deg, rgba(255,255,255,.04), rgba(255,255,255,.015)) !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.25) !important;
}

.section-title, .panel h2, .view h2, .card h2{
  font-size:15px !important;
  font-weight:650 !important;
  letter-spacing:.3px !important;
  color:var(--text) !important;
}
.section-sub, .panel .muted, .card .muted{
  color:var(--text-dim) !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
}

/* Events summary KPI cards */
#eventsSummaryGrid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap:14px !important;
  margin-bottom:16px !important;
}
#eventsSummaryGrid > div{
  padding:16px 18px !important;
}

/* ---------- Filter bar ---------- */
.filters-bar, .events-filters, .toolbar.events, .events-toolbar,
.view-events .filters, #eventsFilters{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  gap:10px 10px !important;
  padding:14px 14px !important;
  margin-bottom:14px !important;
  background:rgba(255,255,255,.02) !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
}
.filters-bar label,
.events-toolbar label{
  font-size:10.5px !important;
  text-transform:uppercase !important;
  letter-spacing:.45px !important;
  color:var(--text-dim) !important;
  font-weight:600 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

/* ---------- Table (product-grade) ---------- */
.table-wrap, .event-table-wrap{
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  overflow:auto !important;
  background:rgba(0,0,0,.18) !important;
}
.event-table, table.event-table, .data, table.data{
  border-collapse:separate !important;
  border-spacing:0 !important;
  width:100% !important;
}
.event-table thead th,
table.event-table thead th,
.data thead th{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  background:#121a24 !important;
  color:var(--text-dim) !important;
  font-size:10.5px !important;
  font-weight:650 !important;
  text-transform:uppercase !important;
  letter-spacing:.4px !important;
  padding:12px 12px !important;
  border-bottom:1px solid var(--line2) !important;
  white-space:nowrap !important;
}
.event-table tbody td,
table.event-table tbody td,
.data tbody td{
  padding:12px 12px !important;
  font-size:12.5px !important;
  border-bottom:1px solid rgba(255,255,255,.04) !important;
  color:var(--text) !important;
  vertical-align:middle !important;
}
.event-table tbody tr:hover td,
.data tbody tr:hover td{
  background:rgba(255,255,255,.025) !important;
}

/* Status badges */
.badge, .status-pill, .dest-pill, [class*="META"], .tag-sent{
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:650 !important;
  padding:4px 10px !important;
  letter-spacing:.2px !important;
}

/* Pager */
.events-pager, .pager{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:12px 4px 0 !important;
  margin-top:8px !important;
}
#evPageInfo, .pager-num, #evPageNum{
  font-size:12.5px !important;
  color:var(--text-dim) !important;
  font-variant-numeric:tabular-nums !important;
}

/* Live badge */
.live, span.live{
  font-size:11px !important;
  font-weight:650 !important;
  letter-spacing:.3px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  border:1px solid rgba(61,222,138,.25) !important;
  background:rgba(61,222,138,.08) !important;
  color:#6dffb0 !important;
}

/* Modal polish */
.modal-card{
  border-radius:16px !important;
  border:1px solid var(--line2) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.55) !important;
}

/* Dashboard KPI row */
.kpi-grid, .stats-row, .dash-kpis{
  gap:14px !important;
}

/* Subtle: reduce noisy gradients on dense areas */
.panel .panel{
  box-shadow:none !important;
}

/* Mobile already has hamburger — keep touch targets */
@media (max-width:900px){
  :root{ --ctrl-h:38px; }
  .main, .content, .main-content, #main{ padding:14px 12px 24px !important; }
}


/* ===== BM138 DASHBOARD POLISH v1 ===== */
/* Visual only — KPI / By Project / Attention / Pipeline */

#view-dashboard{
  display:flex;
  flex-direction:column;
  gap:16px;
}

/* Equal KPI grid — no orphan 5+2 look */
#view-dashboard .kpi-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:12px !important;
  margin:0 !important;
}
@media (max-width:1200px){
  #view-dashboard .kpi-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width:820px){
  #view-dashboard .kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width:520px){
  #view-dashboard .kpi-grid{
    grid-template-columns:1fr !important;
  }
}

#view-dashboard .kpi-card{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:16px 16px 14px !important;
  min-height:108px !important;
  background:linear-gradient(165deg, rgba(255,255,255,.05), rgba(255,255,255,.015)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.22) !important;
  position:relative !important;
  overflow:hidden !important;
}
#view-dashboard .kpi-card::after{
  content:"";
  position:absolute; left:0; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg, rgba(255,122,26,.55), rgba(255,122,26,.05));
  opacity:.85;
}
#view-dashboard .kpi-icon{
  width:36px; height:36px;
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  flex-shrink:0;
}
#view-dashboard .kpi-body{ min-width:0; flex:1; }
#view-dashboard .kpi-label{
  font-size:10.5px !important;
  font-weight:650 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  color:#8b98a5 !important;
  margin:0 0 6px !important;
  line-height:1.2 !important;
}
#view-dashboard .kpi-value{
  font-size:26px !important;
  font-weight:700 !important;
  letter-spacing:-.3px !important;
  color:#eef3f8 !important;
  line-height:1.1 !important;
  font-variant-numeric:tabular-nums !important;
}
#view-dashboard .kpi-sub{
  margin-top:6px !important;
  font-size:11.5px !important;
  color:#7a8794 !important;
  line-height:1.35 !important;
}

/* By Project block */
#view-dashboard .by-project-panel,
#view-dashboard .panel.by-project,
#view-dashboard #byProjectHost,
#view-dashboard .by-project-wrap{
  padding:16px 18px !important;
}
#view-dashboard .by-project-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:12px !important;
}
@media (max-width:900px){
  #view-dashboard .by-project-grid{
    grid-template-columns:1fr !important;
  }
}

/* Needs Attention — product alert, not raw error box */
#view-dashboard .attention-panel,
#view-dashboard #attentionList,
#view-dashboard .needs-attention{
  border-radius:14px !important;
}
#view-dashboard .attention-item,
#view-dashboard .attn-row,
#attentionList > div,
#attentionList .attn-card{
  border-radius:12px !important;
  border:1px solid rgba(255,107,107,.18) !important;
  background:linear-gradient(90deg, rgba(255,107,107,.1), rgba(255,107,107,.03) 55%, transparent) !important;
  padding:14px 16px !important;
  box-shadow:none !important;
}
#view-dashboard .panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
#view-dashboard .panel h2{
  margin:0 0 4px !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.45px !important;
  text-transform:uppercase !important;
  color:#e8eef4 !important;
}
#view-dashboard .section-sub{
  margin:0 !important;
  font-size:12px !important;
  color:#8b98a5 !important;
}

/* Pipeline + device row */
#view-dashboard .dash-secondary,
#view-dashboard .pipeline-row,
#view-dashboard section.grid-2{
  display:grid !important;
  grid-template-columns:1.4fr 1fr !important;
  gap:12px !important;
}
@media (max-width:980px){
  #view-dashboard .dash-secondary,
  #view-dashboard .pipeline-row,
  #view-dashboard section.grid-2{
    grid-template-columns:1fr !important;
  }
}

#view-dashboard .pipe-orb{
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.03) !important;
}
#view-dashboard .pipe-orb.active,
#view-dashboard .pipe-step.active .pipe-orb{
  border-color:rgba(255,122,26,.35) !important;
  background:rgba(255,122,26,.1) !important;
}

#view-dashboard .panel{
  background:linear-gradient(165deg, rgba(255,255,255,.04), rgba(255,255,255,.012)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.22) !important;
  padding:16px 18px !important;
}

#view-dashboard .chart-wrap{
  border-radius:12px !important;
  background:rgba(0,0,0,.15) !important;
  border:1px solid rgba(255,255,255,.05) !important;
  padding:8px !important;
}

/* Failed KPI subtle emphasis */
#view-dashboard .kpi-card:has(#kFailed)::after{
  background:linear-gradient(180deg, rgba(255,107,107,.55), rgba(255,107,107,.05));
}
#view-dashboard .kpi-card:has(#kRate)::after{
  background:linear-gradient(180deg, rgba(61,222,138,.5), rgba(61,222,138,.05));
}


/* ===== Analytics ===== */
.analytics-toolbar{
  display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px;
  padding:14px; margin-bottom:14px;
  background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.07); border-radius:14px;
}
.an-kpi-grid{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin-bottom:16px;
}
@media(max-width:1100px){ .an-kpi-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:720px){ .an-kpi-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.an-kpi{
  background:linear-gradient(165deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:14px 16px;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.an-kpi-wide{ grid-column: span 1; }
.an-kpi-label{ font-size:10.5px; font-weight:650; letter-spacing:.45px; text-transform:uppercase; color:#8b98a5; margin-bottom:6px; }
.an-kpi-value{ font-size:24px; font-weight:700; color:#eef3f8; font-variant-numeric:tabular-nums; letter-spacing:-.3px; }
.an-block{ margin-top:8px; margin-bottom:16px; }
.an-block-title{ margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#e8eef4; }
.an-country-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.an-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 12px; border-radius:999px; font-size:12px; color:#d7e0e9;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.1);
}
.an-chip b{ color:#ffb070; font-weight:700; }
.an-hour-wrap{ max-height:none; }
.an-hour-table td:nth-child(2),
.an-hour-table td:nth-child(3),
.an-hour-table td:nth-child(4){ font-variant-numeric:tabular-nums; text-align:center; }
.an-hour-table th:nth-child(2),
.an-hour-table th:nth-child(3),
.an-hour-table th:nth-child(4){ text-align:center; }
.an-plat.active{ background:rgba(255,122,26,.14)!important; border-color:rgba(255,122,26,.4)!important; color:#ffb070!important; }


.an-hour-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
@media(max-width:900px){.an-hour-grid{grid-template-columns:1fr;}}
.an-hour-wrap{overflow:hidden;}

.an-card{
  background:linear-gradient(165deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:16px 16px 14px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.an-card .an-block-title{ margin-bottom:12px; }
.an-card .table-wrap{ background:rgba(0,0,0,.16); border:1px solid rgba(255,255,255,.06); }

.an-hour-table th:nth-child(n+2), .an-hour-table td:nth-child(n+2){ text-align:center !important; font-variant-numeric:tabular-nums; }

.pass-toggle{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:36px; height:36px; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:0; color:#7d8b97;
  cursor:pointer; border-radius:8px;
}
.pass-toggle:hover{ color:#d5dee6; background:rgba(255,255,255,.04); }
.pass-toggle .eye-ico{ width:20px; height:20px; display:block; }
.pass-toggle .eye-ico.hidden,
.eye-ico.hidden{ display:none !important; }
.pass-wrap{ position:relative; }

.an-chip .an-flag{
  width:16px;height:12px;object-fit:cover;border-radius:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.12);
  flex-shrink:0;
}

.status-pill{
  display:inline-flex; align-items:center; gap:8px;
}
.status-dot{
  width:8px; height:8px; border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.7);
  animation:statusPulse 1.6s ease-out infinite;
  flex-shrink:0;
}
@keyframes statusPulse{
  0%{ box-shadow:0 0 0 0 rgba(34,197,94,.65); transform:scale(1); }
  70%{ box-shadow:0 0 0 8px rgba(34,197,94,0); transform:scale(1.05); }
  100%{ box-shadow:0 0 0 0 rgba(34,197,94,0); transform:scale(1); }
}

.chart-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chart-filters .chip-btn{
  border:1px solid #2a3544; background:#161c26; color:#c5ced6;
  border-radius:999px; padding:6px 12px; font-size:12px; font-weight:700; cursor:pointer;
}
.chart-filters .chip-btn.active{
  background:#ff7a1a; border-color:#ff7a1a; color:#111;
}
