/* ── Auth pages (login.html + admin_login.html) ─────────── */
body{min-height:100vh;display:flex;flex-direction:column;transition:background .2s,color .2s;}

/* ── Header ── */
header{
  height:52px;display:flex;align-items:center;padding:0 20px;
  background:rgba(245,245,247,.85);backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--border);
}
[data-theme="dark"] header{background:rgba(15,15,15,.85);}
.header-logo{font-size:15px;font-weight:600;color:var(--text);font-family:'Boldonse','Times New Roman',serif;letter-spacing:.5px;margin-right:4px;display:inline-flex;align-items:center;gap:6px;line-height:1;}
.header-flask{font-size:24px;flex-shrink:0;display:inline-flex;}
.header-sep{color:var(--text3);margin:0 8px;font-weight:300;}
.header-sub{font-size:12px;color:var(--text3);}
.header-spacer{flex:1;}
.dark-toggle{width:32px;height:32px;border-radius:50%;border:1px solid var(--border2);background:var(--bg3);color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .15s;}
.dark-toggle:hover{background:var(--border);color:var(--text);}

/* ── Login card ── */
.login-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px 36px;width:100%;max-width:360px;box-shadow:var(--shadow-lg);}
.card-icon{font-size:28px;margin-bottom:16px;color:var(--accent);}
.card-title{font-size:20px;font-weight:600;color:var(--text);margin-bottom:4px;}
.card-sub{font-size:13px;color:var(--text3);margin-bottom:32px;}

/* ── Form elements ── */
label{display:block;font-size:11px;font-weight:500;color:var(--text3);letter-spacing:.6px;text-transform:uppercase;margin-bottom:7px;}
input[type=password]{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text);font-family:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;}
input[type=password]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);}
input[type=password]::placeholder{color:var(--text3);}

.btn-primary{margin-top:20px;width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:11px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s;}
.btn-primary:hover{opacity:.88;}

.help-link{display:block;text-align:center;margin-top:12px;font-size:12px;color:var(--text3);text-decoration:none;transition:color .15s;}
.help-link:hover{color:var(--text2);}

/* ── Error message ── */
.error{margin-top:16px;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.2);color:var(--danger);border-radius:var(--radius-sm);padding:10px 13px;font-size:13px;}
[data-theme="dark"] .error{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.2);}

/* ── Admin badge (admin_login.html only) ── */
.admin-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(44,122,75,.1);color:var(--accent);font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;letter-spacing:.3px;margin-bottom:16px;}
[data-theme="dark"] .admin-badge{background:rgba(74,222,128,.1);}
