/* The login page look of every Carbon Next system (docs/ui-login.md §2); only the logo and the background differ. */
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;color:#fff;background:#1a2a2a}
[hidden]{display:none!important}

.bg{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.shade{position:fixed;inset:0;background:rgba(0,0,0,.2);z-index:1}

.wrap{position:relative;z-index:2;min-height:100%;display:flex;align-items:center;justify-content:flex-end;padding:2rem 1rem}
.card{width:100%;max-width:28rem;max-height:calc(100vh - 4rem);overflow-y:auto;border-radius:1.5rem;background:rgba(26,42,42,.85);
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.logo{display:block;width:110px;height:110px;object-fit:contain;margin:2rem auto 0}
.body{padding:.5rem 2rem 2rem}

h1{margin:0;text-align:center;font-size:2.25rem;line-height:2.5rem;font-weight:600}
.sub{margin:.5rem 0 1.75rem;text-align:center;font-size:.875rem;color:rgba(255,255,255,.7)}

label{display:block;margin-bottom:.375rem;font-size:.875rem;color:rgba(255,255,255,.8)}
input{width:100%;padding:.5rem .75rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);
  color:#fff;font:inherit;font-size:1rem}
input::placeholder{color:rgba(255,255,255,.4)}
input:focus{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,.4)}

button{font:inherit;cursor:pointer}
#go{width:100%;margin-top:1.25rem;padding:.5rem;border:0;border-radius:.5rem;background:#fdf8f0;color:#0f172a;font-weight:500}
#go:hover{opacity:.9}
#go:disabled{opacity:.6;cursor:progress}

.note{margin:1rem 0 0;text-align:center;font-size:.75rem;color:rgba(255,255,255,.6)}
.error{margin:.75rem 0 0;font-size:.875rem;color:#f87171}

.lead{margin:0 0 .5rem;font-size:.875rem;color:rgba(255,255,255,.8)}
.who{margin:0 0 1rem;font-size:.875rem;font-weight:600;word-break:break-all}
.servers{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}
.servers button{width:100%;text-align:left;padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);color:#fff}
.servers button:hover,.servers button:focus-visible{background:rgba(255,255,255,.16);outline:none}
.servers button.last{border-color:rgba(253,248,240,.7)}
.servers strong{display:block;font-weight:600}
.servers span{display:block;margin-top:.125rem;font-size:.75rem;color:rgba(255,255,255,.6)}

.link{padding:0;border:0;background:none;color:rgba(255,255,255,.85);text-decoration:underline;font-size:.875rem}
.foot{margin-top:1.5rem;display:flex;justify-content:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.6)}
.foot .link,.foot a{font-size:.75rem;color:rgba(255,255,255,.85)}

@media (min-width:768px){
  .wrap{padding-right:4rem}
  .logo{margin-top:2.5rem}
  .body{padding:.5rem 2.5rem 2.5rem}
}
@media (max-width:480px){
  .wrap{padding:1rem}
  .card{max-height:none}
}
