:root{
  --bg:#040812; --bg2:#071026; --panel:rgba(9,18,40,.78); --panel2:rgba(7,14,32,.9);
  --ink:#e6f1ff; --muted:#a8c1e0; --line:rgba(120,180,255,.18);
  --cyan:#22d3ee; --violet:#8b5cf6; --pink:#f472b6; --green:#34d399; --amber:#fbbf24; --red:#fb7185;
  --glow:0 0 24px rgba(34,211,238,.18);
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{
  margin:0;min-height:100vh;color:var(--ink);
  font-family:"Segoe UI",Arial,sans-serif;
  background:
    linear-gradient(180deg, rgba(4,8,18,.70) 0%, rgba(4,8,18,.82) 55%, rgba(4,8,18,.92) 100%),
    radial-gradient(900px 520px at 8% -10%, rgba(34,211,238,.12), transparent 62%),
    radial-gradient(820px 520px at 92% -5%, rgba(139,92,246,.14), transparent 62%),
    radial-gradient(700px 420px at 50% 110%, rgba(244,114,182,.08), transparent 65%),
    url('/bg-network-blur.jpg?v=20261101e') center/cover no-repeat fixed,
    #040812;
  background-attachment:fixed;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(34,211,238,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,211,238,.055) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at 50% 0%,#000 0,transparent 72%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 0,transparent 72%);
}
body::after{
  content:"";position:fixed;width:520px;height:520px;right:-180px;top:-200px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.18),transparent 65%);
  filter:blur(20px);pointer-events:none;z-index:0;animation:orb 9s ease-in-out infinite alternate;
}
@keyframes orb{from{transform:translate3d(0,0,0) scale(.95);opacity:.65}to{transform:translate3d(-40px,30px,0) scale(1.08);opacity:.95}}
@media(prefers-reduced-motion:reduce){body::after{animation:none}}

