/* Public entry layout. Colors, type, cards and buttons come from workspace.css. */
.sl-public-entry .sl-entry-shell {
    display: grid;
    place-items: center;
    min-height: 100vh;
    min-height: 100svh;
    padding: 40px 24px;
}
.sl-entry-container { width: 100%; max-width: 480px; min-width: 0; }
.sl-public-entry .sl-entry-card { padding: 36px; }
.sl-entry-brand { margin-bottom: 30px; }
.sl-entry-card h1 {
    margin: 0 0 14px;
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: -.035em;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.sl-entry-description { margin: 0 0 28px; line-height: 1.65; }
.sl-public-entry .sl-entry-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    font-size: 13px;
}
.sl-entry-note { margin: 14px 0 0; font-size: 12px; text-align: center; }
.sl-entry-footer { margin-top: 16px; }
.sl-entry-footer nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 20px; }
.sl-entry-footer a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sl-gray-600); font-size: 12px; }
.sl-entry-card:focus { outline: none; }
.sl-entry-card:focus-visible { outline: 3px solid var(--sl-blue); outline-offset: 4px; }
@media (max-width: 560px) {
    .sl-public-entry .sl-entry-shell { padding: 24px 16px; }
    .sl-public-entry .sl-entry-card { padding: 28px 24px; }
    .sl-entry-card h1 { font-size: 26px; }
    .sl-entry-brand { margin-bottom: 26px; }
}
