
/* =========================================================
   FESTI ZOOLAND V70 — UI SYSTEM
   ========================================================= */
:root{
  --fz-bg:#f4f6fa;
  --fz-surface:#ffffff;
  --fz-ink:#101828;
  --fz-muted:#667085;
  --fz-line:#e4e7ec;
  --fz-line-strong:#cfd5df;
  --fz-primary:#5b4ce9;
  --fz-primary-dark:#4638c8;
  --fz-success:#087443;
  --fz-success-bg:#ecfdf3;
  --fz-warning:#b54708;
  --fz-warning-bg:#fffaeb;
  --fz-danger:#b42318;
  --fz-danger-bg:#fef3f2;
  --fz-radius:18px;
  --fz-shadow:0 18px 50px rgba(16,24,40,.07);
  --fz-shadow-soft:0 8px 24px rgba(16,24,40,.05);
}
html{background:var(--fz-bg)}
body{
  color:var(--fz-ink)!important;
  background:
    radial-gradient(circle at 50% -10%,rgba(255,255,255,.96),transparent 35%),
    linear-gradient(180deg,#f8f9fc 0%,var(--fz-bg) 100%)!important;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p,span,div{line-height:1.35}
h1,h2,h3,h4{letter-spacing:-.04em}
button,a,input,select,textarea{font-family:inherit}
button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}
button:hover{transform:translateY(-1px)}
a{transition:color .16s ease,background .16s ease,border-color .16s ease}
.panel,.card,.info-card,.payment-card,.portal-card,.stat,.fm-kpi{
  border-color:var(--fz-line)!important;
  box-shadow:var(--fz-shadow-soft)!important;
}
.field label{
  color:#344054!important;
  font-size:11px!important;
  font-weight:850!important;
  margin-bottom:6px!important;
}
.field input,.field select,.field textarea,.search,.select{
  min-height:44px;
  border:1px solid var(--fz-line-strong)!important;
  border-radius:12px!important;
  background:#fff!important;
  outline:none!important;
}
.field textarea{padding:12px!important}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus,.select:focus{
  border-color:#7b70ee!important;
  box-shadow:0 0 0 4px rgba(91,76,233,.10)!important;
}
.btn,.buy,.portal-btn{
  border-radius:11px!important;
  font-weight:900!important;
}
.btn:hover,.buy:hover,.portal-btn:hover{
  box-shadow:0 8px 20px rgba(16,24,40,.10)!important;
}
.hero{
  background:
    radial-gradient(circle at 88% 14%,rgba(140,111,255,.48),transparent 28%),
    linear-gradient(135deg,#0a0f1d,#1b2142 58%,#472a8b)!important;
  color:#fff!important;
  border-radius:24px!important;
  box-shadow:0 24px 65px rgba(16,24,40,.14)!important;
}
.hero h1,.hero h2,.hero h3,.hero p,.hero span,.hero strong{
  color:inherit!important;
}
.table-wrap{
  border:1px solid var(--fz-line)!important;
  border-radius:15px!important;
  overflow:auto;
  background:#fff;
}
.table th{
  background:#f8fafc!important;
  color:#475467!important;
  font-size:10px!important;
  font-weight:850!important;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.table td{vertical-align:middle!important}
.badge{
  border-radius:999px!important;
  padding:5px 9px!important;
  font-weight:900!important;
}
.modal{
  backdrop-filter:blur(7px);
  background:rgba(15,23,42,.55)!important;
}
.modalbox{
  border:1px solid var(--fz-line)!important;
  border-radius:22px!important;
  box-shadow:0 30px 95px rgba(0,0,0,.22)!important;
}
.empty{
  padding:42px!important;
  color:var(--fz-muted)!important;
}
