/* Migrated by tools/migrate_design_css.py from the approved 2026-08-23 public UI. */
.button, .text-link, .auth-cancel, .auth-card__footer a, .comment-reply summary { gap: var(--space-sm); }

.auth-page { min-height: 66vh; display: grid; place-items: center; padding: var(--space-2xl) var(--space-md) var(--space-3xl); background: var(--color-surface); }

.auth-card { width: min(100%, 31rem); padding: clamp(var(--space-lg), 4vw, var(--space-xl)); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); box-shadow: var(--shadow-modal); }

.auth-card--wide { width: min(100%, 37rem); }

.auth-card--compact { width: min(100%, 29rem); text-align: center; }

.auth-card h1 { margin: 0; font-size: clamp(var(--font-size-3xl), 5vw, var(--font-size-4xl)); font-weight: var(--font-weight-black); letter-spacing: var(--letter-spacing-tight); }

.auth-intro { margin: var(--space-md) 0 var(--space-lg); color: var(--color-muted); }

.auth-form { display: grid; gap: var(--space-md); }

.auth-field label { display: block; margin-bottom: var(--space-sm); font-weight: var(--font-weight-bold); }

.auth-field input:not([type="checkbox"]):not([type="radio"]) { width: 100%; min-height: 3rem; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); color: var(--color-ink); background: var(--color-paper); }

.auth-field input:not([type="checkbox"]):not([type="radio"]):focus { border-color: var(--color-accent); box-shadow: var(--shadow-focus); outline: none; }

.auth-field--error input { border-color: var(--color-primary); }

.auth-help { margin-top: var(--space-sm); color: var(--color-muted); font-size: var(--font-size-xs); }

.auth-help ul { margin: var(--space-sm) 0 0; padding-left: var(--space-md); }

.auth-error { margin-top: var(--space-sm); color: var(--color-primary-strong); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }

.auth-alert { padding: var(--space-md); border-left: 4px solid var(--color-primary); background: var(--color-surface); color: var(--color-destructive); }

.auth-card__footer { display: flex; justify-content: space-between; gap: var(--space-md); margin-top: var(--space-lg); color: var(--color-muted); font-size: var(--font-size-sm); }

.auth-card__footer a, .auth-cancel { display: inline-flex; align-items: center; color: var(--color-accent); font-weight: var(--font-weight-bold); }

.auth-card__footer--center { justify-content: center; }

.auth-cancel { display: inline-block; margin-top: var(--space-md); }

.cabinet-header { display: flex; align-items: end; justify-content: space-between; gap: var(--space-xl); padding-bottom: var(--space-xl); border-bottom: 1px solid var(--color-border); }

.cabinet-header h1 { margin: 0; font-size: clamp(var(--font-size-3xl), 5vw, var(--font-size-4xl)); font-weight: var(--font-weight-black); letter-spacing: var(--letter-spacing-tight); }

.cabinet-header p:not(.eyebrow) { margin: var(--space-md) 0 0; color: var(--color-muted); }

.cabinet-grid { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: var(--space-xl); padding-top: var(--space-xl); }

.cabinet-nav { display: grid; align-content: start; gap: var(--space-sm); }

.cabinet-nav > a, .cabinet-nav > span { display: flex; justify-content: space-between; align-items: center; min-height: 2.8rem; padding: var(--space-sm) var(--space-md); border-radius: var(--radius-sm); text-decoration: none; }

.cabinet-nav > a > span, .cabinet-nav > span > span { display: inline-flex; align-items: center; gap: var(--space-sm); }

.cabinet-nav .bi { width: 1.2rem; color: var(--color-muted); font-size: var(--icon-size-md); text-align: center; }

.cabinet-nav a.is-active { color: var(--color-paper); background: var(--color-dark); font-weight: var(--font-weight-bold); }

.cabinet-nav a.is-active .bi { color: var(--color-highlight); }

.cabinet-nav > span { color: var(--color-muted); }

.cabinet-nav small { padding: var(--space-xs) var(--space-sm); border-radius: var(--ds-primitive-radius-full); background: var(--color-surface-strong); font-size: var(--font-size-xs); }

.cabinet-nav .nav-unread { color: var(--color-paper); background: var(--color-primary); }

.cabinet-content { min-width: 0; }

.cabinet-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }

.cabinet-stats article { display: grid; padding: var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-md); }

.cabinet-stats strong { font-size: var(--font-size-3xl); line-height: var(--line-height-tight); }

.cabinet-stats span { margin-top: var(--space-sm); color: var(--color-muted); }

.cabinet-panel { margin-top: var(--space-lg); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); }

.cabinet-panel__heading { display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); padding: var(--space-md); border-bottom: 1px solid var(--color-border); }

.cabinet-panel__heading h2 { margin: 0; font-size: var(--font-size-2xl); font-weight: var(--font-weight-black); }

.cabinet-empty { padding: var(--space-3xl) var(--space-lg); text-align: center; }

.cabinet-empty__mark { display: inline-grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; color: var(--color-paper); background: var(--color-primary); font-size: var(--icon-size-lg); }

.cabinet-empty h3 { margin: var(--space-md) 0 var(--space-sm); font-weight: var(--font-weight-black); }

.cabinet-empty p { max-width: 34rem; margin: 0 auto; color: var(--color-muted); }

.cabinet-list article { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: var(--space-md) var(--space-md); border-bottom: 1px solid var(--color-border); }

.cabinet-list article:last-child { border-bottom: 0; }

.cabinet-list article > div { display: grid; }

.cabinet-list article span { color: var(--color-muted); font-size: var(--font-size-sm); }

.cabinet-panel--flush { margin-top: 0; }

.contributor-form { display: grid; width: 100%; gap: var(--space-lg); margin: var(--space-xl) 0 0; padding-bottom: var(--space-3xl); }

.contributor-form__section { display: grid; gap: var(--space-md); padding: clamp(var(--space-md), 3vw, var(--space-xl)); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-paper); }

.contributor-form__section-heading { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-md); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-border); }

