/* ================================================================
   دنیای کارت اعتباری سازمانی تسکا — Design System v3 (2026-08-24)
   پالت: سرمه‌ای عمیق + برنج (تک‌لهجه) | فاصله‌گذاری ۸px | ضدتداخل
   ================================================================ */
@font-face{font-family:'Vazirmatn';src:url('assets/fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('assets/fonts/Vazirmatn-Medium.woff2') format('woff2');font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('assets/fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700 900;font-style:normal;font-display:swap}
:root{
  --oc-bg0:#080d1d; --oc-bg1:#0c1430;
  --oc-surface:#111b3a; --oc-surface2:#16224a;
  --oc-line:rgba(148,166,220,.14); --oc-line2:rgba(148,166,220,.22);
  --oc-text:#eaeef9; --oc-dim:#98a2c4; --oc-dim2:#7c86ad;
  --oc-gold:#d8b25c; --oc-gold-hi:#ecd39a; --oc-gold-deep:#9a731f; --oc-gold-ink:#241a03;
  --oc-green:#3fbb8b; --oc-green-hi:#8fe3c0; --oc-red:#e4687a; --oc-red-hi:#ffa9b7;
  --oc-sky:#7fa8ff;
  --oc-r-lg:18px; --oc-r-md:13px; --oc-r-sm:9px;
  --oc-shadow:0 18px 44px -20px rgba(2,6,20,.85);
  --oc-font:'Vazirmatn',Tahoma,sans-serif;
}

/* ---------- پایه صفحه (با !important چون باندل مشتری body روشن را !important کرده) ---------- */
body.oc-world{
  margin:0; min-height:100vh; font-family:var(--oc-font); direction:rtl; overflow-x:hidden;
  color:var(--oc-text) !important;
  background:var(--oc-bg0) !important;
  background-image:
    radial-gradient(60vw 60vw at 88% -18%, rgba(63,87,180,.20), transparent 62%),
    radial-gradient(46vw 46vw at -12% 108%, rgba(216,178,92,.08), transparent 62%),
    linear-gradient(180deg, var(--oc-bg0), var(--oc-bg1) 60%, var(--oc-bg0)) !important;
  background-attachment:fixed;
}
.oc-aurora{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.oc-aurora i{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;animation:ocFloat 16s ease-in-out infinite alternate}
.oc-aurora i:nth-child(1){width:44vw;height:44vw;right:-14vw;top:-16vw;background:radial-gradient(circle,rgba(88,116,216,.34),transparent 66%)}
.oc-aurora i:nth-child(2){width:38vw;height:38vw;left:-14vw;bottom:-12vw;background:radial-gradient(circle,rgba(48,74,160,.30),transparent 66%);animation-delay:-6s}
.oc-aurora i:nth-child(3){width:24vw;height:24vw;right:26vw;bottom:-10vw;background:radial-gradient(circle,rgba(216,178,92,.12),transparent 66%);animation-delay:-10s}
@keyframes ocFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(3vw,-3vw,0) scale(1.1)}}
.oc-stars{position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(1.1px 1.1px at 12% 24%, #ffffff50 50%, transparent 51%),
   radial-gradient(1px 1px at 66% 14%, #ffffff40 50%, transparent 51%),
   radial-gradient(1.2px 1.2px at 42% 66%, #ffffff38 50%, transparent 51%),
   radial-gradient(1px 1px at 84% 60%, #ffffff30 50%, transparent 51%),
   radial-gradient(1px 1px at 28% 84%, #ffffff3c 50%, transparent 51%);
  animation:ocTwinkle 8s ease-in-out infinite alternate}
@keyframes ocTwinkle{from{opacity:.55}to{opacity:1}}

.oc-wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:20px 20px 96px}

/* ---------- نوار بالا ---------- */
.oc-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0 26px;flex-wrap:wrap}
.oc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--oc-text)}
.oc-brand .mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:900;font-size:21px;color:var(--oc-gold-ink);
  background:linear-gradient(135deg,var(--oc-gold-hi),var(--oc-gold) 45%,var(--oc-gold-deep));box-shadow:0 8px 24px rgba(216,178,92,.28)}
.oc-brand b{display:block;font-size:17px;line-height:1.4}
.oc-brand small{color:var(--oc-dim);font-size:11px}
.oc-topbar .back{display:inline-flex;align-items:center;height:40px;padding:0 16px;color:var(--oc-dim);text-decoration:none;font-size:12.5px;
  border:1px solid var(--oc-line);border-radius:11px;background:rgba(255,255,255,.03);backdrop-filter:blur(8px);transition:.2s}
