body{min-height:100vh;display:grid;place-items:center;padding:1rem;background:#edf5f3;color:#172033}
.login-shell{width:min(420px,100%);display:grid;gap:1rem}
.login-shell.has-demo{width:min(900px,100%);grid-template-columns:minmax(320px,390px) minmax(390px,1fr);align-items:stretch}
.login-card,.demo-card{border:1px solid #dbe4e2;border-radius:8px;box-shadow:0 16px 42px rgba(15,23,42,.12)}
.login-brand{display:flex;align-items:center;gap:.75rem}
.login-brand img{width:48px;height:48px;border-radius:8px}
.form-control{min-height:46px}.btn{min-height:46px;font-weight:700}
.demo-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.demo-label{display:block;margin-bottom:.3rem;color:#0f766e;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.demo-live{padding:.3rem .5rem;border-radius:5px;background:#dff4ef;color:#0f766e;font-size:.72rem;font-weight:800;white-space:nowrap}
.demo-password{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.75rem .85rem;border:1px dashed #9fc9c1;border-radius:6px;background:#f3fbf9}
.demo-password span{font-size:.78rem;color:#60716f}.demo-password strong{font-size:.88rem;color:#075e57}
.demo-accounts{display:grid;gap:.5rem}
.demo-account{width:100%;min-height:58px;padding:.65rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #dbe4e2;border-radius:6px;background:#fff;color:#172033;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.demo-account:hover,.demo-account.selected{border-color:#0f766e;background:#f1faf8}
.demo-account span:first-child{min-width:0;display:grid}.demo-account strong{font-size:.88rem}.demo-account small{overflow:hidden;color:#687a78;font-size:.76rem;text-overflow:ellipsis}
.use-account{color:#0f766e;font-size:.76rem;font-weight:800}
.install-button{display:none}.install-button.available{display:block}
.loading-overlay{position:fixed;inset:0;display:none;background:rgba(15,23,42,.18);z-index:2000}.loading-overlay.show{display:block}
@media(max-width:760px){body{align-items:start}.login-shell.has-demo{grid-template-columns:1fr}.login-card{order:1}.demo-card{order:2}.demo-heading{align-items:center}}
