/* 0.18.15 — «پلن و اعتبار» and «پلن‌ها و اشتراک‌ها» (plans01815.js, plans_admin01815.js).
   BookyLens gold on black (and its light theme) through the portal's own tokens; logical properties only, so the
   same rules serve RTL and LTR; nothing here touches the reading desk. */
.plans01815{--plan-accent:var(--gold2);display:grid;gap:22px;min-width:0}
.plans01815 [hidden]{display:none!important}
.plans01815 :focus-visible,.plans01815-dialog :focus-visible,.plans01815-offer :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.plans01815 .sr-only,.plans01815-dialog .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.plans01815 .card{min-width:0;margin:0}
.plans01815-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 10px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;line-height:1.9;color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,transparent);white-space:nowrap;margin-inline-start:6px}
.plans01815-badge.is-current,.plans01815-badge.is-active,.plans01815-badge.is-approved,.plans01815-badge.is-published{color:var(--green);border-color:color-mix(in srgb,var(--green) 55%,transparent);background:color-mix(in srgb,var(--green) 10%,transparent)}
.plans01815-badge.is-pending,.plans01815-badge.is-grace,.plans01815-badge.is-scheduled,.plans01815-badge.is-paused{color:var(--gold);border-color:var(--gold2)}
.plans01815-badge.is-rejected,.plans01815-badge.is-cancelled,.plans01815-badge.is-expired,.plans01815-badge.is-archived,.plans01815-badge.is-off{color:var(--muted)}
.plans01815-badge.is-off{font-size:11.5px}

/* the status card */
.plans01815-status-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.plans01815-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);min-width:0}
.plans01815-stat>span:first-child{color:var(--muted);font-size:14px}
.plans01815-stat strong{font-size:20px;line-height:1.6;overflow-wrap:anywhere}
.plans01815-stat small{color:var(--muted);font-size:13.5px}
.plans01815-stat>.plans01815-badge{align-self:flex-start;margin:0}
.plans01815-lots{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.plans01815-lots li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:14px}
.plans01815-lots li b{color:var(--gold)}
.plans01815-meter{display:grid;gap:2px;font-size:14px}
.plans01815-meter progress{width:100%;height:8px}
.plans01815-manage{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}

/* the catalogue */
.plans01815-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.plans01815-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line)}
.plans01815-tab{background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);padding:8px 14px;font-weight:600;min-height:44px}
.plans01815-tab[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}
.plans01815-period{display:inline-flex;gap:0;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.plans01815-period .btn{border:0;border-radius:0;min-height:40px}
.plans01815-period .btn[aria-pressed=true],.plans01815-goals .btn[aria-pressed=true]{background:var(--gold2);color:#191712}
.plans01815-goals{border:1px solid var(--line);border-radius:14px;padding:10px 14px 14px;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px}
.plans01815-goals legend{padding:0 6px;font-weight:700;color:var(--gold)}
.plans01815-goals .btn{white-space:normal;text-align:start}
.plans01815-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));align-items:stretch}
.plans01815-more{margin-top:18px}
.plans01815-more>summary{cursor:pointer;font-weight:700;color:var(--gold);padding:8px 0;min-height:44px}
.plans01815-more>.plans01815-grid{margin-top:12px}
.plans01815-empty{padding:28px 12px;text-align:center}

/* THE card (the reader's and the administrator's live preview) */
.plans01815-card{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:18px;border:1px solid var(--line);border-top:4px solid var(--plan-accent,var(--gold2));border-radius:16px;background:var(--card);box-shadow:var(--shadow);overflow-wrap:anywhere}
.plans01815-card.is-featured{border-color:var(--gold2);border-top-color:var(--plan-accent,var(--gold))}
.plans01815-card.is-current{outline:2px solid color-mix(in srgb,var(--green) 70%,transparent);outline-offset:2px}
.plans01815-media{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.plans01815-media img{width:72px;height:72px;object-fit:contain;border-radius:14px;background:var(--surface);flex:none}
.plans01815-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold);flex:none}
.plans01815-icon .icon{width:28px;height:28px}
.plans01815-flags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.plans01815-flags .plans01815-badge{margin:0}
.plans01815-title{margin:4px 0 0;font-size:20px;line-height:1.5}
.plans01815-value{margin:0;color:var(--muted);font-size:14.5px;line-height:1.8}
.plans01815-price{margin:2px 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.plans01815-price strong{font-size:24px;color:var(--gold);unicode-bidi:isolate}
.plans01815-price small{flex-basis:100%;color:var(--muted);font-size:13px}
.plans01815-credit,.plans01815-benefits,.plans01815-facts{margin:0;padding-inline-start:20px;display:grid;gap:3px;font-size:14.5px;line-height:1.8}
.plans01815-credit{list-style:none;padding:0;color:var(--gold)}
.plans01815-facts .is-yes .plans01815-mark,.plans01815-compare .is-yes{color:var(--green)}
.plans01815-facts .is-no .plans01815-mark,.plans01815-compare .is-no{color:var(--muted)}
.plans01815-facts li{list-style:none;margin-inline-start:-20px}
.plans01815-cta{margin-top:auto;width:100%;justify-content:center;white-space:normal;min-height:44px}
.plans01815-cta[disabled]{opacity:.75;cursor:default}
.plans01815-cta-note{margin:0;font-size:12.5px}
.plans01815-more-toggle{background:none;border:0;color:var(--gold);padding:6px 0;text-align:start;font-weight:600;min-height:40px;text-decoration:underline;text-underline-offset:4px}
.plans01815-more-toggle::after{content:' ▾'}
.plans01815-more-toggle[aria-expanded=true]::after{content:' ▴'}
.plans01815-details{display:grid;gap:8px;padding-top:6px;border-top:1px dashed var(--line)}
.plans01815-description,.plans01815-terms{white-space:pre-line;margin:0}
.plans01815-footnote{margin:0;font-size:13px}

/* «مقایسهٔ همهٔ پلن‌ها»: its own scroll box (both ways), header row and first column stay in place */
.plans01815-compare-scroll{position:relative;max-width:100%;max-height:min(75vh,900px);overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--card);overscroll-behavior-x:contain}
.plans01815-compare{border-collapse:separate;border-spacing:0;width:auto;min-width:100%;font-size:14px;white-space:normal;text-align:start}
.plans01815-compare th,.plans01815-compare td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top;min-width:120px;max-width:260px;overflow-wrap:anywhere}
.plans01815-compare thead th{position:sticky;top:0;z-index:2;background:var(--surface);color:var(--gold);font-weight:700}
.plans01815-compare tbody th[scope=row],.plans01815-compare thead th:first-child{position:sticky;inset-inline-start:0;z-index:1;background:var(--surface);min-width:140px}
.plans01815-compare thead th:first-child{z-index:3}
.plans01815-compare .plans01815-group th{position:sticky;inset-inline-start:0;background:var(--card);color:var(--muted);font-size:13px;letter-spacing:.02em}
.plans01815-compare .is-current{background:color-mix(in srgb,var(--green) 8%,var(--card))}
.plans01815-compare thead th.is-current{background:color-mix(in srgb,var(--green) 14%,var(--surface))}
.plans01815-compare thead .plans01815-badge{display:flex;width:max-content;margin:4px 0 0}

