*{box-sizing:border-box} body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;margin:0;background:#0f1115;color:#e8e8e8}
a{color:#8ab4ff} .wrap{max-width:900px;margin:30px auto;padding:0 16px}
h1,h2{margin:16px 0} .card{background:#161a20;border:1px solid #232833;border-radius:12px;padding:16px;margin:12px 0}
input,select,button{padding:10px 12px;border-radius:8px;border:1px solid #2a3140;background:#0e1218;color:#eaeaea}
button{cursor:pointer} .row{display:flex;gap:12px;flex-wrap:wrap}
label{display:block;margin:8px 0 4px} .muted{opacity:.8;font-size:.95rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#243044;border:1px solid #2f3c53;font-size:.85rem}
.success{color:#9df59d} .error{color:#ff9d9d}
.slot{padding:10px;border-radius:8px;text-align:center;border:1px solid #2a3140}
.slot.available{background:#0f1b11;border-color:#214527} .slot.taken{background:#2a1212;border-color:#3f2222}
.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.nav a{padding:8px 12px;border-radius:8px;background:#1a212d;border:1px solid #293345;text-decoration:none}
.logo{height:48px;border-radius:8px;border:1px solid #2a3140}
table{width:100%;border-collapse:collapse} th,td{border-bottom:1px solid #2a3140;padding:8px;text-align:left}
/* Estado padrão: reserva espaço pra borda */
button,
.button {
  box-sizing: border-box;
  border: 2px solid transparent;
}

/* Foco por teclado/click e estado pressionado */
button:focus,
button:focus-visible,
button:active,
.button:focus,
.button:focus-visible,
.button:active {
  border-color: rgb(123, 176, 123);
  /* Se não quiser o contorno padrão do navegador, descomente a linha abaixo:
  outline: none;
  */
}
.button.active {
  border-color: rgb(123, 176, 123);
}

/* Active estado para botões sem a classe .button (ex.: <button class="active">) */
button.active, .button.active {
  box-sizing: border-box;
  border: 2px solid transparent;
  border-color: rgb(123, 176, 123);
}