.contributor-form__section-heading > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; color: var(--color-paper); background: var(--color-dark); font-weight: var(--font-weight-black); }

.contributor-form__section-heading h2 { margin: 0; font-size: var(--font-size-2xl); font-weight: var(--font-weight-black); }

.contributor-form__section-heading p { margin: var(--space-xs) 0 0; color: var(--color-muted); }

.contributor-form .form-field { display: grid; gap: var(--space-sm); }

.contributor-form .form-field label { font-weight: var(--font-weight-bold); }

.contributor-form .form-field input:not([type="checkbox"]):not([type="radio"]), .contributor-form .form-field textarea, .contributor-form .form-field select { width: 100%; min-height: 3rem; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); color: var(--color-ink); background: var(--color-paper); }

.contributor-form .form-field textarea { resize: vertical; }

.contributor-form .form-field select[multiple] { min-height: 9rem; }

.contributor-form .form-field input:not([type="checkbox"]):not([type="radio"]):focus, .contributor-form .form-field textarea:focus, .contributor-form .form-field select:focus { border-color: var(--color-accent); box-shadow: var(--shadow-focus); outline: none; }

.contributor-form .form-field small { color: var(--color-muted); font-size: var(--font-size-sm); }

.contributor-form .errorlist, .form-error-summary .errorlist { margin: 0; padding-left: var(--space-md); color: var(--color-destructive); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }

.contributor-form .has-errors input, .contributor-form .has-errors textarea, .contributor-form .has-errors select { border-color: var(--color-primary); }

.form-field:has(autocomplete-select) { position: relative; z-index: 40; }

.form-error-summary { padding: var(--space-md) var(--space-md); border-left: 4px solid var(--color-primary); border-radius: var(--radius-sm); color: var(--color-warning); background: var(--color-surface); }

.form-error-summary > strong { display: block; margin-bottom: var(--space-sm); }

.cover-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); }

.cover-picker-intro { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); color: var(--color-muted); font-size: var(--font-size-sm); }

.cover-picker-intro strong { color: var(--color-ink); }

.cover-picker-more { display: flex; align-items: center; gap: var(--space-md); }

.cover-picker-more > span { color: var(--color-muted); font-size: var(--font-size-sm); }

.form-callout { display: grid; gap: var(--space-sm); justify-items: start; padding: var(--space-md); border: 1px dashed var(--color-field-border); border-radius: var(--radius-sm); background: var(--color-surface); }

.form-callout span { color: var(--color-muted); }

.contributor-form__actions { position: sticky; z-index: 20; bottom: 0; display: flex; justify-content: flex-end; gap: var(--space-md); padding: var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-md) var(--radius-md) 0 0; background: color-mix(in srgb, var(--color-paper) 94%, transparent); backdrop-filter: blur(8px); }

.cabinet-header > .contributor-form__actions {
    position: static;
    flex-wrap: wrap;
    padding: 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
}

.media-library-layout { display: grid; gap: var(--space-lg); }

.media-library-layout .cabinet-panel { margin-top: 0; background: var(--color-paper); }

.media-upload-form .form-field { display: grid; align-content: start; gap: var(--space-sm); }

.media-upload-form .form-field label { font-weight: var(--font-weight-bold); }

.media-upload-form .form-field input { width: 100%; min-height: 2.9rem; padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-field-border); border-radius: var(--radius-sm); background: var(--color-paper); }

.media-upload-form .form-field small { color: var(--color-muted); font-size: var(--font-size-xs); }

.media-upload-form .form-field .errorlist { margin: 0; padding-left: var(--space-md); color: var(--color-primary-strong); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); }

.media-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); padding: var(--space-md); }

.media-library-card { min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-paper); }

.media-library-card > img, .media-library-card__placeholder { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--color-surface-strong); }

.media-library-card__preview { position: relative; display: block; color: var(--color-paper); background: var(--color-ink); }

.media-library-card__preview img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.media-library-card__preview > .bi { position: absolute; inset: 50% auto auto 50%; filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--color-ink) 55%, transparent)); font-size: var(--font-size-4xl); transform: translate(-50%, -50%); }

.media-library-card__placeholder { display: grid; place-items: center; color: var(--color-muted); font-weight: var(--font-weight-black); letter-spacing: var(--letter-spacing-caps); }

.media-library-card__body { display: grid; gap: var(--space-sm); padding: var(--space-md); }

.media-library-card__kind { display: inline-flex; align-items: center; gap: var(--space-sm); color: var(--color-accent); font-size: var(--font-size-xs); font-weight: var(--font-weight-bold); letter-spacing: var(--letter-spacing-wide); text-transform: uppercase; }

.media-library-card__body strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.media-library-card__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); color: var(--color-muted); font-size: var(--font-size-xs); }

.media-library-card__meta > span:first-child { display: inline-flex; align-items: center; gap: var(--space-sm); }

.media-library-card__notice { display: inline-flex; align-items: center; gap: var(--space-sm); color: var(--color-muted); }

.media-library-card__error { color: var(--color-primary-strong); font-weight: var(--font-weight-bold); }

.cabinet-pagination { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: 0 var(--space-md) var(--space-md); }

.cabinet-pagination__pages { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-sm); }

.cabinet-pagination__pages a,
.cabinet-pagination__pages span { display: grid; place-items: center; min-width: 2.4rem; min-height: 2.4rem; padding: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-ink); text-decoration: none; }

.cabinet-pagination__pages .is-current { border-color: var(--color-accent); color: var(--color-paper); background: var(--color-accent); font-weight: var(--font-weight-bold); }

.cabinet-pagination__pages a:hover { border-color: var(--color-accent); }

.cabinet-pagination__pages a:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }

.cabinet-comment-list { display: grid; }

.cabinet-comment { display: grid; gap: var(--space-md); padding: var(--space-md); border-bottom: 1px solid var(--color-border); }

.cabinet-comment:last-child { border-bottom: 0; }

.cabinet-comment--unread { border-left: 4px solid var(--color-accent); background: var(--color-accent-soft); }

.cabinet-comment__meta { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); }

