:root{
  --bg:#f6f8fb;--surface:#fff;--surface-2:#f8fafc;--text:#1d2939;--muted:#667085;
  --line:#e4e7ec;--primary:#155eef;--primary-soft:#eef4ff;--danger:#d92d20;--warning:#b54708;
  --success:#067647;--radius:5px;--sidebar:224px;--shadow:0 1px 3px rgba(16,24,40,.07);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:13px}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
h1,h2,h3,p{margin-top:0}a{color:inherit}.muted{color:var(--muted)}.danger-text{color:var(--danger)}.success-text{color:var(--success)}
.app-loading{position:fixed;inset:0;z-index:2000;background:#fff;display:grid;place-content:center;text-align:center;gap:12px;color:var(--muted)}
.app-loading img{width:110px;height:auto;margin:auto;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#f7faff,#fff)}
.login-card{width:min(380px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px;box-shadow:0 12px 36px rgba(16,24,40,.08);text-align:center}
.login-logo{width:120px;max-height:80px;object-fit:contain}.login-card h1{margin:14px 0 4px;font-size:22px}.login-card p{color:var(--muted)}.login-card small{display:block;color:var(--muted);margin-top:18px}
.form-stack{display:grid;gap:12px;text-align:left;margin-top:20px}.form-stack label,.form-grid label{display:grid;gap:5px;font-weight:600;color:#344054}
input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:4px;padding:8px 9px;background:#fff;color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px #eef4ff}textarea{min-height:88px;resize:vertical}
.form-message{min-height:18px;color:var(--danger);font-size:12px}

/* v0.10.36: accessible, prominent OTP status feedback */
.login-card .form-message.login-notice{min-height:0;margin:12px 0 2px;padding:13px 14px;text-align:left;font-size:14px;font-weight:650;line-height:1.5;border-radius:7px;border:1px solid transparent;overflow-wrap:anywhere}
.login-card .login-notice--loading{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.login-card .login-notice--success{background:#ecfdf3;color:#05603a;border-color:#a6f4c5}
.login-card .login-notice--error{background:#fef3f2;color:#b42318;border-color:#fecdca}
.login-card #send-otp-btn:disabled{opacity:.65;cursor:wait}
