/* ==================================================================
   OfferZone -- Pro Dark theme (slate / indigo -> purple)
   Tailwind palette values, used as plain CSS so every existing page
   (built on the .oz-* classes) picks up the new look without edits.

   slate-950 #020617  page background          (bg-slate-950)
   slate-900 #0f172a  cards, 80% for glass     (bg-slate-900/80)
   slate-800 #1e293b  borders, 80%             (border-slate-800/80)
   slate-400 #94a3b8  muted text               (text-slate-400)
   indigo-600 #4f46e5 -> purple-600 #9333ea    primary gradient
   indigo-400 #818cf8 / purple-400 #c084fc / emerald-400 #34d399 accents
   ================================================================== */

:root{
  --slate-950:#020617; --slate-900:#0f172a; --slate-800:#1e293b; --slate-700:#334155;
  --slate-600:#475569; --slate-500:#64748b; --slate-400:#94a3b8; --slate-300:#cbd5e1;
  --indigo-600:#4f46e5; --indigo-500:#6366f1; --indigo-400:#818cf8; --indigo-300:#a5b4fc;
  --purple-600:#9333ea; --purple-400:#c084fc;
  --emerald-600:#059669; --emerald-500:#10b981; --emerald-400:#34d399;
  --amber-400:#fbbf24; --red-400:#f87171; --red-500:#ef4444;

  --oz-grad:linear-gradient(90deg,var(--indigo-600),var(--purple-600));
  --oz-grad-green:linear-gradient(90deg,var(--emerald-600),var(--emerald-500));
  --oz-glass:rgba(15,23,42,.8);
  --oz-line:rgba(30,41,59,.8);
  --oz-line-hover:rgba(99,102,241,.5);
  --oz-glow:0 10px 15px -3px rgba(79,70,229,.3),0 4px 6px -4px rgba(79,70,229,.3);   /* shadow-lg shadow-indigo-600/30 */
  --oz-shadow-xl:0 20px 25px -5px rgba(0,0,0,.35),0 8px 10px -6px rgba(0,0,0,.35);  /* shadow-xl */
  --oz-ease:cubic-bezier(.4,0,.2,1);
  --oz-dur:300ms;

  /* Legacy variable names -- many pages use these in inline styles
     (color:var(--oz-muted), border:1px solid var(--oz-border), ...),
     so they are remapped onto the new palette rather than removed. */
  --oz-primary:var(--indigo-400);
  --oz-primary-dark:var(--indigo-500);
  --oz-primary-light:rgba(99,102,241,.10);
  --oz-primary-rgb:99,102,241;
  --oz-green:var(--emerald-400);
  --oz-green-dark:var(--emerald-500);
  --oz-green-rgb:52,211,153;
  --oz-text:#ffffff;
  --oz-muted:var(--slate-400);
  --oz-muted-soft:var(--slate-500);
  --oz-border:var(--oz-line);
  --oz-border-soft:var(--slate-800);
  --oz-bg:var(--slate-950);
  --oz-white:var(--slate-900);
  --oz-danger:var(--red-400);
  --oz-radius:16px;
  --oz-radius-lg:16px;
  --oz-shadow-xs:none;
  --oz-shadow:var(--oz-shadow-xl);
  --oz-shadow-md:var(--oz-shadow-xl);
  --oz-shadow-lg:var(--oz-shadow-xl);
  --font-display:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;

  /* Old dark-theme names still referenced inline (support, dashboard) */
  --hd-bg:var(--slate-950); --hd-panel:var(--slate-900); --hd-panel-2:#111a2e;
  --hd-orange:var(--indigo-500); --hd-orange-light:var(--indigo-400); --hd-orange-dim:rgba(99,102,241,.10);
  --hd-border:var(--oz-line-hover); --hd-border-soft:var(--oz-line);
  --hd-text:#ffffff; --hd-muted:var(--slate-400); --hd-glow:var(--oz-glow);
}

/* ---------- Base (the part of Tailwind's reset that utilities need;
   full preflight is off so existing pages keep their structure) ---------- */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--slate-800)}
