.cabinet-link { white-space: nowrap; color: var(--rose-dark); font-size: 13px; font-weight: 800; }
.account-page { min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 55px 20px 80px; background: radial-gradient(circle at 20% 10%, #f4e0e2, transparent 35%), radial-gradient(circle at 85% 85%, #e2eadc, transparent 38%); }
.account-card { width: min(470px, 100%); padding: 38px; border: 1px solid var(--border); border-radius: 25px; background: rgba(255,253,251,.96); box-shadow: var(--shadow); }
.account-card-wide { width: min(620px, 100%); }
.account-card h1 { margin-bottom: 12px; font: 500 42px/1.08 Georgia, serif; letter-spacing: -1px; }
.account-card > p { color: var(--muted); }
.account-switch { margin: 22px 0 0; text-align: center; font-size: 14px; }
.account-switch a, .resend-form button, .back-link { color: var(--rose-dark); font-weight: 800; }
.resend-form { margin-top: 16px; text-align: center; }
.resend-form button { border: 0; background: none; cursor: pointer; }
.verification-code { text-align: center; font-size: 25px; font-weight: 800; letter-spacing: 8px; }

.cabinet-page { min-height: 70vh; padding: 54px 0 90px; }
.cabinet-heading, .cabinet-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 25px; }
.cabinet-heading { margin-bottom: 28px; }
.cabinet-heading h1, .editor-top h1 { margin-bottom: 5px; font: 500 clamp(42px, 6vw, 64px)/1.05 Georgia, serif; }
.cabinet-heading p { margin: 0; color: var(--muted); }
.cabinet-alert, .cabinet-callout, .moderation-note { margin: 16px 0; padding: 15px 18px; border-radius: 14px; }
.cabinet-alert ul { margin-bottom: 0; }
.alert-success { color: #536448; background: var(--sage-soft); border: 1px solid #cad8be; }
.alert-error, .moderation-note { color: #85364a; background: var(--rose-soft); border: 1px solid #e8c5cb; }
.cabinet-callout { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff1d8; border: 1px solid #ecd3a9; }
.cabinet-callout p { margin: 3px 0 0; color: #79552b; }

.cabinet-profile-card { display: grid; grid-template-columns: 1fr auto; gap: 18px; padding: 28px; border: 1px solid var(--border); border-radius: 21px; background: var(--paper); box-shadow: 0 10px 30px rgba(83,59,52,.05); }
.cabinet-profile-card h2, .cabinet-section-heading h2 { margin: 4px 0; font: 500 31px Georgia, serif; }
.cabinet-profile-card p, .cabinet-section-heading p { margin: 0; color: var(--muted); }
.card-step { color: var(--rose-dark); font-size: 11px; font-weight: 850; letter-spacing: 1.5px; text-transform: uppercase; }
.cabinet-card-actions { display: flex; align-items: center; gap: 12px; }
.cabinet-profile-card .moderation-note { grid-column: 1 / -1; margin: 0; }
.cabinet-status { display: inline-flex; width: max-content; padding: 5px 10px; border-radius: 999px; background: #eee9e4; color: var(--muted); font-size: 11px; font-weight: 850; }
.status-published { color: #526444; background: var(--sage-soft); }
.status-pending_review { color: #8a5a20; background: #fff0d7; }
.status-changes_requested, .status-unpublished_by_admin { color: var(--rose-dark); background: var(--rose-soft); }
.cabinet-section-heading { margin: 48px 0 18px; }
.cabinet-listings { overflow: hidden; border: 1px solid var(--border); border-radius: 20px; background: var(--paper); }
.cabinet-listing-card { display: grid; grid-template-columns: 92px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 15px 20px; border-bottom: 1px solid var(--border); }
.cabinet-listing-card:last-child { border-bottom: 0; }
.cabinet-listing-image { width: 92px; height: 92px; overflow: hidden; display: grid; place-items: center; border-radius: 15px; background: var(--rose-soft); color: var(--rose-dark); font: italic 40px Georgia, serif; }
.cabinet-listing-image img { width: 100%; height: 100%; object-fit: cover; }
.cabinet-listing-card h3 { margin: 8px 0 2px; }
.cabinet-listing-card p { margin: 0; color: var(--muted); }
.cabinet-listing-actions { display: grid; justify-items: center; gap: 7px; }
.cabinet-listing-actions .quiet-link { font-size: 12px; }
.cabinet-empty { padding: 65px 20px; text-align: center; border: 1px dashed #d7c9be; border-radius: 20px; background: rgba(255,255,255,.42); }
.cabinet-empty > span { display: grid; place-items: center; width: 52px; height: 52px; margin: auto; border-radius: 17px; background: var(--rose-soft); color: var(--rose-dark); font: italic 30px Georgia, serif; }
.cabinet-empty h3 { margin: 13px 0 4px; }
.cabinet-empty p { color: var(--muted); }

.editor-page { padding-top: 34px; }
.editor-top { margin-bottom: 25px; }
.editor-top .back-link { display: inline-block; margin-bottom: 24px; }
.editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 25px; }
.editor-main { display: grid; gap: 18px; }
.editor-card, .editor-actions { border: 1px solid var(--border); border-radius: 21px; background: var(--paper); box-shadow: 0 8px 28px rgba(83,59,52,.045); }
.editor-card { padding: 27px; }
.editor-card-title { display: flex; gap: 15px; margin-bottom: 24px; }
.editor-card-title > span { display: grid; place-items: center; flex: 0 0 39px; height: 39px; border-radius: 13px; background: var(--rose-soft); color: var(--rose-dark); font: italic 18px Georgia, serif; }
.editor-card-title h2 { margin-bottom: 3px; font-size: 21px; letter-spacing: -.4px; }
.editor-card-title p { margin: 0; color: var(--muted); font-size: 13px; }
.editor-actions { position: sticky; top: 100px; padding: 25px; }
.editor-actions h2 { margin-bottom: 8px; font-size: 22px; }
.editor-actions > p { color: var(--muted); font-size: 13px; }
.editor-actions .button { margin-top: 10px; }
.rules-check { margin-top: 18px; font-size: 12px; }
.cabinet-form { display: grid; gap: 18px; }
.cabinet-form label, .option-group > label, .badge-editor label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 750; }
.cabinet-form label > span small { font-weight: 400; }
.cabinet-form input:not([type=checkbox]):not([type=color]), .cabinet-form select, .cabinet-form textarea, .option-group textarea, .badge-editor input:not([type=color]) { width: 100%; border: 1px solid var(--border); border-radius: 12px; background: white; color: var(--ink); outline: 0; font: inherit; }
.cabinet-form input:not([type=checkbox]):not([type=color]), .cabinet-form select, .badge-editor input:not([type=color]) { min-height: 47px; padding: 0 13px; }
.cabinet-form textarea, .option-group textarea { padding: 11px 13px; resize: vertical; }
.cabinet-form input:focus, .cabinet-form select:focus, .cabinet-form textarea:focus, .option-group textarea:focus { border-color: var(--rose); box-shadow: 0 0 0 3px rgba(194,100,118,.12); }
.cabinet-form small, .city-field > small { color: #9a908a; font-weight: 400; }
.form-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.check-line { display: flex !important; grid-template-columns: none; align-items: flex-start; gap: 9px !important; cursor: pointer; }
.check-line input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 2px; accent-color: var(--rose-dark); }
.field-check { align-self: end; min-height: 47px; align-items: center; padding: 0 13px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.profile-editor-photo { width: 170px; height: 170px; object-fit: cover; border-radius: 50%; border: 1px solid var(--border); }
.option-group { padding: 20px 0; margin: 0; border: 0; border-top: 1px solid var(--border); }
.option-group:first-of-type { padding-top: 0; border-top: 0; }
.option-group legend { margin-bottom: 12px; font-weight: 850; }
.option-checks { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.check-chip { cursor: pointer; }
.check-chip input { position: absolute; opacity: 0; pointer-events: none; }
.check-chip span { display: inline-flex; padding: 8px 11px; border: 1px solid var(--border); border-radius: 999px; background: white; color: var(--muted); font-size: 12px; font-weight: 750; }
.check-chip input:checked + span { border-color: #b9c8ac; color: #526444; background: var(--sage-soft); }
.editor-gallery { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 18px; }
.editor-gallery > div { position: relative; }
.editor-gallery img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 13px; }
.editor-gallery button { position: absolute; left: 6px; right: 6px; bottom: 6px; padding: 6px; border: 0; border-radius: 8px; background: rgba(59,55,53,.82); color: white; font-size: 10px; cursor: pointer; }
.upload-zone { display: grid; gap: 4px; padding: 27px; border: 1px dashed #cdbdb2; border-radius: 15px; background: #fcf8f4; cursor: pointer; }
.upload-zone span { color: var(--muted); font-size: 12px; }
.upload-zone input { margin-top: 12px; }
.badge-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.badge-editor { display: grid; gap: 13px; padding: 16px; border: 1px solid var(--border); border-radius: 15px; }
.color-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.color-row input { width: 100%; height: 38px; padding: 3px; border: 1px solid var(--border); border-radius: 9px; background: white; }
.danger-action { margin-top: 25px; text-align: center; }
.danger-action button { border: 0; background: transparent; color: var(--rose-dark); text-decoration: underline; cursor: pointer; }
.city-field { position: relative; }
.city-suggestions { position: absolute; z-index: 20; left: 0; right: 0; top: 70px; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: white; box-shadow: var(--shadow); }
.city-suggestions button { display: block; width: 100%; padding: 11px 13px; border: 0; border-bottom: 1px solid var(--border); background: white; text-align: left; cursor: pointer; }
.city-suggestions button:hover { background: var(--cream); }

@media (max-width: 1050px) { .header-search { display: none; } .editor-layout { grid-template-columns: 1fr; } .editor-actions { position: static; } }
@media (max-width: 760px) {
    .cabinet-link { display: none; }
    .account-card { padding: 28px 22px; }
    .cabinet-heading, .cabinet-section-heading, .cabinet-profile-card { display: grid; grid-template-columns: 1fr; align-items: start; }
    .cabinet-card-actions { flex-wrap: wrap; }
    .cabinet-listing-card { grid-template-columns: 72px 1fr; padding: 13px; }
    .cabinet-listing-image { width: 72px; height: 72px; }
    .cabinet-listing-actions { grid-column: 1 / -1; display: flex; justify-content: flex-start; }
    .form-columns, .badge-editor-grid { grid-template-columns: 1fr; }
    .editor-card { padding: 20px 16px; }
    .editor-gallery { grid-template-columns: repeat(3, 1fr); }
    .cabinet-callout { align-items: start; flex-direction: column; }
}