.cabinet-comment__meta time, .cabinet-comment small { color: var(--color-muted); font-size: var(--font-size-xs); }

.cabinet-comment p { margin: 0; overflow-wrap: anywhere; }

.cabinet-comment form { justify-self: start; }

@media (max-width: 61.99rem) {
.cabinet-header { flex-wrap: wrap; }
.cabinet-header > .contributor-form__actions { flex: 1 1 100%; justify-content: flex-start; }
.media-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cover-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cabinet-grid { grid-template-columns: 1fr; }
.cabinet-nav { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; padding-bottom: var(--space-sm); }
}

@media (max-width: 47.99rem) {
.coming-section, .cabinet-header, .cabinet-panel__heading, .site-footer__bottom { align-items: stretch; flex-direction: column; }
.cabinet-nav { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; padding-bottom: 0; }
.cabinet-nav > a, .cabinet-nav > span { min-width: 0; }
.cabinet-nav > a > span, .cabinet-nav > span > span { min-width: 0; }
.cabinet-stats { grid-template-columns: 1fr; }
.media-upload-form__metadata, .media-library-grid, .cover-picker { grid-template-columns: 1fr; }
.cover-picker-intro, .cover-picker-more, .cabinet-pagination { align-items: stretch; flex-direction: column; }
.cabinet-pagination__pages { order: -1; }
.material-row__actions, .contributor-form__actions { align-items: stretch; flex-direction: column; }
.contributor-form { padding-bottom: var(--space-3xl); }
.auth-card__footer { flex-direction: column; }
.comment-form > div, .comments-login, .cabinet-comment__meta { align-items: stretch; flex-direction: column; }
}