.oc-topbar .back:hover{color:var(--oc-text);border-color:var(--oc-line2)}
.oc-topbar .back+ .back{margin-inline-start:8px}

/* ---------- تیتر صفحه ---------- */
.oc-hero{text-align:center;padding:8px 0 26px}
.oc-hero h1{font-size:clamp(21px,3.4vw,28px);margin:0 0 10px;font-weight:900;line-height:1.55;
  color:var(--oc-gold-hi);text-shadow:0 2px 18px rgba(216,178,92,.18)}
.oc-hero p{color:var(--oc-dim);font-size:13px;margin:0;line-height:2.1;max-width:640px;margin-inline:auto}
.oc-badge-live{display:inline-flex;align-items:center;gap:9px;background:rgba(63,187,139,.12);border:1px solid rgba(63,187,139,.4);
  color:var(--oc-green-hi);padding:8px 18px;border-radius:999px;font-size:12.5px;font-weight:800;margin-bottom:14px}
.oc-badge-live .pulse{width:9px;height:9px;border-radius:50%;background:var(--oc-green);box-shadow:0 0 0 0 rgba(63,187,139,.5);animation:ocPulse 1.6s infinite}
@keyframes ocPulse{70%{box-shadow:0 0 0 11px rgba(63,187,139,0)}100%{box-shadow:0 0 0 0 rgba(63,187,139,0)}}

/* ================================================================
   کارت بانکی — بدون هیچ هم‌پوشانی؛ همیشه داخل سلولِ خودش
   ================================================================ */
.oc-card-scene{perspective:1200px;display:grid;place-items:center;margin:4px auto 26px;width:100%}
.oc-card{position:relative;width:min(100%,424px);max-width:100%;aspect-ratio:85.6/53.98;border-radius:20px;overflow:hidden;
  transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.3,1.15);
  background:
   radial-gradient(130% 160% at 88% -25%, rgba(216,178,92,.30), transparent 46%),
   radial-gradient(130% 170% at -12% 125%, rgba(88,116,216,.26), transparent 52%),
   linear-gradient(140deg,#131d47 0%,#0b1230 55%,#1a1440 100%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 28px 64px -18px rgba(2,6,20,.9), inset 0 1px 0 rgba(255,255,255,.14)}
.oc-card:hover{transform:rotateY(-6deg) rotateX(3.5deg) translateY(-3px)}
.oc-card::before{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.13) 46%,rgba(255,255,255,.03) 54%,transparent 62%);
  transform:translateX(130%);animation:ocShine 5s ease-in-out infinite}
@keyframes ocShine{0%,55%{transform:translateX(130%)}95%,100%{transform:translateX(-130%)}}
.oc-holo{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.5;
  background:linear-gradient(115deg,transparent 22%,rgba(88,116,216,.14) 36%,rgba(216,178,92,.16) 52%,transparent 68%);
  background-size:280% 280%;animation:ocHolo 7s ease-in-out infinite}
@keyframes ocHolo{0%,100%{background-position:0% 0%}50%{background-position:100% 100%}}
.oc-card .inner{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:6.8% 7%}
.oc-card .row-top{display:flex;justify-content:space-between;align-items:flex-start}
.oc-card .brand-wrap{display:flex;align-items:center;gap:9px}
.oc-card .mini-logo{width:clamp(22px,6vw,32px);aspect-ratio:1;border-radius:8px;display:grid;place-items:center;font-weight:900;
  font-size:clamp(11px,3vw,16px);color:var(--oc-gold-ink);
  background:linear-gradient(135deg,var(--oc-gold-hi),var(--oc-gold-deep));box-shadow:0 3px 9px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.5)}
