/* =========================================================================
 * HelpFinance · css/suite.css
 * The suite layer: HelpFinance Pro (subscription dialog, expiry reminders,
 * private offers, release announcements, feedback threads), the Assistance
 * desk and the hidden admin pages. Same components as the HelpFreelance
 * suite layer, restyled with the HelpFinance design tokens.
 * ========================================================================= */

/* ------------------------------------------------------- plan overlays --- */
.suitePlanWrap{
  position:fixed;inset:0;z-index:240;display:flex;align-items:center;justify-content:center;
  padding:18px;overflow-y:auto;background:rgba(4,7,18,.74);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.suitePlanCard{
  position:relative;width:100%;max-width:560px;margin:auto;background:var(--card);color:var(--text-main);
  border-radius:22px;padding:clamp(22px,3.6vw,32px);box-shadow:var(--shadow-card);
  text-align:center;animation:fadeUp .24s ease;
}
.suitePlanX{
  position:absolute;top:10px;inset-inline-end:12px;width:36px;height:36px;border-radius:50%;
  font-size:22px;line-height:1;color:var(--text-slate);background:var(--card-soft);
}
.suitePlanX:hover{color:var(--text-main)}
.suitePlanHead{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}
.suitePlanGlyph{
  width:66px;height:66px;border-radius:20px;display:flex;align-items:center;justify-content:center;
  background:var(--grad-brand);color:#fff;box-shadow:0 14px 34px rgba(76,111,255,.35);
}
.suitePlanGlyph svg{width:30px;height:30px}
.suitePlanGlyph img{width:52px;height:52px;border-radius:14px;object-fit:contain}
.suitePlanGlyph.logo{background:transparent;box-shadow:none;padding:0}
.suitePlanGlyph.warn{background:linear-gradient(135deg,#FFC24B,#FFA726)}
.suitePlanGlyph.out{background:linear-gradient(135deg,#FF5C5C,#FF2D55)}
.suitePlanGlyph.gift{background:linear-gradient(135deg,#12C6A7,#4C6FFF)}
.suitePlanCard h2{font-size:clamp(20px,3vw,25px);font-weight:800;letter-spacing:-.02em}
.suitePlanSub{color:var(--text-slate);font-size:14px;line-height:1.6;max-width:46ch}
.suitePlanLose{color:var(--delta-neg);font-size:13.5px;font-weight:600}
.suitePlanChips{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:4px}
.suitePlanChip{
  font-size:12px;font-weight:700;border-radius:999px;padding:4px 11px;
  background:var(--card-soft);color:var(--text-slate);border:1px solid var(--line-input);
}
.suitePlanChip.ok{background:rgba(18,198,167,.12);color:var(--delta-pos);border-color:rgba(18,198,167,.35)}
.suitePlanChip.warn{background:rgba(255,167,38,.14);color:#b7791f;border-color:rgba(255,167,38,.4)}
.suitePlanChip.out{background:rgba(255,92,92,.12);color:var(--delta-neg);border-color:rgba(255,92,92,.35)}
.mb16{margin-bottom:16px}

.suitePlanFeats{list-style:none;display:flex;flex-direction:column;gap:8px;margin:14px 0 16px;text-align:start}
.suiteFeatsCenter li{
  display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--text-main);
  background:var(--card-soft);border:1px solid var(--line-input);border-radius:12px;padding:10px 13px;
}
.suitePlanFeats li::before{content:"✓";color:var(--secondary);font-weight:800;flex:0 0 auto}
.suitePlanSuiteNote{color:var(--text-slate);font-size:12.5px;line-height:1.6;margin-bottom:6px}

.suitePlanCur{display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 0 14px;flex-wrap:wrap}
.suitePlanCur > span{font-size:12.5px;font-weight:700;color:var(--text-slate)}
.suiteCurBtn{
  min-height:38px;padding:7px 15px;border-radius:999px;font-weight:700;font-size:13px;
  border:1px solid var(--line-input);background:var(--card-soft);color:var(--text-slate);transition:.16s;
}
.suiteCurBtn.on{background:var(--grad-brand);color:#fff;border-color:transparent;box-shadow:var(--shadow-btn)}

.suitePlanGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
@media (max-width:520px){ .suitePlanGrid{grid-template-columns:1fr} }
.suitePlanOpt{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;
  background:var(--card-soft);border:1px solid var(--line-input);border-radius:16px;
  padding:20px 12px 16px;transition:.16s;text-align:center;
}
.suitePlanOpt:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 12px 26px rgba(76,111,255,.2)}
.suitePlanOpt.best{border-color:var(--secondary);box-shadow:0 10px 26px rgba(18,198,167,.22)}
.suitePlanOpt:disabled{opacity:.6;transform:none}
.suitePlanBadge{
  position:absolute;top:-10px;inset-inline-start:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,#12C6A7,#0B9E84);color:#fff;font-size:10.5px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;padding:3px 11px;border-radius:999px;white-space:nowrap;
}
[dir="rtl"] .suitePlanBadge{transform:translateX(50%)}
.suitePlanName{font-size:13px;font-weight:700;color:var(--text-slate);text-transform:uppercase;letter-spacing:.06em}
.suitePlanPrice{font-size:29px;font-weight:800;letter-spacing:-.02em}
.suitePlanPer{font-size:12px;color:var(--text-slate)}
.suitePlanEq{font-size:12px;color:var(--primary);font-weight:700;margin-top:4px}
.suitePlanSave{font-size:12px;color:var(--delta-pos);font-weight:700}
.suitePlanAutoNote,.suitePlanSecure{color:var(--text-slate);font-size:12px;line-height:1.6;margin-top:8px}
.suitePlanOffer{
  display:block;width:100%;margin-top:10px;padding:13px 16px;border-radius:14px;font-weight:700;font-size:14px;
  background:rgba(18,198,167,.1);border:1px solid rgba(18,198,167,.4);color:var(--delta-pos);
}
.suiteOfferTag{
  display:inline-block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  background:var(--secondary);color:#03332b;border-radius:999px;padding:2px 8px;margin-inline-end:6px;
}
.suitePlanLater{
  display:block;width:100%;margin-top:10px;min-height:44px;border-radius:999px;font-weight:600;font-size:13.5px;
  color:var(--text-slate);background:transparent;border:1px solid var(--line-input);
}
.suitePlanLater:hover{border-color:var(--primary);color:var(--primary)}
.suiteLockCta{
  display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:0 28px;
  border-radius:999px;font-weight:700;font-size:15.5px;color:#fff;background:var(--grad-brand);
  box-shadow:var(--shadow-btn);transition:.16s;
}
.suiteLockCta:hover{transform:translateY(-2px);filter:brightness(1.05)}
.suiteLockCta:disabled{opacity:.6;transform:none}

/* status bar (frozen copy) */
.suitePlanBar{
  position:fixed;top:0;left:0;right:0;z-index:230;display:flex;align-items:center;justify-content:center;
  gap:12px;flex-wrap:wrap;padding:9px 16px;font-size:13.5px;font-weight:600;color:#fff;
  padding-top:calc(9px + env(safe-area-inset-top));
}
.suitePlanBar.ex{background:linear-gradient(135deg,#FF5C5C,#FF2D55)}
.suitePlanBar.up{background:var(--grad-brand)}
.suiteBarBtn{
  min-height:36px;padding:7px 16px;border-radius:999px;font-weight:700;font-size:13px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;
}
.suiteBarBtn:hover{background:rgba(255,255,255,.28)}
html.suiteHasBar body{padding-top:46px}

/* offers list */
.suiteOfferList{display:flex;flex-direction:column;gap:9px;margin-bottom:8px}
.suiteOfferRow{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--card-soft);border:1px solid var(--line-input);border-radius:13px;padding:12px 15px;
  font-size:13.5px;transition:.16s;
}
.suiteOfferRow:hover{border-color:var(--primary)}
.suiteOfferName{font-weight:700;text-align:start}
.suiteOfferPrice{font-weight:800;color:var(--primary);white-space:nowrap}

/* release announcements */
.suiteUpdList,.suiteUpdLockCard{display:flex;flex-direction:column;gap:12px;text-align:start;margin-bottom:14px}
.suiteUpdItem{background:var(--card-soft);border:1px solid var(--line-input);border-radius:14px;padding:14px 16px}
.suiteUpdHead{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:6px}
.suiteUpdHead b{font-size:14.5px}
.suiteUpdVer{
  font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  background:rgba(76,111,255,.12);color:var(--primary);border-radius:999px;padding:2px 9px;
}
.suiteUpdBody{font-size:13.5px;color:var(--text-slate);line-height:1.65;display:flex;flex-direction:column;gap:6px}
.suiteMuted{color:var(--text-slate);font-size:12.5px}

/* feedback / support threads */
.suiteFbList{display:flex;flex-direction:column;gap:14px;text-align:start}
.suiteFbItem,.suiteTicket{
  background:var(--card-soft);border:1px solid var(--line-input);border-radius:14px;padding:14px;
  text-align:start;
}
.suiteTicket + .suiteTicket{margin-top:12px}
.suiteTicketHead{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.suiteFbThread{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto;padding-inline-end:4px}
.suiteFbMsg{
  display:flex;flex-direction:column;gap:3px;border-radius:12px;padding:9px 12px;font-size:13.5px;
  line-height:1.55;max-width:88%;
}
.suiteFbMsg b{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;opacity:.75}
.suiteFbMsg.app{background:#fff;border:1px solid var(--line-light);color:var(--text-main);align-self:flex-start}
.suiteFbMsg.user{background:rgba(76,111,255,.1);border:1px solid rgba(76,111,255,.28);color:var(--text-main);align-self:flex-end}
.suiteFbAt{font-size:11px;color:var(--text-slate)}
.suiteFbInput{
  width:100%;margin-top:10px;min-height:74px;border-radius:12px;border:1px solid var(--line-input);
  background:#fff;color:var(--text-main);padding:10px 13px;font-size:14px;resize:vertical;
}
.suiteFbInput:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(76,111,255,.15)}
.suiteFbBtns{display:flex;gap:9px;flex-wrap:wrap;margin-top:9px}
.suiteFbBtns .suiteBarBtn{background:var(--grad-brand);border-color:transparent;box-shadow:var(--shadow-btn)}
.suiteFbBtns .suitePlanLater{width:auto;margin-top:0;padding:7px 16px;min-height:36px}
.suiteFbDot{
  display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;
  border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:800;margin-inline-start:6px;
}
.suiteTickets{display:flex;flex-direction:column;gap:12px}
.suiteFbLayout{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(13px,2vw,20px);align-items:start}
@media (max-width:900px){ .suiteFbLayout{grid-template-columns:1fr} }
.suiteFbUsers .rows{max-height:520px;overflow-y:auto}
.suiteFbUser{cursor:pointer;border-radius:10px;padding:9px 8px}
.suiteFbUser:hover{background:var(--card-soft)}
.suiteFbUser.on{background:rgba(76,111,255,.1)}
.suiteFbPane{min-height:220px}
.suiteFbPaneTitle{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-slate);margin-bottom:12px}
.suiteFbUser input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary);flex:0 0 auto}

/* admin tables & tiles */
.suiteTiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:12px;margin-bottom:20px}
.suiteTile{background:var(--card);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-card);text-align:center}
.suiteTileVal{font-size:25px;font-weight:800;color:var(--text-main);letter-spacing:-.02em}
.suiteTileLbl{font-size:12px;color:var(--text-slate);margin-top:3px;line-height:1.45}
.suiteAdminHead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.suiteAdminHead input[type=search]{
  flex:1;min-width:180px;min-height:44px;border-radius:12px;border:1px solid var(--line-input);
  background:var(--card-soft);color:var(--text-main);padding:10px 14px;font-size:14px;
}
.suiteAdminHead input[type=search]:focus{outline:none;border-color:var(--primary)}
.suiteTableWrap{overflow:auto;border-radius:14px;background:var(--card);box-shadow:var(--shadow-card)}
.suiteTable{width:100%;border-collapse:collapse;font-size:13px;min-width:820px;color:var(--text-main)}
.suiteTable th{
  position:sticky;top:0;background:var(--line-light);color:var(--text-slate);text-align:center;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:11px 12px;z-index:1;
}
.suiteTable td{padding:10px 12px;border-bottom:1px solid #edf0fe;vertical-align:middle;text-align:center}
.suiteTable tr:last-child td{border-bottom:none}
.suiteTable tbody tr:nth-child(even){background:var(--row-even)}
.suiteTable input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary)}
.suiteTag{
  display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;border-radius:999px;
  padding:3px 9px;margin:1px;background:rgba(76,111,255,.12);color:var(--primary);white-space:nowrap;
}
.suiteTag.mint{background:rgba(18,198,167,.14);color:var(--delta-pos)}
.suiteTag.warn{background:rgba(255,167,38,.16);color:#b7791f}
.suiteTag.out{background:rgba(255,92,92,.12);color:var(--delta-neg)}
.suiteTag.dim{background:var(--card-soft);color:var(--text-slate)}
.suiteOfferTargets{
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;min-height:32px;align-items:center;
  background:var(--card-soft);border:1px dashed var(--line-input);border-radius:12px;padding:8px 12px;
}

/* shared little bits used by the ported pages */
.empty{
  text-align:center;color:var(--text-slate);font-size:13.5px;padding:24px 12px;
  background:#F8FAFF;border:1px dashed var(--line-input);border-radius:12px;
}
.req{color:var(--accent);font-weight:800}
.field > label{font-size:12.5px;font-weight:600;color:var(--text-slate);display:block;margin-bottom:6px}
.formGrid .field.full{grid-column:1/-1}
textarea.input{min-height:96px;resize:vertical;line-height:1.5}
.mt16{margin-top:16px}

/* the update toast: centred text and button (PWA new-version notice) */
#pwaUpdateToast{
  flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:14px 18px;
}
#pwaUpdateToast span{width:100%;text-align:center}
#pwaUpdateToast .btn{align-self:center}

/* ------------------------------------------------------------- refunds --- */
.suiteRefBlock{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.suiteRefBlock h3{margin:0 0 6px;font-size:14px}
.suiteRefBlock .btnRow{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.suiteTable tr.isSel td{background:rgba(76,111,255,.10)}