.public-media-chooser { display: grid; gap: var(--space-md); }
.public-media-chooser__preview, .public-media-chooser__empty { display: grid; width: min(100%, 30rem); min-height: 12rem; place-items: center; align-content: center; gap: var(--space-sm); padding: var(--space-lg); border: 1px dashed var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); color: var(--color-muted); }
.public-media-chooser__preview img { width: 100%; height: 9rem; object-fit: contain; }
.public-media-chooser__preview--cover img { height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.public-media-chooser__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.public-media-dialog { width: min(62rem, calc(100% - 2rem)); max-height: calc(100vh - 2rem); overflow-y: auto; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); color: var(--color-ink); box-shadow: var(--shadow-xl); }
.public-media-dialog::backdrop { background: color-mix(in srgb, var(--color-ink) 70%, transparent); }
.public-media-dialog__header, .public-media-dialog__footer { position: sticky; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: var(--space-md) var(--space-lg); background: var(--color-paper); }
.public-media-dialog__header { top: 0; border-bottom: 1px solid var(--color-border); }
.public-media-dialog__header h3 { margin: 0; }
.public-media-dialog__header > button { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 0; border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-ink); }
.public-media-dialog__footer { bottom: 0; justify-content: flex-end; border-top: 1px solid var(--color-border); }
.public-media-upload { display: grid; gap: var(--space-md); padding: var(--space-lg); background: var(--color-surface); }
.public-media-upload h4 { margin: 0; }
.public-media-upload__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.public-media-upload__grid label { display: grid; gap: var(--space-xs); font-weight: var(--font-weight-bold); }
.public-media-upload__grid input:not([type="file"]) { width: 100%; min-height: var(--button-height); padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-field-border); border-radius: var(--field-radius); background: var(--color-field-bg); color: var(--color-ink); }
.public-media-upload__grid input:not([type="file"]):focus-visible { outline: 3px solid var(--color-ring); outline-offset: 2px; }
.public-media-upload__file-field { display: grid; align-content: start; gap: var(--space-xs); font-weight: var(--font-weight-bold); }
.public-media-upload__file-field small { font-weight: var(--font-weight-regular); overflow-wrap: anywhere; }
.public-media-upload__drop { position: relative; display: flex !important; align-items: center; min-height: var(--button-height); gap: var(--space-sm); padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-field-border); background: var(--color-field-bg); cursor: pointer; }
.public-media-upload__drop > span { min-width: 0; overflow-wrap: anywhere; }
.public-media-upload__drop small { font-weight: var(--font-weight-regular); }
.public-media-upload__drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.public-media-upload__drop:focus-within, .public-media-upload__drop.is-drag-over { outline: 3px solid var(--color-ring); outline-offset: 2px; }
.public-media-upload__drop.is-drag-over { background: var(--color-surface); }
.public-media-upload__alt { grid-column: 1 / -1; }
.public-media-upload__preview { display: flex; align-items: center; gap: var(--space-md); min-width: 0; padding: var(--space-sm); border: 1px solid var(--color-border); background: var(--color-paper); }
.public-media-upload__preview[hidden] { display: none; }
.public-media-upload__preview img { display: block; width: 7rem; height: 5rem; flex: 0 0 auto; object-fit: contain; background: var(--color-surface); }
.public-media-upload__preview span { min-width: 0; overflow-wrap: anywhere; }
.public-media-upload__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md); }
.public-media-upload__actions [role="status"] { color: var(--color-muted); }
.cabinet-upload-progress { display: block; width: 100%; height: var(--space-sm); margin-top: var(--space-sm); accent-color: var(--color-accent); }
.cabinet-upload-progress[hidden] { display: none; }
.cabinet-upload-progress::-webkit-progress-bar { background: var(--color-border); }
.cabinet-upload-progress::-webkit-progress-value { background: var(--color-accent); }
.cabinet-upload-progress::-moz-progress-bar { background: var(--color-accent); }
.cabinet-media-missing { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); width: 100%; min-height: 7rem; aspect-ratio: 16 / 9; padding: var(--space-sm); background: var(--color-surface); color: var(--color-muted); text-align: center; }
.company-logo-option .cabinet-media-missing, .profile-avatar-card__preview .cabinet-media-missing { aspect-ratio: 1; }
.public-media-dialog__search { display: grid; gap: var(--space-sm); padding: var(--space-md) var(--space-lg) 0; }
.public-media-dialog__search label { font-weight: var(--font-weight-bold); }
.public-media-dialog__search-controls { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.public-media-dialog__search-controls input { flex: 1 1 calc(var(--space-3xl) * 4); min-width: 0; min-height: var(--button-height); padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-field-border); border-radius: var(--field-radius); background: var(--color-field-bg); color: var(--color-ink); }
.public-media-dialog__search-controls input:focus-visible { outline: 3px solid var(--color-ring); outline-offset: 2px; }
.public-media-dialog__feedback { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); min-height: var(--button-height); }
.public-media-dialog__feedback [data-media-list-retry][hidden] { display: none; }
.public-media-dialog__pagination { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md); padding: 0 var(--space-lg) var(--space-lg); }
:is(.public-media-dialog__feedback, .cabinet-gallery-search__feedback) [role="status"] { color: var(--color-muted); }
:is(.public-media-dialog__feedback, .cabinet-gallery-search__feedback) [data-state="error"] { color: var(--color-destructive); }
.public-media-dialog__search[hidden], .public-media-dialog__pagination[hidden] { display: none; }
.public-media-dialog__pagination [data-media-load-more][hidden] { display: none; }
.public-media-dialog .company-logo-picker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-md); padding: var(--space-lg); }
.company-coordinates { padding: var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.company-coordinates summary { cursor: pointer; font-weight: var(--font-weight-bold); }
.company-coordinates summary .bi { margin-right: var(--space-xs); color: var(--color-accent); }
.company-coordinates__fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); margin-top: var(--space-md); }
.case-media-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); }
.case-media-option { position: relative; overflow: hidden; border: 2px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-paper); }
.case-media-option.is-selected { border-color: var(--color-accent); box-shadow: var(--shadow-focus); }
.case-media-option__select { display: grid; gap: var(--space-sm); padding: var(--space-sm); cursor: pointer; }
.case-media-option__select img { width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-sm); object-fit: cover; background: var(--color-surface); }
.case-media-option__select input { position: absolute; top: var(--space-sm); left: var(--space-sm); width: 1.25rem; height: 1.25rem; }
.case-media-option__primary { display: block; padding: 0 var(--space-sm) var(--space-sm); cursor: pointer; }
.case-media-option__primary input { position: absolute; opacity: 0; }
.case-media-option__primary span { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: 2.25rem; padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-muted); font-size: var(--font-size-sm); }
.case-media-option__primary input:checked + span { background: var(--color-accent-soft); color: var(--color-accent); font-weight: var(--font-weight-bold); }
.case-media-option__primary input:focus-visible + span { outline: 3px solid var(--color-ring); outline-offset: 2px; }
.case-media-toolbar { display: grid; margin-top: var(--space-md); }
.case-media-upload { border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.cabinet-gallery-search { display: grid; gap: var(--space-sm); margin-bottom: var(--space-md); }
.cabinet-gallery-search[hidden], .cabinet-gallery-search [hidden] { display: none; }
.cabinet-gallery-search > label { font-weight: var(--font-weight-bold); }
.cabinet-gallery-search__controls, .cabinet-gallery-search__feedback { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); }
.cabinet-gallery-search__controls input { flex: 1 1 calc(var(--space-3xl) * 4); min-width: 0; min-height: var(--button-height); padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-field-border); border-radius: var(--field-radius); background: var(--color-field-bg); color: var(--color-ink); }
.cabinet-gallery-search__controls input:focus-visible { outline: 3px solid var(--color-ring); outline-offset: 2px; }
.cabinet-gallery-workspace__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md); margin-bottom: var(--space-md); }
.cabinet-gallery-workspace__toolbar [hidden], .cabinet-gallery-dialog__panel[hidden] { display: none; }
.cabinet-gallery-workspace__toolbar [role="status"] { color: var(--color-muted); }
:is(.public-media-dialog__tabs, .cabinet-gallery-dialog__tabs) { display: flex; gap: var(--space-sm); padding: var(--space-md) var(--space-lg) 0; border-bottom: 1px solid var(--color-border); }
:is(.public-media-dialog__tabs, .cabinet-gallery-dialog__tabs)[hidden], .public-media-dialog__panel[hidden] { display: none; }
:is(.public-media-dialog__tabs, .cabinet-gallery-dialog__tabs) button { min-height: var(--button-height); padding: var(--space-sm) var(--space-md); border: 1px solid transparent; border-bottom: 0; background: transparent; color: var(--color-muted); font-weight: var(--font-weight-bold); }
:is(.public-media-dialog__tabs, .cabinet-gallery-dialog__tabs) button[aria-selected="true"] { border-color: var(--color-border); background: var(--color-surface); color: var(--color-ink); }
:is(.public-media-dialog__tabs, .cabinet-gallery-dialog__tabs) button:focus-visible { outline: 3px solid var(--color-ring); outline-offset: 2px; }
.cabinet-gallery-dialog__panel { padding: var(--space-lg); }
.cabinet-gallery-dialog .case-media-gallery { margin-top: var(--space-md); }
.cabinet-gallery-dialog .case-media-toolbar { margin-top: 0; }
.cabinet-gallery-dialog .case-media-upload { margin: 0; }
.case-media-order li[draggable="true"] { cursor: grab; }
.case-media-order li.is-dragging { opacity: .5; }
.case-media-order li > span:first-of-type { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.case-media-order__handle { color: var(--color-muted); }
.case-media-order__primary { display: inline-flex; align-items: center; gap: var(--space-xs); color: var(--color-accent); font-size: var(--font-size-sm); font-weight: var(--font-weight-bold); white-space: nowrap; }

@media (max-width: 61.99rem) {
    .public-media-dialog .company-logo-picker, .case-media-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
    .public-media-dialog .company-logo-picker, .case-media-gallery, .company-coordinates__fields { grid-template-columns: 1fr; }
    .public-media-upload__grid { grid-template-columns: 1fr; }
    .public-media-upload__drop small { display: none; }
    .public-media-upload__preview { align-items: flex-start; }
    .public-media-upload__alt { grid-column: auto; }
    .public-media-dialog__header, .public-media-dialog__footer { padding: var(--space-md); }
    :is(.public-media-dialog__tabs, .cabinet-gallery-dialog__tabs) { padding: var(--space-md) var(--space-md) 0; }
    .cabinet-gallery-dialog__panel { padding: var(--space-md); }
}

.games-inline-filters .form-field { display: grid; gap: var(--space-sm); margin: 0; }

.form-field--score > div { display: flex; width: fit-content; align-items: center; gap: var(--space-sm); }

.contributor-form .form-field.form-field--score input:not([type="checkbox"]):not([type="radio"]) { width: 6rem; font-size: var(--font-size-2xl); font-weight: var(--font-weight-black); text-align: center; }

.form-field--score span { color: var(--color-muted); font-weight: var(--font-weight-bold); }

.auth-page { background: transparent; }

.auth-card { border-top: 5px solid var(--color-primary); box-shadow: var(--shadow-sm); }

.auth-card h1, .cabinet-header h1, .cabinet-panel__heading h2 { font-family: var(--font-sans); }

.cabinet-stats article { border-radius: 0; border-top: 4px solid var(--color-primary); background: var(--color-paper); }

.cabinet-panel { border-radius: 0; background: var(--color-paper); }

.cabinet-nav a.is-active { border-radius: 0; box-shadow: var(--shadow-sm); }

.section-heading h1,
.section-heading h2,
.article-header h1,
.category-header h1,
.coming-section h2,
.aside-heading h2,
.events-card h2,
.news-card__title,
.article-body h2,
.comments-heading h2,
.site-footer__brand,
.auth-card h1,
.cabinet-header h1,
.cabinet-panel__heading h2 {
    font-family: var(--font-sans);
}

.auth-card,
.cabinet-panel,
.cabinet-stats article {
    border-radius: var(--radius-md);
}

.auth-card {
    border-top-width: 1px;
    box-shadow: var(--shadow-card);
}

.cabinet-stats article {
    border-top-width: 1px;
    box-shadow: var(--shadow-sm);
}

.cabinet-nav a.is-active {
    border-radius: var(--radius-md);
    box-shadow: none;
    background: linear-gradient(135deg, var(--color-dark-soft), var(--color-dark-soft));
}

.cabinet-panel { box-shadow: var(--shadow-sm); }

.auth-field--checkbox {
    margin-top: var(--space-sm);
    margin-bottom: var(--space-md);
}

.auth-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    cursor: pointer;
    font-size: var(--font-size-sm);
    line-height: var(--line-height-ui);
    color: var(--color-ink);
    user-select: none;
}

