.chama-login-wrapper{--tm-primary:#1e73be;--tm-text:#0f172a;--tm-muted:#64748b;--tm-border:#e6eef7;display:flex;justify-content:center;padding:clamp(16px,3.5vw,40px) 12px;background:#fff}
.chama-login-box{width:100%;max-width:520px;background:#fff;padding:clamp(16px,3.2vw,30px);border-radius:14px;border:1px solid var(--tm-border);box-shadow:0 12px 30px rgba(16,42,67,.08);position:relative;box-sizing:border-box}
.chama-header h2{font-size:clamp(22px,2.6vw,26px);margin:0 0 6px;font-weight:800;color:var(--tm-text)}
.chama-header p{color:#475569;margin:0 0 16px;font-size:clamp(14px,1.9vw,16px);line-height:1.55}
.chama-header h2.chama-welcome-back{display:block;background:linear-gradient(135deg,#28a745,#228b22);color:#fff;padding:10px 16px;border-radius:999px;font-size:clamp(16px,2.1vw,18px);line-height:1.2;text-align:center;margin:6px 0 14px;box-shadow:0 6px 18px rgba(34,139,34,.22);word-break:break-word}
.chama-messages{margin:8px 0 14px;text-align:center}
.chama-messages:empty{margin:0}
.chama-success,.chama-error{border-radius:10px;padding:12px 14px;margin:0 0 14px;font-size:15px;line-height:1.4}
.chama-success{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}
.chama-error{color:#7f1d1d;background:#fee2e2;border:1px solid #fecaca}
.chama-field{margin-bottom:14px}
.chama-label-icon{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;margin:0 0 6px;color:#334155}
.chama-label-icon .chama-icon{display:inline-flex;align-items:center}
.chama-login-box .chama-input{width:100%;min-height:52px;padding:0 18px;font-size:16px;border:1px solid #cfe0f2;border-radius:28px!important;background:#fff;box-sizing:border-box;color:var(--tm-text);transition:border-color .2s,box-shadow .2s}
.chama-login-box .chama-input:focus{border-color:var(--tm-primary);box-shadow:0 0 0 3px rgba(30,115,190,.18);outline:none}
.chama-password-wrapper{position:relative}
.chama-password-wrapper .chama-input{padding-right:52px}
.chama-login-box .chama-toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;border-radius:10px;background:transparent;box-shadow:none;cursor:pointer;opacity:.75;transition:opacity .2s}
.chama-login-box .chama-toggle-password:hover{opacity:1;background:transparent}
.chama-login-box .chama-toggle-password:focus-visible{outline:2px solid var(--tm-primary);outline-offset:2px;opacity:1}
.chama-login-box .chama-toggle-password[aria-pressed="true"]{opacity:1}
.chama-button{width:100%;min-height:52px;padding:12px 14px;font-size:16px;font-weight:800;background:var(--tm-primary);color:#fff;border:0;border-radius:28px;cursor:pointer;box-shadow:0 10px 24px rgba(30,115,190,.28);transition:filter .15s,transform .05s}
.chama-button:hover{filter:brightness(1.05)}
.chama-button:active{transform:translateY(1px)}
.chama-button:focus-visible{outline:3px solid rgba(30,115,190,.45);outline-offset:2px}
.chama-button:disabled{opacity:.6;cursor:not-allowed}
.chama-link{display:inline-block;margin-top:4px;color:var(--tm-primary);font-size:14px;font-weight:600;text-decoration:none}
.chama-link:hover{text-decoration:underline}
.chama-forgot-wrap{text-align:right;margin-top:-6px}
.chama-center{text-align:center}
.chama-turnstile-container{display:flex;justify-content:center;min-height:65px}
.chama-hp-field{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
.chama-separator{border:0;height:1px;background:var(--tm-border);margin:18px 0 12px}
.chama-social-label{text-align:center;color:#6b7280;margin:0 0 10px;font-size:14px}
.chama-social-login{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.chama-google-login{display:flex;justify-content:center;min-height:44px}
.g_id_signin{margin:0 auto!important;width:auto!important}
.chama-spinner-overlay{position:absolute;inset:0;background:rgba(255,255,255,.82);z-index:9;display:flex;justify-content:center;align-items:center;border-radius:inherit}
.chama-spinner{width:48px;height:48px;border:5px solid #eef2f7;border-top:5px solid var(--tm-primary);border-radius:50%;animation:chamaSpin 1s linear infinite}
@keyframes chamaSpin{to{transform:rotate(360deg)}}
@media (max-width:480px){
.chama-login-box{padding:16px;border-radius:12px}
.chama-field{margin-bottom:12px}
.chama-login-box .chama-input{min-height:48px;padding:0 16px}
.chama-password-wrapper .chama-input{padding-right:50px}
.chama-button{min-height:48px}
.chama-header p{margin-bottom:12px}
}
@media (prefers-reduced-motion:reduce){
.chama-button,.chama-login-box .chama-input,.chama-login-box .chama-toggle-password{transition:none}
.chama-spinner{animation-duration:2s}
}

.chama-passwordless-note{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:14px;line-height:1.5}
