/* Modern Login Card */
.umvm-login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px;
  background:
    radial-gradient(1200px 600px at 100% -10%, rgba(26,111,181,.25), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(40,167,69,.22), transparent 60%),
    linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  font-family:'Tajawal','Cairo','Segoe UI',Tahoma,sans-serif;
}
.umvm-login-card{
  width:100%;max-width:420px;
  background:rgba(255,255,255,.98);
  border-radius:24px;
  padding:36px 28px 28px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  animation:umvmFadeUp .5s ease;
}
@keyframes umvmFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.umvm-login-brand{text-align:center;margin-bottom:24px}
.umvm-login-logo{
  width:68px;height:68px;margin:0 auto 12px;border-radius:20px;
  background:linear-gradient(135deg,#1a6fb5,#28a745);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  box-shadow:0 12px 30px -8px rgba(26,111,181,.6);
  overflow:hidden;position:relative;
}
.umvm-login-logo svg{
  opacity:0;
  animation:logoAppear 0.6s ease 0.2s forwards;
}
.umvm-login-logo svg path,
.umvm-login-logo svg circle{
  stroke-dasharray:120;
  stroke-dashoffset:120;
  animation:logoStrokeDraw 1.2s ease forwards;
}
.umvm-login-logo svg path:nth-child(2){
  animation-delay:0.2s;
}
.umvm-login-logo svg circle{
  animation-delay:0.5s;
}
@keyframes logoAppear{
  0%{opacity:0}
  100%{opacity:1}
}
@keyframes logoStrokeDraw{
  0%{stroke-dashoffset:120;stroke:rgba(255,255,255,0.2);fill:transparent}
  60%{stroke-dashoffset:0;stroke:rgba(255,255,255,0.8);fill:transparent}
  100%{stroke-dashoffset:0;stroke:#fff;fill:rgba(255,255,255,0.15)}
}
.umvm-login-brand h1{margin:0;font-size:22px;color:#0f172a;font-weight:800}
.umvm-login-brand p{margin:6px 0 0;color:#64748b;font-size:14px}

.umvm-login-form .umvm-field{margin-bottom:14px}
.umvm-login-form label{display:block;font-size:13px;color:#334155;margin-bottom:6px;font-weight:600}
.umvm-login-form input[type=text],
.umvm-login-form input[type=password]{
  width:100%;box-sizing:border-box;padding:13px 14px;
  border:1.5px solid #e2e8f0;border-radius:12px;
  font-size:15px;background:#f8fafc;transition:.18s;
  font-family:inherit;
}
.umvm-login-form input:focus{outline:none;border-color:#1a6fb5;background:#fff;box-shadow:0 0 0 4px rgba(26,111,181,.12)}
.umvm-pass-wrap{position:relative}
.umvm-pass-toggle{
  position:absolute;left:8px;top:50%;transform:translateY(-50%);
  background:none;border:0;cursor:pointer;font-size:18px;opacity:.55;padding:6px;
}
.umvm-pass-toggle:hover{opacity:1}
.umvm-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:#475569;margin:4px 0 16px;cursor:pointer}
.umvm-remember input{accent-color:#1a6fb5}

.umvm-login-btn{
  width:100%;border:0;cursor:pointer;
  background:linear-gradient(135deg,#1a6fb5,#28a745);
  color:#fff;font-weight:700;font-size:16px;
  padding:14px;border-radius:12px;
  box-shadow:0 12px 24px -10px rgba(26,111,181,.55);
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:.2s; font-family:inherit;
}
.umvm-login-btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px -10px rgba(26,111,181,.65)}
.umvm-login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}
.umvm-btn-spinner{
  width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;
  border-radius:50%;animation:umvmSpin .8s linear infinite;
}
@keyframes umvmSpin{to{transform:rotate(360deg)}}

.umvm-login-msg{min-height:20px;margin-top:12px;font-size:13px;text-align:center}
.umvm-login-msg.err{color:#c0392b}
.umvm-login-msg.ok{color:#16a34a}
.umvm-login-foot{margin-top:14px;text-align:center;font-size:13px}
.umvm-login-foot a{color:#1a6fb5;text-decoration:none}
.umvm-login-foot a:hover{text-decoration:underline}

/* AI Summarize button next to recorder */
.notes-row{position:relative}
.notes-actions{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}
.ai-btn{
  background:linear-gradient(135deg,#7c3aed,#ec4899);
  color:#fff;border:0;padding:8px 14px;border-radius:10px;
  font-size:13px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
  box-shadow:0 6px 14px -6px rgba(124,58,237,.6);transition:.18s;
}
.ai-btn:hover{transform:translateY(-1px)}
.ai-btn:disabled{opacity:.6;cursor:not-allowed}
.ai-btn .ai-spin{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:umvmSpin .8s linear infinite;display:inline-block}