.auth-checkbox-label input[type="checkbox"] {
    width: 1.25rem !important;
    height: 1.25rem !important;
    min-height: 1.25rem !important;
    max-height: 1.25rem !important;
    margin: var(--space-xs) 0 0 0 !important;
    padding: 0 !important;
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-field-border);
    accent-color: var(--color-accent);
    cursor: pointer;
    flex-shrink: 0;
}

.auth-checkbox-label a {
    color: var(--color-accent);
    text-decoration: underline;
}

.cabinet-panel__body {
    padding: var(--space-lg) var(--space-xl);
}

@media (max-width: 575.98px) {
.cabinet-panel__body {
        padding: var(--space-md) var(--space-md);
    }
}

.profile-avatar-card {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-lg);
    margin-bottom: var(--space-xl);
    background: var(--color-bg);
    border: 1px solid var(--color-surface-strong);
    border-radius: var(--radius-md);
}

.profile-avatar-card__preview {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    overflow: hidden;
    background: var(--color-accent-soft, var(--color-accent-soft));
    border: 2px solid var(--color-border);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    box-shadow: var(--shadow-sm);
}

.profile-avatar-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-avatar-card__badge {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-accent);
    text-transform: uppercase;
}

.profile-avatar-card__info {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    flex: 1;
    min-width: 0;
}

.profile-avatar-card__label-title {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-md);
    color: var(--color-ink);
    margin: 0;
}

.profile-avatar-card__help {
    font-size: var(--font-size-sm);
    color: var(--color-muted);
    margin: 0;
}

.profile-avatar-card__actions {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-top: var(--space-sm);
}

.profile-avatar-card__filename {
    font-size: var(--font-size-sm);
    color: var(--color-muted);
}
.profile-avatar-card__actions { flex-wrap: wrap; }
.profile-avatar-card__fallback[open] { display: grid; gap: var(--space-sm); }
.profile-avatar-card__fallback summary { cursor: pointer; color: var(--color-muted); font-size: var(--font-size-sm); }
.profile-avatar-card__fallback[open] { margin-top: var(--space-sm); }
.profile-avatar-card__fallback .button { width: fit-content; }
.profile-avatar-card__fallback small { display: block; color: var(--color-muted); }
@media (max-width: 47.99rem) {
    .profile-avatar-card { flex-direction: column; align-items: stretch; }
    .profile-avatar-card__preview { width: 4rem; height: 4rem; }
}

.profile-avatar-file-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: calc(-1 * var(--space-xs)) !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
}

.profile-form-grid--info {
    display: grid;
    gap: var(--space-lg);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-form-grid--info .form-field--full { grid-column: 1 / -1; }
@media (max-width: 767px) {
    .profile-form-grid--info { grid-template-columns: minmax(0, 1fr); }
}

.profile-form-grid--password {
    display: grid;
    gap: var(--space-lg);
    max-width: 580px;
    grid-template-columns: 1fr;
}

.profile-form .form-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.profile-form .form-field label {
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-md);
    color: var(--color-ink);
    display: flex;
    align-items: center;
    margin-bottom: var(--space-xs);
}

.profile-form .form-field input,
.profile-form .form-field textarea {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    min-height: var(--button-height);
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-field-border);
    border-radius: var(--radius-sm);
    color: var(--color-ink);
    background: var(--color-paper);
    font-size: var(--font-size-md);
}

.profile-form .form-field textarea { resize: vertical; line-height: var(--line-height-body); }

