@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --bg:#0c0e13;--l1:#11141a;--l2:#15181f;--l3:#1a1e27;--l4:#1f2330;--l5:#252a36;
  --br1:rgba(255,255,255,.06);--br2:rgba(255,255,255,.1);--br3:rgba(255,255,255,.16);
  --sf1:rgba(255,255,255,.025);--sf2:rgba(255,255,255,.05);--sf3:rgba(255,255,255,.08);
  --tx0:#f1f1f3;--tx1:#d4d4d8;--tx2:#a1a1aa;--tx3:#71717a;--tx4:#3f3f46;
  --brand:#00d084;--brand2:#00b873;--bdim:rgba(0,208,132,.1);--bbd:rgba(0,208,132,.22);
  --info:#6366f1;--idim:rgba(99,102,241,.1);--ibd:rgba(99,102,241,.22);
  --warn:#f59e0b;--wdim:rgba(245,158,11,.1);--wbd:rgba(245,158,11,.22);
  --danger:#ef4444;--ddim:rgba(239,68,68,.1);--dbd:rgba(239,68,68,.22);
  --success:#00d084;--sidebar-w:230px;--r:10px;--r-sm:7px;--r-lg:14px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-font-smoothing:antialiased;}
body{font-family:'Inter',-apple-system,sans-serif;background:var(--bg);color:var(--tx2);font-size:13.5px;line-height:1.6;min-height:100vh;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--br2);border-radius:4px;}
a{text-decoration:none;color:inherit;}

/* ── LAYOUT ── */
.app-layout{display:flex;height:100vh;overflow:hidden;}

/* ── SIDEBAR ── */
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:199;backdrop-filter:blur(4px);}
.sidebar-overlay.open{display:block;}
.sidebar{width:var(--sidebar-w);background:var(--l1);border-right:1px solid var(--br1);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;z-index:200;transition:transform .25s ease;}
.sidebar-logo{padding:18px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--br1);}
.logo-icon{width:34px;height:34px;background:var(--brand);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;box-shadow:0 0 0 1px var(--bbd),0 4px 16px rgba(0,208,132,.2);}
.sidebar-logo .app-name{font-size:14px;font-weight:700;color:var(--tx0);letter-spacing:-.3px;}
.sidebar-logo .app-sub{font-size:10px;color:var(--tx4);}
.sidebar-nav{padding:8px 8px;flex:1;}
.nav-label{font-size:10px;font-weight:600;color:var(--tx4);text-transform:uppercase;letter-spacing:.1em;padding:12px 10px 4px;}
.nav-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);color:var(--tx3);font-size:12.5px;font-weight:500;cursor:pointer;margin-bottom:1px;border:1px solid transparent;transition:all .15s;text-decoration:none;}
.nav-item:hover{background:var(--sf2);color:var(--tx1);}
.nav-item.active{background:var(--bdim);color:var(--brand);border-color:var(--bbd);font-weight:600;}
.nav-item .ni{font-size:14px;width:16px;text-align:center;flex-shrink:0;}
.nav-badge{margin-left:auto;background:var(--brand);color:#000;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center;}
.sidebar-footer{padding:10px 8px;border-top:1px solid var(--br1);}
.sidebar-user{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);}

/* ── AVATAR ── */
.avatar{width:30px;height:30px;background:var(--brand);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#000;flex-shrink:0;}
.avatar.lg{width:40px;height:40px;font-size:14px;border-radius:10px;}

/* ── HAMBURGER ── */
.hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;}
.hamburger span{width:18px;height:2px;background:var(--tx2);border-radius:2px;display:block;}

/* ── MAIN ── */
.main{flex:1;overflow-y:auto;display:flex;flex-direction:column;background:var(--l2);}
.topbar{background:rgba(17,20,26,.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--br1);padding:0 20px;height:52px;display:flex;align-items:center;gap:12px;flex-shrink:0;position:sticky;top:0;z-index:10;}
.topbar h1{font-size:14px;font-weight:600;color:var(--tx0);}
.page-content{padding:20px;flex:1;}

