:root{
  --brand:#0b5fff;
  --brand-2:#6d5dfc;
  --brand-dark:#073fae;
  --ink:#122033;
  --ink-soft:#344054;
  --muted:#667085;
  --bg:#f4f7fb;
  --panel:#ffffff;
  --panel-soft:#f8faff;
  --line:#e4eaf3;
  --line-strong:#d5deec;
  --danger:#b42318;
  --danger-bg:#fff1f0;
  --success:#067647;
  --success-bg:#ecfdf3;
  --warning:#b54708;
  --warning-bg:#fff7ed;
  --shadow-sm:0 8px 24px rgba(15,23,42,.06);
  --shadow-md:0 18px 45px rgba(15,23,42,.10);
  --sidebar:274px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
button,input,textarea,select{font:inherit}
img{max-width:100%}
svg{display:block}
.container{width:100%;max-width:1480px;margin:0 auto}

/* Logged-in application shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.app-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#07142d 0%,#0a1c3e 56%,#0a1934 100%);color:#fff;padding:18px 15px 16px;display:flex;flex-direction:column;z-index:80;overflow-y:auto;box-shadow:14px 0 40px rgba(6,17,40,.10)}
.app-brand-area{display:flex;align-items:center;justify-content:space-between;padding:2px 5px 20px;border-bottom:1px solid rgba(255,255,255,.09)}
.app-brand{min-width:0;display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.app-brand-logo{width:44px;height:44px;border-radius:14px;background:#fff;padding:5px;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.app-brand-logo img{width:100%;height:100%;object-fit:contain;border-radius:9px}
.app-brand strong{display:block;font-size:17px;line-height:1.15;letter-spacing:-.01em}
.app-brand small{display:block;color:#99add2;font-size:11px;margin-top:3px}
.sidebar-close{display:none;border:0;background:rgba(255,255,255,.1);color:#fff;width:34px;height:34px;border-radius:10px;font-size:23px;cursor:pointer}
.app-nav{padding:18px 0 10px;display:flex;flex-direction:column;gap:16px}
.app-nav-section{display:flex;flex-direction:column;gap:4px}
.app-nav-heading{padding:0 12px 7px;color:#7185aa;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.app-nav-link{position:relative;display:flex;align-items:center;gap:11px;min-height:45px;border-radius:12px;padding:10px 12px;color:#c4d1e8;text-decoration:none;font-size:14px;font-weight:720;transition:background .18s,color .18s,transform .18s}
.app-nav-link:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(2px)}
.app-nav-link.is-active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 10px 24px rgba(11,95,255,.28)}
.app-nav-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 auto}
.app-nav-icon svg{width:20px;height:20px;fill:currentColor}
.app-nav-label{min-width:0;flex:1}
.app-nav-link .notification-badge{position:static;margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#ff4d6d;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;border:2px solid rgba(255,255,255,.32)}
.app-nav-link .notification-badge[hidden]{display:none!important}
.app-support-card{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);border-radius:15px;display:grid;grid-template-columns:34px 1fr;column-gap:10px;row-gap:9px}
.app-support-icon{width:34px;height:34px;border-radius:11px;background:rgba(82,137,255,.22);display:grid;place-items:center;font-weight:900}
.app-support-card strong,.app-support-card small{display:block}
.app-support-card strong{font-size:13px}
.app-support-card small{color:#9eb0d1;font-size:11px;margin-top:2px}
.app-support-card a{grid-column:1/-1;color:#fff;font-size:12px;text-decoration:none;font-weight:800}
.app-account{margin-top:12px;border-top:1px solid rgba(255,255,255,.09);padding:15px 4px 0;display:flex;align-items:center;gap:10px}
.app-account-avatar{width:38px;height:38px;flex:0 0 auto;border-radius:12px;background:linear-gradient(135deg,#e8eeff,#bcd1ff);color:#1649b7;display:grid;place-items:center;font-weight:900}
.app-account-copy{min-width:0;flex:1}
.app-account-copy strong,.app-account-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-account-copy strong{font-size:12px;color:#fff}
.app-account-copy small{font-size:10px;color:#8fa3c8;margin-top:2px}
.app-logout{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#aebdd5;text-decoration:none;transition:.18s}
.app-logout:hover{background:rgba(255,255,255,.08);color:#fff}
.app-logout svg{width:19px;height:19px;fill:currentColor}
.app-main{min-width:0;display:flex;flex-direction:column}
.app-topbar{height:76px;position:sticky;top:0;z-index:55;background:rgba(255,255,255,.92);backdrop-filter:blur(15px);border-bottom:1px solid rgba(220,228,240,.86);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 30px}
.app-topbar-left{display:flex;align-items:center;gap:13px;min-width:0}
.app-topbar-left small,.app-topbar-left strong{display:block}
.app-topbar-left small{color:#98a2b3;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.app-topbar-left strong{font-size:18px;line-height:1.2;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-topbar-actions{display:flex;align-items:center;gap:11px}
.topbar-help{color:#475467;text-decoration:none;font-size:13px;font-weight:800;padding:9px 11px}
.topbar-create{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--brand),#5848ed);color:#fff;text-decoration:none;border-radius:11px;padding:10px 15px;font-size:13px;font-weight:850;box-shadow:0 9px 22px rgba(11,95,255,.2)}
.topbar-create span{font-size:19px;line-height:1}
.mobile-menu-button{display:none;width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px;cursor:pointer}
.mobile-menu-button span{display:block;height:2px;background:#344054;border-radius:2px;margin:4px 0}
.app-content{padding:28px 30px 48px}
.app-sidebar-overlay{display:none}

/* Shared content styles */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin:0 0 22px}
.page-head h1{margin:0;font-size:clamp(27px,3vw,36px);line-height:1.12;letter-spacing:-.035em}
.page-head p{margin:7px 0 0;max-width:720px}
.muted{color:var(--muted)}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:21px;box-shadow:var(--shadow-sm)}
.card h2,.card h3{margin-top:0;letter-spacing:-.02em}
.card:hover{border-color:#d6e1f1}
.stat{font-size:37px;font-weight:900;letter-spacing:-.05em;line-height:1.05;margin-top:6px}
.dashboard-stat{overflow:hidden;min-height:138px}
.dashboard-stat:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-35px;bottom:-45px;background:linear-gradient(145deg,rgba(11,95,255,.12),rgba(109,93,252,.04))}
.dashboard-stat-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#eef4ff;color:var(--brand);margin-bottom:15px}
.dashboard-stat-icon svg{width:20px;height:20px;fill:currentColor}
.dashboard-welcome{position:relative;overflow:hidden;border:0;background:linear-gradient(125deg,#0a4bc4,#6153f2);color:#fff;padding:28px 30px;min-height:186px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:0 22px 50px rgba(20,74,185,.22)}
.dashboard-welcome:before,.dashboard-welcome:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.09)}
.dashboard-welcome:before{width:220px;height:220px;right:-65px;top:-95px}
.dashboard-welcome:after{width:120px;height:120px;right:150px;bottom:-72px}
.dashboard-welcome-copy{position:relative;z-index:2;max-width:720px}
.dashboard-welcome h1{font-size:clamp(28px,4vw,42px);margin:0 0 9px;line-height:1.08;letter-spacing:-.04em}
.dashboard-welcome p{margin:0;color:#dbe7ff;max-width:620px;font-size:15px}
.dashboard-welcome .actions{position:relative;z-index:2;margin:0;flex:0 0 auto}
.dashboard-welcome .btn{background:#fff;color:#174aad;border-color:#fff}
.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:29px 0 13px}
.dashboard-section-head h2{margin:0;font-size:21px;letter-spacing:-.025em}
.dashboard-section-head a{font-size:13px;font-weight:800;text-decoration:none}

.btn{appearance:none;border:1px solid var(--line-strong);background:#fff;color:#263447;border-radius:11px;padding:10px 15px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s}
.btn:hover{transform:translateY(-1px);border-color:#b9c8dd;box-shadow:0 8px 18px rgba(15,23,42,.07)}
.btn-primary,.btn.primary{background:linear-gradient(135deg,var(--brand),#5c50ed);border-color:transparent;color:#fff;box-shadow:0 8px 19px rgba(11,95,255,.2)}
.btn-primary:hover,.btn.primary:hover{border-color:transparent;box-shadow:0 11px 24px rgba(11,95,255,.27)}
.btn-danger{background:var(--danger-bg);border-color:#fecaca;color:var(--danger)}
.btn-success{background:var(--success-bg);border-color:#abefc6;color:var(--success)}
.btn-small{padding:8px 11px;font-size:12px;border-radius:9px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

.alert{padding:13px 15px;border-radius:12px;margin:0 0 16px;font-weight:650}
.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #abefc6}
.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #fecdca}
.alert-info{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}

.form-card{width:min(980px,100%);margin:0 auto}
.field{margin-bottom:16px}
.field label{display:block;font-weight:800;margin-bottom:7px;color:#263447;font-size:13px}
.field small{display:block;color:var(--muted);margin-top:6px;font-size:12px}
.field input,.field textarea,.field select{width:100%;border:1px solid #ced8e7;border-radius:11px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;transition:border-color .16s,box-shadow .16s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#75a2ff;box-shadow:0 0 0 4px rgba(11,95,255,.1)}
.field textarea{min-height:118px;resize:vertical}
.field input[type=color]{height:47px;padding:5px}
.check{display:flex;gap:9px;align-items:flex-start}
.check input{margin-top:4px}
.section-title{margin:30px 0 13px;padding-top:20px;border-top:1px solid var(--line)}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #edf1f7;vertical-align:top}
th{background:#f8faff;font-size:11px;color:#667085;text-transform:uppercase;letter-spacing:.06em;font-weight:900}
tbody tr{transition:background .16s}
tbody tr:hover{background:#fbfcff}
tbody tr:last-child td{border-bottom:0}
.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;background:#eef4ff;color:#3538cd;line-height:1}
.pill-active{background:var(--success-bg);color:var(--success)}
.pill-paused{background:var(--warning-bg);color:var(--warning)}
.codebox{background:#0b1428;color:#d6e2ff;border-radius:13px;padding:16px;white-space:pre-wrap;word-break:break-all;font-family:Consolas,monospace;font-size:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.campaign-card{display:flex;flex-direction:column;gap:13px;overflow:hidden}
.campaign-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.campaign-card .meta{display:flex;flex-wrap:wrap;gap:7px}
.campaign-card h3{margin-bottom:0}
.empty{padding:44px;text-align:center;color:var(--muted)}
.split{display:flex;justify-content:space-between;gap:14px;align-items:center}
.right{text-align:right}
.nowrap{white-space:nowrap}

/* Public/auth pages retained and polished */
.hero{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dfeaff,transparent 40%),linear-gradient(135deg,#f6f9ff,#fff)}
.hero-card{width:min(1060px,100%);display:grid;grid-template-columns:1.25fr .75fr;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 25px 80px rgba(15,23,42,.12)}
.hero-copy{padding:58px}.hero-copy h1{font-size:clamp(38px,6vw,68px);line-height:1.03;letter-spacing:-.045em;margin:0 0 20px}.hero-copy p{font-size:19px;color:#475467;max-width:680px}.hero-side{background:linear-gradient(160deg,#0b5fff,#082b72);color:#fff;padding:46px;display:flex;flex-direction:column;justify-content:center}.hero-side ul{padding-left:20px;line-height:1.9}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 10%,#e4edff,transparent 34%),linear-gradient(145deg,#f5f8ff,#fff)}
.auth-card{width:min(470px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:31px;box-shadow:var(--shadow-md)}
.auth-card h1{margin-top:0;letter-spacing:-.035em}
.lead-form-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(145deg,#f6f8fc,#fff)}
.lead-form-card{width:min(620px,100%);background:#fff;border:1px solid #e4e9f2;border-radius:22px;padding:30px;box-shadow:0 22px 70px rgba(15,23,42,.13)}
.lead-logo{max-width:180px;max-height:70px;object-fit:contain;margin-bottom:16px}.lead-form-card h1{font-size:34px;line-height:1.08;margin:0 0 12px;letter-spacing:-.03em}.lead-form-card .offer{color:#475467;font-size:17px;margin-bottom:22px}.success-box{text-align:center;padding:25px}

/* Existing notifications and push components */
.notification-list{display:grid;gap:12px}.notification-item{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff}.notification-item.is-unread{border-color:#b9d1ff;background:#f8fbff}.notification-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.online-dot{width:9px;height:9px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.12);display:inline-block}.push-device-list{display:grid;gap:12px}.push-device{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.push-steps{color:#475467;line-height:1.9}.push-summary{margin-bottom:18px}

@media(max-width:1180px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){
  .app-shell{display:block}
  .app-sidebar{position:fixed;left:0;top:0;transform:translateX(-105%);width:min(88vw,var(--sidebar));transition:transform .22s ease;box-shadow:20px 0 55px rgba(0,0,0,.28)}
  .sidebar-is-open .app-sidebar{transform:translateX(0)}
  .app-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(6,15,33,.54);backdrop-filter:blur(2px);z-index:70;opacity:0;visibility:hidden;transition:.2s}
  .sidebar-is-open .app-sidebar-overlay{opacity:1;visibility:visible}
  .sidebar-close,.mobile-menu-button{display:block}
  .app-topbar{padding:0 20px}
  .app-content{padding:24px 20px 42px}
}
@media(max-width:800px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .page-head{flex-direction:column}
  .page-head>.btn{width:100%}
  .topbar-help{display:none}
  .dashboard-welcome{align-items:flex-start;flex-direction:column;padding:24px}
  .dashboard-welcome .actions{width:100%}.dashboard-welcome .btn{width:100%}
  table{display:block;overflow-x:auto}
  .hero-card{grid-template-columns:1fr}.hero-copy,.hero-side{padding:30px}
}
@media(max-width:560px){
  .app-topbar{height:68px;padding:0 14px}
  .app-topbar-left small{display:none}
  .app-topbar-left strong{font-size:16px}
  .topbar-create{padding:9px 11px;font-size:0}.topbar-create span{font-size:22px}.topbar-create:after{content:"Create";font-size:12px}
  .app-content{padding:18px 13px 35px}
  .card{padding:17px;border-radius:15px}
  .page-head h1{font-size:27px}
  .actions .btn{flex:1}
  .auth-card{padding:23px}
}