.profile-form .form-field input:focus,
.profile-form .form-field textarea:focus {
    border-color: var(--color-accent);
    outline: 2px solid var(--color-ring);
    outline-offset: 2px;
    box-shadow: none;
}

.profile-form .form-field--disabled input {
    background: var(--color-surface);
    color: var(--color-muted);
    border-color: var(--color-border);
    cursor: not-allowed;
}

.profile-form .form-field small {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-ui);
    margin-top: var(--space-xs);
}

.profile-form .form-field small ul {
    margin-top: var(--space-sm);
    margin-bottom: 0;
    padding-left: var(--space-md);
}

.profile-form .form-field small ul li {
    margin-bottom: var(--space-xs);
}

.profile-lock-icon {
    margin-left: var(--space-sm);
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

.profile-form .form-actions {
    margin-top: var(--space-xl);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-surface);
}

.catalog-heading, .company-hero, .company-detail__layout, .company-map-section, .account-company-card__heading, .account-case-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-lg); }

.company-card, .account-company-card { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-paper); box-shadow: var(--shadow-sm); transition: box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease; }

.company-limit { margin: 0 0 var(--space-lg); padding: var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-paper); }

.company-limit { display: grid; grid-template-columns: 1fr auto; gap: var(--space-sm); }

.company-limit > div { grid-column: 1 / -1; overflow: hidden; height: .5rem; border-radius: var(--ds-primitive-radius-full); background: var(--color-surface); }

.company-limit > div span { display: block; height: 100%; border-radius: inherit; background: var(--color-accent); }

.account-company-list { display: grid; gap: var(--space-lg); }

.account-company-card { padding: var(--space-lg); }

.account-company-card.is-archived { opacity: .72; }

.account-company-card h2, .account-case-heading h3 { margin: var(--space-xs) 0; font-weight: var(--font-weight-bold); }

.account-company-card__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }

.account-case-heading { align-items: center; margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--color-border); }

.account-case-heading a { display: inline-flex; gap: var(--space-sm); min-height: 44px; align-items: center; }

.account-case-list { display: grid; gap: var(--space-sm); }

.account-case-list > div { display: flex; justify-content: space-between; gap: var(--space-md); padding: var(--space-sm); border-radius: var(--radius-sm); background: var(--color-surface); }

.account-case-list span { display: grid; }

.company-logo-picker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-sm); }

.social-formset { display: grid; gap: var(--space-md); }

.social-formset__row { display: grid; grid-template-columns: minmax(10rem, .7fr) minmax(14rem, 1.3fr) auto; gap: var(--space-md); align-items: end; padding: var(--space-md); border-radius: var(--radius-md); background: var(--color-surface); }

.delete-field { min-height: 44px; display: flex; align-items: center; gap: var(--space-sm); }

@media (max-width: 991.98px) {
.company-logo-picker { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
.catalog-heading, .company-hero, .account-company-card__heading { display: grid; }
.company-logo-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.social-formset__row { grid-template-columns: 1fr; }
.account-company-card__actions .button { width: 100%; }
}

@media (max-width: 374.98px) {
.company-logo-picker { grid-template-columns: 1fr; }
}

.club-catalog, .club-catalog__heading > *, .club-filter, .club-filter .form-field, #club-results, .club-results-layout, .club-grid { min-width: 0; }

.club-filter .form-field { margin: 0; }

.club-cabinet-section { margin-top: var(--space-xl); }

.equipment-formset, .hours-formset { display: grid; gap: var(--space-sm); }

.equipment-formset > div, .hours-formset > div { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(8rem, .5fr) auto; align-items: end; gap: var(--space-sm); padding: var(--space-sm); border-radius: var(--radius-sm); background: var(--color-surface); }

.hours-formset > div { grid-template-columns: minmax(12rem, 1fr) minmax(7rem, .45fr) minmax(7rem, .45fr) auto; }

.equipment-formset .form-field, .hours-formset .form-field { margin: 0; }

.club-photo-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-sm); }

.club-photo-picker > label { display: grid; gap: var(--space-xs); padding: var(--space-sm); border: 2px solid var(--color-border); border-radius: var(--radius-md); cursor: pointer; }

.club-photo-picker > label:has(input[type="checkbox"]:checked) { border-color: var(--color-accent); }

.club-photo-picker img { width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-sm); object-fit: cover; }
.club-service-picker ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-sm); margin: 0; padding: 0; list-style: none; }
.club-service-picker li label { display: flex; min-height: var(--button-height); align-items: center; gap: var(--space-sm); padding: var(--space-sm) var(--space-md); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-paper); cursor: pointer; }
.club-service-picker li label:has(input:checked) { border-color: var(--color-accent); background: var(--color-accent-soft); color: var(--color-accent); }
.club-service-picker input { width: 1.125rem; height: 1.125rem; accent-color: var(--color-accent); }
.schedule-presets { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-md); }

@media (max-width: 767.98px) {
.club-filter, .club-grid, .branch-features__grid, .branch-gallery > div, .club-request-list, .equipment-formset > div, .hours-formset > div { grid-template-columns: 1fr; }
.club-photo-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.club-service-picker ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 374.98px) {
.club-photo-picker { grid-template-columns: 1fr; }
.club-service-picker ul { grid-template-columns: 1fr; }
}

.event-form-grid .form-field { min-width: 0; }

.event-form-grid .form-field:has([name="schedule_note"]), .event-form-grid .form-field:has([name="address"]), .event-form-grid .form-field:has([name="tags"]) { grid-column: 1 / -1; }

@media (max-width: 767.98px) {
.events-filters .catalog-search, .events-filters .catalog-filter-actions, .event-form-grid .form-field { grid-column: 1; }
}

.dashboard-balance,
.billing-balance,
.billing-quote {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
}

.billing-balance {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 1fr);
    gap: var(--space-xl);
    margin-bottom: var(--space-xl);
    padding: var(--space-xl);
}

.billing-balance h2 {
    margin: 0;
    font-size: clamp(var(--font-size-3xl), 6vw, var(--font-size-4xl));
}

.billing-balance h2 small {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

.billing-balance dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-sm);
    margin: 0;
}