header{
  position:relative;z-index:2;
  background:linear-gradient(135deg,rgba(5,12,28,.94),rgba(10,24,60,.88));
  border-bottom:1px solid rgba(34,211,238,.22);
  box-shadow:0 10px 40px rgba(0,0,0,.45), inset 0 -1px 0 rgba(139,92,246,.18);
  padding:16px;
  backdrop-filter:blur(14px);
}
.hwrap{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.brand h1{
  margin:0;font-size:26px;letter-spacing:.3px;font-weight:900;
  background:linear-gradient(90deg,#67e8f9,#a78bfa 55%,#f472b6);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 16px rgba(34,211,238,.25));
}
.brand .sub{font-size:12.5px;color:#cfe3ff;font-weight:600;margin-top:4px;letter-spacing:.2px}
nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
nav a{
  color:#e6f1ff;text-decoration:none;font-size:12.5px;font-weight:800;
  padding:8px 11px;border-radius:9px;
  background:rgba(120,180,255,.14);border:1px solid rgba(120,180,255,.34);
  transition:.15s;
}
nav a:hover{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.35);box-shadow:0 0 16px rgba(34,211,238,.12)}
nav a.active{background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#04111f;border-color:transparent;box-shadow:0 0 20px rgba(34,211,238,.35)}
.lang-switch{display:inline-flex;align-items:center;gap:6px;margin-inline-start:8px;vertical-align:middle}
.lang-switch button{
  border:1px solid rgba(120,180,255,.2);background:rgba(120,180,255,.08);color:#cfe3ff;
  border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer;
}
.lang-switch button.active{background:#e6f1ff;color:#04111f;border-color:#e6f1ff;box-shadow:0 0 14px rgba(230,241,255,.25)}
.logout-btn{
  border:1px solid rgba(251,113,133,.35);background:rgba(251,113,133,.08);color:#fecdd3;
  border-radius:8px;padding:6px 10px;font-size:11px;font-weight:800;cursor:pointer;
}
.logout-btn:hover{background:rgba(251,113,133,.16);box-shadow:0 0 16px rgba(251,113,133,.2)}

.wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:22px 16px 60px}
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(9,20,46,.82),rgba(12,26,60,.62));
  border:1px solid rgba(120,180,255,.2);border-radius:18px;padding:22px;
  box-shadow:0 18px 50px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(12px);margin-bottom:18px;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 0%,rgba(34,211,238,.08) 45%,transparent 60%);
  transform:translateX(-100%);animation:scan 7s linear infinite;
}
@keyframes scan{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none}}
.hero h2{margin:0 0 6px;font-size:22px;letter-spacing:.2px}
.hero p{margin:0;color:#a8c1e0;font-size:13.5px;line-height:1.6;max-width:900px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:820px){.cards{grid-template-columns:1fr}}
.card{
  position:relative;display:block;overflow:hidden;
  background:linear-gradient(150deg,rgba(10,22,48,.8),rgba(7,14,32,.72));
  border:1px solid rgba(120,180,255,.18);border-radius:18px;padding:20px;
  text-decoration:none;color:var(--ink);
  box-shadow:0 14px 36px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.03);
  transition:.18s;backdrop-filter:blur(10px);
}
.card::before{
  content:"";position:absolute;inset:-1px;border-radius:18px;pointer-events:none;
  background:linear-gradient(135deg,rgba(34,211,238,.45),transparent 42%,rgba(139,92,246,.45));
  opacity:0;transition:.18s;mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  -webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  -webkit-mask-composite:xor;mask-composite:exclude;padding:1px;
}
.card:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(0,0,0,.45),0 0 34px rgba(34,211,238,.12);border-color:rgba(34,211,238,.35)}
.card:hover::before{opacity:1}
.card .ico{font-size:30px;filter:drop-shadow(0 0 14px rgba(34,211,238,.45))}
.card h3{margin:8px 0 4px;font-size:19px;letter-spacing:.2px}
.card p{margin:0;color:#a8c1e0;font-size:13.5px;line-height:1.55}

.panel{
  background:linear-gradient(160deg,rgba(10,20,44,.82),rgba(6,13,30,.82));
  border:1px solid rgba(120,180,255,.18);border-radius:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;margin-bottom:16px;backdrop-filter:blur(12px);
}
.panel h2{
  margin:0;padding:14px 18px;font-size:17px;color:#e6f1ff;
  background:linear-gradient(90deg,rgba(34,211,238,.12),rgba(139,92,246,.08));
  border-bottom:1px solid rgba(120,180,255,.15);
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
}
.panel .body{padding:16px 18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:720px){.grid2,.grid3{grid-template-columns:1fr}}
label{display:block;font-size:11.5px;font-weight:800;color:#9db8dd;margin:0 0 5px;letter-spacing:.3px}
input,select,textarea{
  width:100%;border:1px solid rgba(120,180,255,.24);border-radius:10px;
  padding:10px 11px;font-size:14px;font-family:inherit;color:var(--ink);
  background:rgba(4,10,24,.78);outline:none;transition:.15s;
}
input::placeholder,textarea::placeholder{color:#5f7899}
select{appearance:none}
input:focus,select:focus,textarea:focus{
  border-color:rgba(34,211,238,.7);
  box-shadow:0 0 0 3px rgba(34,211,238,.12),0 0 22px rgba(34,211,238,.12);
}
textarea{min-height:90px;resize:vertical;font-family:"Consolas",monospace;font-size:13px}
.btn{border:0;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:800;cursor:pointer;transition:.15s}
.btn-primary{background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;box-shadow:0 0 22px rgba(34,211,238,.28)}
.btn-primary:hover{filter:brightness(1.08);box-shadow:0 0 28px rgba(139,92,246,.35)}
.btn-blue{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 0 20px rgba(37,99,235,.25)}
.btn-blue:hover{filter:brightness(1.08)}
.btn-light{background:rgba(120,180,255,.09);color:#cfe3ff;border:1px solid rgba(120,180,255,.2)}
.btn-light:hover{background:rgba(120,180,255,.15)}
.btn-red{background:rgba(251,113,133,.1);color:#fecdd3;border:1px solid rgba(251,113,133,.3)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.badge{font-size:10.5px;font-weight:900;letter-spacing:.7px;padding:5px 10px;border-radius:99px;text-transform:uppercase}
.badge.idle{background:rgba(148,163,184,.14);color:#cbd5e1;border:1px solid rgba(148,163,184,.2)}
.badge.connecting{background:rgba(251,191,36,.12);color:#fbbf24;border:1px solid rgba(251,191,36,.25)}
.badge.bound{background:rgba(52,211,153,.12);color:#34d399;border:1px solid rgba(52,211,153,.25);box-shadow:0 0 14px rgba(52,211,153,.18)}
.badge.error{background:rgba(251,113,133,.12);color:#fb7185;border:1px solid rgba(251,113,133,.28)}
.mono{font-family:"Consolas",monospace;font-size:13px}
.log{
  background:radial-gradient(600px 200px at 10% 0%,rgba(34,211,238,.06),transparent 60%),#020712;
  color:#cbd5e1;border-radius:12px;padding:12px;height:250px;overflow:auto;
  border:1px solid rgba(34,211,238,.14);box-shadow:inset 0 0 30px rgba(0,0,0,.5);
  font-family:"Consolas",monospace;font-size:12px;line-height:1.5;
}
.log .l{white-space:pre-wrap;border-bottom:1px solid rgba(120,180,255,.06);padding:2px 0}
.log .t{color:#5f7899;margin-right:8px}
.log .lv-success{color:#86efac}.log .lv-error{color:#fca5a5}.log .lv-dlr{color:#93c5fd}.log .lv-sent{color:#fde68a}.log .lv-warn{color:#fdba74}.log .lv-info{color:#a5b4fc}
.resp{
  background:radial-gradient(600px 200px at 10% 0%,rgba(139,92,246,.07),transparent 60%),#020712;
  color:#e2e8f0;border-radius:12px;padding:12px;min-height:160px;max-height:420px;overflow:auto;
  border:1px solid rgba(139,92,246,.18);box-shadow:inset 0 0 30px rgba(0,0,0,.5);
  font-family:"Consolas",monospace;font-size:12px;white-space:pre-wrap;
}
.hint{font-size:12px;color:#b9cce4;line-height:1.5}
.err{color:#fb7185;font-size:13px;font-weight:700}
.toast{
  position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(20px);
  background:linear-gradient(135deg,rgba(6,18,40,.96),rgba(12,28,64,.96));
  color:#e6f1ff;border:1px solid rgba(34,211,238,.35);padding:10px 15px;border-radius:11px;
  font-size:13px;font-weight:700;opacity:0;transition:.2s;z-index:60;max-width:92vw;
  box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 20px rgba(34,211,238,.15);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.login-wrap{max-width:430px;margin:48px auto}
.login-wrap h2{justify-content:center}

[dir="rtl"] body{font-family:"Segoe UI","Tahoma","Noto Naskh Arabic",Arial,sans-serif}
[dir="rtl"] input,[dir="rtl"] textarea{direction:rtl;text-align:right}
[dir="rtl"] label,[dir="rtl"] .hint{text-align:right}
[dir="rtl"] .log{direction:ltr;text-align:left}
[dir="rtl"] .lang-switch{margin-inline-start:0;margin-inline-end:8px}
@media(max-width:720px){.lang-switch{margin-inline-start:0}}

@media(max-width:720px){body{background-attachment:scroll;}}

/* SMS char/part counter */
.sms-counter{font-size:12px;color:#b9cce4;margin-top:6px;display:flex;gap:12px;flex-wrap:wrap}
.sms-counter b{color:#e6f1ff}
