:root{--meyvis-bordo:#9a1e22;--meyvis-text:#171111;--meyvis-bg:#fffbfa;--meyvis-card:#fff;--meyvis-muted:#7b7272;--meyvis-line:#eee4e0;--meyvis-gold:#c5a059;--meyvis-red:#b42318;--meyvis-green:#16734a;--meyvis-radius:18px;--meyvis-shadow:0 18px 50px rgba(68,17,17,.14)}
.meyvis-toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 14px);transform:translate(-50%,-150%);z-index:2147483000;width:calc(100% - 32px);max-width:420px;background:#171111;color:#fff;border-radius:var(--meyvis-radius);box-shadow:var(--meyvis-shadow);padding:14px 16px;display:flex;gap:12px;align-items:flex-start;opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s ease;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif}.meyvis-toast.show{transform:translate(-50%,0);opacity:1}.meyvis-toast .mvs-icon{width:26px;height:26px;min-width:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);font-size:14px;font-weight:900}.meyvis-toast .mvs-title{font-size:12px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;margin-bottom:2px}.meyvis-toast .mvs-message{font-size:12px;line-height:1.45;font-weight:700;letter-spacing:.1px;opacity:.94}.meyvis-toast.success{background:#171111}.meyvis-toast.error{background:var(--meyvis-red)}.meyvis-toast.warning,.meyvis-toast.warn{background:#7f5b16}.meyvis-toast.info{background:#2b2b2b}.meyvis-toast.reward{background:linear-gradient(135deg,#f3e5ab,#c5a059);color:#171111}.meyvis-toast.reward .mvs-icon{background:rgba(0,0,0,.08)}
.meyvis-confirm-overlay{position:fixed;inset:0;background:rgba(23,17,17,.52);z-index:2147482999;display:none;align-items:flex-end;justify-content:center;padding:18px 14px calc(18px + env(safe-area-inset-bottom));backdrop-filter:blur(10px);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif}.meyvis-confirm-overlay.show{display:flex}.meyvis-confirm{width:100%;max-width:430px;background:#fff;border:1px solid rgba(255,255,255,.35);border-radius:24px;box-shadow:0 -20px 70px rgba(0,0,0,.25);padding:20px 18px 18px;color:#171111;animation:meyvisConfirmUp .24s cubic-bezier(.22,1,.36,1)}@keyframes meyvisConfirmUp{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.meyvis-confirm-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.meyvis-confirm-icon{width:42px;height:42px;border-radius:16px;background:#fff4e0;color:#7f5b16;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900}.meyvis-confirm-title{font-size:17px;font-weight:950;letter-spacing:-.2px}.meyvis-confirm-message{font-size:13px;line-height:1.55;color:#6f6666;font-weight:700;margin:0 0 16px}.meyvis-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.meyvis-confirm-btn{height:50px;border:0;border-radius:16px;font-size:11px;font-weight:950;letter-spacing:1px;text-transform:uppercase;font-family:inherit;cursor:pointer}.meyvis-confirm-cancel{background:#f5eeee;color:#332828}.meyvis-confirm-ok{background:#171111;color:#fff}.meyvis-confirm-ok.danger{background:var(--meyvis-red);color:#fff}.meyvis-confirm-ok.gold{background:#fff7dc;color:#8c6500;border:1px solid #ead38a}.meyvis-confirm-btn:disabled{opacity:.55;pointer-events:none}.meyvis-busy{opacity:.58!important;pointer-events:none!important;filter:saturate(.8)}
@media (min-width:680px){.meyvis-confirm-overlay{align-items:center}.meyvis-confirm{border-radius:24px}.meyvis-toast{top:24px}}

/* Meyvis global product polish - shared empty/notice states */
:root{
  --meyvis-soft:#fff7f5;
  --meyvis-cream:#fffdfb;
  --meyvis-ring:rgba(154,30,34,.09);
}
.meyvis-empty-state,
.empty,
.history-empty,
.activity-empty,
.loader,
.no-results,
.no-data,
.empty-state{
  position:relative;
  background:linear-gradient(180deg,#fff,#fffaf8) !important;
  border:1px dashed rgba(154,30,34,.18) !important;
  border-radius:22px !important;
  box-shadow:0 14px 34px rgba(76,18,22,.055) !important;
  color:#786f72 !important;
  text-align:center !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.5 !important;
  padding:24px 18px !important;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:8px;
}
.meyvis-empty-state::before,
.empty::before,
.history-empty::before,
.activity-empty::before,
.no-results::before,
.no-data::before,
.empty-state::before{
  content:"";
  width:34px;
  height:34px;
  border-radius:14px;
  display:block;
  background:radial-gradient(circle at 50% 42%, rgba(154,30,34,.42) 0 3px, transparent 4px),linear-gradient(145deg,rgba(154,30,34,.10),rgba(197,160,89,.16));
  box-shadow:inset 0 0 0 1px rgba(154,30,34,.10);
}
.loader::before{content:"";width:22px;height:22px;border-radius:999px;border:2px solid rgba(154,30,34,.13);border-top-color:#9a1e22;background:transparent;animation:meyvisSpin .8s linear infinite;box-shadow:none;}
@keyframes meyvisSpin{to{transform:rotate(360deg)}}
.meyvis-note-card,
.notice,
.dev-warning{
  border-radius:20px !important;
  border:1px solid rgba(154,30,34,.12) !important;
  background:linear-gradient(180deg,#fffdfb,#fff8f5) !important;
  box-shadow:0 12px 28px rgba(76,18,22,.05) !important;
}
.meyvis-section-title{font-size:11px;font-weight:950;letter-spacing:1.45px;text-transform:uppercase;color:#6f1317;}
.meyvis-help-text{font-size:11px;line-height:1.55;color:#786f72;font-weight:750;}
.meyvis-subtle-card{background:rgba(255,255,255,.94);border:1px solid rgba(154,30,34,.10);border-radius:24px;box-shadow:0 14px 38px rgba(76,18,22,.06);}
body{accent-color:#9a1e22;}
input::placeholder,textarea::placeholder{color:#b3a8a8!important;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(154,30,34,.16)!important;outline-offset:3px!important;}
@media(max-width:430px){.meyvis-empty-state,.empty,.history-empty,.activity-empty,.loader,.no-results,.no-data,.empty-state{border-radius:20px!important;padding:22px 14px!important;}}

/* Release polish: normalize legacy fallback messages without changing page layouts */
#toast.toast,
#ui-toast,
.msg{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;
  border-radius:18px!important;
  box-shadow:0 16px 44px rgba(23,17,17,.14)!important;
}
.msg.ok{background:#edf8f2!important;color:#12613e!important;border:1px solid rgba(22,115,74,.14)!important;}
.msg.err{background:#fff2f0!important;color:#b42318!important;border:1px solid rgba(180,35,24,.16)!important;}
button.meyvis-busy::after{content:"";display:inline-block;width:10px;height:10px;margin-left:8px;border-radius:999px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;animation:meyvisSpin .8s linear infinite;vertical-align:-1px;}
@media (prefers-reduced-motion: reduce){.meyvis-toast,.meyvis-confirm{transition:none!important;animation:none!important}.loader::before,button.meyvis-busy::after{animation:none!important}}