.billing-balance dl div {
    padding: var(--space-sm);
    border-radius: var(--radius-md);
    background: var(--color-surface-strong);
}

.billing-balance dt {
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

.billing-balance dd {
    margin: var(--space-xs) 0 0;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
}

.billing-history article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md) 0;
    border-bottom: 1px solid var(--color-border);
}

.billing-history article > div,
.billing-history article span {
    display: block;
}

.billing-history article > div:first-child span {
    margin-top: var(--space-xs);
    color: var(--color-muted);
    font-size: var(--font-size-sm);
}

.billing-history__value {
    flex: 0 0 auto;
    text-align: right;
}

.billing-history__value--credit > strong {
    color: var(--color-success);
}

.billing-history__value--debit > strong {
    color: var(--color-primary);
}

.billing-quote {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-color: color-mix(in srgb, var(--color-primary) 35%, var(--color-border));
}

.billing-quote > i {
    color: var(--color-primary);
    font-size: var(--font-size-2xl);
}

.billing-quote small {
    display: block;
    color: var(--color-muted);
}

.billing-coming-soon {
    padding: var(--space-3xl);
    text-align: center;
}

.billing-coming-soon > i {
    color: var(--color-primary);
    font-size: var(--font-size-4xl);
}

.billing-tariffs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-sm);
    margin-top: var(--space-lg);
}

.billing-tariffs article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.billing-tariffs strong {
    flex: 0 0 auto;
}

.billing-tariffs .is-credit {
    color: var(--color-success);
}

.billing-tariffs .is-debit {
    color: var(--color-primary);
}

.billing-help-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
    margin-block: var(--space-lg);
}

.billing-help-grid article {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    background: var(--color-surface-strong);
}

.billing-help-grid i {
    color: var(--color-primary);
    font-size: var(--font-size-2xl);
}

.billing-faq details {
    padding-block: var(--space-md);
    border-bottom: 1px solid var(--color-border);
}

.billing-faq summary {
    cursor: pointer;
    font-weight: var(--font-weight-bold);
}

.billing-faq p {
    margin-bottom: 0;
    color: var(--color-muted);
}

@media (max-width: 767.98px) {
.dashboard-balance,
    .billing-history article {
        align-items: flex-start;
    }
.billing-balance {
        grid-template-columns: 1fr;
        padding: var(--space-md);
    }
.billing-balance dl {
        grid-template-columns: 1fr 1fr;
    }
.billing-tariffs,
    .billing-help-grid {
        grid-template-columns: 1fr;
    }
}

.feedback-status--auth-required {
    background: var(--color-bg) !important;
    border: 1px solid var(--color-surface-strong) !important;
    color: var(--color-destructive) !important;
}

.feedback-auth-link {
    color: var(--color-accent) !important;
    font-weight: var(--font-weight-bold) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

.feedback-auth-link:hover {
    color: var(--color-accent) !important;
}

.cabinet-header {
    gap: var(--space-lg);
    padding-bottom: var(--space-lg);
}

.cabinet-header h1,
.auth-card h1 {
    font-size: clamp(var(--font-size-3xl), 3vw, var(--font-size-4xl));
    letter-spacing: var(--letter-spacing-tight);
    line-height: var(--line-height-tight);
}

@media (max-width: 47.99rem) {
.games-hero__inner,
    .events-hero__inner,
    .catalog-heading,
    .cabinet-header {
        align-items: stretch;
        flex-direction: column;
    }
}
.cabinet-autosave-status {
  margin: var(--space-md) 0;
  padding: var(--space-sm) var(--space-md);
  border-inline-start: 3px solid var(--color-border);
  color: var(--color-muted);
}
.cabinet-autosave-status[data-state="dirty"],
.cabinet-autosave-status[data-state="saving"] {
  border-color: var(--color-accent);
  color: var(--color-ink);
}
.cabinet-autosave-status[data-state="error"] {
  border-color: var(--color-destructive);
  color: var(--color-destructive);
}
.cabinet-autosave-restore {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
  padding: var(--space-md);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}
.cabinet-autosave-restore p {
  flex-basis: 100%;
  margin: 0;
}
.cabinet-autosave-restore .button:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.cabinet-form__tabs { display: none; }
.cabinet-form--enhanced .cabinet-form__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-bottom: var(--space-md);
  padding: var(--space-xs);
  border: 1px solid var(--color-border);
  background: var(--color-paper);
}
.cabinet-form__tab {
  display: inline-flex;
  flex: 1 1 9rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  min-width: 0;
  min-height: var(--button-height);
  padding: var(--space-sm) var(--space-md);
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-ink);
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.cabinet-form__tabs--many .cabinet-form__tab {
  flex-basis: calc(var(--space-3xl) * 3 + var(--space-xl));
  overflow-wrap: normal;
}
@media (min-width: 75rem) {
  .cabinet-form__tabs--many .cabinet-form__tab {
    flex-basis: calc(var(--space-3xl) * 2 + var(--space-lg));
  }
}
.cabinet-form__tab[aria-selected="true"] {
  border-color: var(--color-border);
  background: var(--color-surface);
}
.cabinet-form__tab:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.cabinet-form__tab-badge {
  display: inline-grid;
  flex: none;
  place-items: center;
  min-width: var(--space-lg);
  color: var(--color-ink);
}
.cabinet-form__tab-badge--error { color: var(--color-destructive); }
.cabinet-form--enhanced [data-cabinet-form-panel][hidden] { display: none; }
.cabinet-form__error-summary ul { margin: 0; padding-inline-start: var(--space-lg); }
.cabinet-form__error-summary a { color: inherit; text-decoration: underline; }
.cabinet-form__error-summary a:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.cabinet-form__readiness h3 { margin: 0 0 var(--space-sm); font-size: var(--font-size-lg); }
.cabinet-form__readiness p { margin: 0 0 var(--space-md); color: var(--color-muted); }
.cabinet-form__readiness ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: var(--space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}
.cabinet-form__readiness li { display: flex; align-items: start; gap: var(--space-sm); }
.cabinet-form__readiness li.is-pending { color: var(--color-muted); }
@media (min-width: 30.001rem) and (max-width: 79.999rem) {
  .cabinet-form--enhanced .cabinet-form__tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cabinet-form__tab { width: 100%; }
  .cabinet-form__tab:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 30rem) {
  .cabinet-form--enhanced .cabinet-form__tabs { display: grid; grid-template-columns: minmax(0, 1fr); }
  .cabinet-form__tab { justify-content: space-between; width: 100%; text-align: left; }
}

