.ssb-form {
display: grid;
gap: 12px;
max-width: 520px;
} .ssb-form input[type="email"],
.ssb-form select {
width: 100%;
box-sizing: border-box;
padding: 6px;
min-width: 260px;
} .ssb-form button {
cursor: pointer;
padding: 10px 16px;
} .ssb-form label {
font-weight: 600;
}
.ssb-slots{
display:grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap:10px;
} .ssb-slot-input{
position:absolute;
opacity:0;
pointer-events:none;
}
.ssb-slot{
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:12px 10px;
border:1px solid rgba(0,0,0,.15);
border-radius:10px;
cursor:pointer;
user-select:none;
line-height:1.2;
} .ssb-slot:hover{
border-color: rgba(0,0,0,.35);
} .ssb-slot-input:checked + .ssb-slot{
border-color: rgba(0,0,0,.6);
box-shadow: 0 0 0 2px rgba(0,0,0,.12);
} .ssb-slot-input:disabled + .ssb-slot{
opacity:.55;
cursor:not-allowed;
}
.ssb-slot-status{
margin-left:6px;
font-size:.9em;
opacity:.8;
} .ssb-msg--only{
font-size: 1.2rem;
padding: 40px 50px;
}
.ssb-msg{
padding: 12px 0;
font-weight: 500;
} .ssb-msg--success{
color: inherit;
} .ssb-msg--error{
color: #b00020;
font-weight: 600;
background: rgba(176, 0, 32, 0.06);
padding: 12px 14px;
border-radius: 6px;
}