.login-page { display:flex; align-items:center; justify-content:center; min-height:100vh; background:#edf3f7; }
.login-card { flex:none; width:min(420px,90vw); padding:32px; border:1px solid #ccd8e0; border-radius:16px; background:white; }
.login-card form,.login-card label { display:grid; gap:12px; }
.login-card input { width:100%; padding:12px; }
.login-card [role=alert] { color:#a62d43; }
.header-actions form { display:inline; margin:0; }
.header-actions > a { color:#e1edf4; padding:8px; white-space:nowrap; }
#saveStatus { max-width:320px; }

.bit-logo { display:flex; align-items:center; flex-shrink:0; }
.bit-logo img { display:block; width:190px; height:auto; max-height:45px; object-fit:contain; }
.app-header { height:auto; min-height:68px; gap:16px; flex-wrap:wrap; padding-top:10px; padding-bottom:10px; }
.header-actions { flex-wrap:wrap; justify-content:flex-end; }
.server-dialog { width:min(640px,90vw); border:1px solid #ccd8e0; border-radius:14px; padding:24px; color:#193242; }
.server-dialog::backdrop { background:rgba(10,25,40,.5); }
.server-dialog label { display:grid; gap:8px; }
.server-dialog select { width:100%; padding:10px; }
.server-dialog .actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.login-card h1:has(img) { background:#101827; padding:18px; border-radius:10px; }