html{scroll-behavior:smooth;background:var(--slate-950);-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden}
body{
  font-family:var(--font-body);font-weight:400;color:#fff;background:var(--slate-950);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;
  scrollbar-color:var(--slate-700) var(--slate-950);
}
a{color:inherit;text-decoration:none}
img,svg,video,iframe{max-width:100%}
img{display:block;height:auto}
h1,h2,h3,h4,h5{font-family:var(--font-display);margin:0 0 .5em;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:#fff;overflow-wrap:break-word}
p{margin:0 0 1em;color:var(--slate-400);line-height:1.65;overflow-wrap:break-word}
small{color:var(--slate-400)}
strong,b{font-weight:700;color:#fff}
hr{border-top-width:1px;border-color:var(--oz-line);margin:20px 0}
code{font-size:.9em;background:var(--slate-900);color:var(--indigo-300);border:1px solid var(--oz-line);padding:2px 6px;border-radius:6px;word-break:break-all}
pre{background:var(--slate-950);border:1px solid var(--oz-line);border-radius:12px;padding:14px;overflow-x:auto;color:var(--slate-300)}
::selection{background:rgba(99,102,241,.35);color:#fff}
.container{max-width:1280px;margin:0 auto;padding:0 16px}
@media(min-width:640px){.container{padding:0 24px}}
@media(min-width:1024px){.container{padding:0 32px}}

/* Links inside content areas get the accent colour; classed links
   (buttons, nav items) keep their own styling. */
:where(.oz-content,.oz-panel,.oz-card,.oz-auth-card,.oz-auth-foot,.oz-split-card,.oz-prose) a:not([class]){color:var(--indigo-400);font-weight:500;transition:color .2s}
:where(.oz-content,.oz-panel,.oz-card,.oz-auth-card,.oz-auth-foot,.oz-split-card,.oz-prose) a:not([class]):hover{color:var(--purple-400)}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--indigo-400);outline-offset:2px;border-radius:6px}

/* Scrollbars */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--slate-950)}
::-webkit-scrollbar-thumb{background:var(--slate-800);border-radius:10px;border:2px solid var(--slate-950)}
::-webkit-scrollbar-thumb:hover{background:var(--indigo-500)}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* ---------- Bare form controls (anything not already styled by a class
   or inline style -- :where() keeps specificity at zero) ---------- */
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=color]),select,textarea){
  font-family:inherit;font-size:14px;color:#fff;background:rgba(2,6,23,.6);
  border:1px solid var(--slate-800);border-radius:10px;padding:9px 12px;
  transition:border-color .2s var(--oz-ease),box-shadow .2s var(--oz-ease);
}
:where(input,select,textarea)::placeholder{color:var(--slate-500)}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{outline:none;border-color:var(--indigo-500);box-shadow:0 0 0 3px rgba(99,102,241,.2)}
select option{background:var(--slate-900);color:#fff}
input[type=checkbox],input[type=radio]{accent-color:var(--indigo-500)}
input[type=file]{color:var(--slate-400);font-size:13px}
input[type=file]::file-selector-button{background:var(--slate-800);color:#fff;border:0;border-radius:8px;padding:8px 12px;margin-right:10px;cursor:pointer;font-family:inherit}
:where(button){font-family:inherit;cursor:pointer;background-color:transparent;color:inherit;padding:0}
details>summary{list-style:none}
details>summary::-webkit-details-marker{display:none}

/* ==================================================================
   Buttons  (gradient + glow + hover lift)
   ================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:12px;font-weight:600;font-size:14.5px;line-height:1.2;
  border:1px solid transparent;cursor:pointer;font-family:var(--font-body);white-space:nowrap;
  transition:transform var(--oz-dur) var(--oz-ease),box-shadow var(--oz-dur) var(--oz-ease),background-color var(--oz-dur) var(--oz-ease),border-color var(--oz-dur) var(--oz-ease),color var(--oz-dur) var(--oz-ease),opacity var(--oz-dur);
  text-decoration:none;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.btn-primary{background:var(--oz-grad);color:#fff !important;box-shadow:var(--oz-glow)}
.btn-primary:hover{box-shadow:0 14px 24px -6px rgba(99,102,241,.45),0 6px 10px -6px rgba(147,51,234,.4);filter:brightness(1.08)}
.btn-outline{background:rgba(15,23,42,.6);color:#fff;border-color:var(--slate-700)}
.btn-outline:hover{border-color:var(--oz-line-hover);background:rgba(99,102,241,.10);color:#fff}
.btn-green{background:var(--oz-grad-green);color:#fff !important;box-shadow:0 10px 15px -3px rgba(5,150,105,.3),0 4px 6px -4px rgba(5,150,105,.3)}
.btn-green:hover{filter:brightness(1.08)}
.btn-danger{background:rgba(239,68,68,.12);color:var(--red-400);border-color:rgba(239,68,68,.35)}
.btn-danger:hover{background:rgba(239,68,68,.2)}
.btn-block{width:100%}
.btn-sm{padding:8px 14px;font-size:13px;border-radius:10px}
.btn-sm.btn-primary,.btn-sm.btn-green{box-shadow:0 6px 12px -4px rgba(79,70,229,.35)}
/* inline style="color:var(--oz-danger);border-color:var(--oz-danger)" reject buttons */
.btn-outline[style*="oz-danger"]:hover{background:rgba(239,68,68,.10)}

/* ==================================================================
   Glass card system  (bg-slate-900/80 p-8 rounded-2xl border
   border-slate-800/80 shadow-xl hover:border-indigo-500/50)
   ================================================================== */
.oz-glass,.oz-card,.oz-panel,.oz-split-card,.oz-auth-card,.oz-stats,.oz-dash-card{
  background:var(--oz-glass);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid var(--oz-line);border-radius:16px;box-shadow:var(--oz-shadow-xl);
  transition:border-color var(--oz-dur) var(--oz-ease),transform var(--oz-dur) var(--oz-ease),box-shadow var(--oz-dur) var(--oz-ease);
  min-width:0;max-width:100%;
}
.oz-glass:hover,.oz-card:hover,.oz-panel:hover,.oz-split-card:hover,.oz-stats:hover{border-color:var(--oz-line-hover)}

/* Icon box: w-12 h-12 rounded-2xl bg-indigo-500/10 border border-indigo-500/20 text-indigo-400 */
.oz-icon-box,.oz-split-icon,.oz-stat .ic,.oz-dash-icon{
  width:48px;height:48px;flex-shrink:0;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:rgba(99,102,241,.10);border:1px solid rgba(99,102,241,.20);color:var(--indigo-400);font-size:20px;
}
.oz-icon-box.purple{background:rgba(168,85,247,.10);border-color:rgba(168,85,247,.20);color:var(--purple-400)}
.oz-icon-box.emerald{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.20);color:var(--emerald-400)}

/* ---------- Panels (content blocks) ---------- */
.oz-panel{padding:20px;margin-bottom:20px;overflow-x:auto}
@media(min-width:640px){.oz-panel{padding:24px}}
@media(min-width:1024px){.oz-panel{padding:32px}}
.oz-panel h3{font-size:17px;font-weight:700;margin-bottom:14px;letter-spacing:-.01em}
.oz-panel .oz-panel{background:rgba(2,6,23,.5);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.oz-panel ul{color:var(--slate-300)}
.oz-panel li{margin:3px 0}

/* ---------- Stat cards ---------- */
.oz-cards-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}
@media(min-width:480px){.oz-cards-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.oz-cards-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.oz-cards-row-2{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}
@media(min-width:768px){.oz-cards-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.oz-cards-row-3{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}
@media(min-width:640px){.oz-cards-row-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.oz-cards-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

.oz-card{padding:20px;position:relative;overflow:hidden}
@media(min-width:1024px){.oz-card{padding:24px}}
.oz-card:hover{transform:translateY(-2px)}
.oz-card .label{font-size:13px;color:var(--slate-400);font-weight:500;letter-spacing:0}
.oz-card .value{font-size:26px;font-weight:800;margin-top:6px;letter-spacing:-.02em;color:#fff;word-break:break-word;line-height:1.15}
@media(max-width:480px){.oz-card .value{font-size:22px}}

.oz-card.balance-publisher,.oz-card.balance-advertise{border-color:transparent;color:#fff}
.oz-card.balance-publisher{background:var(--oz-grad);box-shadow:var(--oz-glow)}
.oz-card.balance-advertise{background:var(--oz-grad-green);box-shadow:0 10px 15px -3px rgba(5,150,105,.3)}
.oz-card.balance-publisher::after,.oz-card.balance-advertise::after{
  content:"";position:absolute;top:-45%;right:-12%;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.oz-card.balance-publisher .label,.oz-card.balance-advertise .label{color:rgba(255,255,255,.8)}
.oz-card.balance-publisher .value,.oz-card.balance-advertise .value{color:#fff}

/* ---------- Tables ---------- */
table.oz-table{width:100%;border-collapse:collapse;font-size:13.5px;color:var(--slate-300)}
table.oz-table th{text-align:left;color:var(--slate-400);font-weight:600;padding:12px;border-bottom:1px solid var(--slate-800);font-size:12px;white-space:nowrap}
table.oz-table td{padding:13px 12px;border-bottom:1px solid rgba(30,41,59,.6);word-break:normal;overflow-wrap:break-word;vertical-align:middle}
table.oz-table tr:last-child td{border-bottom:none}
table.oz-table tbody tr,table.oz-table tr{transition:background-color .2s var(--oz-ease)}
table.oz-table tr:hover td{background:rgba(99,102,241,.05)}
.oz-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* Wide tables scroll inside their panel (.oz-panel has overflow-x:auto)
   instead of squeezing numbers onto two lines or pushing the page sideways. */
@media(max-width:900px){
  table.oz-table td,table.oz-table th{white-space:nowrap}
}

/* ---------- Badges ---------- */
.oz-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent;text-transform:capitalize;white-space:nowrap}
.oz-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.oz-badge.pending,.oz-badge.hold{background:rgba(245,158,11,.10);color:var(--amber-400);border-color:rgba(245,158,11,.25)}
.oz-badge.approved,.oz-badge.active,.oz-badge.completed,.oz-badge.success{background:rgba(16,185,129,.10);color:var(--emerald-400);border-color:rgba(16,185,129,.25)}
.oz-badge.rejected,.oz-badge.banned,.oz-badge.failed{background:rgba(239,68,68,.10);color:var(--red-400);border-color:rgba(239,68,68,.25)}
.oz-badge.cancelled,.oz-badge.suspended,.oz-badge.paused{background:rgba(148,163,184,.10);color:var(--slate-400);border-color:rgba(148,163,184,.2)}

/* ---------- Forms ---------- */
.oz-field{margin-bottom:16px;min-width:0}
.oz-field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px;color:var(--slate-300)}
.oz-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.oz-field select,.oz-field textarea{
  width:100%;padding:12px 14px;border:1px solid var(--slate-800);border-radius:12px;
  font-size:14.5px;font-family:var(--font-body);background:rgba(2,6,23,.6);color:#fff;
  transition:border-color .2s var(--oz-ease),box-shadow .2s var(--oz-ease),background-color .2s var(--oz-ease);
}
.oz-field input:hover,.oz-field select:hover,.oz-field textarea:hover{border-color:var(--slate-700)}
.oz-field input:focus,.oz-field select:focus,.oz-field textarea:focus{outline:none;border-color:var(--indigo-500);background:rgba(2,6,23,.8);box-shadow:0 0 0 3px rgba(99,102,241,.2)}
.oz-field input:disabled,.oz-field input[readonly]{color:var(--slate-500);cursor:not-allowed}
.oz-field small{display:block;margin-top:6px;font-size:12px;line-height:1.5}

.oz-form-grid-2,.oz-form-grid-3,.oz-form-grid-4{display:grid;grid-template-columns:1fr;gap:0 16px}
@media(min-width:640px){.oz-form-grid-2,.oz-form-grid-3,.oz-form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.oz-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.oz-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

.oz-alert{padding:12px 14px;border-radius:12px;font-size:13.5px;margin-bottom:16px;border:1px solid transparent}
.oz-alert-error{background:rgba(239,68,68,.10);color:var(--red-400);border-color:rgba(239,68,68,.25)}
.oz-alert-success{background:rgba(16,185,129,.10);color:var(--emerald-400);border-color:rgba(16,185,129,.25)}
.oz-alert-info{background:rgba(99,102,241,.10);color:var(--indigo-300);border-color:rgba(99,102,241,.25)}

/* ---------- Captcha widget ---------- */
.oz-captcha{border:1px solid var(--slate-800);border-radius:16px;padding:18px;margin-bottom:16px;background:rgba(2,6,23,.5)}
.oz-captcha-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:#fff}
.oz-captcha-badge svg{display:block;color:var(--indigo-400)}
.oz-captcha-sub{font-size:12.5px;margin:4px 0 12px;color:var(--slate-400)}
.oz-captcha-target{display:flex;justify-content:center;padding:16px;background:var(--slate-900);border:1px solid var(--slate-800);border-radius:12px;margin-bottom:14px;color:#fff}
.oz-captcha-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.oz-captcha-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--slate-300);
  border:1px solid var(--slate-800);border-radius:12px;padding:10px 4px;cursor:pointer;background:var(--slate-900);
  transition:border-color .2s var(--oz-ease),box-shadow .2s var(--oz-ease),transform .2s var(--oz-ease)}
.oz-captcha-opt:hover{border-color:var(--oz-line-hover);transform:translateY(-2px)}
.oz-captcha-opt input{margin:0}
.oz-captcha-opt:has(input:checked){border-color:var(--indigo-500);color:#fff;box-shadow:0 0 0 3px rgba(99,102,241,.2)}
@media(max-width:420px){.oz-captcha-options{gap:6px}.oz-captcha-opt{padding:6px 2px}.oz-captcha-opt svg{width:26px;height:26px}}
@media(max-width:360px){.oz-captcha{padding:12px}.oz-captcha-target{padding:10px}}

/* ==================================================================
   Public site (home, login, register, docs, terms)
   ================================================================== */
.oz-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.02em;color:#fff}
.oz-logo-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:var(--oz-grad);color:#fff;box-shadow:var(--oz-glow);font-size:16px}
.oz-logo-text{color:#fff}
.oz-logo-accent{background:var(--oz-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.oz-logo img.oz-logo-img{height:36px !important;width:auto !important;max-width:180px}

/* Hero -- px-4 py-16 mobile, py-24 desktop */
.oz-hero{padding:64px 0;position:relative;overflow:hidden}
@media(min-width:1024px){.oz-hero{padding:96px 0}}
.oz-hero::before{content:"";position:absolute;inset:-20% -10% auto;height:520px;pointer-events:none;
  background:radial-gradient(ellipse 50% 60% at 30% 20%,rgba(79,70,229,.22),transparent 70%),radial-gradient(ellipse 40% 50% at 80% 30%,rgba(147,51,234,.16),transparent 70%)}
.oz-hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;position:relative;z-index:1}
@media(min-width:1024px){.oz-hero-grid{grid-template-columns:1.15fr .85fr;gap:56px}}
.oz-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(99,102,241,.10);border:1px solid rgba(99,102,241,.25);color:var(--indigo-300);
  font-weight:600;font-size:13px;padding:6px 14px;border-radius:999px;margin-bottom:22px}
.oz-hero h1{font-size:clamp(36px,6.2vw,64px);line-height:1.05;font-weight:900;letter-spacing:-.035em;margin-bottom:20px}
.oz-hero h1 .accent{background:var(--oz-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.oz-hero p{font-size:17px;color:var(--slate-400);max-width:540px}
.oz-hero-actions{display:flex;gap:12px;margin:28px 0 32px;flex-wrap:wrap}
@media(max-width:480px){.oz-hero-actions .btn{flex:1 1 100%}}
.oz-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px}
@media(min-width:768px){.oz-stats{grid-template-columns:repeat(4,minmax(0,1fr));padding:22px 24px}}
.oz-stat{display:flex;align-items:center;gap:12px;min-width:0}
.oz-stat b{display:block;font-size:17px;font-weight:800;color:#fff}
.oz-stat span{font-size:12.5px;color:var(--slate-400)}
.oz-stat .ic{width:44px;height:44px;border-radius:14px}
.oz-hero-art{display:flex;align-items:center;justify-content:center}

.oz-dash-card{position:relative;width:100%;max-width:400px;padding:32px 28px;text-align:center;box-shadow:var(--oz-shadow-xl),0 0 60px -20px rgba(99,102,241,.45)}
.oz-dash-card:hover{border-color:var(--oz-line-hover)}
.oz-dash-icon{width:56px;height:56px;margin:0 auto 16px;font-size:22px}
.oz-dash-title{font-weight:800;font-size:19px;color:#fff;margin-bottom:18px}
.oz-dash-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 2px;border-top:1px solid var(--slate-800)}
.oz-dash-row:first-of-type{border-top:none}
.oz-dash-label{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--slate-400)}
.oz-dash-label svg,.oz-dash-label i{color:var(--indigo-400)}
.oz-dash-value{font-weight:800;font-size:17px;color:var(--emerald-400)}

/* Publisher / Advertiser split */
.oz-split{display:grid;grid-template-columns:1fr;gap:20px;margin:0}
@media(min-width:768px){.oz-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
.oz-split-card{padding:24px;position:relative}
@media(min-width:640px){.oz-split-card{padding:32px}}
a.oz-split-card:hover,.oz-split-card:hover{transform:translateY(-2px)}
.oz-split-icon{margin-bottom:20px}
.oz-split-card.advertiser .oz-split-icon{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.20);color:var(--emerald-400)}
.oz-split-card h3{font-size:22px}
.oz-split-list{list-style:none;padding:0;margin:18px 0 24px}
.oz-split-list li{display:flex;align-items:center;gap:10px;padding:6px 0;color:var(--slate-300);font-size:14.5px}
.oz-split-list li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;
  width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  background:rgba(16,185,129,.12);color:var(--emerald-400)}

/* Section spacing -- py-16 mobile / py-24 desktop */
.oz-section{padding:64px 0}
@media(min-width:1024px){.oz-section{padding:96px 0}}

/* Auth pages */
.oz-auth-wrap{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:64px 16px;position:relative}
.oz-auth-wrap::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 40% 40% at 50% 30%,rgba(79,70,229,.18),transparent 70%)}
.oz-auth-card{width:100%;max-width:440px;padding:28px 22px;position:relative;z-index:1}
@media(min-width:640px){.oz-auth-card{padding:32px}}
.oz-auth-card:hover{border-color:var(--oz-line)}
.oz-auth-card h2{font-size:24px;margin-bottom:6px}
.oz-auth-foot{text-align:center;font-size:13.5px;margin-top:18px;color:var(--slate-400)}

/* Footer */
.oz-footer{background:var(--slate-950);color:var(--slate-400);padding:64px 0 28px;margin-top:64px;border-top:1px solid var(--oz-line)}
.oz-footer .container{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:640px){.oz-footer .container{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.oz-footer .container{grid-template-columns:1.5fr repeat(4,minmax(0,1fr))}}
.oz-footer h4{color:#fff;font-size:14px;margin-bottom:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.oz-footer h4 i{color:var(--indigo-400);font-size:13px}
.oz-footer a{display:flex;align-items:center;gap:8px;color:var(--slate-400);font-size:14px;padding:5px 0;transition:color .2s}
.oz-footer a:hover{color:#fff}
.oz-footer .container.oz-footer-bottom{display:flex !important;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;
  border-top:1px solid var(--oz-line);margin-top:40px;padding-top:24px;font-size:13px;color:var(--slate-500)}
@media(max-width:640px){.oz-footer .container.oz-footer-bottom{flex-direction:column;text-align:center}}
.oz-footer-social{display:flex;gap:10px;margin-top:18px}
.oz-footer-social a{width:38px;height:38px;justify-content:center;padding:0;border-radius:12px;background:var(--slate-900);border:1px solid var(--oz-line);color:var(--slate-400);transition:all var(--oz-dur) var(--oz-ease)}
.oz-footer-social a:hover{color:#fff;border-color:var(--oz-line-hover);transform:translateY(-2px)}

/* ==================================================================
   Dashboard shell (user + admin) -- structure lives in Tailwind
   classes inside app_layout_start.php; this handles state only.
   ================================================================== */
.oz-sidebar{scrollbar-width:thin;scrollbar-color:var(--slate-800) transparent}
.oz-sidebar::-webkit-scrollbar{width:6px}
.oz-sidebar::-webkit-scrollbar-thumb{background:var(--slate-800);border:0}
@media(max-width:1023.98px){
  .oz-sidebar{transform:translateX(-105%)}
  .oz-sidebar.open{transform:translateX(0)}
  .oz-sidebar-overlay{opacity:0;pointer-events:none}
  .oz-sidebar-overlay.open{opacity:1;pointer-events:auto}
}
body.oz-lock{overflow:hidden}
.oz-nav-link.active{background:linear-gradient(90deg,rgba(79,70,229,.22),rgba(147,51,234,.14));color:#fff;border-color:rgba(99,102,241,.35)}
.oz-nav-link.active i{color:var(--indigo-300)}
.oz-profile-dropdown{display:none}
.oz-profile-dropdown.open{display:block;animation:ozDrop .18s var(--oz-ease)}
@keyframes ozDrop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.oz-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px 16px}
@media(min-width:640px){.oz-content{padding:28px 24px}}
@media(min-width:1024px){.oz-content{padding:32px}}
.oz-content>h3,.oz-content>h2{margin-top:0}

/* Public mobile menu */
.oz-mobile-menu{display:none}
.oz-mobile-menu.open{display:block;animation:ozDrop .2s var(--oz-ease)}

/* ==================================================================
   SweetAlert2 -- dark glass toasts & popups
   ================================================================== */
.swal2-popup,.swal2-toast{background:rgba(15,23,42,.96) !important;border:1px solid var(--oz-line) !important;box-shadow:var(--oz-shadow-xl) !important;color:#fff !important;font-family:var(--font-body) !important;border-radius:14px !important}
.swal2-title,.swal2-html-container{color:#fff !important}
.swal2-html-container{color:var(--slate-300) !important}
.swal2-timer-progress-bar{background:var(--oz-grad) !important}
.swal2-close{color:var(--slate-400) !important}
.swal2-close:hover{color:#fff !important}
.swal2-confirm{background:var(--oz-grad) !important;color:#fff !important;border-radius:10px !important;box-shadow:var(--oz-glow) !important}
.swal2-cancel{background:transparent !important;color:var(--slate-300) !important;border:1px solid var(--slate-700) !important;border-radius:10px !important}
.swal2-input,.swal2-textarea,.swal2-select{background:var(--slate-950) !important;color:#fff !important;border:1px solid var(--slate-800) !important}

/* ==================================================================
   Scroll reveal (homepage only, one orchestrated entrance)
   ================================================================== */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--oz-ease),transform .6s var(--oz-ease)}
[data-reveal].oz-reveal-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* Ad slots never force sideways scrolling on phones */
.oz-ad-slot{display:flex;justify-content:center;max-width:100%;overflow:hidden;margin:0 auto}
.oz-ad-slot iframe{max-width:100%}

/* Utility helpers used across pages */
.oz-muted{color:var(--slate-400)}
.oz-grad-text{background:var(--oz-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
