.grad{background:linear-gradient(90deg,var(--b),var(--c),var(--d));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-num{font-size:1.7rem;font-weight:800;background:linear-gradient(90deg,var(--b),var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-label{color:var(--mut);font-size:.85rem}
.cta{display:inline-block;background:linear-gradient(90deg,var(--a),var(--c));color:#fff;
  padding:14px 36px;border-radius:999px;text-decoration:none;font-weight:700;font-size:1.05rem;
  box-shadow:0 8px 30px rgba(99,102,241,.4);transition:.2s}
.cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(99,102,241,.55)}
.btn-primary{background:linear-gradient(90deg,var(--a),var(--c));color:#fff;border:0;
  padding:11px 26px;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;transition:.2s}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(99,102,241,.4)}
.btn-primary:disabled{opacity:.6;cursor:wait}
.btn-ghost{background:transparent;color:var(--mut);border:1px solid var(--line);padding:11px 20px;border-radius:10px;cursor:pointer}
.btn-ghost:hover{color:var(--txt);border-color:var(--txt)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:28px;text-align:left;transition:.2s}
.card:hover{transform:translateY(-4px);border-color:rgba(99,102,241,.4)}
.card-num{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.1rem;margin-bottom:14px;color:#fff;background:linear-gradient(135deg,var(--a),var(--b))}
.card h3{margin-bottom:8px;font-size:1.1rem}
.card p{color:var(--mut);font-size:.93rem}
details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:16px 20px}
summary{cursor:pointer;font-weight:600;list-style:none}
summary::before{content:'+';margin-right:10px;color:var(--b);font-weight:800}
details[open] summary::before{content:'–'}
details p{color:var(--mut);margin-top:10px;font-size:.95rem}
.lang-select{background:var(--card);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:.85rem;cursor:pointer}
.modal{position:fixed;inset:0;z-index:100;background:rgba(4,6,12,.75);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:20px}
.modal-box{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:30px;width:100%;max-width:460px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.modal-box h3{margin-bottom:6px}
.form-summary{color:var(--b);font-weight:600;margin-bottom:18px;font-size:.95rem}
.modal-box label{display:block;margin-bottom:14px}
.modal-box label span{display:block;font-size:.85rem;color:var(--mut);margin-bottom:5px}
.modal-box input{width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:11px 14px;color:var(--txt);font-size:.95rem}
.modal-box input:focus{outline:none;border-color:var(--a)}
.total{font-size:1.15rem;font-weight:800;margin:6px 0 4px;text-align:right}
.form-error{color:#f87171;font-size:.88rem;margin:8px 0}
.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:200;
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:14px 24px;font-weight:600;box-shadow:0 16px 50px rgba(0,0,0,.6);animation:pop .3s ease}
.toast.ok{border-color:rgba(34,197,94,.5);color:#4ade80}
.toast.bad{border-color:rgba(239,68,68,.5);color:#f87171}
@keyframes pop{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
.ref-banner{margin:20px 5vw 0;padding:14px 20px;border-radius:12px;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.35);text-align:center}
.ref-banner.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.4)}
.ref-banner.bad{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.4)}
