.portal-theme{direction:rtl}.portal-theme[lang=en]{direction:ltr}.portal-wrap{max-width:720px;margin:0 auto;padding:24px 16px 48px}.portal-head{text-align:center;margin-bottom:28px}.portal-head h1{font-size:1.5rem;font-weight:700;margin:0 0 6px}.portal-head p{color:var(--sub-muted);font-size:.9rem;margin:0}.portal-login{max-width:380px;margin:0 auto}.portal-field{margin-bottom:14px}.portal-field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px;color:var(--sub-muted)}.portal-input{padding:10px 12px;border:1px solid var(--sub-border);border-radius:10px;background:#fff}.portal-btn,.portal-input{width:100%;font-size:.95rem}.portal-btn{padding:11px;border:none;border-radius:10px;background:var(--sub-indigo);color:#fff;font-weight:600;cursor:pointer}.portal-btn:disabled{opacity:.6;cursor:not-allowed}.portal-btn-ghost{background:transparent;color:var(--sub-indigo);border:1px solid var(--sub-border);width:auto;padding:8px 14px}.portal-err{color:var(--sub-rose);font-size:.85rem;margin-bottom:12px}.portal-statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}@media (min-width:560px){.portal-statgrid{grid-template-columns:repeat(4,1fr)}}.portal-stat{background:var(--sub-card);border:1px solid var(--sub-border);border-radius:12px;padding:12px}.portal-stat-k{font-size:.72rem;color:var(--sub-muted);text-transform:uppercase;letter-spacing:.04em}.portal-stat-v{font-size:1rem;font-weight:700;margin-top:4px}.portal-plan{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--sub-border);border-radius:12px;margin-bottom:10px;background:var(--sub-card)}.portal-plan-name{font-weight:700}.portal-plan-meta{font-size:.82rem;color:var(--sub-muted);margin-top:4px}.portal-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.portal-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#1e293b;color:#fff;padding:10px 18px;border-radius:10px;font-size:.88rem;z-index:50}