@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800;900&display=swap');
:root{--bg:#f7f8fb;--bg2:#ffffff;--panel:#ffffff;--panel2:#f6f8fb;--text:#11151f;--muted:#677186;--line:#e5e9f0;--yellow:#ffc400;--yellow2:#ffe17a;--shadow:0 12px 32px rgba(16,24,40,.08);--radius:24px}
body.dark{--bg:#0c0f16;--bg2:#101521;--panel:#121927;--panel2:#171f31;--text:#f8fafc;--muted:#b4bfd0;--line:#25304a;--shadow:0 18px 50px rgba(0,0,0,.36)}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:'Cairo',Tahoma,Arial,sans-serif;background:linear-gradient(180deg,var(--bg),var(--bg2));color:var(--text);min-height:100vh}
a{text-decoration:none;color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.84);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}
body.dark .topbar{background:rgba(12,15,22,.86)}
.brand{display:flex;align-items:center;gap:14px}.brand img.zan{height:28px}.brand img.xpel{height:20px}.top-actions,.row,.btn-row,.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wrap{max-width:1160px;margin:0 auto;padding:28px 18px 44px}.hero{display:grid;grid-template-columns:520px 1fr;gap:22px;align-items:stretch}
.card{background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.card-pad{padding:28px}
.hero-side{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#fff,#fafbfd)}
body.dark .hero-side{background:linear-gradient(180deg,#121927,#101521)}
.hero-side .logos{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-bottom:16px}.hero-side .logos img.xpel{height:54px}.hero-side .logos img.zan{height:46px}
.title{margin:0 0 8px;font-size:56px;line-height:1.04;font-weight:900}.section-title{margin:0 0 12px;font-size:28px;font-weight:900}.sub{margin:0;color:var(--muted);line-height:1.8;font-size:16px}
.kicker{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid #f1d77a;background:#fff9e2;color:#8f6800;font-weight:900;font-size:12px;align-self:flex-end}
body.dark .kicker{background:rgba(255,196,0,.12);color:#f7d660;border-color:rgba(255,196,0,.24)}
.login-card{display:flex;flex-direction:column;justify-content:center;min-height:540px}.auth-form{display:flex;flex-direction:column;gap:14px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}
.input{width:100%;padding:15px 16px;border-radius:18px;border:1px solid var(--line);background:var(--panel2);color:var(--text);outline:none}.input:focus{border-color:#ebc32c;box-shadow:0 0 0 4px rgba(255,196,0,.12)}
.primary-btn,.ghost-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:14px 18px;border-radius:18px;font-weight:900;border:1px solid transparent;cursor:pointer}
.primary-btn{background:linear-gradient(135deg,var(--yellow),var(--yellow2));color:#111}
.ghost-btn{background:var(--panel2);border-color:var(--line);color:var(--text)}
.text-link,.mini-link,.footer-link-icon{font-size:14px;color:var(--muted)} .text-link:hover,.mini-link:hover,.footer-link-icon:hover{color:#111}
body.dark .text-link:hover,body.dark .mini-link:hover,body.dark .footer-link-icon:hover{color:#fff}
.footer-links{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:16px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.contact-pill{padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:var(--panel2);text-align:center}.contact-pill strong{display:block;margin-bottom:8px;font-size:14px}
.alert{padding:14px 16px;border-radius:18px;margin-bottom:16px;border:1px solid transparent}.alert.ok{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.alert.bad{background:#fff1f2;border-color:#fecdd3;color:#b91c1c}.alert.info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.note{padding:15px 17px;border:1px solid var(--line);border-radius:20px;background:var(--panel2);color:var(--muted);line-height:1.8}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px}.stat.clickable{cursor:pointer}.stat .k{font-size:13px;color:var(--muted)}.stat .v{font-size:28px;font-weight:900;margin-top:6px}
.sidebar-layout{display:grid;grid-template-columns:290px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px;background:#fff;border-left:1px solid var(--line)}body.dark .sidebar{background:#121927}
.side-links{display:flex;flex-direction:column;gap:8px;margin-top:24px}.side-link{padding:13px 14px;border-radius:16px;border:1px solid transparent;font-weight:800;color:var(--text)}.side-link.active,.side-link:hover{background:var(--panel2);border-color:var(--line)}
.main{padding:24px}.headline{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}
.search-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-input{padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);min-width:260px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th{font-size:13px;color:var(--muted)}
.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.badge.pending,.badge.pending_review{background:#eff6ff;color:#1d4ed8}.badge.active,.badge.approved,.badge.used{background:#ecfdf3;color:#166534}.badge.suspended,.badge.rejected,.badge.blocked{background:#fff1f2;color:#b91c1c}.badge.unused,.badge.reopened{background:#fffbeb;color:#b45309}
.section-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px;margin-top:18px}
.notification-bell{position:relative;font-size:22px;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:var(--panel2)}.notification-count{position:absolute;top:-6px;left:-6px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;border-radius:999px;background:#ef4444;color:#fff}
.notification-list{display:flex;flex-direction:column;gap:12px}.notification-item{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--panel2)}.notification-item.unread{border-color:#f3d15f;background:#fff9e7}
.chat-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}.chat-list{border:1px solid var(--line);border-radius:18px;background:var(--panel2);overflow:hidden}.chat-item{display:flex;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line)}.chat-item.active{background:#fff9e7}
.chat-messages{min-height:360px;max-height:480px;overflow:auto;padding:12px;border-radius:18px;background:var(--panel2);border:1px solid var(--line)}.bubble{padding:10px 12px;border-radius:14px;max-width:72%;margin-bottom:8px;line-height:1.8}.bubble.center{background:#ffe17b;color:#111;margin-right:auto}.bubble.admin{background:#e5e7eb;color:#111}body.dark .bubble.admin{background:#263042;color:#fff}
.preview{margin-top:8px;min-height:84px;border:1px dashed var(--line);border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--panel2);overflow:hidden}.preview img{width:100%;height:100%;object-fit:cover}
.verify-result{padding:16px;border-radius:20px;border:1px solid var(--line);line-height:1.8}.verify-result.invalid{background:#fff1f2;border-color:#fecdd3;color:#b91c1c}.verify-result.unused{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.verify-result.used{background:#fffbeb;border-color:#fde68a;color:#92400e}.verify-result.review{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.wa-float{position:fixed;left:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:999px;background:linear-gradient(135deg,#25D366,#128C7E);color:#04130a;font-weight:900;box-shadow:0 16px 38px rgba(0,0,0,.18)}.wa-float img{width:22px;height:22px}
.footer-credit{margin-top:26px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);text-align:center}
.boot-screen{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:200}.boot-box{text-align:center}.boot-logo,.boot-zan{height:94px;opacity:0;transform:translateY(10px);transition:.72s ease;display:block;margin:auto}.boot-zan{margin-top:-94px}
.boot-logo.show,.boot-zan.show{opacity:1;transform:none}
@media (max-width:1100px){.hero,.stats,.contact-grid,.sidebar-layout,.chat-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto}.title{font-size:38px}.login-card{min-height:auto}.headline{flex-direction:column}.boot-logo,.boot-zan{height:74px}.hero{gap:16px}}

.portal-shell{
  min-height:calc(100vh - 72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:40px 16px 28px;
}
.portal-card{
  width:100%;
  max-width:620px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
  padding:28px 28px 22px;
}
.portal-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:12px;
}
.portal-logos{
  display:flex;
  align-items:center;
  gap:18px;
}
.portal-zan{height:34px}
.portal-xpel{height:24px}
.portal-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,184,28,.35);
  background:rgba(255,184,28,.10);
  color:#946200;
  font-weight:900;
  font-size:12px;
}
body.dark .portal-kicker{
  color:#ffd86e;
  background:rgba(255,184,28,.10);
}
.portal-title{
  margin:8px 0 18px;
  text-align:center;
  font-size:42px;
  line-height:1.1;
  font-weight:900;
}
.portal-form{display:flex;flex-direction:column;gap:14px}
.portal-input{min-height:58px;border-radius:20px}
.portal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:8px;
}
.portal-primary,.portal-secondary{
  min-height:58px;
  border-radius:20px;
  font-size:20px;
  font-weight:900;
}
.portal-primary{
  background:linear-gradient(135deg,#ffb81c,#ffd45b);
  color:#111;
  border:none;
}
.portal-secondary{
  border:1px solid var(--line);
}
.portal-forgot{
  text-align:center;
  margin-top:8px;
}
.portal-contact{
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.portal-contact-item{
  min-height:82px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel2);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:4px;
  padding:8px 10px;
  color:var(--muted);
}
.portal-contact-item strong{color:var(--text);font-size:14px}
.portal-contact-item span{font-size:13px;word-break:break-word}
.portal-credit{
  margin-top:16px;
  color:var(--muted);
  font-size:12px;
}
.chart-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.chart-card{
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:20px;
  padding:16px;
}
.boot-screen{
  position:fixed;
  inset:0;
  background:#05070c;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  transition:opacity .45s ease, visibility .45s ease;
}
.boot-screen.hide{opacity:0;visibility:hidden}
.boot-stage{
  width:min(70vw,520px);
  height:120px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.boot-mark{
  position:absolute;
  max-width:100%;
  max-height:84px;
  opacity:0;
  transform:translateY(10px) scale(.96);
  transition:all .55s ease;
}
.boot-x{height:74px}
.boot-z{height:66px}
.boot-mark.show{opacity:1;transform:translateY(0) scale(1)}
@media (max-width:700px){
  .portal-card{padding:22px 16px 18px}
  .portal-card-head{flex-direction:column;align-items:center}
  .portal-title{font-size:32px}
  .portal-actions,.portal-contact,.chart-grid{grid-template-columns:1fr}
  .portal-zan{height:28px}
  .portal-xpel{height:20px}
  .boot-stage{height:96px}
  .boot-x{height:56px}
  .boot-z{height:50px}
}
