/* Admin dashboard final layout. Loaded after main.css to neutralize older stacked rules. */
html,body{min-height:100%}
body.admin-shell{
  display:grid!important;
  grid-template-columns:272px minmax(0,1fr)!important;
  min-height:100vh;
  width:100%;
  background:var(--soft);
  overflow-x:hidden;
}
.admin-sidebar{
  position:sticky!important;
  top:0!important;
  align-self:start;
  width:272px!important;
  height:100vh!important;
  min-height:100vh;
  overflow-y:auto;
  display:flex!important;
  flex-direction:column!important;
  gap:8px;
  padding:18px!important;
  background:linear-gradient(180deg,#070532,#0d0866 72%,#090641)!important;
  color:#fff;
  box-shadow:18px 0 55px rgba(13,8,102,.18);
  transform:none!important;
  z-index:10;
}
.admin-brand{
  display:grid!important;
  gap:8px;
  margin:0 0 18px!important;
  padding:10px 8px!important;
}
.admin-logo{
  width:184px!important;
  height:auto!important;
  max-height:44px!important;
  object-fit:contain!important;
  filter:brightness(0) invert(1)!important;
}
.admin-brand small{font-size:12px;color:rgba(255,255,255,.58)}
.admin-brand{justify-content:center}
.nav-group{margin:10px 0 0}
.nav-group button{
  appearance:none;
  width:100%;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.48);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 10px;
  font-size:11px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.nav-group>div{display:grid;gap:3px}
.nav-group.is-collapsed>div{display:none}
.admin-sidebar a{
  display:flex!important;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:9px 11px!important;
  border-radius:10px;
  color:rgba(255,255,255,.76)!important;
  font-size:14px!important;
  font-weight:500;
}
.admin-sidebar a:hover,.admin-sidebar a.is-active{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.nav-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.9;
}
.admin-logout{margin-top:auto;border:1px solid rgba(255,255,255,.12)}
.admin-main{
  width:100%!important;
  max-width:none!important;
  min-width:0;
  padding:28px clamp(24px,3vw,44px)!important;
}
.admin-topbar{
  position:sticky;
  top:0;
  z-index:4;
  display:flex!important;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin:0 0 24px!important;
  padding:18px 20px!important;
  background:var(--header-bg)!important;
  border:1px solid #e7e9f5!important;
  border-radius:18px!important;
  backdrop-filter:blur(18px);
  box-shadow:0 18px 52px rgba(13,8,102,.08)!important;
}
.admin-topbar h1{font-size:clamp(32px,3vw,48px);margin:0}
.admin-topbar p{margin:0 0 4px;color:#707494;font-weight:500}
.admin-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.stat{
  min-height:138px;
  padding:22px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff,#fbfcff)!important;
  border:1px solid #e7e9f5!important;
  box-shadow:0 18px 55px rgba(13,8,102,.07)!important;
}
.stat span{font-size:42px!important;line-height:1;color:var(--brand)}
.stat p{margin:12px 0 0;font-weight:500;color:#6e728e}
.admin-panel{
  width:100%;
  margin-top:20px!important;
  padding:24px!important;
  border-radius:18px!important;
  border:1px solid #e7e9f5!important;
  background:var(--surface)!important;
  box-shadow:0 18px 55px rgba(13,8,102,.07)!important;
}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.panel-heading h2,.admin-panel h2{font-size:clamp(22px,2vw,30px);margin:0 0 8px}
.quick-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px}
.quick-actions a{min-height:78px;border-radius:14px!important;font-weight:700}
.table-wrap{width:100%;overflow:auto}
table{width:100%!important;min-width:720px;border-collapse:separate;border-spacing:0}
th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--soft)}
th,td{padding:14px 16px!important;border-bottom:1px solid var(--line)!important}
tbody tr:hover{background:var(--soft)}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.admin-drawer-button{display:none}
@media (max-width:1100px){
  body.admin-shell{display:block!important}
  .admin-drawer-button{display:block!important}
  .admin-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    transform:translateX(-105%)!important;
    transition:transform .25s ease;
  }
  .admin-sidebar.is-open{transform:none!important}
  .admin-main{padding:22px!important}
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:680px){
  .admin-grid,.quick-actions,.form-grid{grid-template-columns:1fr!important}
  .admin-topbar{position:relative;flex-direction:column;align-items:flex-start}
  table{min-width:620px}
}

/* .auth-body / .workspace-login intentionally removed — the premium
   auth screen design now lives entirely in main.css (.auth-body,
   .auth-shell, .auth-visual, .auth-form-side). Having a second,
   older .auth-body/.workspace-login definition here was silently
   overriding it, since admin.css loads after main.css. */