/* ── CARDS ── */
.card{background:var(--l3);border-radius:var(--r-lg);border:1px solid var(--br1);}
.card-header{padding:14px 18px;border-bottom:1px solid var(--br1);display:flex;align-items:center;justify-content:space-between;}
.card-header h2{font-size:13px;font-weight:600;color:var(--tx1);}
.card-body{padding:18px;}

/* ── PHONE FRAMES ── */
.phone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.pfw{cursor:pointer;transition:transform .2s;}
.pfw:hover{transform:translateY(-3px);}
.pf{aspect-ratio:9/16;background:#080a0e;border-radius:22px;border:2px solid var(--br2);position:relative;overflow:hidden;transition:border-color .2s;}
.pfw:hover .pf{border-color:rgba(0,208,132,.4);}
.pnotch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:50px;height:5px;background:#1a1a1a;border-radius:3px;z-index:2;}
.pbar{position:absolute;top:0;left:0;right:0;height:24px;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:8px;color:rgba(255,255,255,.4);z-index:3;}
.pscreen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px 10px 14px;}
.pwa{width:40px;height:40px;background:#25d366;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;}
.pname{font-size:10px;font-weight:600;color:var(--tx1);text-align:center;}
.pnum{font-size:9px;color:var(--tx4);text-align:center;}
.ptap{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(0,208,132,.15);border:1px solid var(--bbd);color:var(--brand);font-size:9px;font-weight:600;padding:3px 10px;border-radius:12px;white-space:nowrap;opacity:0;transition:opacity .2s;}
.pfw:hover .ptap{opacity:1;}
.pinfo{padding:8px 2px 0;}
.pinfo-row{display:flex;align-items:center;gap:5px;margin-bottom:3px;}
.pdot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.dot-green{background:var(--brand);box-shadow:0 0 0 2px rgba(0,208,132,.2);}
.dot-amber{background:var(--warn);}
.dot-gray{background:var(--tx4);}
.pn{font-size:11.5px;font-weight:600;color:var(--tx0);}

/* ── AI TOGGLE ── */
.ai-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--idim);border:1px solid var(--ibd);border-radius:7px;margin-top:6px;}
.ai-lbl{font-size:10px;font-weight:600;color:#a5b4fc;display:flex;align-items:center;gap:4px;}
.tog{width:30px;height:17px;border-radius:9px;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s;}
.tog.on{background:var(--brand);}
.tog.off{background:var(--l5);}
.tog::after{content:'';position:absolute;width:13px;height:13px;background:#fff;border-radius:50%;top:2px;transition:transform .2s;}
.tog.on::after{transform:translateX(15px);}
.tog.off::after{transform:translateX(2px);}

/* ── DEVICE OVERLAY ── */
#deviceOverlay{display:none;position:fixed;inset:0;z-index:9999;background:var(--bg);flex-direction:column;}
#deviceOverlay.visible{display:flex!important;}
.device-topbar{height:52px;background:rgba(17,20,26,.95);border-bottom:1px solid var(--br1);display:flex;align-items:center;padding:0 16px;gap:12px;flex-shrink:0;backdrop-filter:blur(20px);}
.device-stream{flex:1;display:flex;align-items:center;justify-content:center;background:#070709;position:relative;overflow:hidden;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r-sm);font-family:'Inter',sans-serif;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--br2);background:var(--sf1);color:var(--tx2);transition:all .15s;text-decoration:none;}
.btn:hover{background:var(--sf3);color:var(--tx1);}
.btn-primary{background:var(--brand);color:#000;border-color:var(--bbd);font-weight:600;}
.btn-primary:hover{background:var(--brand2);}
.btn-danger{background:var(--ddim);color:var(--danger);border-color:var(--dbd);}
.btn-sm{padding:5px 11px;font-size:12px;}

/* ── FORMS ── */
.form-group{margin-bottom:14px;}
.form-label{display:block;font-size:12px;font-weight:500;color:var(--tx2);margin-bottom:5px;}
.form-control{width:100%;padding:9px 12px;border:1px solid var(--br2);border-radius:var(--r-sm);font-family:'Inter',sans-serif;font-size:13px;background:var(--l3);color:var(--tx1);outline:none;transition:all .15s;}
.form-control::placeholder{color:var(--tx4);}
.form-control:focus{border-color:rgba(0,208,132,.4);background:var(--l4);box-shadow:0 0 0 3px rgba(0,208,132,.08);}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(113,113,122,.6)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}
select.form-control option{background:var(--l3);}
textarea.form-control{resize:vertical;min-height:80px;}

/* ── TABLES ── */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;}
th{font-size:10.5px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;padding:10px 14px;text-align:left;background:var(--l3);border-bottom:1px solid var(--br1);}
td{padding:12px 14px;border-bottom:1px solid var(--br1);font-size:13px;color:var(--tx2);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:var(--sf1);}

/* ── BADGES ── */
.badge{display:inline-flex;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:600;border:1px solid;}
.badge-connected,.badge-active{background:var(--bdim);color:#4ade80;border-color:var(--bbd);}
.badge-disconnected,.badge-suspended{background:var(--sf1);color:var(--tx3);border-color:var(--br2);}
.badge-pending{background:var(--wdim);color:#fcd34d;border-color:var(--wbd);}
.badge-banned{background:var(--ddim);color:#fca5a5;border-color:var(--dbd);}
.badge-superadmin{background:var(--bdim);color:var(--brand);border-color:var(--bbd);}
.badge-admin{background:var(--idim);color:#a5b4fc;border-color:var(--ibd);}
.badge-user{background:var(--sf1);color:var(--tx2);border-color:var(--br1);}

/* ── ALERTS ── */
.alert{padding:10px 14px;border-radius:var(--r-sm);font-size:13px;border:1px solid;margin-bottom:12px;}
.alert-success{background:var(--bdim);color:#4ade80;border-color:var(--bbd);}
.alert-danger{background:var(--ddim);color:#fca5a5;border-color:var(--dbd);}
.alert-warning{background:var(--wdim);color:#fcd34d;border-color:var(--wbd);}
.alert-info{background:var(--idim);color:#a5b4fc;border-color:var(--ibd);}

/* ── MODAL ── */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:500;padding:20px;}
.modal{background:var(--l3);border:1px solid var(--br2);border-radius:var(--r-lg);width:100%;max-width:480px;box-shadow:0 24px 64px rgba(0,0,0,.8);animation:modalIn .2s ease;}
@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.97);}to{opacity:1;transform:none;}}
.modal-header{padding:20px 22px 0;display:flex;align-items:center;justify-content:space-between;}
.modal-header h3{font-size:14px;font-weight:600;color:var(--tx0);}
.modal-body{padding:16px 22px;}
.modal-footer{padding:0 22px 20px;display:flex;gap:8px;justify-content:flex-end;}
.close-btn{background:var(--sf2);border:1px solid var(--br1);color:var(--tx3);width:26px;height:26px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;}

/* ── CHAT ── */
.chat-wrap{display:flex;height:calc(100vh - 92px);border:1px solid var(--br1);border-radius:12px;overflow:hidden;background:var(--l3);}
.chat-left{width:260px;flex-shrink:0;border-right:1px solid var(--br1);display:flex;flex-direction:column;}
.cl-head{padding:14px;border-bottom:1px solid var(--br1);font-size:12.5px;font-weight:600;color:var(--tx1);}
.cl-search{padding:8px 10px;border-bottom:1px solid var(--br1);}
.cl-search input{width:100%;background:var(--l4);border:1px solid var(--br1);border-radius:6px;padding:7px 10px;color:var(--tx1);font-size:12px;outline:none;}
.cl-list{flex:1;overflow-y:auto;}
.ci{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--br1);transition:background .15s;}
.ci:hover,.ci.active{background:var(--sf2);}
.ci.active{background:var(--bdim);}
.ci-av{width:36px;height:36px;border-radius:50%;background:var(--l5);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.ci-name{font-size:12.5px;font-weight:600;color:var(--tx1);margin-bottom:2px;}
.ci-prev{font-size:11px;color:var(--tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;}
.ci-time{font-size:10px;color:var(--tx4);margin-left:auto;flex-shrink:0;}
.ci-badge{background:var(--brand);color:#000;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;margin-left:auto;}
.chat-right{flex:1;display:flex;flex-direction:column;min-width:0;}
.cr-head{padding:12px 16px;border-bottom:1px solid var(--br1);display:flex;align-items:center;gap:10px;flex-shrink:0;}
.cr-msgs{flex:1;padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;}
.msg{max-width:72%;padding:9px 13px;border-radius:12px;font-size:12.5px;line-height:1.55;}
.msg-in{background:var(--l4);color:var(--tx1);align-self:flex-start;border-radius:3px 12px 12px 12px;}
.msg-out{background:var(--brand);color:#000;align-self:flex-end;border-radius:12px 3px 12px 12px;font-weight:500;}
.msg-ai{background:var(--idim);color:#a5b4fc;border:1px solid var(--ibd);align-self:flex-end;border-radius:12px 3px 12px 12px;}
.msg-time{font-size:10px;opacity:.5;margin-top:3px;text-align:right;}
.ai-tag{font-size:9px;background:rgba(99,102,241,.2);color:#a5b4fc;padding:1px 5px;border-radius:4px;margin-bottom:3px;display:inline-block;}
.cr-input{padding:12px 16px;border-top:1px solid var(--br1);display:flex;gap:8px;align-items:center;flex-shrink:0;}
.cr-input input{flex:1;background:var(--l4);border:1px solid var(--br2);border-radius:8px;padding:9px 13px;color:var(--tx1);font-size:13px;outline:none;}
.cr-input input:focus{border-color:rgba(0,208,132,.4);}
.send-btn{background:var(--brand);color:#000;border:none;border-radius:8px;padding:9px 14px;cursor:pointer;font-size:13px;font-weight:600;}

/* ── QR PAGE ── */
.qr-page{max-width:500px;margin:0 auto;}
.qr-hero{text-align:center;padding:28px 20px 22px;background:var(--l3);border:1px solid var(--br1);border-radius:14px 14px 0 0;}
.qr-icon{width:64px;height:64px;background:var(--bdim);border:1px solid var(--bbd);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 14px;}
.qr-body{background:var(--l3);border:1px solid var(--br1);border-top:none;border-radius:0 0 14px 14px;padding:20px;}
.qr-steps{display:flex;gap:8px;margin-bottom:20px;}
.qs{flex:1;text-align:center;padding:10px 6px;background:var(--l4);border:1px solid var(--br1);border-radius:9px;}
.qs-n{width:20px;height:20px;background:var(--bdim);border:1px solid var(--bbd);color:var(--brand);border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 5px;}
.qs-t{font-size:10px;color:var(--tx3);line-height:1.4;}
.qr-box{width:190px;height:190px;background:#fff;border-radius:14px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border:3px solid var(--bbd);box-shadow:0 0 0 6px var(--bdim);}
.qr-countdown{height:3px;background:var(--l5);border-radius:2px;overflow:hidden;margin-bottom:8px;}
.qr-countdown-fill{height:100%;background:var(--brand);border-radius:2px;transition:width 1s linear;}
.qr-status{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border-radius:9px;margin-bottom:16px;font-size:12.5px;font-weight:500;}
.qr-status.waiting{background:var(--wdim);color:#fcd34d;border:1px solid var(--wbd);}
.qr-status.scanning{background:var(--idim);color:#a5b4fc;border:1px solid var(--ibd);}
.qr-status.connected{background:var(--bdim);color:#4ade80;border:1px solid var(--bbd);}
.connected-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--l4);border:1px solid var(--br1);border-radius:9px;margin-bottom:8px;}
.ci-num{font-size:12.5px;font-weight:600;color:var(--tx1);flex:1;}

/* ── AUTH ── */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px;}
.auth-card{width:100%;max-width:400px;background:var(--l2);border:1px solid var(--br1);border-radius:20px;padding:36px 32px;box-shadow:0 24px 64px rgba(0,0,0,.6);}
.auth-logo{text-align:center;margin-bottom:28px;}

/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px;}
.stat-card{background:var(--l3);border-radius:var(--r-lg);padding:16px;border:1px solid var(--br1);}
.stat-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:10px;}
.stat-label{font-size:11px;color:var(--tx3);margin-bottom:3px;}
.stat-value{font-size:22px;font-weight:700;color:var(--tx0);}

/* ── UTILS ── */
.text-muted{color:var(--tx3);}
.text-brand{color:var(--brand);}
.fw-600{font-weight:600;}
.mt-1{margin-top:4px;}.mt-2{margin-top:8px;}.mt-3{margin-top:14px;}
.mb-2{margin-bottom:8px;}.mb-3{margin-bottom:14px;}.mb-4{margin-bottom:20px;}
.gap-2{gap:8px;}.gap-3{gap:12px;}
.d-flex{display:flex;}.align-center{align-items:center;}

/* ── ANIMATIONS ── */
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3};}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .sidebar{position:fixed;top:0;left:0;height:100%;transform:translateX(-100%);}
  .sidebar.open{transform:translateX(0);}
  .hamburger{display:flex;}
  .app-layout{display:block;height:auto;}
  .main{min-height:100vh;display:block;}
  .topbar{position:sticky;top:0;z-index:50;}
  .page-content{padding:12px;}
  .phone-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .chat-wrap{height:calc(100vh - 80px);flex-direction:column;}
  .chat-left{width:100%;height:220px;flex-shrink:0;border-right:none;border-bottom:1px solid var(--br1);}
  .modal{border-radius:16px 16px 0 0;max-width:100%;}
  .modal-backdrop{align-items:flex-end;padding:0;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .qr-steps{gap:4px;}
  .auth-card{padding:24px 18px;}
}
@media(max-width:480px){
  .phone-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:1fr;}
  .page-content{padding:10px;}
}

/* ── DEVICE OVERLAY MOBILE FIX ── */
#deviceOverlay { -webkit-overflow-scrolling: touch; }
.device-stream iframe { width:100% !important; height:100% !important; border:none !important; }
@media(max-width:768px) {
  .device-topbar { height:44px; padding:0 10px; gap:8px; }
  .device-topbar button { padding:5px 10px; font-size:11px; }
  #fsBtn { display:none; }
}

/* ── WHATSAPP NOTIFICATIONS ── */
.wa-toast{position:fixed;bottom:20px;right:20px;background:var(--l3);border:1px solid var(--bbd);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:10px;z-index:9999;min-width:280px;max-width:340px;box-shadow:0 8px 32px rgba(0,0,0,.5);opacity:0;transition:opacity .3s;animation:slideUp .3s ease;}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.wa-toast-icon{width:36px;height:36px;background:#25d366;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.wa-toast-body{flex:1;min-width:0;}
.wa-toast-title{font-size:11px;font-weight:600;color:var(--brand);margin-bottom:2px;}
.wa-toast-msg{font-size:12px;color:var(--tx1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wa-toast-close{background:none;border:none;color:var(--tx3);cursor:pointer;font-size:14px;padding:2px 4px;flex-shrink:0;}
.wa-toast-close:hover{color:var(--tx1);}
.notify-bar{background:var(--bdim);border:1px solid var(--bbd);border-radius:8px;padding:8px 14px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--brand);margin-bottom:14px;cursor:pointer;}
.notify-bar:hover{background:rgba(0,208,132,.15);}