.oc-card .cbank{font-size:clamp(12px,3.2vw,16px);font-weight:900;color:#fff;line-height:1.2;display:inline-block}
.oc-card .ctype{font-size:clamp(8.5px,2.4vw,11px);color:var(--oc-gold);letter-spacing:.4px;font-weight:700;display:inline-block;margin-top:2px}
.oc-card .nfc{width:clamp(17px,4.6vw,24px);opacity:.9}
.oc-card .chip-row{display:flex;align-items:center;gap:10px;width:100%;direction:ltr}
.oc-card .chip{width:clamp(32px,9vw,46px);aspect-ratio:4/3;border-radius:7px;
  background:linear-gradient(135deg,#f3dda6,#d3ac55 45%,#a07c28);
  box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.4), inset 0 5px 7px rgba(255,255,255,.5), 0 2px 5px rgba(0,0,0,.55)}
.oc-card .chip svg{width:100%;height:100%;display:block}
.oc-card .world{position:absolute;bottom:4.5%;left:7%;font-size:clamp(6px,1.7vw,8px);letter-spacing:clamp(2px,.9vw,4.5px);color:#8a94bd;font-weight:700;direction:ltr}
.oc-card .cnum{direction:ltr;text-align:left;font-weight:800;color:#f4f6ff;
  font-size:clamp(14.5px,4.4vw,22px);letter-spacing:clamp(1px,.4vw,2.5px);
  text-shadow:0 2px 3px rgba(0,0,0,.85),0 -1px 0 rgba(255,255,255,.12);font-variant-numeric:tabular-nums}
.oc-card .row-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.oc-card .lbl{font-size:clamp(6.5px,1.8vw,8.5px);color:#93a0cd;display:block;margin-bottom:2px}
.oc-card .val{font-size:clamp(9.5px,2.6vw,13px);color:#fff;font-weight:700;white-space:nowrap}
.oc-card .amount{color:var(--oc-gold-hi);font-size:clamp(11px,3vw,15px);font-weight:900}
.oc-card .mono-num{position:absolute;bottom:calc(100% - 24%);left:0;right:0;display:none}
.oc-card .qr-cap{position:absolute;left:6%;bottom:6.5%;text-align:center;z-index:3}
.oc-card .qr-cap canvas,.oc-card .qr-cap img{width:clamp(40px,5.2vw,56px);height:auto;border-radius:6px;background:#fff;padding:3px;box-shadow:0 3px 10px rgba(0,0,0,.5)}
.oc-card .qr-cap span{font-size:6.5px;color:#9aa3cd;display:block;margin-top:2px;white-space:nowrap}
/* در حالت QR، فضای سمت چپ کارت برای رمز دوم رزرو می‌شود تا هیچ متنی زیر QR نرود */
.oc-card.qr-mode .cnum{padding-left:clamp(60px,7.5vw,80px);font-size:clamp(12px,3.4vw,16px);letter-spacing:clamp(.8px,.3vw,1.8px)}
.oc-card.qr-mode .row-bot{padding-inline-end:clamp(70px,9.5vw,96px)}
/* حالت‌ها */
.oc-card.is-idle{filter:saturate(.85) brightness(.94)}
.oc-card.is-pending{filter:saturate(.92) brightness(.97)}
.oc-card.is-blocked{filter:grayscale(.75) brightness(.62)}
.oc-card.is-used{filter:saturate(.4) brightness(.78)}
.oc-card.is-active{animation:ocCardGlow 2.8s ease-in-out infinite}
@keyframes ocCardGlow{0%,100%{box-shadow:0 28px 64px -18px rgba(2,6,20,.9),0 0 0 1px rgba(216,178,92,.3),0 0 30px -8px rgba(216,178,92,.4)}50%{box-shadow:0 28px 64px -18px rgba(2,6,20,.9),0 0 0 1px rgba(216,178,92,.55),0 0 54px -6px rgba(216,178,92,.6)}}
.oc-card.is-zoom{width:min(100%,452px)}
.oc-stamp{position:absolute;top:0;left:0;z-index:4;display:inline-flex;align-items:center;gap:5px;padding:6px 14px;
  font-size:clamp(8.5px,2.2vw,10.5px);font-weight:900;letter-spacing:1px;border:none;
  border-radius:0 0 var(--oc-r-sm) 0;background:rgba(4,8,22,.66);backdrop-filter:blur(4px)}
.oc-stamp svg{width:11px;height:11px}
.oc-stamp.st-active{color:var(--oc-green-hi);border-bottom:1.5px solid rgba(63,187,139,.8);box-shadow:0 0 18px rgba(63,187,139,.35);animation:ocStampIn .7s cubic-bezier(.2,1.8,.4,1) .15s backwards}
.oc-stamp.st-pending{color:var(--oc-gold-hi);border-bottom:1.5px solid rgba(216,178,92,.8)}
.oc-stamp.st-idle{color:#8a94bd;border-bottom:1.5px solid rgba(138,148,189,.5);opacity:.9}
.oc-stamp.st-blocked{color:var(--oc-red-hi);border-bottom:1.5px solid rgba(228,104,122,.8)}
.oc-stamp.st-used{color:#c9cfee;border-bottom:1.5px solid rgba(201,207,238,.55)}
@keyframes ocStampIn{from{transform:rotate(-7deg) scale(2.4);opacity:0}}

/* ================================================================
   ویزارد ۳ مرحله — خط اتصال استاندارد، بدون مارجین منفی
   ================================================================ */
.oc-wizard{max-width:520px;margin:0 auto 24px;position:relative}
.oc-steps{display:flex;justify-content:space-between;position:relative;padding:0 12px}
.oc-steps::before{content:'';position:absolute;top:17px;right:calc(16.66% + 8px);left:calc(16.66% + 8px);height:2px;background:rgba(255,255,255,.09);border-radius:2px}
.oc-progress{position:absolute;top:17px;right:calc(16.66% + 8px);left:calc(16.66% + 8px);height:2px;z-index:1;pointer-events:none}
.oc-progress i{display:block;height:100%;width:var(--p,0%);border-radius:2px;background:linear-gradient(90deg,var(--oc-gold-deep),var(--oc-gold));box-shadow:0 0 10px rgba(216,178,92,.5);transition:width .7s cubic-bezier(.3,.9,.3,1)}
.oc-step{position:relative;z-index:2;flex:1;text-align:center;color:var(--oc-dim2);font-size:11.5px;font-weight:700;transition:color .3s}
.oc-step .dot{width:35px;height:35px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;
  background:var(--oc-surface);border:1.5px solid var(--oc-line);color:var(--oc-dim);transition:.3s}
.oc-step.on{color:var(--oc-gold-hi)}
.oc-step.on .dot{background:linear-gradient(135deg,var(--oc-gold-hi),var(--oc-gold-deep));color:var(--oc-gold-ink);border-color:transparent;
  box-shadow:0 0 0 5px rgba(216,178,92,.14),0 6px 16px rgba(216,178,92,.35)}
.oc-step.done{color:var(--oc-green-hi)}
.oc-step.done .dot{background:rgba(63,187,139,.14);color:var(--oc-green);border-color:rgba(63,187,139,.5)}

/* ================================================================
   پنل شیشه‌ای، فرم‌ها و دکمه‌ها
   ================================================================ */
.oc-glass{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.028));
  border:1px solid var(--oc-line);border-radius:var(--oc-r-lg);backdrop-filter:blur(14px);
  box-shadow:var(--oc-shadow);padding:24px;max-width:560px;margin:0 auto}
.oc-field{margin-bottom:16px}
.oc-field label{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--oc-dim);margin-bottom:8px;font-weight:700}
.oc-counter{color:var(--oc-gold);font-weight:800;font-size:11px}
.oc-field input{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:var(--oc-r-md);border:1.5px solid var(--oc-line);
  background:rgba(255,255,255,.045);color:var(--oc-text);font-size:15.5px;font-family:inherit;letter-spacing:1px;transition:.25s}
.oc-field input:focus{outline:none;border-color:var(--oc-gold);box-shadow:0 0 0 4px rgba(216,178,92,.14);background:rgba(255,255,255,.07)}
.oc-field input.code-input{direction:ltr;text-align:center;font-size:clamp(15px,4.4vw,20px);font-weight:800;letter-spacing:3px}
.oc-field input::placeholder{color:#5f6a93}

.oc-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:14px 20px;border:none;border-radius:var(--oc-r-md);
  font-size:15px;font-weight:900;cursor:pointer;font-family:inherit;text-decoration:none;color:var(--oc-gold-ink);
  background:linear-gradient(135deg,var(--oc-gold-hi),var(--oc-gold) 45%,var(--oc-gold-deep));
  box-shadow:0 14px 30px -10px rgba(216,178,92,.45);transition:.22s}
.oc-btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(216,178,92,.6)}
.oc-btn:active{transform:translateY(0)}
.oc-btn:disabled{background:rgba(255,255,255,.07);color:var(--oc-dim2);box-shadow:none;cursor:not-allowed;transform:none;border:1px solid var(--oc-line)}
.oc-btn.ready{animation:ocBtnPulse 1.8s ease-in-out infinite}
@keyframes ocBtnPulse{0%,100%{box-shadow:0 14px 30px -10px rgba(216,178,92,.45)}50%{box-shadow:0 16px 40px -8px rgba(216,178,92,.75)}}
.oc-btn.loading{opacity:.8;cursor:progress;pointer-events:none;filter:saturate(.7)}
.oc-btn.ghost{background:rgba(255,255,255,.05);color:var(--oc-dim);border:1px solid var(--oc-line);box-shadow:none;font-weight:700}
.oc-btn.ghost:hover{color:var(--oc-text);border-color:var(--oc-line2)}

.oc-alert{display:flex;gap:9px;align-items:flex-start;padding:13px 15px;border-radius:var(--oc-r-md);font-size:13px;margin:0 0 16px;line-height:1.95;border:1px solid}
.oc-alert b{font-size:15px;line-height:1.6}
.oc-alert.err{background:rgba(228,104,122,.1);border-color:rgba(228,104,122,.4);color:var(--oc-red-hi)}
.oc-alert.ok{background:rgba(63,187,139,.1);border-color:rgba(63,187,139,.4);color:var(--oc-green-hi)}
.oc-alert.info{background:rgba(127,168,255,.1);border-color:rgba(127,168,255,.4);color:#bccfff}
.oc-note{font-size:11.5px;color:var(--oc-dim2);text-align:center;margin:14px 0 0;line-height:2}
.oc-trust{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.oc-trust span{font-size:10.5px;color:var(--oc-dim);background:rgba(255,255,255,.04);border:1px solid var(--oc-line);border-radius:999px;padding:6px 13px}
.oc-minirow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}

/* ---------- چیپ‌های کارت شناسایی‌شده ---------- */
.oc-found{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.f-chip{flex:1;min-width:120px;background:rgba(255,255,255,.04);border:1px solid var(--oc-line);border-radius:var(--oc-r-md);padding:12px 14px;text-align:center}
.f-chip small{display:block;color:var(--oc-dim2);font-size:10.5px;margin-bottom:5px}
.f-chip b{font-size:13.5px;color:var(--oc-text)}
.f-chip.gold{background:linear-gradient(140deg,rgba(216,178,92,.16),rgba(216,178,92,.05));border-color:rgba(216,178,92,.45)}
.f-chip.gold b{color:var(--oc-gold-hi);font-size:15.5px}

/* ---------- صفحه موفقیت ---------- */
.oc-success{padding:26px 24px}
.oc-success .tick{width:78px;height:78px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:35px;color:#06281a;
  background:linear-gradient(135deg,#8fe3c0,var(--oc-green));box-shadow:0 12px 36px rgba(63,187,139,.4);animation:ocPop .55s cubic-bezier(.2,1.6,.4,1)}
@keyframes ocPop{from{transform:scale(.3);opacity:0}}
.oc-timeline{display:flex;justify-content:space-between;gap:6px;margin:20px 0 6px;position:relative}
.oc-timeline::before{content:'';position:absolute;top:15px;right:9%;left:9%;height:2px;background:linear-gradient(90deg,var(--oc-green),var(--oc-gold));opacity:.5;border-radius:2px}
.oc-timeline .tl{flex:1;text-align:center;position:relative;z-index:1}
.oc-timeline .tl i{width:31px;height:31px;margin:0 auto 7px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:900;
  background:rgba(63,187,139,.12);color:var(--oc-green);border:1.5px solid rgba(63,187,139,.45)}
.oc-timeline .tl.glow i{background:linear-gradient(135deg,#8fe3c0,var(--oc-green));color:#06281a;box-shadow:0 5px 18px rgba(63,187,139,.5);animation:ocPop .6s cubic-bezier(.2,1.6,.4,1) .3s backwards}
.oc-timeline .tl span{display:block;font-size:10px;color:var(--oc-dim)}
.oc-timeline .tl.glow span{color:var(--oc-green-hi);font-weight:800}
.oc-amounts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.oc-amounts div{background:rgba(255,255,255,.045);border:1px solid var(--oc-line);border-radius:var(--oc-r-md);padding:15px;text-align:center}
.oc-amounts b{display:block;color:var(--oc-gold-hi);font-size:17px;margin-bottom:4px}
.oc-amounts span{font-size:11px;color:var(--oc-dim)}
.oc-confetti{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}
.oc-confetti i{position:absolute;top:-14px;left:var(--x);width:9px;height:13px;background:var(--c);border-radius:2px;opacity:.9;
  animation:ocConfetti 3.2s cubic-bezier(.3,.4,.6,1) var(--d) both}
.oc-confetti i:nth-child(3n){width:7px;height:7px;border-radius:50%}
.oc-confetti i:nth-child(4n){width:5px;height:11px}
@keyframes ocConfetti{0%{transform:translateY(-4vh) rotate(0)}100%{transform:translateY(108vh) rotate(620deg)}}

/* ================================================================
   کارت‌های من (داشبورد کاربر)
   ================================================================ */
.oc-head-stats{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:12px;justify-content:center;margin-bottom:24px}
.oc-head-stats div{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.028));border:1px solid var(--oc-line);border-radius:var(--oc-r-lg);padding:16px 20px;text-align:center;backdrop-filter:blur(10px)}
.oc-head-stats b{display:block;font-size:19px;color:var(--oc-gold-hi);margin-bottom:4px}
.oc-head-stats span{font-size:11px;color:var(--oc-dim)}
.oc-deck{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));margin:4px 0 30px}
.oc-card-wrap{min-width:0}
.oc-card-wrap .oc-card{width:100%}
.oc-card-wrap .meta{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 0;font-size:12.5px;color:var(--oc-dim)}
.oc-card-wrap .meta b{color:var(--oc-text)}
.oc-status{padding:5px 12px;border-radius:999px;font-size:10.5px;font-weight:800;border:1px solid}
.oc-status.on{background:rgba(63,187,139,.12);color:var(--oc-green-hi);border-color:rgba(63,187,139,.4)}
.oc-status.warn-ro{background:rgba(216,178,92,.12);color:var(--oc-gold-hi);border-color:rgba(216,178,92,.4)}
.oc-status.off{background:rgba(228,104,122,.12);color:var(--oc-red-hi);border-color:rgba(228,104,122,.4)}
.oc-usagebar{height:7px;border-radius:7px;background:rgba(255,255,255,.07);margin:12px 4px 4px;overflow:hidden}
.oc-usagebar i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--oc-gold-deep),var(--oc-gold));box-shadow:0 0 8px rgba(216,178,92,.5)}
.oc-tx{margin-top:10px}
.oc-tx .txrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px dashed rgba(255,255,255,.08);font-size:12.5px}
.oc-tx .txrow:last-child{border-bottom:none}
.oc-tx .minus{color:var(--oc-red-hi);font-weight:800}.oc-tx .plus{color:var(--oc-green-hi);font-weight:800}
.oc-tx small{display:block;color:var(--oc-dim2);font-size:10.5px;margin-top:3px}
.oc-tx b{color:var(--oc-text)}
details.oc-acc{margin-top:12px;background:rgba(255,255,255,.03);border:1px solid var(--oc-line);border-radius:var(--oc-r-md)}
details.oc-acc summary{list-style:none;cursor:pointer;color:var(--oc-dim);font-size:12px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:8px}
details.oc-acc summary::after{content:'＋';color:var(--oc-gold);flex:0 0 auto}
details.oc-acc[open] summary::after{content:'－'}
details.oc-acc summary::-webkit-details-marker{display:none}
details.oc-acc .oc-tx{padding:0 15px 8px}
.oc-empty{text-align:center;padding:48px 20px}
.oc-empty .big{font-size:46px;margin-bottom:14px;filter:grayscale(.2)}
.oc-empty h3{color:var(--oc-text);margin:0 0 10px;font-size:17px}
.oc-empty p{color:var(--oc-dim);font-size:12.5px;line-height:2;margin:0 0 8px}

/* ================================================================
   موبایل
   ================================================================ */
@media (max-width:640px){
  .oc-wrap{padding:14px 14px 90px}
  .oc-topbar{padding-bottom:20px}
  .oc-hero{padding-bottom:20px}
  .oc-glass{padding:18px}
  .oc-card{border-radius:16px}
  .oc-minirow{grid-template-columns:1fr}
  .oc-amounts{grid-template-columns:1fr}
  .oc-head-stats{grid-template-columns:1fr 1fr}
  .oc-head-stats div:first-child{grid-column:1/-1}
  .oc-timeline .tl span{font-size:8.5px}
  .oc-found{flex-direction:column}
  .f-chip{min-width:0}
}

/* ================================================================
   چاپ
   ================================================================ */
@media print{
  body.oc-world{background:#fff !important;background-image:none !important}
  .oc-stars,.oc-aurora,.oc-topbar,.oc-no-print,.oc-confetti,.oc-holo{display:none !important}
  .oc-card{break-inside:avoid;box-shadow:none;border:1px solid #2a3355;width:340px;margin:0 auto 14px}
  .oc-card::before{animation:none;display:none}
  .oc-card.is-active{animation:none}
  .oc-wrap{padding:0}
}
