:root{
  --navy:#1E3A8A;
  --indigo:#6366F1;
  --coral:#FF8A6B;
  --bg:#F3F5F9;
  --card:#FFFFFF;
  --text:#111827;
  --muted:#64748B;
  --border:#DCE2EC;
  --soft-indigo:rgba(99,102,241,.10);
  --soft-coral:rgba(255,138,107,.13);
  --shadow:0 14px 36px rgba(30,58,138,.08);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{transition:background .2s ease,color .2s ease}
a{color:inherit}
.tf-plan-header{height:72px;padding:0 28px;background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}
.tf-plan-brand{display:flex;align-items:center;text-decoration:none}.tf-plan-logo{height:36px;width:auto}.tf-logo-dark{display:none}
.tf-plan-header-actions{display:flex;align-items:center;gap:12px}.tf-back-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,138,107,.55);background:linear-gradient(135deg,rgba(255,138,107,.24),rgba(255,255,255,.42));box-shadow:0 6px 18px rgba(255,138,107,.14),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:14px;font-weight:800;color:#1E3A8A;text-decoration:none;transition:transform .16s ease,background .16s ease,border-color .16s ease}.tf-back-link:hover{transform:translateY(-1px);background:linear-gradient(135deg,rgba(255,138,107,.34),rgba(255,255,255,.54));border-color:rgba(255,138,107,.78)}
.tf-theme-button{width:36px;height:36px;border:1px solid var(--border);background:var(--card);border-radius:10px;color:var(--navy);font-size:18px;cursor:pointer}
.tf-plan-main{max-width:1380px;margin:0 auto;padding:46px 28px 72px}
.tf-plan-hero{text-align:center;max-width:930px;margin:0 auto 34px}.tf-eyebrow{display:inline-block;font-size:11px;letter-spacing:.9px;font-weight:850;color:var(--indigo);margin-bottom:9px}
.tf-plan-hero h1{font-size:38px;line-height:1.12;color:var(--navy);margin:0 auto 12px}.tf-plan-hero>p{font-size:16px;line-height:1.6;color:var(--muted);max-width:800px;margin:0 auto}
.tf-current-plan{margin:24px auto 18px;max-width:720px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(99,102,241,.28);border-radius:13px;background:linear-gradient(135deg,rgba(99,102,241,.07),rgba(255,138,107,.05))}
.tf-current-label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:800}.tf-current-plan strong{display:block;color:var(--navy);font-size:18px;margin-top:2px}.tf-current-note{font-size:12px;color:var(--muted);max-width:340px;text-align:right}
.tf-billing-toggle{display:inline-flex;background:var(--card);padding:4px;border-radius:999px;border:1px solid var(--border);box-shadow:0 5px 16px rgba(30,58,138,.05)}
.tf-billing-toggle button{border:0;background:transparent;border-radius:999px;padding:9px 15px;font-weight:750;color:var(--muted);cursor:pointer}.tf-billing-toggle button.active{background:var(--navy);color:#fff}.tf-billing-toggle button span{font-size:10px;color:var(--coral);margin-left:4px}.tf-billing-toggle button.active span{color:#FFD6CB}
.tf-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.tf-plan-card{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(30,58,138,.05);min-width:0}
.tf-plan-card.featured{border:2px solid var(--indigo);box-shadow:0 0 0 1px rgba(99,102,241,.07),0 14px 36px rgba(99,102,241,.14)}
.tf-plan-card.coming{opacity:.80;background:linear-gradient(180deg,#fff,#F7F8FB)}.tf-featured-badge,.tf-coming-badge{position:absolute;top:-12px;right:16px;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.6px}
.tf-featured-badge{background:var(--coral);color:#fff}.tf-coming-badge{background:#E5E7EB;color:#475569}
.tf-plan-kicker{display:block;color:var(--indigo);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px}.tf-plan-card h2{margin:0;color:var(--navy);font-size:25px}.tf-price-row{display:flex;align-items:baseline;gap:5px;margin:12px 0 4px}.tf-price{font-size:34px;font-weight:900;color:var(--navy)}.tf-price-cycle{font-size:13px;color:var(--muted)}
.tf-saving{display:inline-block;align-self:flex-start;margin:3px 0 6px;padding:4px 8px;border-radius:999px;background:var(--soft-coral);color:#B84F36;font-size:11px;font-weight:800}.tf-plan-bestfor{font-size:13px;line-height:1.5;color:var(--muted);min-height:96px}
.tf-feature-list{list-style:none;padding:0;margin:18px 0 22px;display:flex;flex-direction:column;gap:9px;font-size:13px;line-height:1.35}.tf-feature-list li{position:relative;padding-left:19px}.tf-feature-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--indigo);font-weight:900}.tf-feature-list .tf-subfeature{padding-left:33px;color:var(--muted)}.tf-feature-list .tf-subfeature:before{content:"•";left:18px;color:var(--coral)}
.tf-limited,.tf-development{font-weight:800;color:var(--coral)}
.tf-plan-cta{margin-top:auto;width:100%;border:1.5px solid var(--indigo);background:#fff;color:var(--navy);padding:11px 12px;border-radius:11px;font-weight:850;cursor:pointer}.tf-plan-cta:hover:not(:disabled){background:var(--soft-indigo)}.tf-plan-cta.primary{background:linear-gradient(135deg,var(--indigo),var(--navy));color:#fff;border-color:transparent}.tf-plan-cta:disabled{cursor:not-allowed;border-color:#CBD5E1;color:#94A3B8;background:#F1F5F9}.tf-plan-cta.current{background:#ECFDF5;border-color:#A7F3D0;color:#047857;cursor:default}
.tf-comparison-section,.tf-credit-usage-section,.tf-topup-section,.tf-billing-note{margin-top:42px;background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}
.tf-comparison-section{padding:26px}.tf-section-heading h2{margin:0 0 18px;color:var(--navy);font-size:24px}.tf-table-scroll{overflow-x:auto}.tf-comparison-table{width:100%;border-collapse:collapse;min-width:780px;font-size:13px}.tf-comparison-table th,.tf-comparison-table td{padding:12px 13px;border-bottom:1px solid var(--border);text-align:center}.tf-comparison-table th:first-child,.tf-comparison-table td:first-child{text-align:left;font-weight:750;color:var(--navy)}.tf-comparison-table thead th{color:var(--navy);font-size:13px}.tf-comparison-table .creator-col{background:rgba(99,102,241,.055)}
.tf-topup-section{padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.tf-topup-section h2{margin:0 0 5px;color:var(--navy);font-size:23px}.tf-topup-section p{margin:4px 0;color:var(--muted)}.tf-topup-note{font-size:12px}.tf-topup-button{min-width:180px;padding:12px 16px;border:0;border-radius:11px;background:var(--navy);color:#fff;font-weight:850;cursor:pointer}.tf-topup-button:disabled{background:#CBD5E1;cursor:not-allowed}
.tf-billing-note{padding:18px 20px;border-color:rgba(255,138,107,.42);background:linear-gradient(135deg,rgba(255,138,107,.08),rgba(99,102,241,.045))}.tf-billing-note strong{color:var(--navy)}.tf-billing-note p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.tf-plan-footer{padding:24px 28px;border-top:1px solid var(--border);color:var(--muted);display:flex;justify-content:space-between;gap:20px;font-size:12px;background:var(--card)}
.tf-plan-modal[hidden]{display:none}.tf-plan-modal{position:fixed;inset:0;z-index:50}.tf-plan-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}.tf-plan-modal-card{position:relative;margin:12vh auto 0;max-width:520px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:0 24px 70px rgba(15,23,42,.28)}.tf-plan-modal-card h2{margin:0 0 8px;color:var(--navy)}.tf-plan-modal-card p{color:var(--muted);line-height:1.5}.tf-plan-modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:24px;color:var(--muted);cursor:pointer}.tf-plan-modal-summary{padding:13px 14px;border-radius:11px;background:var(--soft-indigo);color:var(--navy);font-weight:800}.tf-plan-modal-note{font-size:12px}.tf-plan-modal-primary{width:100%;padding:11px 14px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-weight:850;cursor:pointer}
html.dark{--bg:#081226;--card:#0F1A32;--text:#F8FAFC;--muted:#94A3B8;--border:#243553}
html.dark .tf-logo-light{display:none}html.dark .tf-logo-dark{display:block}
html.dark .tf-plan-header,html.dark .tf-plan-footer{background:#0B1630}html.dark .tf-back-link{color:#FFF7ED;border-color:rgba(255,138,107,.62);background:linear-gradient(135deg,rgba(255,138,107,.25),rgba(30,41,59,.55));box-shadow:0 7px 20px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.12)}html.dark .tf-back-link:hover{background:linear-gradient(135deg,rgba(255,138,107,.38),rgba(30,41,59,.64))}html.dark .tf-theme-button{color:#fff}.tf-theme-button{background:var(--card)}
html.dark .tf-plan-hero h1,html.dark .tf-current-plan strong,html.dark .tf-plan-card h2,html.dark .tf-price,html.dark .tf-section-heading h2,html.dark .tf-topup-section h2,html.dark .tf-billing-note strong,html.dark .tf-plan-modal-card h2{color:#fff}
html.dark .tf-current-plan{background:linear-gradient(135deg,rgba(99,102,241,.13),rgba(255,138,107,.06))}
html.dark .tf-plan-card.coming{background:#111C34}
html.dark .tf-plan-cta{background:#111C34;color:#fff}html.dark .tf-plan-cta.primary{background:linear-gradient(135deg,var(--indigo),var(--navy))}
html.dark .tf-comparison-table th:first-child,html.dark .tf-comparison-table td:first-child,html.dark .tf-comparison-table thead th{color:#fff}
html.dark .tf-billing-note{background:linear-gradient(135deg,rgba(255,138,107,.08),rgba(99,102,241,.08))}
@media(max-width:1100px){.tf-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-plan-bestfor{min-height:74px}}
@media(max-width:700px){.tf-plan-header{height:auto;padding:14px 16px;align-items:flex-start}.tf-plan-logo{height:30px}.tf-plan-header-actions{flex-direction:column;align-items:flex-end;gap:7px}.tf-plan-main{padding:30px 14px 50px}.tf-plan-hero h1{font-size:29px}.tf-current-plan{align-items:flex-start;flex-direction:column}.tf-current-note{text-align:left}.tf-plan-grid{grid-template-columns:1fr}.tf-plan-bestfor{min-height:0}.tf-comparison-section{padding:18px 12px}.tf-topup-section{align-items:flex-start;flex-direction:column}.tf-topup-button{width:100%}.tf-plan-footer{flex-direction:column}}


/* v4.14.90 — Plans preview interaction polish */
.tf-plan-card:not(.coming){
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.tf-plan-card:not(.coming):hover{
  transform:translateY(-3px);
  border-color:rgba(99,102,241,.55);
  box-shadow:0 14px 34px rgba(30,58,138,.12);
}
.tf-plan-card.selected-preview{
  border-color:#6366F1;
  box-shadow:0 0 0 2px rgba(99,102,241,.10),0 16px 38px rgba(99,102,241,.15);
}
html.dark .tf-plan-card:not(.coming):hover{
  border-color:rgba(129,140,248,.72);
  box-shadow:0 14px 36px rgba(0,0,0,.26);
}
html.dark .tf-plan-card.selected-preview{
  border-color:#818CF8;
  box-shadow:0 0 0 2px rgba(129,140,248,.12),0 16px 38px rgba(0,0,0,.28);
}

/* v4.14.92 credit costs + Solo Repurpose 15 + limit messaging */
.tf-plan-card{overflow:visible}.tf-current-plan-badge{position:absolute;top:-11px;left:16px;padding:5px 9px;border-radius:999px;background:#1E3A8A;color:#fff;font-size:10px;font-weight:850;letter-spacing:.45px;text-transform:uppercase;box-shadow:0 5px 14px rgba(30,58,138,.18)}
.tf-comparison-table .selected-plan-column{background:rgba(99,102,241,.085)!important}
.tf-comparison-table thead .selected-plan-column{color:#1E3A8A;box-shadow:inset 0 3px 0 #6366F1}
html.dark .tf-current-plan-badge{background:#6366F1}html.dark .tf-comparison-table .selected-plan-column{background:rgba(99,102,241,.16)!important}html.dark .tf-comparison-table thead .selected-plan-column{color:#fff}

/* v4.14.92 — explicit credit-cost rules + Solo Repurpose 15/month */
.tf-credit-usage-section{padding:24px 26px}
.tf-credit-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tf-credit-usage-grid>div{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(135deg,rgba(99,102,241,.055),rgba(255,138,107,.035))}
.tf-credit-usage-grid strong{color:var(--navy);font-size:13px}
.tf-credit-usage-grid span{color:var(--muted);font-size:12px;line-height:1.45}
.tf-credit-usage-note{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
html.dark .tf-credit-usage-grid strong{color:#fff}
@media(max-width:700px){.tf-credit-usage-grid{grid-template-columns:1fr}}


/* v4.14.93 — Paddle Sandbox checkout */
.tf-topup-quantity-row{margin:14px 0;padding:13px 14px;border:1px solid var(--border);border-radius:11px;background:rgba(99,102,241,.045)}
.tf-topup-quantity-row label{display:block;margin-bottom:8px;color:var(--navy);font-size:12px;font-weight:850}
.tf-topup-quantity-controls{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:800}
.tf-topup-quantity-controls input{width:82px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);font:inherit;font-weight:800}
.tf-topup-quantity-row small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}
.tf-checkout-status{min-height:18px;margin:8px 0 10px!important;font-size:12px!important;font-weight:700}
.tf-checkout-status.error{color:#B42318!important}.tf-checkout-status.success{color:#047857!important}
.tf-plan-modal-primary:disabled{cursor:wait;opacity:.65}
html.dark .tf-topup-quantity-row label,html.dark .tf-topup-quantity-controls{color:#fff}


/* v4.14.94 — clear post-payment confirmation states */
.tf-checkout-result{margin:14px 0;padding:15px;border:1px solid #A7F3D0;border-radius:12px;background:#ECFDF5;display:flex;gap:12px;align-items:flex-start;color:#065F46}
.tf-checkout-result[hidden]{display:none!important}
.tf-checkout-result.confirming{border-color:#C7D2FE;background:#EEF2FF;color:#3730A3}
.tf-checkout-result.delayed{border-color:#FDE68A;background:#FFFBEB;color:#92400E}
.tf-checkout-result.error{border-color:#FECACA;background:#FEF2F2;color:#991B1B}
.tf-checkout-result-icon{width:32px;height:32px;flex:0 0 32px;border-radius:999px;display:grid;place-items:center;background:currentColor;color:#fff;font-size:18px;font-weight:900}
.tf-checkout-result.confirming .tf-checkout-result-icon{font-size:0}
.tf-checkout-result.confirming .tf-checkout-result-icon:after{content:'…';font-size:18px;color:#fff;line-height:1}
.tf-checkout-result strong{display:block;margin:1px 0 4px;font-size:15px;line-height:1.35}
.tf-checkout-result p{margin:0!important;font-size:12.5px!important;line-height:1.55;color:inherit!important}
.tf-plan-modal-secondary{width:100%;margin-top:8px;padding:12px 16px;border:1px solid var(--indigo);border-radius:11px;background:transparent;color:var(--navy);font-weight:850;cursor:pointer}
.tf-plan-modal-secondary:hover{background:rgba(99,102,241,.07)}
.tf-plan-modal-secondary:disabled{cursor:wait;opacity:.65}
html.dark .tf-checkout-result{background:rgba(6,95,70,.2);color:#A7F3D0;border-color:rgba(167,243,208,.35)}
html.dark .tf-checkout-result.confirming{background:rgba(55,48,163,.22);color:#C7D2FE;border-color:rgba(199,210,254,.35)}
html.dark .tf-checkout-result.delayed{background:rgba(146,64,14,.22);color:#FDE68A;border-color:rgba(253,230,138,.35)}
html.dark .tf-plan-modal-secondary{color:#fff}


/* v4.14.95 — billing management + failed-payment lifecycle */
.tf-current-plan-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:150px}
.tf-manage-billing{border:0;border-radius:10px;background:#1E3A8A;color:#fff;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}
.tf-manage-billing:hover{filter:brightness(1.06)}.tf-manage-billing:disabled{opacity:.65;cursor:wait}
.tf-billing-attention{max-width:220px;text-align:right;color:#b45309;font-size:11px;font-weight:750;line-height:1.35}
html.dark .tf-manage-billing{background:#6366F1}.dark .tf-billing-attention{color:#fbbf24}
@media(max-width:700px){.tf-current-plan-actions{align-items:flex-start;width:100%}.tf-manage-billing{width:100%}.tf-billing-attention{text-align:left;max-width:none}}


/* v4.14.96 — billing return UX + cycle-aware current-plan state */
.tf-plan-grid + .tf-topup-section{margin-top:22px}
.tf-billing-return-notice{max-width:250px;text-align:right;color:#475569;font-size:11px;font-weight:700;line-height:1.4}
.tf-billing-return-notice.success{color:#047857}
html.dark .tf-billing-return-notice{color:#cbd5e1}
html.dark .tf-billing-return-notice.success{color:#6ee7b7}
@media(max-width:700px){.tf-billing-return-notice{text-align:left;max-width:none}}

/* v4.14.97 — legal/tax billing disclosure */
.tf-billing-legal{margin-top:22px;padding:20px 22px;border:1px solid var(--border);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}
.tf-billing-legal>strong{display:block;color:var(--navy);font-size:16px;margin-bottom:7px}
.tf-billing-legal p{margin:6px 0;color:var(--muted);font-size:12px;line-height:1.55}
.tf-billing-legal-links{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:10px!important}
.tf-billing-legal a,.tf-plan-footer-links a{color:var(--indigo);font-weight:750;text-decoration:none}
.tf-billing-legal a:hover,.tf-plan-footer-links a:hover{text-decoration:underline}
.tf-plan-footer-links{white-space:nowrap}
html.dark .tf-billing-legal>strong{color:#fff}
@media(max-width:700px){.tf-billing-legal{padding:18px 16px}.tf-billing-legal-links{align-items:flex-start}}

/* =========================================================
   v4.15.00 — My Plan & Billing commercial layout
   ========================================================= */
.tf-billing-shell{max-width:1440px;padding-top:28px}
.tf-billing-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 18px}
.tf-billing-page-heading h1{margin:2px 0 0;color:var(--navy);font-size:34px;line-height:1.1}
.tf-billing-page-heading p{margin:0;color:var(--muted);max-width:520px;text-align:right;font-size:13px}
.tf-billing-tabs{display:flex;gap:30px;align-items:center;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:22px;padding:0 4px}
.tf-billing-tabs button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text);padding:12px 0 11px;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}
.tf-billing-tabs button.active{color:var(--indigo);border-bottom-color:var(--indigo);font-weight:800}
.tf-billing-tab-panel{display:none}.tf-billing-tab-panel.active{display:block}
.tf-current-plan-wide{max-width:none;margin:0 0 24px}.tf-current-note-left{display:block;text-align:left!important;max-width:740px!important;margin-top:3px}
.tf-current-plan-actions{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.tf-current-plan-actions[hidden]{display:none!important}
.tf-manage-billing.secondary{background:var(--card);color:var(--navy);border:1px solid var(--border)}
.tf-plan-controls-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:7px}
.tf-currency-control{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:750;color:var(--muted)}
.tf-currency-control select{min-width:215px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font:inherit}
.tf-currency-note{margin:0 0 18px;color:var(--muted);font-size:11px;text-align:right}
.tf-plan-grid+.tf-topup-section{margin-top:22px}
.tf-plan-change-preview{display:grid;gap:7px;border:1px solid var(--border);background:var(--bg);border-radius:11px;padding:12px;margin:10px 0}
.tf-plan-change-preview[hidden]{display:none!important}.tf-plan-change-preview>div{display:flex;justify-content:space-between;gap:20px;font-size:12px}.tf-plan-change-preview strong{color:var(--navy)}
.tf-usage-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.tf-usage-main,.tf-usage-side,.tf-billing-info-grid article{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 24px rgba(30,58,138,.04)}
.tf-usage-main{padding:24px}.tf-usage-side{padding:24px;background:linear-gradient(145deg,rgba(255,248,233,.85),var(--card));position:sticky;top:90px}.tf-usage-side h2{color:var(--navy);margin:4px 0 7px;font-size:22px}.tf-usage-side p{color:var(--muted);font-size:13px;line-height:1.55}.tf-usage-side button{width:100%;margin-top:10px}
.tf-section-heading p{color:var(--muted);font-size:12px;margin:4px 0 0}
.tf-usage-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:20px}.tf-usage-metrics article{padding:17px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.tf-usage-metrics span{display:block;color:var(--muted);font-size:11px;font-weight:750}.tf-usage-metrics strong{display:block;color:var(--navy);font-size:28px;margin:5px 0 1px}.tf-usage-metrics small{display:block;color:var(--muted);font-size:10px}
.tf-usage-allowances{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.tf-usage-allowances>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px 14px}.tf-usage-allowances span{color:var(--muted);font-size:12px}.tf-usage-allowances strong{color:var(--navy);font-size:12px}
.tf-billing-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.tf-billing-info-grid article{padding:22px}.tf-billing-info-grid h3{margin:8px 0 6px;color:var(--navy);font-size:18px}.tf-billing-info-grid p{color:var(--muted);font-size:12px;line-height:1.55;min-height:38px}.tf-billing-info-icon{font-size:22px}.tf-billing-summary-card{grid-column:1/-1}.tf-billing-summary-card>strong{display:block;color:var(--navy);font-size:19px;margin:4px 0 12px}.tf-billing-summary-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.tf-billing-summary-card dl div{background:var(--bg);border-radius:10px;padding:11px}.tf-billing-summary-card dt{font-size:10px;color:var(--muted);font-weight:750}.tf-billing-summary-card dd{margin:3px 0 0;color:var(--text);font-size:12px;font-weight:750}
html.dark .tf-billing-page-heading h1,html.dark .tf-usage-side h2,html.dark .tf-usage-metrics strong,html.dark .tf-usage-allowances strong,html.dark .tf-billing-info-grid h3,html.dark .tf-billing-summary-card>strong,html.dark .tf-plan-change-preview strong{color:#fff}
html.dark .tf-usage-side{background:linear-gradient(145deg,rgba(255,138,107,.06),var(--card))}
html.dark .tf-manage-billing.secondary{color:#fff}
@media(max-width:980px){.tf-usage-layout{grid-template-columns:1fr}.tf-usage-side{position:static}.tf-billing-page-heading{align-items:flex-start;flex-direction:column}.tf-billing-page-heading p{text-align:left}.tf-billing-tabs{gap:22px}.tf-plan-controls-row{align-items:flex-start;flex-direction:column}.tf-currency-note{text-align:left}.tf-currency-control{width:100%;justify-content:space-between}.tf-currency-control select{flex:1}}
@media(max-width:700px){.tf-usage-metrics,.tf-usage-allowances,.tf-billing-info-grid,.tf-billing-summary-card dl{grid-template-columns:1fr}.tf-billing-tabs{gap:18px}.tf-plan-controls-row{gap:12px}.tf-currency-control{align-items:flex-start;flex-direction:column}.tf-currency-control select{width:100%}}


/* v4.15.01 — billing RC2 corrections */
.tf-topup-button{background:#1E3A8A;color:#fff;border:1px solid #1E3A8A;transition:filter .16s ease,transform .16s ease}
.tf-topup-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}
.tf-topup-button:disabled{background:#E2E8F0;color:#64748B;border-color:#CBD5E1;opacity:1}
html.dark .tf-topup-button{background:#FFFFFF;color:#1E3A8A;border-color:#FFFFFF}
html.dark .tf-topup-button:disabled{background:#334155;color:#94A3B8;border-color:#475569}
.tf-billing-info-icon{width:28px;height:28px;display:inline-grid;place-items:center;color:var(--navy)}
.tf-billing-info-icon img{width:25px;height:25px;object-fit:contain}
html.dark .tf-billing-info-icon img{filter:brightness(0) invert(1)}

/* v4.15.02 — usage clarity */
.tf-usage-explainer{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.tf-usage-explainer strong{color:var(--text)}

/* v4.15.03 — billing/plan polish */
.tf-plan-cta:hover:not(:disabled){background:rgba(99,102,241,.11)!important;border-color:#6366F1!important;box-shadow:0 0 0 3px rgba(99,102,241,.12),0 10px 26px rgba(99,102,241,.20)!important;transform:translateY(-1px)}
html.dark .tf-plan-cta:hover:not(:disabled){background:rgba(99,102,241,.22)!important;border-color:#818CF8!important;box-shadow:0 0 0 3px rgba(129,140,248,.16),0 10px 30px rgba(99,102,241,.28)!important}
.tf-billing-info-icon img{filter:brightness(0) saturate(100%) invert(19%) sepia(48%) saturate(2559%) hue-rotate(207deg) brightness(81%) contrast(97%)}
html.dark .tf-billing-info-icon img{filter:brightness(0) invert(1)!important}
.tf-billing-bottom-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px;flex-wrap:wrap}
.tf-billing-bottom-actions .tf-plan-cta{width:auto;min-width:150px;margin-top:0}
.tf-billing-cancel-btn{appearance:none;border:1.5px solid rgba(220,38,38,.38);background:rgba(220,38,38,.06);color:#B42318;padding:11px 16px;border-radius:11px;font-weight:850;cursor:pointer;min-width:170px}
.tf-billing-cancel-btn:hover:not(:disabled){background:rgba(220,38,38,.12);border-color:#DC2626;box-shadow:0 0 0 3px rgba(220,38,38,.08)}
.tf-billing-cancel-btn:disabled{opacity:.5;cursor:not-allowed}
html.dark .tf-billing-cancel-btn{color:#FCA5A5;background:rgba(220,38,38,.10);border-color:rgba(248,113,113,.38)}
@media(max-width:700px){.tf-billing-bottom-actions{display:grid;grid-template-columns:1fr}.tf-billing-bottom-actions .tf-plan-cta,.tf-billing-cancel-btn{width:100%}}

/* v4.15.04 — RC5 glass controls and current-plan treatment */
.tf-plan-cta,.tf-topup-button,.tf-manage-billing,.tf-plan-modal-primary,.tf-plan-modal-secondary{background:rgba(30,58,138,.065)!important;color:#1E3A8A!important;border:1.5px solid rgba(30,58,138,.34)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 7px 20px rgba(30,58,138,.08)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important}
.tf-plan-cta:hover:not(:disabled),.tf-topup-button:hover:not(:disabled),.tf-manage-billing:hover:not(:disabled),.tf-plan-modal-primary:hover:not(:disabled),.tf-plan-modal-secondary:hover:not(:disabled){background:rgba(99,102,241,.12)!important;border-color:rgba(99,102,241,.65)!important;box-shadow:0 0 0 3px rgba(99,102,241,.10),0 10px 26px rgba(30,58,138,.16)!important;transform:translateY(-1px)}
.tf-plan-cta:disabled,.tf-topup-button:disabled{opacity:.58}
html.dark .tf-plan-cta,html.dark .tf-topup-button,html.dark .tf-manage-billing,html.dark .tf-plan-modal-primary,html.dark .tf-plan-modal-secondary{background:rgba(255,255,255,.075)!important;color:#fff!important;border-color:rgba(255,255,255,.34)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 8px 22px rgba(0,0,0,.18)!important}
html.dark .tf-plan-cta:hover:not(:disabled),html.dark .tf-topup-button:hover:not(:disabled),html.dark .tf-manage-billing:hover:not(:disabled),html.dark .tf-plan-modal-primary:hover:not(:disabled),html.dark .tf-plan-modal-secondary:hover:not(:disabled){background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.58)!important;box-shadow:0 0 0 3px rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.26)!important}
.tf-current-plan-cta,.tf-current-plan-cta:disabled{width:100%!important;min-height:44px!important;padding:11px 12px!important;opacity:1!important;color:#1E3A8A!important;background:rgba(255,138,107,.055)!important;border:1.5px solid rgba(255,138,107,.78)!important;box-shadow:0 0 0 3px rgba(255,138,107,.11),0 7px 22px rgba(255,138,107,.13),inset 0 1px 0 rgba(255,255,255,.78)!important;cursor:default!important}
html.dark .tf-current-plan-cta,html.dark .tf-current-plan-cta:disabled{color:#fff!important;background:rgba(255,138,107,.075)!important;border-color:rgba(255,138,107,.78)!important;box-shadow:0 0 0 3px rgba(255,138,107,.12),0 8px 24px rgba(255,138,107,.12),inset 0 1px 0 rgba(255,255,255,.10)!important}

/* v4.15.05 local RC — day/night billing controls + indigo hover */
.tf-plan-cta:not(.tf-current-plan-cta),.tf-topup-button,.tf-manage-billing,.tf-plan-modal-primary,.tf-plan-modal-secondary{background:rgba(30,58,138,.85)!important;color:#fff!important;border-color:rgba(30,58,138,.70)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 7px 20px rgba(30,58,138,.12)!important}
html.dark .tf-plan-cta:not(.tf-current-plan-cta),html.dark .tf-topup-button,html.dark .tf-manage-billing,html.dark .tf-plan-modal-primary,html.dark .tf-plan-modal-secondary{background:rgba(235,238,247,.89)!important;color:#1E3A8A!important;border-color:rgba(255,255,255,.7)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 22px rgba(0,0,0,.16)!important}
.tf-plan-cta:hover:not(:disabled):not(.tf-current-plan-cta),.tf-topup-button:hover:not(:disabled),.tf-manage-billing:hover:not(:disabled),.tf-plan-modal-primary:hover:not(:disabled),.tf-plan-modal-secondary:hover:not(:disabled),html.dark .tf-plan-cta:hover:not(:disabled):not(.tf-current-plan-cta),html.dark .tf-topup-button:hover:not(:disabled),html.dark .tf-manage-billing:hover:not(:disabled),html.dark .tf-plan-modal-primary:hover:not(:disabled),html.dark .tf-plan-modal-secondary:hover:not(:disabled){border-color:#818CF8!important;box-shadow:0 0 0 3px rgba(99,102,241,.21),0 0 19px rgba(99,102,241,.36)!important}

/* v4.15.06 — transparent navy/white glass with readable hover labels */
.tf-plan-cta:not(.tf-current-plan-cta),.tf-topup-button,.tf-manage-billing,.tf-plan-modal-primary,.tf-plan-modal-secondary{background:linear-gradient(135deg,rgba(30,58,138,.77),rgba(40,66,150,.69))!important;color:#fff!important;border-color:rgba(67,91,170,.70)!important;backdrop-filter:blur(14px) saturate(140%)!important;-webkit-backdrop-filter:blur(14px) saturate(140%)!important}
.tf-plan-cta:hover:not(:disabled):not(.tf-current-plan-cta),.tf-topup-button:hover:not(:disabled),.tf-manage-billing:hover:not(:disabled),.tf-plan-modal-primary:hover:not(:disabled),.tf-plan-modal-secondary:hover:not(:disabled){background:linear-gradient(135deg,rgba(40,61,151,.87),rgba(75,71,165,.83))!important;color:#fff!important}
html.dark .tf-plan-cta:not(.tf-current-plan-cta),html.dark .tf-topup-button,html.dark .tf-manage-billing,html.dark .tf-plan-modal-primary,html.dark .tf-plan-modal-secondary{background:linear-gradient(135deg,rgba(247,249,254,.86),rgba(215,223,239,.78))!important;color:#1e3a8a!important;border-color:rgba(255,255,255,.68)!important}
html.dark .tf-plan-cta:hover:not(:disabled):not(.tf-current-plan-cta),html.dark .tf-topup-button:hover:not(:disabled),html.dark .tf-manage-billing:hover:not(:disabled),html.dark .tf-plan-modal-primary:hover:not(:disabled),html.dark .tf-plan-modal-secondary:hover:not(:disabled){background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(226,229,255,.91))!important;color:#1e3a8a!important}


/* RC12: crisp sapphire/navy glass. Dark mode uses ivory glass with navy text. */
.tf-plan-cta:not(.tf-current-plan-cta):not(:disabled),
.tf-topup-button:not(:disabled),.tf-manage-billing:not(:disabled),
.tf-plan-modal-primary:not(:disabled),.tf-plan-modal-secondary:not(:disabled){
 background:linear-gradient(155deg,rgba(45,79,165,.97) 0%,rgba(30,58,138,.99) 55%,rgba(40,65,145,.96) 100%)!important;
 color:#fff!important;border:1px solid rgba(127,156,235,.75)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.43),inset 0 -1px 0 rgba(8,23,77,.30),0 5px 13px rgba(30,58,138,.16)!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 text-shadow:0 1px 0 rgba(8,23,65,.2);
}
.tf-plan-cta:not(.tf-current-plan-cta):hover:not(:disabled),
.tf-topup-button:hover:not(:disabled),.tf-manage-billing:hover:not(:disabled),
.tf-plan-modal-primary:hover:not(:disabled),.tf-plan-modal-secondary:hover:not(:disabled){
 background:linear-gradient(150deg,#3958b1,#263f99 58%,#354fb0)!important;
 color:#fff!important;border-color:#8e99ff!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 0 0 2px rgba(99,102,241,.17),0 8px 20px rgba(56,65,172,.25)!important;
}
html.dark .tf-plan-cta:not(.tf-current-plan-cta):not(:disabled),
html.dark .tf-topup-button:not(:disabled),html.dark .tf-manage-billing:not(:disabled),
html.dark .tf-plan-modal-primary:not(:disabled),html.dark .tf-plan-modal-secondary:not(:disabled){
 background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(230,235,247,.96) 58%,rgba(217,228,246,.95))!important;
 color:#1e3a8a!important;border-color:rgba(255,255,255,.85)!important;
 box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(113,134,184,.22),0 6px 16px rgba(0,0,0,.19)!important;
 text-shadow:none;
}
html.dark .tf-plan-cta:not(.tf-current-plan-cta):hover:not(:disabled),
html.dark .tf-topup-button:hover:not(:disabled),html.dark .tf-manage-billing:hover:not(:disabled),
html.dark .tf-plan-modal-primary:hover:not(:disabled),html.dark .tf-plan-modal-secondary:hover:not(:disabled){
 background:linear-gradient(155deg,#fff,#e4e9ff 65%,#d8e0f9)!important;
 color:#1e3a8a!important;border-color:#a5b4fc!important;
 box-shadow:inset 0 1px 0 #fff,0 0 0 2px rgba(129,140,248,.19),0 8px 22px rgba(0,0,0,.2)!important;
}

/* RC16 — click acknowledgement for plan-card buttons; clear navy glass in light mode. */
.tf-plan-cta.tf-plan-preview-loading,
.tf-plan-cta.tf-plan-preview-loading:disabled{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:9px!important;opacity:1!important;cursor:progress!important;
  background:linear-gradient(155deg,#3458aa 0%,#1e3a8a 65%,#2b4899 100%)!important;
  border:1px solid rgba(127,156,235,.85)!important;color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 5px 14px rgba(30,58,138,.18)!important;
}
.tf-plan-processing-icon{
  display:block;flex:0 0 19px;width:19px;height:19px;
  filter:brightness(0) invert(1);
  transform-origin:center;
  animation:tf-plan-spin 1.15s linear infinite,tf-plan-pulse 1.15s steps(8,end) infinite;
}
html.dark .tf-plan-cta.tf-plan-preview-loading,
html.dark .tf-plan-cta.tf-plan-preview-loading:disabled{
  background:linear-gradient(145deg,#f4f6fc,#dbe3f5)!important;
  color:#1e3a8a!important;border-color:rgba(255,255,255,.82)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80),0 5px 15px rgba(0,0,0,.15)!important;
}
html.dark .tf-plan-processing-icon{filter:none}
@keyframes tf-plan-spin{to{transform:rotate(360deg)}}
@keyframes tf-plan-pulse{0%,100%{opacity:1}42%{opacity:.55}62%{opacity:.86}}
@media(prefers-reduced-motion:reduce){.tf-plan-processing-icon{animation:tf-plan-pulse 1.5s ease-in-out infinite}}

/* Phase 2: guarantee, signed-out billing entry and explanatory top-up access */
.tf-guarantee-promo{margin:16px 0 20px;padding:16px 20px;border:1px solid rgba(99,102,241,.35);border-left:4px solid #6366f1;border-radius:13px;background:linear-gradient(110deg,rgba(99,102,241,.09),rgba(30,58,138,.035));color:var(--navy)}
.tf-guarantee-promo strong{display:block;font-size:15px}.tf-guarantee-promo p{font-size:13px;line-height:1.55;margin:8px 0}.tf-guarantee-promo small{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.tf-guarantee-promo a,.tf-refund-policy-detail a{color:#4f46e5;font-weight:750}
.tf-billing-login-link{display:inline-flex;margin-top:8px;font-size:12px;font-weight:800;color:var(--indigo);text-decoration:underline}
.tf-billing-login-link[hidden]{display:none!important}
.tf-refund-policy-detail{font-size:12px!important}.tf-topup-restricted{opacity:.7;cursor:pointer!important}
.tf-refund-guarantee[hidden]{display:none!important}
html.dark .tf-guarantee-promo{color:#eff6ff;background:linear-gradient(110deg,rgba(99,102,241,.17),rgba(30,58,138,.16))}
html.dark .tf-guarantee-promo a,html.dark .tf-refund-policy-detail a{color:#a5b4fc}
html.dark .tf-refund-guarantee{color:#e0e7ff;background:rgba(99,102,241,.14)}
html.dark #tfRefundCancelButton{color:#e0e7ff}

/* Phase 2: a single, compact guarantee banner for each account state. */
.tf-guarantee-promo[hidden],.tf-refund-guarantee[hidden]{display:none!important}
.tf-guarantee-promo,.tf-refund-guarantee{
  margin:16px 0 20px!important;padding:16px 20px!important;
  border:1px solid rgba(99,102,241,.35)!important;
  border-left:4px solid #6366f1!important;border-radius:13px!important;
  background:linear-gradient(110deg,rgba(99,102,241,.09),rgba(30,58,138,.035))!important;
  color:var(--navy)!important;box-shadow:none!important;
}
.tf-refund-guarantee-heading{font-size:15px!important;gap:8px!important}
.tf-refund-guarantee p{font-size:13px!important;line-height:1.5!important;margin:8px 0!important}
.tf-refund-policy-detail{font-size:11px!important;line-height:1.45!important;color:var(--muted)!important}
.tf-refund-guarantee-actions{gap:12px!important;margin-top:10px!important}
.tf-refund-guarantee-actions span{font-size:12px!important}
.tf-refund-guarantee button{padding:8px 13px!important;font-size:12px!important}
#tfRefundStatusMessage:empty{display:none}
html.dark .tf-guarantee-promo,html.dark .tf-refund-guarantee{
  color:#e0e7ff!important;
  background:linear-gradient(110deg,rgba(99,102,241,.17),rgba(30,58,138,.16))!important;
}
html.dark .tf-refund-policy-detail{color:#a5b4fc!important}

/* Phase 2-T: authoritative completed-refund acknowledgement; existing single banner. */
.tf-guarantee-promo,.tf-refund-guarantee{position:relative;overflow:hidden;isolation:isolate}
.tf-guarantee-claimed-ribbon{position:absolute;top:22px;right:-47px;width:205px;padding:7px 0;text-align:center;transform:rotate(35deg);background:#1e3a8a;color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;line-height:1.3;box-shadow:0 2px 9px rgba(30,58,138,.2);pointer-events:none;z-index:1}
.tf-guarantee-claimed-ribbon[hidden]{display:none!important}
.tf-guarantee-promo.tf-guarantee-claimed,.tf-refund-guarantee.tf-guarantee-claimed{padding-right:125px!important}
html.dark .tf-guarantee-claimed-ribbon{background:#a5b4fc;color:#172554}
@media(max-width:600px){.tf-guarantee-promo.tf-guarantee-claimed,.tf-refund-guarantee.tf-guarantee-claimed{padding-right:20px!important;padding-top:59px!important}.tf-guarantee-claimed-ribbon{top:20px;right:-49px;font-size:9px}}
