.preferences-card { width: min(560px, 100%); min-width: 0; max-height: calc(100dvh - 32px); overflow-y: auto; overflow-x: hidden; box-sizing: border-box; padding: 20px; color: var(--seen-page-text, #e5e7eb); background: var(--seen-surface-elevated, #0f172a); border: 1px solid var(--seen-border, rgba(148,163,184,.25)); border-radius: 20px; overscroll-behavior: contain; }
.preferences-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.preferences-head h2 { margin: 0; font-size: 20px; }
.preferences-copy { font-size: 13px; line-height: 1.5; color: var(--seen-muted, #94a3b8); }
.preferences-form { display: grid; gap: 18px; min-width: 0; }
.preferences-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.preferences-form legend { padding: 0; margin-bottom: 10px; font-size: 13px; font-weight: 750; }
.preferences-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.preferences-range label { display: grid; gap: 6px; font-size: 12px; min-width: 0; }
.preferences-range :is(input, select) { width: 100%; min-width: 0; box-sizing: border-box; font: inherit; font-size: 16px; padding: 10px; border-radius: 10px; border: 1px solid var(--seen-border, rgba(148,163,184,.25)); background: var(--seen-surface-muted, #1e293b); color: inherit; }
.preferences-options { display: flex; flex-wrap: wrap; gap: 8px; }
.preferences-option { border: 1px solid var(--seen-border, rgba(148,163,184,.25)); border-radius: 999px; padding: 9px 12px; min-height: 38px; background: var(--seen-surface-muted, #1e293b); color: inherit; font: inherit; font-size: 13px; cursor: pointer; }
:root .preferences-option.is-active { border-color: rgba(74,222,128,.54); background: linear-gradient(135deg, rgba(22,163,74,.86), rgba(5,150,105,.82)); color: #f0fdf4; }
.preferences-option:focus-visible { outline: 2px solid #4ade80; outline-offset: 2px; }
.preferences-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.preferences-error { margin: 0; color: var(--seen-danger, #ef4444); font-size: 13px; }
.preferences-extra:empty { display: none; }

.preferences-strict { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.5; cursor: pointer; }
.preferences-strict input { width: 18px; height: 18px; flex-shrink: 0; accent-color: #16a34a; margin: 2px 0 0; }
.preferences-strict small { display: block; color: var(--seen-muted, #94a3b8); font-size: 12px; }
.profile-completion { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 36px 14px 14px; margin: 12px 0; border: 1px solid var(--seen-border, rgba(148,163,184,.25)); border-radius: 14px; background: var(--seen-surface-muted, #1e293b); color: var(--seen-page-text, #e5e7eb); }
.profile-completion p { flex: 1 1 200px; margin: 0; font-size: 12px; line-height: 1.5; }
.profile-completion strong, .profile-completion p span { display: block; }
.profile-completion p span { color: var(--seen-muted, #94a3b8); margin-top: 4px; }
.profile-completion-action, .preferences-reset { display: inline-block; color: #f0fdf4; background: #15803d; border: 1px solid rgba(74,222,128,.5); border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 12px; text-decoration: none; cursor: pointer; }
.preferences-reset { margin-top: 10px; }
.profile-completion-dismiss { position: absolute; top: 4px; right: 4px; border: 0; background: transparent; color: inherit; font-size: 22px; width: 30px; height: 30px; cursor: pointer; }
.map-preferences-empty { position: fixed; z-index: 69; left: calc(50% - 18px); transform: translateX(-50%); bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 120px); width: min(320px, calc(100vw - 112px)); padding: 14px; box-sizing: border-box; border: 1px solid var(--seen-border, rgba(148,163,184,.25)); border-radius: 14px; color: var(--seen-page-text, #e5e7eb); background: var(--seen-surface-elevated, #0f172a); text-align: center; }
.map-preferences-empty p { margin: 0; font-size: 13px; line-height: 1.5; }
body.map-modal-open .map-preferences-empty, body.map-sheet-expanded .map-preferences-empty { visibility: hidden; pointer-events: none; }
@media (max-width: 720px) {
    main:has(.empty:not([hidden]) .preferences-reset) { box-sizing: border-box; height: calc(100dvh - var(--top-nav-h) - var(--bottom-nav-h)); padding-bottom: 24px; }
}

.preferences-summary { margin-top: 14px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--seen-border, rgba(148,163,184,.25)); background: var(--seen-surface-muted, #1e293b); font-size: 12px; line-height: 1.5; }
.preferences-summary strong { font-size: 11px; color: var(--seen-muted, #94a3b8); }
.preferences-summary p { margin: 4px 0 0; overflow-wrap: anywhere; }