/* A shared chooser has one fixed action area and one scrolling content area. */
.public-media-dialog[data-media-dialog][open] { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; height:var(--media-chooser-height); max-height:calc(100dvh - var(--space-xl)); overflow:hidden; }
.public-media-dialog[data-media-dialog] .public-media-dialog__body { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.public-media-dialog[data-media-dialog] .public-media-dialog__header { position:static; padding:var(--space-lg); }
.public-media-dialog[data-media-dialog] .public-media-dialog__header h3 { font-size:var(--font-size-2xl); }
.public-media-dialog[data-media-dialog] .public-media-dialog__tabs { padding-top:0; }
.public-media-dialog[data-media-dialog] .public-media-dialog__tabs button { display:inline-flex; align-items:center; justify-content:center; gap:var(--space-sm); }
.public-media-dialog[data-media-dialog] :is(.cover-picker,.company-logo-picker) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-md); padding:var(--space-md) var(--space-lg) var(--space-lg); margin:0; }
.public-media-dialog[data-media-dialog] [data-media-option] { position:relative; min-width:0; border:1px solid var(--color-border); cursor:pointer; background:var(--color-paper); }
.public-media-dialog[data-media-dialog] [data-media-option] img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.public-media-dialog[data-media-dialog] .company-logo-option img { object-fit:contain; }
.public-media-dialog[data-media-dialog] [data-media-option]>span:not(.media-option-check) { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; white-space:normal; overflow-wrap:anywhere; padding:var(--space-sm) var(--space-md); font-size:var(--font-size-sm); line-height:var(--line-height-ui); }
.public-media-dialog[data-media-dialog] [data-media-option].is-selected { border-color:var(--color-ink); outline:var(--interaction-focus-width) solid var(--color-ink); outline-offset:calc(-1 * var(--interaction-focus-width)); }
.media-option-check { display:none; }
.public-media-dialog[data-media-dialog] [data-media-empty] { grid-column:1/-1; }
.public-media-dialog[data-media-dialog] .is-selected>.media-option-check { display:flex; position:absolute; top:var(--space-sm); right:var(--space-sm); align-items:center; gap:var(--space-xs); padding:var(--space-xs) var(--space-sm); color:var(--color-on-dark); background:var(--color-ink); font-size:var(--font-size-xs); }
.public-media-dialog[data-media-dialog] .public-media-dialog__footer { position:static; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-md); padding:var(--space-md) var(--space-lg); }
.public-media-dialog__selection { min-width:0; font-size:var(--font-size-sm); overflow-wrap:anywhere; }
.public-media-dialog__selection [data-media-selection-status] { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.public-media-dialog__actions { display:flex; gap:var(--space-sm); align-items:center; }
.public-media-dialog[data-media-dialog] [hidden] { display:none !important; }
.public-media-dialog[data-media-dialog] .public-media-upload { background:var(--color-paper); }
.public-media-upload__intro p { margin:var(--space-sm) 0 0; color:var(--color-muted); font-size:var(--font-size-sm); }
.public-media-dialog[data-media-dialog] .public-media-upload__grid { align-items:start; }
.public-media-dialog[data-media-dialog] .public-media-upload__grid label { display:block; }
.public-media-dialog[data-media-dialog] .public-media-upload__grid input { margin-top:var(--space-sm); }
.public-media-dialog[data-media-dialog] .public-media-upload__grid small { display:block; font-size:var(--font-size-xs); font-weight:var(--font-weight-regular); color:var(--color-muted); margin-top:var(--space-xs); }
.public-media-dialog[data-media-dialog] .public-media-upload__drop { min-height:var(--media-chooser-drop-height); flex-wrap:wrap; justify-content:center; border-style:dashed; background:var(--color-bg); }
.public-media-upload__required { margin-left:var(--space-sm); font-size:var(--font-size-xs); color:var(--color-muted); font-weight:var(--font-weight-regular); }
.public-media-dialog[data-media-dialog] [data-media-upload-status][role="alert"] { display:block; padding:var(--space-sm); border-left:var(--interaction-focus-width) solid var(--color-ink); background:var(--color-bg); }
@media(max-width:767.98px) {
 .public-media-dialog[data-media-dialog] { width:calc(100% - var(--space-md)); }
 .public-media-dialog[data-media-dialog][open] { height:calc(100dvh - var(--space-md)); max-height:calc(100dvh - var(--space-md)); }
 .public-media-dialog[data-media-dialog] :is(.public-media-dialog__header,.public-media-dialog__footer) { padding:var(--space-md); }
 .public-media-dialog[data-media-dialog] .public-media-dialog__tabs { padding-inline:var(--space-md); gap:0; }
 .public-media-dialog[data-media-dialog] .public-media-dialog__tabs button { flex:1; font-size:var(--font-size-sm); padding-inline:var(--space-sm); }
 .public-media-dialog[data-media-dialog] :is(.cover-picker,.company-logo-picker) { grid-template-columns:repeat(2,minmax(0,1fr)); padding:var(--space-md); }
 .public-media-dialog[data-media-dialog] .public-media-dialog__footer { grid-template-columns:minmax(0,1fr); gap:var(--space-sm); }
 .public-media-dialog__actions { display:grid; grid-template-columns:auto minmax(0,1fr); }
 .public-media-dialog__actions .button { padding-inline:var(--space-sm); letter-spacing:normal; }
 .public-media-dialog[data-media-dialog] .public-media-upload { padding:var(--space-md); }
 .public-media-dialog[data-media-dialog] .public-media-dialog__search { padding-inline:var(--space-md); }
}