/* request history */
.plans01815-requests{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.plans01815-requests>li{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0;overflow-wrap:anywhere}
.plans01815-requests>li .btn{justify-self:start}
.plans01815-requests small{color:var(--muted)}

/* the request dialog */
.plans01815-dialog{max-width:min(560px,calc(100vw - 32px));width:100%;border:1px solid var(--gold2);border-radius:18px;background:var(--card);color:var(--text);padding:22px;overflow-wrap:anywhere}
.plans01815-dialog::backdrop{background:#000a}
.plans01815-dialog textarea{width:100%;box-sizing:border-box}
.plans01815-dialog-plan{font-weight:700;color:var(--gold);margin-bottom:8px}

/* the out-of-credit link beside the existing message */
.plans01815-offer{position:fixed;inset-block-end:90px;inset-inline-start:16px;z-index:101;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:min(420px,calc(100vw - 32px));padding:12px 14px;border:1px solid var(--gold2);border-radius:14px;background:var(--card);color:var(--text);box-shadow:var(--shadow)}
.plans01815-offer span{flex:1 1 180px}

/* the administrator's page */
.plans01815-links{margin:0}
.plans01815-admin-tabs{margin-bottom:-10px}
.plans01815-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.plans01815-toolbar input[type=search]{flex:1 1 220px;min-width:0}
.plans01815-list,.plans01815-admin [data-plan-requests-admin01815],.plans01815-admin [data-plan-subs-admin01815]{display:grid;gap:10px}
.plans01815-row{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-start;justify-content:space-between;min-width:0}
.plans01815-row-main{flex:1 1 280px;min-width:0;overflow-wrap:anywhere}
.plans01815-row-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}
.plans01815-row-tags .plans01815-badge{margin:0}
.plans01815-block{display:block;color:var(--muted)}
.plans01815-decide,.plans01815-extend,.plans01815-direct{flex-basis:100%;border-top:1px dashed var(--line);padding-top:10px}
.plans01815-direct{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:14px}
.plans01815-direct>summary,.plans01815-extend>summary{cursor:pointer;font-weight:700;color:var(--gold);min-height:40px}
.plans01815-editor{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:start;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.plans01815-form{display:grid;gap:16px;min-width:0}
.plans01815-form fieldset{border:1px solid var(--line);border-radius:14px;padding:12px 14px 14px;margin:0;min-width:0}
.plans01815-form legend{padding:0 6px;font-weight:700;color:var(--gold)}
.plans01815-form textarea{width:100%;box-sizing:border-box;min-height:70px}
.plans01815-form .field>span{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.plans01815-preview{position:sticky;top:calc(var(--topbar-h) + 14px);display:grid;gap:10px;min-width:0}
.plans01815-image-box img{width:96px;height:96px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.plans01815-msg.is-bad,.plans01815-admin p.is-bad{color:var(--red)}
.plans01815-sticky-actions{position:sticky;bottom:0;z-index:2;padding:10px 0;background:var(--card);flex-wrap:wrap}
.plans01815-picks{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.plans01815-byok-preview{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:10px 0;background:var(--surface)}
.plans01815-audit-detail{font-size:12.5px;overflow-wrap:anywhere}
.plans01815-admin .table-wrap{overflow:auto;max-width:100%}

@media (max-width:900px){
  .plans01815-editor{grid-template-columns:minmax(0,1fr)}
  .plans01815-preview{position:static}
}
@media (max-width:420px){
  .plans01815-card{padding:14px}
  .plans01815-compare th,.plans01815-compare td{min-width:96px;padding:8px}
  .plans01815-compare tbody th[scope=row],.plans01815-compare thead th:first-child{min-width:104px;max-width:130px}
  .plans01815-offer{inset-block-end:76px}
}
@media (prefers-reduced-motion:reduce){.plans01815 *{scroll-behavior:auto}}
