:root{--navy:#292929;--teal:#bb2d3b;--aqua:#dd7582;--mut:#738096;--line:#e8ebf0}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#10313f;background:#fff}
a{color:var(--teal)}
.top{max-width:820px;margin:auto;padding:22px 20px;display:flex;align-items:center;
  justify-content:space-between}
.top img{height:44px}
.top nav{display:flex;gap:8px;align-items:center}
.lang-sw{display:flex;border:1px solid #d7e5e8;border-radius:999px;overflow:hidden}
.lang-opt{border:0;background:#fff;padding:7px 12px;font-size:12px;font-weight:800;
  color:var(--mut);cursor:pointer}
.lang-opt.active{background:var(--navy);color:#fff}
.back{border:1px solid #d7e5e8;border-radius:999px;padding:8px 16px;font-size:13px;
  font-weight:700;color:var(--navy);text-decoration:none}
main{max-width:820px;margin:auto;padding:30px 20px 80px}
h1{font-size:34px;color:var(--navy);letter-spacing:-1px;margin:0 0 8px}
.updated{color:var(--mut);font-size:13px;margin-bottom:34px}
h2{font-size:19px;color:var(--navy);margin:30px 0 8px}
p,li{line-height:1.75;color:#415a66;font-size:15px}
ul{padding-left:22px}
footer{border-top:1px solid var(--line);margin-top:60px;padding:24px 20px;text-align:center;
  font-size:12px;color:var(--mut)}
footer a{color:var(--mut);margin:0 8px}
[hidden]{display:none!important}
.fiz-banner{display:flex;gap:12px;align-items:center;margin-top:44px;padding:16px 18px;
  background:linear-gradient(135deg,#0f172a,#123a4d);color:#eaf4f6;border-radius:14px;
  text-decoration:none;font-size:13px;line-height:1.5}
.fiz-banner .fz{background:#F5C518;color:#0f172a;font-weight:900;font-size:15px;
  padding:6px 10px;border-radius:8px;flex:none;letter-spacing:.5px}
.fiz-banner b{display:block;font-size:14px}
.fiz-banner small{color:#9fc3cc;display:block}
.fiz-banner i{margin-left:auto;color:#F5C518;flex:none}
.fiz-pill{margin-left:auto;flex:none;background:#F5C518;color:#1a1a1a;font-weight:800;
  font-size:12.5px;padding:9px 16px;border-radius:999px;white-space:nowrap;display:inline-flex;
  gap:6px;align-items:center}
.fiz-banner:hover .fiz-pill{background:#ffd21f}
@media(max-width:560px){.fiz-banner{flex-wrap:wrap}.fiz-pill{margin-left:0}}
.viva-logo{display:inline-block;height:.95em;width:auto;vertical-align:-.12em;margin:0 1px}
.stripe-logo{display:inline-block;height:.85em;width:auto;vertical-align:-.08em;margin:0 2px}

/* vendor registration modal */
.reg-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);
  z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.reg-card{position:relative;background:#fff;border-radius:20px;padding:30px 26px;width:100%;
  max-width:400px;box-shadow:0 24px 60px rgba(15,23,42,.25);animation:regIn .18s ease-out}
@keyframes regIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1}}
.reg-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:22px;
  color:#94a3b8;cursor:pointer;line-height:1}
.reg-x:hover{color:#0f172a}
.reg-logo{height:30px;display:block;margin-bottom:14px}
.reg-card h2{margin:0 0 4px;font-size:20px;color:#0f172a}
.reg-sub{font-size:12.5px;color:#64748b;margin:0 0 16px!important;line-height:1.4!important}
.reg-form{display:flex;flex-direction:column;gap:10px}
.reg-form input,.reg-form select{width:100%;padding:11px 13px;border-radius:12px;
  border:1px solid var(--line,#e2e8f0);font-size:13.5px;font-family:inherit;
  background:#f8fafc;color:#0f172a;outline:none}
.reg-form input:focus,.reg-form select:focus{border-color:#bb2d3b;box-shadow:0 0 0 3px rgba(187,45,59,.12)}
.reg-err{font-size:12px;font-weight:700;color:#dc2626}
.reg-btn{margin-top:4px;padding:13px;border:none;border-radius:12px;background:#bb2d3b;
  color:#fff;font-weight:800;font-size:14px;cursor:pointer;font-family:inherit}
.reg-btn:hover{background:#a52734}
.reg-btn:disabled{opacity:.6;cursor:default}
.reg-terms,.reg-login{font-size:10.5px!important;color:#94a3b8!important;text-align:center;
  margin:2px 0 0!important;line-height:1.5!important}
.reg-terms a,.reg-login a{color:#64748b}
@media(prefers-color-scheme:dark){
  .reg-card{background:#141a26}
  .reg-card h2{color:#f1f5f9}
  .reg-form input,.reg-form select{background:#0f1520;border-color:#2a3648;color:#e2e8f0}
  .reg-x:hover{color:#f1f5f9}
}
.reg-form textarea{width:100%;padding:11px 13px;border-radius:12px;border:1px solid #dbe2ec;
  background:#fff;font:inherit;font-size:14px;resize:vertical}
.reg-form textarea:focus{border-color:#bb2d3b;box-shadow:0 0 0 3px rgba(187,45,59,.12);outline:none}
.reg-ok{font-size:14px;font-weight:700;color:#16a34a;text-align:center;padding:14px 0}
@media (prefers-color-scheme:dark){
  .reg-form textarea{background:#0f1520;border-color:#2a3648;color:#e2e8f0}
}
