@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --primary:#2563eb;--primary-d:#1d4ed8;--primary-l:#eff6ff;
  --sidebar:#1e1b4b;--sidebar-a:#3730a3;
  --bg:#f1f5f9;--white:#fff;--border:#e2e8f0;
  --text:#1e293b;--muted:#64748b;
  --ok:#10b981;--warn:#f59e0b;--err:#ef4444;
  --sh:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);
  --sh-lg:0 10px 25px rgba(0,0,0,.1);
}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;}

/* ── AUTH ─────────────────── */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e1b4b,#312e81,#1e40af);}
.auth-box{background:#fff;border-radius:20px;padding:40px;width:100%;max-width:420px;box-shadow:0 25px 60px rgba(0,0,0,.3);}
.auth-logo{text-align:center;margin-bottom:28px;}
.auth-logo .ico{width:52px;height:52px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:10px;}
.auth-logo h1{font-size:20px;font-weight:800;}
.auth-logo p{color:var(--muted);font-size:13px;}
.auth-foot{text-align:center;margin-top:18px;font-size:13px;color:var(--muted);}
.auth-foot a{color:var(--primary);font-weight:600;text-decoration:none;}

/* ── FORM ELEMENTS ────────── */
.fg{margin-bottom:15px;}
.flabel{display:block;font-size:13px;font-weight:600;margin-bottom:5px;}
.finput,.fselect,.ftextarea{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;outline:none;background:#fff;transition:.18s;}
.finput:focus,.fselect:focus,.ftextarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1);}
.ftextarea{resize:vertical;min-height:88px;}
.fhint{font-size:11.5px;color:var(--muted);margin-top:4px;}
.fhint a{color:var(--primary);}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* ── BUTTONS ──────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:.18s;text-decoration:none;white-space:nowrap;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:var(--primary-d);transform:translateY(-1px);}
.btn-secondary{background:#fff;color:var(--text);border:1.5px solid var(--border);}
.btn-secondary:hover{border-color:var(--primary);}
.btn-danger{background:var(--err);color:#fff;}
.btn-purple{background:linear-gradient(135deg,#4f46e5,#6d28d9);color:#fff;}
.btn-green{background:linear-gradient(135deg,#059669,#10b981);color:#fff;}
.btn-full{width:100%;}
.btn-sm{padding:6px 13px;font-size:12px;border-radius:8px;}

/* ── ALERTS ───────────────── */
.alert{padding:11px 15px;border-radius:10px;font-size:13px;margin-bottom:14px;}
.alert-ok{background:#f0fdf4;border:1px solid #86efac;color:#16a34a;}
.alert-err{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;}
.alert-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e;}

/* ── PLAN EXPIRED BAR ─────── */
.plan-expired-bar{position:fixed;top:0;left:0;right:0;z-index:200;background:#dc2626;color:#fff;text-align:center;padding:7px;font-size:13px;font-weight:600;}
.plan-expired-bar a{color:#fde68a;text-decoration:underline;}

/* ── SIDEBAR ──────────────── */
.sidebar{width:255px;background:var(--sidebar);position:fixed;top:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;overflow-y:auto;}
.sidebar-logo{padding:16px 18px 13px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:9px;}
.s-logo-icon{width:34px;height:34px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.s-logo-text{color:#fff;font-size:13.5px;font-weight:800;line-height:1.2;}
.s-logo-text span{color:#93c5fd;font-size:10.5px;font-weight:400;display:block;}
.sidebar-user{padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:9px;}
.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;flex-shrink:0;}
.u-name{color:#fff;font-size:12.5px;font-weight:600;line-height:1.3;}
.u-plan{color:rgba(255,255,255,.5);font-size:10.5px;}
.nav{padding:8px 8px;flex:1;}
.nav a{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:8px;color:rgba(255,255,255,.7);text-decoration:none;margin-bottom:1px;font-size:12.5px;font-weight:500;transition:.15s;}
.nav a span{font-size:14px;width:18px;text-align:center;}
.nav a:hover{background:rgba(255,255,255,.07);color:#fff;}
.nav a.active{background:var(--sidebar-a);color:#fff;}
.nav a .nb{margin-left:auto;background:#10b981;color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:100px;font-style:normal;}
.nav-hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:8px 0;}
.sidebar-promo{margin:8px 10px 12px;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:11px;padding:12px;}
.sidebar-promo strong{color:#fff;font-size:12px;display:block;margin-bottom:3px;}
.sidebar-promo p{color:rgba(255,255,255,.8);font-size:11px;line-height:1.5;margin-bottom:8px;}
.sidebar-promo a{display:block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;padding:6px;border-radius:7px;font-size:11.5px;font-weight:600;text-align:center;text-decoration:none;}

/* ── TOPBAR ───────────────── */
.topbar{position:fixed;top:0;left:255px;right:0;height:56px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:40;}
.topbar-title{font-size:14px;font-weight:700;}
.topbar-right{display:flex;gap:8px;}
.topbar-right a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:500;padding:6px 13px;border-radius:8px;border:1px solid var(--border);transition:.18s;}
.topbar-right a:hover{color:var(--text);}

/* ── MAIN CONTENT ─────────── */
.main{margin-left:255px;margin-top:56px;padding:24px;min-height:calc(100vh - 56px);}

/* ── PAGE HEADER ──────────── */
.page-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:14px;}
.page-hdr h1{font-size:21px;font-weight:800;margin-bottom:3px;}
.page-hdr p{font-size:13px;color:var(--muted);}
.page-hdr-actions{display:flex;gap:8px;flex-shrink:0;}

/* ── CARDS ────────────────── */
.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:var(--sh);}
.card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.card-title{font-size:14px;font-weight:700;}
.card-sub{font-size:12px;color:var(--muted);}

/* ── STATS ────────────────── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;}
.stat-card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:18px;box-shadow:var(--sh);}
.stat-label{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:5px;}
.stat-val{font-size:25px;font-weight:800;line-height:1;}
.stat-sub{font-size:11.5px;color:var(--ok);font-weight:500;margin-top:4px;}

/* ── FEATURED BANNER ──────── */
.feat-banner{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:13px;padding:16px 20px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.feat-left{display:flex;align-items:center;gap:11px;}
.feat-play{width:38px;height:38px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;border:2px solid rgba(255,255,255,.3);flex-shrink:0;}
.feat-label{color:rgba(255,255,255,.65);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
.feat-title{color:#fff;font-size:14px;font-weight:700;}
.feat-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:7px 15px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;}

/* ── QUICK LINKS ──────────── */
.quick-links{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px;}
.qlink{background:#fff;border:1px solid var(--border);padding:7px 13px;border-radius:8px;font-size:12.5px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;color:var(--text);text-decoration:none;transition:.18s;}
.qlink:hover{border-color:var(--primary);color:var(--primary);}

/* ── PRODUCTS ─────────────── */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.prod-card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:16px;box-shadow:var(--sh);transition:.18s;}
.prod-card:hover{box-shadow:var(--sh-lg);border-color:#bfdbfe;}
.prod-card-top{display:flex;justify-content:space-between;margin-bottom:3px;}
.prod-title{font-size:14px;font-weight:700;}
.prod-sub{font-size:11.5px;color:var(--muted);margin-bottom:7px;}
.prod-desc{font-size:12.5px;line-height:1.6;margin-bottom:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.prod-foot{display:flex;justify-content:space-between;align-items:center;}
.prod-camps{font-size:11.5px;color:var(--muted);}
.add-prod-card{border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;cursor:pointer;min-height:155px;border-radius:13px;transition:.18s;text-decoration:none;color:var(--muted);}
.add-prod-card:hover{border-color:var(--primary);}

/* ── CREATE FORM ──────────── */
.create-form{background:#fff;border:1px solid var(--border);border-radius:15px;padding:24px;max-width:860px;box-shadow:var(--sh);}
.fsect-title{font-size:12.5px;font-weight:700;color:var(--text);padding-bottom:9px;border-bottom:1px solid var(--border);margin-bottom:13px;}
.benefit-row{display:flex;gap:7px;margin-bottom:7px;align-items:center;}
.benefit-row .finput{flex:1;}
.rm-ben{background:none;border:none;color:var(--err);cursor:pointer;font-size:16px;padding:0 4px;}
.add-ben{background:none;border:none;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;padding:0;}
.funnel-checks{display:flex;flex-direction:column;gap:7px;}
.funnel-check{display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer;}
.funnel-check input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary);}
.adv-toggle{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--primary);cursor:pointer;margin-bottom:13px;}
.load-row{display:flex;gap:8px;align-items:center;}
.load-row .fselect{flex:1;}
.form-actions{display:flex;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border);}

/* ── RESULTS ──────────────── */
.result-area{background:#fff;border:1px solid var(--border);border-radius:15px;padding:24px;max-width:860px;margin-top:18px;}
.rtabs{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap;}
.rtab{padding:7px 15px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);color:var(--muted);background:#fff;font-family:inherit;}
.rtab.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.ad-box{background:#f8fafc;border:1px solid var(--border);border-radius:11px;padding:16px;margin-bottom:12px;}
.ad-label{font-size:10px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:9px;}
.ad-headline{font-size:15px;font-weight:700;margin-bottom:7px;}
.ad-caption{font-size:13px;line-height:1.75;white-space:pre-wrap;margin-bottom:9px;}
.ad-desc{font-size:12.5px;color:var(--muted);line-height:1.6;}
.ad-actions{display:flex;gap:7px;margin-top:12px;}

/* ── CAMPAIGNS LIST ───────── */
.camp-item{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border);}
.camp-item:last-child{border:none;}
.camp-name{font-size:13px;font-weight:600;}
.camp-meta{font-size:11.5px;color:var(--muted);}
.camp-btns{display:flex;gap:6px;flex-shrink:0;}

/* ── TABLE ────────────────── */
.tbl-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;}
th,td{text-align:left;padding:10px 13px;border-bottom:1px solid var(--border);font-size:13px;}
th{font-weight:700;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;background:#f8fafc;}
tr:hover td{background:#f8fafc;}

/* ── BADGES ───────────────── */
.badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:10.5px;font-weight:700;}
.badge-green{background:#d1fae5;color:#065f46;}
.badge-blue{background:#dbeafe;color:#1e40af;}
.badge-purple{background:#ede9fe;color:#6d28d9;}

/* ── EMPTY STATE ──────────── */
.empty-state{text-align:center;padding:55px 20px;}
.empty-state .es-ico{font-size:46px;margin-bottom:13px;}
.empty-state h3{font-size:16px;font-weight:700;margin-bottom:5px;color:var(--muted);}
.empty-state p{font-size:13px;color:var(--muted);}

/* ── TOAST ────────────────── */
#toast{position:fixed;bottom:22px;right:22px;background:#1e293b;color:#fff;padding:11px 18px;border-radius:10px;font-size:13px;z-index:9999;transform:translateY(70px);opacity:0;transition:.3s;max-width:280px;}
#toast.show{transform:translateY(0);opacity:1;}

/* ── ICON BTNS ────────────── */
.icon-btn{background:none;border:none;cursor:pointer;font-size:14px;color:var(--muted);padding:3px;}
.icon-btn:hover{color:var(--err);}

/* ── SAVED ADS ────────────── */
.saved-card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:18px;box-shadow:var(--sh);}

/* ── MISC ─────────────────── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;}
.mb-4{margin-bottom:16px;}
.mt-4{margin-top:16px;}
.text-muted{color:var(--muted);}
.text-primary{color:var(--primary);}

/* ── RESPONSIVE ───────────── */
@media(max-width:1024px){.stats-grid{grid-template-columns:1fr 1fr;}.products-grid{grid-template-columns:1fr 1fr;}.grid-2{grid-template-columns:1fr;}}
@media(max-width:768px){.sidebar{transform:translateX(-100%);}.main{margin-left:0;}.topbar{left:0;}.frow{grid-template-columns:1fr;}}
