/* Ortak giriş ekranı — default.php ve panel.php */
.login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;
  position:relative;z-index:1
}
.login-panel{width:100%;max-width:440px}
.login-brand{text-align:center;margin-bottom:28px}
.login-brand .logo-img{
  width:auto;height:64px;margin:0 auto 14px;display:block;object-fit:contain
}
.login-brand h1{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-.03em}
.login-brand p{margin:8px 0 0;color:var(--muted);font-size:.9rem}
.login-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius,18px);
  padding:32px;box-shadow:var(--shadow-lg,0 24px 60px rgba(15,23,42,.12))
}
.login-card h2{margin:0 0 6px;font-size:1.1rem}
.login-card > p{margin:0 0 22px;color:var(--muted);font-size:.88rem;line-height:1.5}
.login-card .field{margin-bottom:14px;display:block}
.login-card .field label{
  display:block;font-size:.68rem;color:var(--muted);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px
}
.login-card .field input{
  width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;
  font:inherit;background:#fafbfc
}
.login-card .field input:focus{
  outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12)
}
.btn-main{
  width:100%;border:0;border-radius:12px;padding:13px 18px;font:inherit;font-weight:700;cursor:pointer;
  background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;
  box-shadow:0 8px 22px rgba(37,99,235,.32);transition:transform .15s,box-shadow .15s
}
.btn-main:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(37,99,235,.38)}
.btn-main:disabled{opacity:.65;cursor:not-allowed;transform:none}
.btn-secondary{
  width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;
  background:#f8fafc;color:var(--text);margin-top:8px
}
.btn-secondary:hover{background:#f1f5f9}
.btn-secondary:disabled{opacity:.65;cursor:not-allowed}
.login-check{
  display:flex;align-items:center;gap:8px;margin:4px 0 16px;font-size:.86rem;color:var(--muted);cursor:pointer
}
.login-check input{width:auto;margin:0;cursor:pointer}
.login-link{
  display:inline-block;margin-top:14px;color:var(--primary);font-weight:700;cursor:pointer;
  background:none;border:0;font:inherit;font-size:.86rem;padding:0
}
.login-link:hover{text-decoration:underline}
.login-wrap .alert{
  display:none;margin-bottom:14px;padding:12px 14px;border-radius:12px;font-size:.86rem;font-weight:600
}
.login-wrap .alert.show{display:block}
.login-wrap .alert.err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.login-wrap .alert.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.login-wrap .alert.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}

.auth-boot-overlay{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:rgba(232,237,245,.88);backdrop-filter:blur(4px)
}
.auth-boot-card{
  background:var(--surface,#fff);border:1px solid var(--border,#dde4ee);border-radius:16px;
  padding:24px 28px;box-shadow:0 20px 50px rgba(15,23,42,.12);display:flex;align-items:center;gap:14px;
  font-size:.92rem;font-weight:600;color:var(--text,#0f172a)
}
.auth-boot-spinner{
  width:22px;height:22px;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;
  animation:authBootSpin .75s linear infinite;flex-shrink:0
}
@keyframes authBootSpin{to{transform:rotate(360deg)}}