/* ===== Profile dropdown (admin topbar) ===== */
.profile-trigger{
  display:flex;align-items:center;gap:10px;
  background:var(--surface);border:1px solid var(--line);border-radius:999px;
  padding:6px 14px 6px 6px;cursor:pointer;font:inherit;color:var(--ink);
}
.profile-avatar{
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;font-weight:700;font-size:13px;
  overflow:hidden;
}
.profile-avatar--photo img{width:100%;height:100%;object-fit:cover;}
.profile-name{font-size:14px;font-weight:600;}
.admin-topbar{
  position:sticky;
  top:0;
  z-index:40;
}
.profile-dropdown{
  position:absolute;right:0;top:calc(100% + 8px);
  width:240px;background:var(--surface, #ffffff)!important;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 20px 50px rgba(13,8,102,.14);
  padding:8px;display:none;z-index:90;
}
.profile-dropdown.is-open{display:block;}
.profile-dropdown__header{padding:10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px;}
.profile-dropdown__header strong{display:block;font-size:14px;}
.profile-dropdown__header small{color:var(--muted);font-size:12px;}
.profile-dropdown a{
  display:block;padding:9px 12px;border-radius:8px;font-size:14px;color:var(--ink);
}
.profile-dropdown a:hover{background:var(--soft);}
.profile-menu{position:relative;}

.permission-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.permission-check{
  display:flex!important;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:10px 12px!important;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font-size:13px!important;
  font-weight:600!important;
  color:var(--ink);
}
.permission-check input{
  width:16px!important;
  height:16px!important;
  accent-color:var(--brand);
}
@media (max-width:900px){
  .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .permission-grid{grid-template-columns:1fr}
}

/* ===== Email Campaigns ===== */
.campaign-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  align-items:center;
  gap:24px;
  margin-bottom:20px;
  padding:28px;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(circle at 78% 20%,rgba(189,242,101,.26),transparent 30%),
    linear-gradient(135deg,#070532,#19127a 58%,#2534b8);
  box-shadow:0 24px 70px rgba(13,8,102,.18);
  overflow:hidden;
}
.campaign-kicker{
  margin:0 0 8px;
  color:var(--esel-green,#bdf265);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.campaign-hero h2{
  margin:0;
  font-size:clamp(30px,4vw,54px);
  color:#fff;
}
.campaign-hero p{
  max-width:760px;
  margin:12px 0 0;
  color:rgba(255,255,255,.72);
  line-height:1.7;
}
.campaign-hero__limits{
  display:grid;
  gap:4px;
  padding:22px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(255,255,255,.08);
  text-align:center;
}
.campaign-hero__limits strong{font-size:56px;line-height:1;color:var(--esel-green,#bdf265)}
.campaign-hero__limits span{font-weight:700}
.campaign-hero__limits small{color:rgba(255,255,255,.62)}
.campaign-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  background:#eef2ff;
  color:#312e81;
}
.campaign-status--running{background:#dcfce7;color:#166534}
.campaign-status--completed{background:#dbeafe;color:#1d4ed8}
.campaign-status--paused{background:#fef3c7;color:#92400e}
.campaign-status--stopped,.campaign-status--failed{background:#fee2e2;color:#991b1b}
.campaign-progress{display:grid;gap:10px;margin:22px 0}
.campaign-progress__meta{display:flex;justify-content:space-between;gap:16px;color:var(--ink)}
.campaign-progress__meta strong{font-size:18px}
.campaign-progress__bar{
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#e8ecf7;
}
.campaign-progress__bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--brand),var(--cyan),var(--esel-green,#bdf265));
  transition:width .28s ease;
}
.campaign-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.campaign-stats div{
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfcff);
}
.campaign-stats strong{display:block;font-size:32px;line-height:1;color:var(--brand)}
.campaign-stats span{display:block;margin-top:8px;color:var(--muted);font-weight:600}
.campaign-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.campaign-run-message{
  margin:0 0 20px;
  color:var(--muted);
  font-weight:600;
}
.campaign-columns{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:18px;
}
.campaign-box{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.campaign-box h3{
  margin:0;
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  font-size:16px;
}
.mini-table,.campaign-log-list{
  display:grid;
  max-height:420px;
  overflow:auto;
}
.mini-table div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px;
  border-bottom:1px solid var(--line);
}
.mini-table span{overflow:hidden;text-overflow:ellipsis}
.campaign-recipient{font-size:12px;text-transform:uppercase;color:var(--muted)}
.campaign-recipient--sent{color:#15803d}
.campaign-recipient--failed{color:#b91c1c}
.campaign-log{
  padding:13px 18px;
  border-bottom:1px solid var(--line);
}
.campaign-log strong{display:block;font-size:13px}
.campaign-log p{margin:6px 0 0;color:#b91c1c;font-size:12px}
.campaign-log small{display:block;margin-top:6px;color:var(--muted);font-size:11px}
.campaign-log--success{background:#f0fdf4}
.campaign-log--error{background:#fff1f2}
.campaign-log--warning{background:#fffbeb}
.campaign-builder code{
  padding:2px 6px;
  border-radius:6px;
  background:#eef2ff;
  color:var(--brand);
}
.campaign-history{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.campaign-history a{
  display:grid;
  gap:10px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--ink);
}
.campaign-history a:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 45px rgba(13,8,102,.1);
}
.campaign-history strong{font-size:16px}
.campaign-history small{color:var(--muted)}
@media (max-width:980px){
  .campaign-hero,.campaign-columns{grid-template-columns:1fr}
  .campaign-stats,.campaign-history{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .campaign-stats,.campaign-history{grid-template-columns:1fr}
  .campaign-hero{padding:22px}
}

/* ===== Premium refinement pass ===== */
.admin-grid{gap:16px;}
.stat{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  padding:22px 22px 20px;
  transition:transform .18s ease,box-shadow .18s ease;
}
.stat:before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--brand-2),var(--cyan));
  opacity:.85;
}
.stat:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(13,8,102,.12);}
.stat span{font-size:32px!important;letter-spacing:-0.02em;}
.stat p{margin:6px 0 0;font-size:13px;color:var(--muted);font-weight:500;}

.admin-panel{
  border-radius:16px;
  transition:box-shadow .18s ease;
}
.panel-heading{padding:20px 22px;border-bottom:1px solid var(--line);}
.panel-heading h2{font-size:16px;margin:0;}
.panel-heading p{font-size:13px;margin:2px 0 0;}
.admin-panel > table,.admin-panel > .table-wrap{margin-top:0;}
.admin-panel form.filters{padding:16px 22px;border-bottom:1px solid var(--line);margin:0;}
th{padding:12px 16px!important;font-weight:600;}
tr:hover td{background:var(--soft);}
.bar-row{padding:12px 22px;}
.bar-row:first-child{border-top:none;}

/* Sidebar polish — stays dark in both themes (brand anchor), refined active state */
.admin-sidebar{padding:20px 16px;}
.nav-group{margin-top:10px;}
.nav-group button{opacity:.9;}
.admin-sidebar .nav-group a{
  position:relative;
  border-radius:10px;
  font-weight:500;
  transition:background .15s ease,color .15s ease;
}
.admin-sidebar a.is-active{
  background:rgba(255,255,255,.12);
  font-weight:600;
}
.admin-sidebar a.is-active:before{
  content:"";
  position:absolute;left:-16px;top:50%;transform:translateY(-50%);
  width:3px;height:18px;border-radius:2px;
  background:linear-gradient(180deg,var(--cyan),var(--brand-3));
}
.admin-logout{opacity:.75;}
.admin-logout:hover{opacity:1;}

.admin-topbar{border-bottom:1px solid var(--line);backdrop-filter:blur(14px);}
.admin-main{background:var(--soft);}
.admin-content,.admin-main > *{position:relative;}

.button{border-radius:10px!important;}
.button-small{border-radius:8px!important;}

/* Dashboard topbar notifications */
.admin-title-block p{
  font-size:14px;
}
.admin-topbar-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.notification-menu,.profile-menu{
  position:relative;
}
.notification-trigger{
  position:relative;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  color:#151932;
  box-shadow:0 12px 28px rgba(17,22,51,.06);
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.notification-trigger:hover{
  transform:translateY(-1px);
  border-color:#bdf265;
  box-shadow:0 18px 36px rgba(189,242,101,.18);
}
.notification-trigger svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.notification-trigger span{
  position:absolute;
  right:-5px;
  top:-5px;
  display:grid;
  place-items:center;
  min-width:21px;
  height:21px;
  padding:0 6px;
  border:2px solid #fff;
  border-radius:999px;
  background:#bdf265;
  color:#07110a;
  font-size:11px;
  font-weight:800;
}
.notification-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  width:min(390px,calc(100vw - 32px));
  max-height:min(620px,70vh);
  overflow:hidden;
  display:none;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 28px 80px rgba(17,22,51,.18);
  z-index:30;
}
.notification-dropdown.is-open{
  display:block;
}
.notification-dropdown__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:18px;
  border-bottom:1px solid #edf1f6;
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.notification-dropdown__header strong{
  display:block;
  color:#151932;
  font-size:16px;
}
.notification-dropdown__header small{
  display:block;
  margin-top:3px;
  color:#68708a;
  font-size:12px;
}
.notification-dropdown__header button,
.notification-item button{
  border:0;
  background:transparent;
  color:#315b16;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.notification-list{
  display:grid;
  max-height:460px;
  overflow:auto;
}
.notification-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:14px 18px;
  border-bottom:1px solid #f0f3f8;
  background:#fff;
}
.notification-item a{
  color:inherit;
  text-decoration:none;
}
.notification-item span{
  display:inline-flex;
  margin-bottom:5px;
  padding:5px 8px;
  border-radius:999px;
  background:#ecffd5;
  color:#315b16;
  font-size:11px;
  font-weight:700;
}
.notification-item strong{
  display:block;
  color:#151932;
  font-size:14px;
  font-weight:600;
}
.notification-item p{
  margin:4px 0;
  color:#68708a;
  font-size:12px;
  line-height:1.45;
}
.notification-item small{
  color:#9aa1b5;
  font-size:11px;
}
.notification-item.is-read{
  opacity:.48;
}
.notification-item.is-read button{
  display:none;
}
.notification-empty{
  padding:22px;
  color:#68708a;
  font-weight:500;
}

/* Keep dashboard navigation lighter, per brand direction */
.nav-group button,
.admin-sidebar .nav-group a,
.admin-sidebar a,
.admin-sidebar a.is-active,
.admin-logout{
  font-weight:500!important;
}
@media (max-width:760px){
  .admin-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .admin-topbar-actions{
    width:100%;
    justify-content:flex-start;
  }
  .notification-dropdown{
    left:0;
    right:auto;
  }
}
.flash{border-radius:10px;}

/* Empty state polish */
.empty-state{border-radius:14px;background:var(--surface);}

/* Reference-inspired dashboard refresh: visual only, PHP logic unchanged */
body.admin-shell{
  display:grid!important;
  grid-template-columns:264px minmax(0,1fr)!important;
  min-height:100vh;
  background:#f6f7fc!important;
  color:#10122e;
}
.admin-sidebar{
  position:sticky!important;
  top:0!important;
  height:100vh!important;
  width:264px!important;
  padding:24px 16px!important;
  background:#080a32!important;
  color:#fff;
  box-shadow:none!important;
  border-right:0!important;
}
.admin-brand{
  min-height:42px;
  padding:0 12px 20px!important;
  margin:0 0 24px!important;
}
.admin-logo{
  width:164px;
  max-height:52px;
  filter:brightness(0) invert(1);
}
.nav-group{
  margin-top:22px!important;
}
.nav-group button{
  padding:0 12px 8px!important;
  color:rgba(255,255,255,.36)!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
}
.admin-sidebar .nav-group a{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  margin:2px 0!important;
  padding:11px 12px!important;
  border-radius:13px!important;
  color:rgba(255,255,255,.62)!important;
  font-size:14px;
  border:0!important;
  transform:none!important;
}
.admin-sidebar .nav-group a:hover{
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
}
.admin-sidebar a.is-active{
  background:#5150d9!important;
  color:#fff!important;
  box-shadow:0 18px 40px rgba(0,0,0,.2);
}
.admin-sidebar a.is-active:before{display:none}
.nav-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.admin-logout{
  margin-top:auto!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:13px!important;
  color:rgba(255,255,255,.7)!important;
}
.admin-main{
  width:100%;
  max-width:1500px!important;
  margin:0 auto;
  padding:0 32px 42px!important;
  background:#f6f7fc!important;
}
.admin-topbar{
  position:sticky!important;
  top:0!important;
  z-index:40;
  min-height:76px;
  margin:0 -32px 28px!important;
  padding:14px 32px!important;
  border:0!important;
  border-bottom:1px solid #e8e8f1!important;
  border-radius:0!important;
  background:rgba(246,247,252,.88)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px);
}
.admin-topbar p{
  color:#7d7f94;
  font-size:12px;
  margin:0;
}
.admin-topbar h1{
  margin:0;
  color:#10122e;
  font-size:clamp(24px,2.6vw,34px)!important;
  line-height:1.05;
  letter-spacing:0;
}
.profile-trigger{
  border-radius:14px!important;
  border:1px solid #e5e6ed!important;
  background:#fff!important;
  box-shadow:none!important;
}
.profile-avatar{
  border-radius:10px!important;
  background:linear-gradient(135deg,#5150d9,#45c9ed)!important;
}
.profile-dropdown{
  border-radius:18px!important;
  border-color:#e5e6ed!important;
  box-shadow:0 24px 70px rgba(16,18,46,.14)!important;
}
.dashboard-hero{
  position:relative;
  overflow:hidden;
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin-bottom:22px;
  border-radius:28px;
  background:#11144a;
  padding:34px 38px;
  color:#fff;
}
.dashboard-hero:before{
  content:"";
  position:absolute;
  right:-70px;
  top:-110px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:#3a4aef;
  filter:blur(48px);
  opacity:.72;
}
.dashboard-hero > div:first-child{
  position:relative;
  max-width:580px;
}
.dashboard-hero p{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#bdf7ff;
  font-size:13px;
  font-weight:600;
}
.dashboard-hero p span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#67e8f9;
}
.dashboard-hero h2{
  margin:22px 0 12px;
  color:#fff;
  font-size:clamp(34px,4vw,52px);
  line-height:1.02;
  letter-spacing:0;
}
.dashboard-hero small{
  display:block;
  max-width:520px;
  color:rgba(255,255,255,.64);
  font-size:15px;
  line-height:1.7;
}
.dashboard-hero .button{
  margin-top:24px;
  border-radius:14px!important;
  background:#fff!important;
  color:#16184a!important;
  box-shadow:none!important;
}
.dashboard-hero__preview{
  position:relative;
  width:300px;
  height:180px;
  align-self:flex-end;
  margin-bottom:-34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px 22px 0 0;
  background:#171a59;
  box-shadow:0 28px 70px rgba(0,0,0,.28);
  padding:22px;
}
.dashboard-hero__preview i{
  display:block;
  position:absolute;
  border-radius:12px;
  background:rgba(255,255,255,.14);
}
.dashboard-hero__preview i:nth-child(1){left:22px;top:22px;width:80px;height:10px}
.dashboard-hero__preview i:nth-child(2){left:22px;bottom:28px;width:82px;height:76px;background:rgba(104,105,233,.52)}
.dashboard-hero__preview i:nth-child(3){left:120px;bottom:28px;width:68px;height:48px;background:rgba(103,232,249,.4)}
.dashboard-hero__preview i:nth-child(4){right:24px;bottom:28px;width:72px;height:94px;background:rgba(255,255,255,.2)}
.admin-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.stat{
  min-height:158px;
  border-radius:22px!important;
  border:1px solid #e9e9f1!important;
  background:#fff!important;
  padding:20px!important;
  box-shadow:0 1px 0 rgba(16,18,46,.03)!important;
}
.stat:before{
  width:42px;
  height:42px;
  inset:20px auto auto 20px;
  border-radius:14px;
  background:#f1f0ff!important;
}
.stat:after{
  content:"";
  position:absolute;
  left:34px;
  top:34px;
  width:14px;
  height:14px;
  border-radius:4px;
  background:#5855d6;
}
.stat span{
  display:block;
  margin-top:58px;
  color:#10122e!important;
  font-size:34px!important;
  line-height:1;
}
.stat p{
  margin-top:7px!important;
  color:#737488!important;
  font-size:13px!important;
  font-weight:700!important;
}
.admin-panel{
  border-radius:22px!important;
  border:1px solid #e9e9f1!important;
  background:#fff!important;
  box-shadow:0 1px 0 rgba(16,18,46,.03)!important;
  overflow:hidden;
}
.admin-panel h2{
  color:#10122e;
  font-size:20px!important;
  letter-spacing:0;
}
.panel-heading{
  border-bottom:1px solid #eeeef4!important;
  padding:22px 24px!important;
}
.quick-actions{
  padding:0!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.quick-actions a{
  border:0!important;
  border-radius:16px!important;
  background:#f8f8fc!important;
  color:#10122e!important;
  min-height:86px;
  align-items:center;
}
.quick-actions a:hover{
  transform:translateY(-3px);
  background:#f1f0ff!important;
}
.bar-row{
  margin:0 24px;
  padding:15px 0!important;
  border-color:#eeeef4!important;
}
table{
  border-collapse:separate!important;
  border-spacing:0!important;
}
th{
  background:#f8f8fc!important;
  color:#868799!important;
  font-size:12px;
}
td{
  color:#383a55;
  border-color:#eeeef4!important;
}
tr:hover td{background:#f8f8fc!important}
input,select,textarea{
  border-color:#e5e6ed!important;
  border-radius:14px!important;
  background:#fff!important;
}
.button{
  border-radius:14px!important;
  background:#5150d9!important;
  box-shadow:0 16px 36px rgba(81,80,217,.18)!important;
}
.button-ghost{
  background:#fff!important;
  color:#5150d9!important;
  border-color:#e5e6ed!important;
  box-shadow:none!important;
}
@media (max-width:1180px){
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-hero__preview{display:none}
}
@media (max-width:1100px){
  body.admin-shell{display:block!important}
  .admin-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:60;
    transform:translateX(-105%)!important;
    transition:transform .24s ease;
  }
  .admin-sidebar.is-open{transform:none!important}
  .admin-main{padding:0 20px 34px!important}
  .admin-topbar{margin:0 -20px 22px!important;padding:14px 20px!important}
  .admin-drawer-button{display:block!important;z-index:70}
}
@media (max-width:680px){
  .dashboard-hero{padding:28px 24px;border-radius:22px}
  .admin-grid,.quick-actions{grid-template-columns:1fr!important}
}

/* Unified ESelMedia green style pass */
:root{
  --esel-green:#41f2a6;
  --esel-green-2:#16d9a1;
  --esel-green-soft:#e9fff5;
  --esel-blue:#11144a;
}
.admin-sidebar{
  background:linear-gradient(180deg,#070b2e,#05072f)!important;
}
.admin-sidebar a.is-active{
  background:linear-gradient(135deg,rgba(65,242,166,.22),rgba(255,255,255,.08))!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(65,242,166,.12)!important;
}
.admin-sidebar .nav-group a:hover{
  background:rgba(65,242,166,.08)!important;
}
.profile-avatar{
  background:linear-gradient(135deg,#0f7a61,var(--esel-green))!important;
  color:#06142e!important;
}
.dashboard-hero{
  background:linear-gradient(135deg,#070b2e,#11144a 58%,#0c5f52)!important;
}
.dashboard-hero:before{
  background:var(--esel-green)!important;
  opacity:.58;
}
.dashboard-hero p{
  color:#d9ffef!important;
}
.dashboard-hero p span{
  background:var(--esel-green)!important;
  box-shadow:0 0 18px rgba(65,242,166,.58);
}
.dashboard-hero .button{
  background:var(--esel-green)!important;
  color:#06142e!important;
}
.dashboard-hero__preview{
  background:#0c1745!important;
  border-color:rgba(65,242,166,.16)!important;
}
.dashboard-hero__preview i:nth-child(2){
  background:rgba(65,242,166,.34)!important;
}
.dashboard-hero__preview i:nth-child(3){
  background:rgba(52,217,245,.35)!important;
}
.stat:before{
  background:var(--esel-green-soft)!important;
}
.stat:after{
  background:#0fab7a!important;
}
.stat:hover{
  box-shadow:0 22px 60px rgba(22,217,161,.1)!important;
}
.quick-actions a:hover{
  background:var(--esel-green-soft)!important;
}
.button{
  background:linear-gradient(135deg,#0f7a61,var(--esel-green-2))!important;
  color:#fff!important;
  box-shadow:0 16px 36px rgba(22,217,161,.18)!important;
}
.button-ghost{
  color:#0f7a61!important;
}
th{
  color:#61706d!important;
}
tr:hover td{
  background:#f2fff8!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(22,217,161,.68)!important;
  box-shadow:0 0 0 3px rgba(65,242,166,.16);
  outline:none;
}

/* Exact brand green + dashboard contrast correction */
:root{
  --esel-green:#bdf265;
  --esel-green-2:#9de83f;
  --esel-green-soft:#f4ffe0;
  --esel-green-ink:#07110a;
  --esel-green-deep:#314b0d;
}
.admin-sidebar a.is-active{
  background:linear-gradient(135deg,rgba(189,242,101,.22),rgba(255,255,255,.08))!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(189,242,101,.12)!important;
}
.admin-sidebar .nav-group a:hover{
  background:rgba(189,242,101,.08)!important;
}
.nav-group button{
  color:#f7f8ff!important;
}
.profile-avatar,
.admin-drawer-button{
  background:linear-gradient(135deg,var(--esel-green),var(--esel-green-2))!important;
  color:var(--esel-green-ink)!important;
}
.dashboard-hero{
  background:linear-gradient(135deg,#070b2e,#11144a 58%,#233d12)!important;
}
.dashboard-hero:before{
  background:var(--esel-green)!important;
  opacity:.62;
}
.dashboard-hero p{
  color:#f4ffe0!important;
}
.dashboard-hero p span{
  background:var(--esel-green)!important;
  box-shadow:0 0 18px rgba(189,242,101,.48);
}
.dashboard-hero .button,
.button,
.button-small{
  background:linear-gradient(135deg,var(--esel-green),var(--esel-green-2))!important;
  color:var(--esel-green-ink)!important;
  border-color:rgba(189,242,101,.42)!important;
  box-shadow:0 16px 36px rgba(189,242,101,.2)!important;
}
.button:hover,
.button-small:hover{
  box-shadow:0 22px 50px rgba(189,242,101,.25)!important;
}
.button-ghost{
  background:#fff!important;
  color:var(--esel-green-deep)!important;
  border-color:#dcebb8!important;
}
.dashboard-hero__preview{
  border-color:rgba(189,242,101,.18)!important;
}
.dashboard-hero__preview i:nth-child(2){
  background:rgba(189,242,101,.34)!important;
}
.stat:before,
.quick-actions a:hover{
  background:var(--esel-green-soft)!important;
}
.stat:after{
  background:var(--esel-green)!important;
}
.stat:hover{
  box-shadow:0 22px 60px rgba(189,242,101,.12)!important;
}
tr:hover td{
  background:#f8ffe8!important;
}
input:focus,
select:focus,
textarea:focus{
  border-color:rgba(189,242,101,.76)!important;
  box-shadow:0 0 0 3px rgba(189,242,101,.18);
}

/* Readable hover states across dashboard controls */
.button-ghost:hover,
.quick-actions a:hover{
  background:var(--esel-green)!important;
  color:var(--esel-green-ink)!important;
  border-color:var(--esel-green)!important;
}
.profile-dropdown a:hover{
  background:var(--esel-green)!important;
  color:var(--esel-green-ink)!important;
}
.admin-sidebar .nav-group a:hover{
  color:#fff!important;
}

/* Team member cards */
.team-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:18px;
  margin-top:20px;
}
.team-card{
  overflow:hidden;
  border:1px solid #e5e9f0;
  border-top:5px solid #315d68;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 45px rgba(16,22,48,.08);
}
.team-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px 8px;
}
.team-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-radius:999px;
  padding:7px 12px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.team-status:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
}
.team-status.is-active{
  background:#22c55e;
  color:#fff;
  box-shadow:0 10px 24px rgba(34,197,94,.25);
}
.team-status.is-inactive{
  background:#eef1f5;
  color:#657085;
}
.team-card__menu{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#607089;
  font-size:24px;
  line-height:1;
}
.team-card__menu:hover{
  background:var(--esel-green)!important;
  color:var(--esel-green-ink)!important;
}
.team-card__identity{
  display:grid;
  justify-items:center;
  text-align:center;
  padding:8px 20px 18px;
}
.team-avatar{
  display:grid;
  place-items:center;
  width:92px;
  height:92px;
  overflow:hidden;
  border:5px solid #fff;
  border-radius:50%;
  background:#4589a7;
  color:#fff;
  box-shadow:0 14px 34px rgba(25,47,76,.18);
  font-size:46px;
  font-weight:500;
}
.team-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.team-card__identity h3{
  margin:16px 0 4px;
  color:#151b2d;
  font-size:21px;
}
.team-card__identity p{
  margin:0;
  color:#6b778c;
  font-size:14px;
}
.team-card__details{
  display:grid;
  gap:10px;
  margin:0 20px 18px;
  padding:16px;
  border-radius:18px;
  background:#f2f5f7;
}
.team-card__details div{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.team-card__details dt{
  color:#315d68;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.team-card__details dd{
  min-width:0;
  margin:0;
  color:#172033;
  font-size:14px;
  overflow-wrap:anywhere;
}
.team-card__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 20px 18px;
  border-top:1px solid #e5e9f0;
  color:#6b778c;
  font-size:13px;
}
.team-card__footer a{
  color:#315d68;
  font-weight:700;
  white-space:nowrap;
}
.team-card__footer a:hover{
  color:#111633;
}
.admin-note{
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(189,242,101,.45);
  border-radius:14px;
  background:rgba(189,242,101,.16);
  color:#1e2a14;
  font-size:14px;
  line-height:1.5;
}
.media-grid article.is-missing-media{
  border-color:#ffb4a8;
  background:#fff8f6;
}
.media-missing{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-radius:999px;
  background:#ffe7e2;
  color:#9b1c13;
  font-weight:700;
  font-size:13px;
}
.media-replace{
  display:grid;
  gap:8px;
}
.media-replace input[type="file"]{
  width:100%;
  min-height:42px;
  padding:8px;
  border:1px dashed #ccd4e0;
  border-radius:12px;
  background:#f8fafc;
  font-size:12px;
}
.section-editor-grid{
  display:grid;
  gap:18px;
}
.section-editor-card{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 38px rgba(17,22,51,.05);
}
.section-editor-card h3{
  margin:0;
}
.section-editor-card textarea{
  min-height:110px;
}
.section-editor-card .field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
@media (max-width:760px){
  .section-editor-card .field-grid{
    grid-template-columns:1fr;
  }
}

/* Independent page builder */
.page-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px;
  padding:18px 22px 24px;
}
.page-card{
  display:grid;
  gap:12px;
  padding:20px;
  border:1px solid #e2e8f0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 38px rgba(17,22,51,.05);
}
.page-card__top,.page-card__actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.page-card__top{justify-content:space-between}
.page-card__top span{
  padding:7px 10px;
  border-radius:999px;
  background:#ecffd5;
  color:#315b16;
  font-size:12px;
  font-weight:700;
}
.page-card code{
  padding:6px 8px;
  border-radius:8px;
  background:#f5f7fb;
  color:#5d647a;
}
.page-card h3{margin:0;font-size:19px}
.page-card p{min-height:52px;margin:0;color:#68708a;font-size:13px;line-height:1.55}
.page-card__meta small{color:#7b8298}
.page-builder-heading{
  align-items:center;
}
.builder-kicker{
  display:inline-flex;
  margin-bottom:8px;
  padding:7px 10px;
  border:1px solid rgba(189,242,101,.45);
  border-radius:999px;
  background:rgba(189,242,101,.14);
  color:#315b16;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.builder-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.page-builder-layout{
  display:grid;
  grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);
  gap:22px;
  padding:22px;
}
.page-preview-panel{
  display:grid;
  gap:18px;
  align-content:start;
  position:sticky;
  top:22px;
}
.builder-tabs{
  display:grid;
  gap:12px;
}
.builder-tabs>input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.builder-tab-buttons{
  display:flex;
  gap:8px;
  padding:6px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
}
.builder-tab-buttons label{
  flex:1;
  display:grid;
  place-items:center;
  min-height:40px;
  border-radius:999px;
  color:#5d647a;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
#preview-en:checked ~ .builder-tab-buttons label[for="preview-en"],
#preview-fr:checked ~ .builder-tab-buttons label[for="preview-fr"]{
  background:#bdf265;
  color:#07110a;
  box-shadow:0 10px 25px rgba(189,242,101,.22);
}
.builder-tab-content{display:none}
#preview-en:checked ~ .preview-en,
#preview-fr:checked ~ .preview-fr{display:block}
.browser-preview{
  overflow:hidden;
  border:1px solid #dfe6f1;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 54px rgba(17,22,51,.1);
}
.browser-preview__bar{
  display:flex;
  align-items:center;
  gap:7px;
  padding:12px 14px;
  border-bottom:1px solid #e8edf5;
  background:#f8fafc;
}
.browser-preview__bar i{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#cbd5e1;
}
.browser-preview__bar i:first-child{background:#ff6b6b}
.browser-preview__bar i:nth-child(2){background:#f9c74f}
.browser-preview__bar i:nth-child(3){background:#54d174}
.browser-preview__bar span{
  margin-left:6px;
  color:#647084;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.browser-preview iframe{
  display:block;
  width:100%;
  height:560px;
  border:0;
  background:#fff;
}
.builder-mini-map{
  display:grid;
  gap:10px;
  padding:18px;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#fff;
}
.builder-mini-map h3{margin:0 0 6px;font-size:16px}
.builder-mini-map article{
  padding:14px;
  border:1px solid #edf1f6;
  border-radius:16px;
  background:#f8fafc;
}
.builder-mini-map span{
  display:block;
  margin-bottom:5px;
  color:#315b16;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.builder-mini-map strong{
  display:block;
  color:#151932;
  font-size:14px;
}
.builder-mini-map p{
  margin:6px 0 0;
  color:#68708a;
  font-size:12px;
  line-height:1.55;
}
.page-builder-form{
  gap:18px;
}
.builder-card{
  border-radius:22px;
}
.builder-card__title{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.builder-card__title>span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 auto;
  border-radius:12px;
  background:#ecffd5;
  color:#315b16;
  font-size:12px;
  font-weight:800;
}
.builder-card__title h3{margin:0}
.builder-card__title p{margin:3px 0 0;color:#68708a;font-size:13px}
.builder-savebar{
  position:sticky;
  bottom:14px;
  z-index:3;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 50px rgba(17,22,51,.13);
  backdrop-filter:blur(14px);
}
@media (max-width:1180px){
  .page-builder-layout{
    grid-template-columns:1fr;
  }
  .page-preview-panel{
    position:static;
  }
}
@media (max-width:760px){
  .page-builder-layout{
    padding:16px;
  }
  .browser-preview iframe{
    height:440px;
  }
  .builder-actions{
    justify-content:flex-start;
  }
}

/* ===== Mailer Pro ===== */
.mailer-studio-hero{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
  gap:24px;
  margin:22px;
  padding:32px;
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(circle at 78% 24%, rgba(189,242,101,.22), transparent 28%),
    linear-gradient(135deg,#07092b 0%,#11184a 54%,#07112b 100%);
  box-shadow:0 24px 70px rgba(7,9,43,.22);
}
.mailer-studio-hero h2{margin:0;font-size:clamp(34px,5vw,66px);line-height:.95;color:#fff}
.mailer-studio-hero p{max-width:760px;color:rgba(255,255,255,.72)}
.mailer-studio-hero__cards{
  display:grid;
  gap:12px;
  align-content:center;
}
.mailer-studio-hero__cards span{
  padding:18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.08);
  color:#bdf265;
  font-weight:800;
}
.mailer-builder .panel-heading{border-bottom:1px solid #edf1f6}
.mailer-wizard{
  display:grid;
  gap:18px;
  padding:22px;
}
.mailer-step{
  position:relative;
  display:grid;
  gap:16px;
  padding:24px;
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 44px rgba(17,22,51,.05);
}
.mailer-step>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:#ecffd5;
  color:#315b16;
  font-weight:900;
}
.mailer-step h3{margin:0;font-size:22px}
.mailer-editor-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.mailer-editor-toolbar button{
  min-height:38px;
  padding:0 14px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#151932;
  font-weight:700;
  cursor:pointer;
}
.mailer-editor{
  min-height:260px;
  padding:20px;
  border:1px solid #dfe6f1;
  border-radius:20px;
  background:#fbfdff;
  color:#151932;
  line-height:1.65;
  outline:none;
}
.mailer-editor:focus{border-color:#bdf265;box-shadow:0 0 0 4px rgba(189,242,101,.22)}
.mailer-preview-step iframe{
  width:100%;
  height:420px;
  border:1px solid #dfe6f1;
  border-radius:22px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.mailer-preview-step iframe.is-mobile{
  max-width:390px;
  justify-self:center;
}
.mailer-preview-switch{
  display:flex;
  gap:8px;
}
.mailer-preview-switch button{
  padding:10px 14px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#fff;
  color:#151932;
  font-weight:800;
  cursor:pointer;
}
.mailer-test{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.mailer-test input{
  min-width:min(360px,100%);
  padding:14px 16px;
  border:1px solid #dfe6f1;
  border-radius:14px;
}
.mailer-stats{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.mailer-attachments-list{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:18px;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#f8fafc;
}
.mailer-attachments-list h3{width:100%;margin:0;font-size:16px}
.mailer-attachments-list span{
  padding:8px 10px;
  border-radius:999px;
  background:#fff;
  color:#5d647a;
  font-weight:700;
}
.campaign-status--scheduled{background:#e0f2fe;color:#0369a1}
.campaign-status--draft{background:#f1f5f9;color:#334155}
.campaign-recipient--unsubscribed{color:#92400e}
@media (max-width:1100px){
  .mailer-studio-hero,.mailer-stats{grid-template-columns:1fr}
}
@media (max-width:760px){
  .mailer-studio-hero{margin:14px;padding:22px}
  .mailer-wizard{padding:14px}
  .mailer-step{padding:18px}
}

/* ===== Tracking + Booking Management ===== */
.tracking-hero,.booking-admin-hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:22px;
  margin:22px;
  padding:30px;
  border-radius:28px;
  background:
    radial-gradient(circle at 82% 18%, rgba(189,242,101,.28), transparent 28%),
    linear-gradient(135deg,#07092b,#10164b 62%,#07112b);
  color:#fff;
  box-shadow:0 24px 70px rgba(7,9,43,.2);
}
.tracking-hero h2,.booking-admin-hero h2{margin:0;font-size:clamp(32px,4vw,58px);line-height:1;color:#fff}
.tracking-hero p,.booking-admin-hero p{max-width:720px;color:rgba(255,255,255,.7)}
.tracking-hero__status,.booking-admin-stats{
  display:grid;
  gap:12px;
  align-content:center;
}
.tracking-hero__status span,.booking-admin-stats article{
  padding:16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.08);
}
.booking-admin-stats{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.booking-admin-stats strong{
  display:block;
  color:#bdf265;
  font-size:34px;
  line-height:1;
}
.booking-admin-stats span,.tracking-hero__status span{
  color:rgba(255,255,255,.8);
  font-weight:600;
}
.tracking-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.tracking-grid article{
  display:grid;
  gap:14px;
  padding:22px;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#fff;
}
.tracking-grid h3{margin:0;font-size:22px}
.tracking-note{
  padding:18px;
  border-radius:18px;
  background:#ecffd5;
  color:#315b16;
}
.tracking-note p{margin:6px 0 0;color:#4b6b2d}
.booking-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px;
}
.booking-calendar article{
  min-height:150px;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
}
.booking-calendar article.is-today{
  border-color:#bdf265;
  box-shadow:0 0 0 4px rgba(189,242,101,.18);
}
.booking-calendar article>strong{
  display:block;
  margin-bottom:10px;
  color:#151932;
  font-size:13px;
}
.booking-empty-day{
  color:#9aa1b5;
  font-size:12px;
}
.booking-calendar-item{
  display:grid;
  gap:2px;
  margin-top:8px;
  padding:10px;
  border-radius:12px;
  background:#f8fafc;
  color:#151932;
  text-decoration:none;
  font-size:12px;
}
.booking-calendar-item span{color:#315b16;font-weight:800}
.booking-list{
  display:grid;
  gap:14px;
}
.booking-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.68fr);
  gap:18px;
  padding:20px;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 38px rgba(17,22,51,.05);
}
.booking-card h3{margin:10px 0 4px;font-size:22px}
.booking-card p{margin:0;color:#68708a}
.booking-status{
  display:inline-flex;
  width:max-content;
  padding:7px 10px;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-size:12px;
  font-weight:800;
}
.booking-status--confirmed{background:#dcfce7;color:#166534}
.booking-status--requested{background:#e0f2fe;color:#0369a1}
.booking-status--cancelled,.booking-status--no_show{background:#fee2e2;color:#991b1b}
.booking-status--completed{background:#ede9fe;color:#5b21b6}
.booking-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.booking-meta span{
  padding:8px 10px;
  border-radius:999px;
  background:#f8fafc;
  color:#5d647a;
  font-size:12px;
  font-weight:600;
}
.booking-notes{margin-top:12px!important}
.booking-card__actions{
  display:grid;
  gap:10px;
  align-content:start;
}
.booking-card__actions form{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.booking-card__actions input,.booking-card__actions select{
  min-height:40px;
  border:1px solid #dfe6f1;
  border-radius:10px;
  padding:0 10px;
}
@media (max-width:1100px){
  .tracking-hero,.booking-admin-hero,.tracking-grid,.booking-card{grid-template-columns:1fr}
  .booking-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .tracking-hero,.booking-admin-hero{margin:14px;padding:22px}
  .booking-admin-stats,.booking-calendar{grid-template-columns:1fr}
}

.design-approval-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:24px;
  align-items:center;
  margin-bottom:24px;
  padding:30px;
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 18%,rgba(189,242,101,.32),transparent 30%),
    linear-gradient(135deg,#080a2a,#111650 60%,#17205f);
  color:#fff;
  box-shadow:0 24px 70px rgba(8,10,42,.18);
}
.design-approval-hero--minimal{
  padding:26px 28px;
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 8%,rgba(189,242,101,.26),transparent 24%),
    linear-gradient(135deg,#080a2a,#111650 68%,#162358);
}
.design-approval-hero--minimal h2{
  max-width:760px;
  font-size:clamp(32px,3.4vw,52px);
}
.design-approval-hero--minimal p{
  max-width:760px;
  font-size:18px;
  line-height:1.65;
}
.design-approval-hero h2{margin:6px 0 10px;font-size:clamp(34px,4vw,58px);letter-spacing:-.03em}
.design-approval-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.74)}
.design-approval-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-bottom:22px;
}
.design-compose-grid{
  display:grid;
  grid-template-columns:minmax(300px,.86fr) minmax(360px,1.14fr);
  gap:18px;
  margin-bottom:22px;
}
.approval-section-panel{
  border-radius:24px;
  box-shadow:0 18px 54px rgba(17,22,51,.05);
}
.approval-board-list,.approval-items-grid{
  display:grid;
  gap:14px;
}
.approval-items-grid{
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  align-items:start;
  gap:20px;
}
.approval-board-list article{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:12px;
  align-items:center;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.approval-board-list strong{display:block;color:var(--ink)}
.approval-board-list p{margin:4px 0 0;color:var(--muted)}
.approval-status{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-size:12px;
  font-weight:700;
}
.approval-status--approved,.approval-status--active{background:#eaffc7;color:#315b16}
.approval-status--revision-requested{background:#fff7ed;color:#9a3412}
.approval-status--archived{background:#fee2e2;color:#991b1b}
.approval-item-card{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 36px rgba(17,22,51,.05);
}
.approval-item-card--premium{
  display:block;
  padding:0;
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  box-shadow:0 14px 34px rgba(17,22,51,.08);
}
.approval-preview{
  display:grid;
  place-items:center;
  min-height:190px;
  overflow:hidden;
  border-radius:18px;
  background:
    radial-gradient(circle at 20% 20%,rgba(189,242,101,.22),transparent 26%),
    linear-gradient(135deg,#f7f9ff,#eef4ff);
  color:#516016;
  font-weight:700;
}
.approval-preview--large{
  width:100%;
  min-height:0;
  aspect-ratio:4/5;
  max-height:360px;
  border-radius:0;
  background:#f1f3f8;
}
.approval-preview img{
  display:block;
  width:100%;
  height:100%;
  max-height:360px;
  object-fit:contain;
}
.approval-file{
  display:inline-flex;
  padding:12px 14px;
  border-radius:999px;
  background:#080a2a;
  color:#bdf265;
  text-decoration:none;
}
.approval-item-topline{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.approval-item-topline>span:first-child{color:#4e7d1d;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.approval-item-body h3{margin:12px 0 6px;font-size:24px}
.approval-item-card--premium .approval-item-body{
  padding:18px;
  align-self:start;
}
.approval-item-card--premium .approval-item-body h3{
  margin:12px 0 8px;
  font-size:19px;
  letter-spacing:-.02em;
}
.approval-card-client{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:7px 12px;
  border-radius:999px;
  background:#f4f6fb;
  color:#0f1735!important;
  font-weight:600;
}
.approval-item-body p{margin:0 0 10px;color:var(--muted)}
.approval-item-body blockquote{
  margin:12px 0;
  padding:14px;
  border-left:4px solid #bdf265;
  border-radius:14px;
  background:#f8fafc;
  color:#151932;
}
.approval-client-note{
  margin:12px 0;
  padding:12px;
  border-radius:14px;
  background:#ecfeff;
  color:#155e75;
}
.approval-client-note p{margin:4px 0 0;color:#155e75}
.approval-inline-form{
  display:grid;
  grid-template-columns:1fr 76px;
  gap:8px;
  align-items:center;
  margin:14px 0 8px;
}
.approval-inline-form input[type="text"],
.approval-inline-form .approval-check,
.approval-inline-form .button{
  grid-column:1/-1;
}
.approval-inline-form input,.approval-inline-form select{
  min-height:40px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:0 10px;
}
.approval-check{display:flex!important;align-items:center;gap:7px;margin:0!important;color:var(--muted);font-size:13px}
@media (max-width:1100px){
  .design-approval-grid,.design-compose-grid{grid-template-columns:1fr}
  .approval-inline-form{grid-template-columns:1fr 76px}
  .approval-inline-form input[type="text"],.approval-inline-form .button{grid-column:1/-1}
}
@media (max-width:700px){
  .design-approval-hero,.approval-board-list article{grid-template-columns:1fr}
}
