:root {
    --ink: #30262d;
    --muted: #756b71;
    --paper: #fffaf8;
    --surface: #ffffff;
    --rose: #b9386f;
    --rose-dark: #8e2854;
    --line: #eadfe3;
    --nav: #2b2428;
    --danger: #a12d3f;
    --radius: 16px;
    font-family: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--paper);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--paper); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid rgba(185, 56, 111, .32); outline-offset: 3px; }

.admin-header {
    min-height: 72px; padding: 12px clamp(18px, 3vw, 42px); display: flex; align-items: center;
    justify-content: space-between; gap: 24px; background: var(--surface); border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; flex-direction: column; text-decoration: none; line-height: 1.1; }
.brand__kicker { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.brand strong { font-size: 1.2rem; }
.admin-header__user { display: flex; align-items: center; gap: 16px; }
.admin-header__user > span { display: flex; flex-direction: column; text-align: right; }
.admin-header__user small { color: var(--muted); }
.admin-shell { min-height: calc(100vh - 72px); display: grid; grid-template-columns: 240px 1fr; }
.admin-nav { padding: 28px 20px; background: var(--nav); color: #fff; display: flex; flex-direction: column; gap: 5px; }
.admin-nav a, .admin-nav > span { padding: 11px 12px; border-radius: 9px; text-decoration: none; }
.admin-nav .is-active { background: rgba(255,255,255,.12); }
.admin-nav__group { margin-top: 20px; padding-bottom: 4px !important; color: #c9bdc3; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.admin-nav .is-disabled { color: #d6ccd1; display: flex; justify-content: space-between; gap: 8px; }
.admin-nav .is-disabled small { opacity: .65; }
.admin-main { padding: clamp(28px, 5vw, 64px); min-width: 0; }
.page-heading { max-width: 760px; margin-bottom: 34px; }
.eyebrow { margin: 0 0 8px; color: var(--rose-dark); font-size: .75rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 10px; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; }
.page-heading > p:last-child, .muted { color: var(--muted); line-height: 1.65; }
.dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.module-card, .empty-state { padding: 26px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.module-card__area { color: var(--rose-dark); font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.module-card p { color: var(--muted); line-height: 1.55; }
.status-pill { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #f5e7ed; color: var(--rose-dark); font-size: .75rem; font-weight: 700; }
.status-pill--neutral { background: #f3eef0; color: var(--ink); }
.button { min-height: 44px; padding: 11px 18px; border: 0; border-radius: 10px; background: var(--rose-dark); color: #fff; font-weight: 750; text-decoration: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.button:hover { background: var(--rose); }
.button--quiet { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.button--quiet:hover { background: var(--rose-dark); color: #fff; border-color: var(--rose-dark); }
.auth-page { display: grid; place-items: center; padding: 24px; background: linear-gradient(145deg, #fffaf8, #f5e3ea); }
.auth-shell { width: min(100%, 440px); }
.login-card, .error-card { padding: clamp(28px, 6vw, 46px); background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 22px 60px rgba(74,40,55,.1); }
.login-card__brand { display: flex; flex-direction: column; margin-bottom: 34px; }
.login-card__brand span { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; }
.login-card__brand strong { font-size: 1.35rem; }
.form-stack { display: grid; gap: 10px; margin-top: 26px; }
.form-stack label { margin-top: 6px; font-size: .86rem; font-weight: 700; }
.form-stack input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; }
.form-stack .button { margin-top: 10px; }
.alert { padding: 12px 14px; border-radius: 9px; line-height: 1.45; }
.alert--error { background: #fff0f2; color: var(--danger); border: 1px solid #efc5cc; }
.alert--success { background: #edf8f1; color: #27633e; border: 1px solid #b9dfc6; margin-bottom: 20px; }
.alert--warning { background: #fff8e7; color: #76551a; border: 1px solid #ead39a; margin-bottom: 20px; }
.page-heading--split { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.page-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 16px; flex-wrap: wrap; }
.anchored-panel { scroll-margin-top: 18px; }
.filter-panel { margin-bottom: 24px; padding: 20px; display: grid; grid-template-columns: minmax(220px, 2fr) repeat(5, minmax(130px, 1fr)); gap: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.filter-panel label, .form-stack--compact label { display: grid; gap: 7px; font-size: .78rem; font-weight: 750; color: var(--muted); }
.filter-panel input, .filter-panel select, .form-stack--compact select, .form-stack--compact textarea { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; color: var(--ink); }
.filter-panel__actions { grid-column: 1 / -1; display: flex; gap: 15px; align-items: center; justify-content: flex-end; }
.table-wrap { overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.data-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.data-table th, .data-table td { padding: 15px 13px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.data-table th { color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table td small { display: block; margin-top: 4px; color: var(--muted); }
.table-link { color: var(--rose-dark); font-weight: 750; white-space: nowrap; }
.status-pill--won { background: #ddf4e5; color: #27633e; }
.status-pill--lost { background: #f1eeee; color: #655b60; }
.status-pill--proposal_sent { background: #f2eaf8; color: #64417a; }
.pagination { display: flex; gap: 7px; margin-top: 20px; flex-wrap: wrap; }
.pagination a { min-width: 38px; min-height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; text-decoration: none; background: var(--surface); }
.pagination .is-current { background: var(--rose-dark); color: #fff; }
.lead-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr); gap: 22px; align-items: start; }
.lead-content, .lead-sidebar { display: grid; gap: 22px; }
.lead-sidebar { position: sticky; top: 22px; }
.detail-card { padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.detail-card h2 { font-size: 1.15rem; }
.detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; }
.detail-list div { min-width: 0; }
.detail-list dt { margin-bottom: 5px; color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.detail-list dd { margin: 0; }
.contact-actions { display: flex; gap: 9px; flex-wrap: wrap; margin: 22px 0 16px; }
.form-stack--compact { margin-top: 0; }
.form-stack--compact textarea { resize: vertical; min-height: 130px; }
.break-word { overflow-wrap: anywhere; }
.pre-line { white-space: pre-wrap; line-height: 1.55; }
.admin-form { display: grid; gap: 22px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-grid label, .admin-form .form-stack label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.form-grid input, .form-grid select, .form-grid textarea, .admin-form .form-stack input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; color: var(--ink); }
.form-grid textarea { resize: vertical; line-height: 1.55; }
.form-grid label small { font-weight: 500; line-height: 1.4; }
.check-field { display: flex !important; flex-direction: row; align-items: center; gap: 9px !important; color: var(--ink) !important; }
.check-field input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; flex: 0 0 18px; accent-color: var(--rose-dark); }
.settings-grid > *, .admin-form, .admin-form .detail-card { min-width: 0; }
.form-grid__wide { grid-column: 1 / -1; }
.role-help { margin: 22px 0; padding: 16px 18px; border-radius: 11px; background: #faf4f6; }
.role-help p { margin: 0 0 8px; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.role-help p:last-child { margin-bottom: 0; }
.form-actions { display: flex; align-items: center; gap: 18px; }
.settings-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: 22px; align-items: start; }
.publication-note { margin: 20px 0 0; }
.special-context { margin: -12px 0 28px; padding: 10px; display: flex; gap: 7px; overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.special-context a, .special-context span { flex: 0 0 auto; padding: 9px 12px; border-radius: 8px; font-size: .82rem; font-weight: 700; text-decoration: none; }
.special-context .is-active { background: var(--rose-dark); color: #fff; }
.special-context .is-disabled { color: var(--muted); background: #f7f1f3; }
.status-pill--published { background: #ddf4e5; color: #27633e; }
.status-pill--draft { background: #f1eeee; color: #655b60; }
.module-help { margin-bottom: 22px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.module-help > div { padding: 16px 18px; display: grid; gap: 4px; border: 1px solid var(--line); border-radius: 11px; background: #faf4f6; }
.module-help span { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.module-config-list { display: grid; gap: 18px; }
.module-config-card { padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.module-config-card > header { display: flex; justify-content: space-between; gap: 22px; align-items: flex-start; }
.module-config-card > header p:last-child { margin-bottom: 0; color: var(--muted); }
.module-config-card code { padding: 5px 8px; border-radius: 7px; background: #f5edf0; color: var(--rose-dark); }
.module-operational-state { margin-top: 18px; display: flex; align-items: center; gap: 10px; }
.module-operational-state > span { color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.module-config-form { margin-top: 20px; display: grid; grid-template-columns: minmax(220px,1fr) auto auto; gap: 16px; align-items: end; }
.module-config-form > label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.module-config-form input[type="text"], .module-config-form input:not([type]) { min-height: 44px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; }
.module-switches { display: flex; gap: 16px; align-items: center; min-height: 44px; }
.module-availability { margin: 0; padding: 0; border: 0; }
.module-availability legend { margin-bottom: 5px; padding: 0; color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.module-config-form .muted { grid-column: 1 / -1; margin-bottom: 0; }
.module-inactive-help { grid-column: 1 / -1; margin: 0; color: #76551a; font-size: .84rem; line-height: 1.45; }
.module-secondary-actions { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.module-secondary-actions > form { margin: 0; }
.module-secondary-actions .module-order-actions { margin: 0; }
.module-order-actions { margin-top: 14px; display: flex; gap: 9px; }
.module-order-actions form { margin: 0; }
.button:disabled { cursor: not-allowed; opacity: .45; }
.add-module-panel { margin-top: 22px; }
.add-module-panel .form-stack { max-width: 700px; }
.section-config-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.section-config-form { margin-top: 20px; display: grid; grid-template-columns: minmax(180px,.7fr) minmax(280px,1.3fr) auto; gap: 16px; align-items: end; }
.section-config-form > label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.section-config-form input { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; color: var(--ink); }
.section-config-form .muted { grid-column: 1 / -1; margin-bottom: 0; }
.section-config-actions { margin-top: 14px; display: flex; gap: 14px; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; }
.section-config-actions > form { margin: 0; display: grid; gap: 10px; }
.sponsorship-warning { max-width: 620px; padding: 13px 15px; display: grid; gap: 5px; border: 1px solid #ead39a; border-radius: 10px; background: #fff8e7; color: #76551a; font-size: .82rem; line-height: 1.45; }
.sponsorship-warning .check-field { margin-top: 4px; color: #76551a !important; }
.category-config-form { margin-top: 20px; display: grid; grid-template-columns: minmax(240px,1fr) auto; gap: 16px; align-items: end; }
.category-config-form > label, .category-create-form > label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.category-config-form input, .category-create-form input { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; color: var(--ink); }
.category-config-form .muted { grid-column: 1 / -1; margin-bottom: 0; }
.category-create-form { max-width: 850px; display: grid; grid-template-columns: minmax(220px,1fr) minmax(220px,1fr) auto; grid-template-rows: auto auto auto; gap: 7px 16px; align-items: start; }
.category-create-form > label { grid-row: span 3; grid-template-rows: subgrid; }
.category-create-form > .button { grid-row: 2; }
.category-create-form small { color: var(--muted); font-weight: 500; line-height: 1.4; }
.advertiser-help { margin-top: 0; }
.advertiser-list { display: grid; gap: 18px; }
.advertiser-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.advertiser-card > header, .advertiser-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.advertiser-card h2, .advertiser-section-heading h2 { margin-bottom: 5px; }
.advertiser-card header p:last-child { margin: 0; color: var(--muted); }
.advertiser-card__statuses { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.advertiser-stats { margin: 22px 0 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.advertiser-stats div { padding: 12px; min-width: 0; border-radius: 9px; background: #faf4f6; }
.advertiser-stats dt { margin-bottom: 5px; color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.advertiser-stats dd { margin: 0; overflow-wrap: anywhere; font-weight: 700; }
.advertiser-card__actions { margin-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.advertiser-card__actions .module-order-actions { margin-top: 0; }
.advertiser-onboarding { margin-top: 22px; }
.advertiser-onboarding > h2 { margin-bottom: 16px; }
.advertiser-onboarding-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 22px; align-items: start; }
.advertiser-search { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: end; }
.advertiser-search label, .advertiser-create-form label, .advertiser-edit-form label, .advertiser-participation-form label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.advertiser-search input, .advertiser-create-form input, .advertiser-create-form select, .advertiser-create-form textarea, .advertiser-edit-form input, .advertiser-edit-form select, .advertiser-edit-form textarea, .advertiser-participation-form input[type="url"], .advertiser-participation-form select { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; color: var(--ink); }
.advertiser-create-form textarea, .advertiser-edit-form textarea { resize: vertical; line-height: 1.5; }
.advertiser-candidate-list { margin-top: 18px; display: grid; gap: 9px; }
.advertiser-candidate-list form { padding: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line); border-radius: 9px; }
.advertiser-candidate-list span { display: grid; gap: 3px; min-width: 0; }
.advertiser-candidate-list small { color: var(--muted); line-height: 1.35; }
.advertiser-create-form, .advertiser-edit-form { margin-top: 20px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.advertiser-field--wide { grid-column: 1 / -1; }
.advertiser-territorial-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 5px; }
.advertiser-match-warning { margin-top: 16px; }
.advertiser-match-warning ul { margin: 8px 0 0; padding-left: 20px; }
.advertiser-identity-warning { margin-bottom: 22px; padding: 17px 19px; display: grid; gap: 5px; border: 1px solid #ead39a; border-radius: 11px; background: #fff8e7; color: #76551a; line-height: 1.45; }
.advertiser-edit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; align-items: start; }
.advertiser-section-heading .eyebrow { margin-bottom: 5px; }
.advertiser-stats--compact { grid-template-columns: repeat(4,minmax(0,1fr)); }
.advertiser-state-form { margin-top: 22px; padding-top: 20px; display: grid; gap: 13px; border-top: 1px solid var(--line); justify-items: start; }
.advertiser-participation-form { margin-top: 22px; display: grid; gap: 18px; }
.advertiser-participation-form fieldset { margin: 0; padding: 16px; display: grid; gap: 14px; border: 1px solid var(--line); border-radius: 10px; }
.advertiser-participation-form legend { padding: 0 7px; font-weight: 750; }
.advertiser-participation-form small { color: var(--muted); font-weight: 500; line-height: 1.4; }
.advertiser-logo-state { margin: 0; }
.advertiser-logo-panel { margin-top: 22px; padding-top: 20px; display: grid; gap: 16px; border-top: 1px solid var(--line); }
.advertiser-logo-panel__heading h3 { margin: 0 0 5px; }
.advertiser-logo-panel__heading p { margin: 0; color: var(--muted); }
.advertiser-logo-preview { min-width: 0; display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: center; gap: 16px; }
.advertiser-logo-preview img { display: block; width: 112px; height: 88px; padding: 8px; object-fit: contain; border: 1px solid var(--line); border-radius: 10px; background: #f5f1f2; }
.advertiser-logo-preview div { min-width: 0; display: grid; gap: 4px; }
.advertiser-logo-preview span { color: var(--muted); }
.advertiser-logo-empty { padding: 18px; border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); background: #faf7f8; }
.advertiser-logo-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.advertiser-logo-actions form { margin: 0; }
.advertiser-future-card { margin-top: 22px; }
.advertiser-future-card .button { margin-top: 8px; }
.channel-list { display: grid; gap: 18px; }
.channel-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.channel-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.channel-card h2 { margin-bottom: 5px; }
.channel-card header p:last-child { margin-bottom: 0; color: var(--muted); }
.channel-card__states { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.channel-summary { margin: 20px 0 0; display: grid; grid-template-columns: minmax(0,2fr) repeat(2,minmax(130px,.5fr)); gap: 10px; }
.channel-summary div { padding: 12px; min-width: 0; border-radius: 9px; background: #faf4f6; }
.channel-summary dt { margin-bottom: 5px; color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.channel-summary dd { margin: 0; }
.channel-edit-form, .channel-create-form { margin-top: 20px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; align-items: end; }
.channel-edit-form label, .channel-create-form label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.channel-edit-form input, .channel-create-form input, .channel-create-form select { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; color: var(--ink); }
.channel-edit-form input[readonly] { background: #f5f1f2; color: var(--muted); }
.channel-field--wide { grid-column: 1 / -1; }
.channel-actions { margin-top: 18px; padding-top: 18px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border-top: 1px solid var(--line); }
.channel-actions form { margin: 0; }
.channel-actions .module-order-actions { margin: 0 0 0 auto; }
.channel-add-panel { margin-top: 22px; }
.channel-add-panel .channel-create-form { max-width: 850px; }
.media-filter { grid-template-columns: minmax(0,1fr) auto; }
.media-filter .filter-panel__search { grid-column: auto; }
.media-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.media-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.media-card__preview { display: flex; align-items: center; justify-content: center; width: 100%; height: 180px; min-height: 0; padding: 12px; overflow: hidden; box-sizing: border-box; background: #f5f1f2; }
.media-card__preview img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.media-card__body { padding: 16px; display: grid; gap: 7px; }
.media-card__body h2 { margin: 0; font-size: 1rem; }
.media-card__body p, .media-card__body small { margin: 0; color: var(--muted); }
.media-card__actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.break-word { overflow-wrap: anywhere; }
.media-detail-layout { display: grid; grid-template-columns: minmax(280px,1.15fr) minmax(280px,.85fr); gap: 22px; }
.media-detail-content { display: grid; gap: 22px; align-content: start; }
.media-detail-preview { min-height: 360px; display: grid; place-items: center; padding: 24px; background: #f5f1f2; }
.media-detail-preview img { max-width: 100%; max-height: 520px; object-fit: contain; }
.media-upload-form { max-width: 720px; }
.media-upload-form input[type="file"] { padding: 12px; background: #fff; }
.offer-filters { grid-template-columns: repeat(5,minmax(130px,1fr)); }
.offer-table__image { display: block; width: 76px; height: 58px; object-fit: contain; border-radius: 8px; background: #f5f1f2; }
.offer-table__actions td { padding-top: 0; background: #fdfafb; }
.offer-row-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.offer-row-actions form { margin: 0; }
.offer-warning-text { color: var(--danger) !important; }
.offer-form { display: grid; gap: 22px; }
.offer-form__section { min-width: 0; scroll-margin-top: 18px; }
.offer-form__section > header { margin-bottom: 20px; }
.offer-form__section > header h2 { margin-bottom: 0; }
.offer-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.offer-form label, .offer-owner-readonly { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.offer-form .check-field { min-height: 44px; }
.offer-form input, .offer-form select, .offer-form textarea { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; color: var(--ink); }
.offer-form textarea { resize: vertical; }
.offer-form small, .offer-owner-readonly small { font-weight: 500; line-height: 1.45; }
.offer-field--wide { grid-column: 1 / -1; }
.offer-owner-readonly { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #faf7f8; }
.offer-owner-readonly strong { color: var(--ink); font-size: 1rem; }
.offer-category-options { display: flex; gap: 10px; flex-wrap: wrap; }
.offer-category-options .check-field { padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); }
.offer-category-options .is-inactive { background: #f5f1f2; color: var(--muted); }
.offer-image-preview { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.offer-image-preview img { width: 150px; height: 110px; padding: 8px; object-fit: contain; border: 1px solid var(--line); border-radius: 10px; background: #f5f1f2; }
.offer-image-preview div { display: grid; gap: 5px; min-width: 0; }
.offer-image-preview strong { overflow-wrap: anywhere; }
.offer-image-preview span { color: var(--muted); }
.offer-image-actions { display: flex; align-items: center; gap: 14px; margin: 14px 0 18px; flex-wrap: wrap; }
.offer-form__submit { display: flex; align-items: center; gap: 16px; padding-bottom: 20px; }
.expert-filters { grid-template-columns: minmax(200px,1.4fr) repeat(4,minmax(130px,1fr)); }
.expert-table__photo { display: block; width: 64px; height: 80px; object-fit: cover; border-radius: 9px; background: #f5f1f2; }
.expert-table td small { display: block; margin-top: 4px; color: var(--muted); }
.expert-table__actions td { padding-top: 0; background: #fdfafb; }
.expert-row-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.expert-row-actions form { margin: 0; }
.expert-form { display: grid; gap: 22px; }
.expert-form__section { min-width: 0; scroll-margin-top: 18px; }
.expert-form__section > header { margin-bottom: 20px; }
.expert-form__section > header h2 { margin-bottom: 0; }
.expert-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.expert-form label, .expert-owner-readonly { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.expert-form .check-field { min-height: 44px; }
.expert-form input, .expert-form select, .expert-form textarea { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; color: var(--ink); }
.expert-form textarea { resize: vertical; }
.expert-form small, .expert-owner-readonly small { font-weight: 500; line-height: 1.45; }
.expert-field--wide { grid-column: 1 / -1; }
.expert-owner-readonly { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #faf7f8; }
.expert-owner-readonly strong { color: var(--ink); font-size: 1rem; }
.expert-category-options { display: flex; gap: 10px; flex-wrap: wrap; }
.expert-category-options .check-field { padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); }
.expert-category-options .is-inactive { background: #f5f1f2; color: var(--muted); }
.expert-photo-preview { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.expert-photo-preview img { width: 120px; height: 150px; padding: 6px; object-fit: contain; border: 1px solid var(--line); border-radius: 10px; background: #f5f1f2; }
.expert-photo-preview div { display: grid; gap: 5px; min-width: 0; }
.expert-photo-preview strong { overflow-wrap: anywhere; }
.expert-photo-preview span { color: var(--muted); }
.expert-photo-actions { display: flex; align-items: center; gap: 14px; margin: 14px 0 18px; flex-wrap: wrap; }
.expert-photo-warning { margin: 10px 0; }
.expert-form__submit { display: flex; align-items: center; gap: 16px; padding-bottom: 20px; }
.sponsorship-form { display: grid; gap: 22px; }
.sponsorship-form__section { min-width: 0; scroll-margin-top: 18px; }
.sponsorship-form__section > header { margin-bottom: 20px; }
.sponsorship-form__section > header h2 { margin-bottom: 0; }
.sponsorship-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.sponsorship-form label { display: grid; gap: 7px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.sponsorship-form .check-field { min-height: 44px; }
.sponsorship-form input:not([type="checkbox"]), .sponsorship-form select { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; color: var(--ink); }
.advertising-table td > span, .advertising-table td > small, .advertising-table td > code { display: block; margin-top: 4px; }
.advertising-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.advertising-actions form { margin: 0; }
.advertising-form fieldset { border: 1px solid #ded3d7; border-radius: 10px; padding: 14px; }
.advertising-form legend { padding: 0 6px; font-weight: 800; }
.text-warning { color: #7d3d12; }
.sponsorship-form small { font-weight: 500; line-height: 1.45; }
.sponsorship-field--wide { grid-column: 1 / -1; }
.sponsorship-placement-options, .sponsorship-logo-actions, .sponsorship-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.sponsorship-logo-preview { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 16px; align-items: center; margin: 14px 0; }
.sponsorship-logo-preview img, .sponsorship-table__logo { object-fit: contain; background: #f8f5f6; border: 1px solid var(--line); border-radius: 9px; }
.sponsorship-logo-preview img { width: 130px; height: 92px; }
.sponsorship-logo-preview div { display: grid; gap: 5px; min-width: 0; }
.sponsorship-logo-preview strong { overflow-wrap: anywhere; }
.sponsorship-table__logo { width: 88px; height: 62px; }
.sponsorship-table td span, .sponsorship-table td small { display: block; margin-top: 4px; }
.sponsorship-form__submit { display: flex; align-items: center; gap: 16px; padding-bottom: 20px; }
.directory-module-summary { margin-bottom: 22px; }
.directory-module-summary > header { margin-bottom: 16px; }
.directory-module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.directory-module-grid > div { padding: 14px; display: grid; gap: 8px; border-radius: 10px; background: #faf4f6; }
.directory-module-grid small { color: var(--muted); }
.directory-warning-list, .directory-card__warnings ul, .directory-card__recommendations ul { margin: 14px 0 0; padding-left: 20px; }
.directory-list { display: grid; gap: 20px; }
.directory-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.directory-card__header, .directory-controls { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.directory-identity { min-width: 0; display: flex; align-items: center; gap: 16px; }
.directory-identity img, .directory-logo-empty { width: 112px; height: 82px; flex: 0 0 auto; object-fit: contain; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: #f5f1f2; }
.directory-logo-empty { display: grid; place-items: center; color: var(--muted); font-size: .78rem; text-align: center; }
.directory-identity h2 { margin-bottom: 7px; }
.directory-statuses, .directory-eligibility { display: flex; gap: 7px; flex-wrap: wrap; }
.directory-eligibility { justify-content: flex-end; }
.directory-card__body, .directory-context-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.directory-card__body > section, .directory-context-grid > section { min-width: 0; padding: 16px; border-radius: 10px; background: #faf7f8; }
.directory-card h3 { margin: 0 0 10px; font-size: .92rem; }
.directory-description { margin-bottom: 6px; line-height: 1.55; }
.directory-location { margin: 14px 0 0; }
.directory-channel-list { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.directory-channel-list li { display: grid; gap: 2px; }
.directory-counts, .directory-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.directory-counts span { padding: 7px 10px; border-radius: 8px; background: #fff; }
.directory-tags { margin-top: 10px; }
.directory-tags code { padding: 5px 8px; border-radius: 7px; background: #f3e9ed; color: var(--accent); }
.directory-card__warnings { margin: 16px 0 0; }
.directory-card__recommendations { margin: 12px 0 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; background: #f7f3f5; color: var(--muted); line-height: 1.45; }
.directory-card__recommendations strong { color: var(--ink); }
.directory-controls { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.directory-config { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.directory-config form { margin: 0; }
.directory-visibility-form { display: flex; align-items: end; gap: 8px; }
.directory-visibility-form label { display: grid; gap: 5px; color: var(--muted); font-size: .78rem; font-weight: 750; }
.directory-visibility-form select { min-height: 40px; padding: 8px 10px; border: 1px solid #cfc3c8; border-radius: 9px; background: #fff; color: var(--ink); }
.directory-controls .module-order-actions { margin: 0; }
.directory-links { margin-top: 16px; display: flex; gap: 16px; flex-wrap: wrap; }

@media (max-width: 1200px) {
    .filter-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .filter-panel__search { grid-column: span 2; }
}

@media (max-width: 900px) {
    .admin-header { align-items: flex-start; }
    .admin-header__user { align-items: flex-end; flex-direction: column; gap: 8px; }
    .admin-shell { grid-template-columns: 1fr; min-width: 0; }
    .admin-nav { width: 100%; max-width: 100vw; min-width: 0; padding: 10px 14px; flex-direction: row; overflow-x: auto; align-items: center; }
    .admin-nav__group { display: none; }
    .admin-nav a, .admin-nav > span { flex: 0 0 auto; }
    .admin-main { padding: 30px 18px 48px; }
    .page-heading--split { align-items: flex-start; flex-direction: column; }
    .page-heading-actions { justify-content: flex-start; }
    .filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .filter-panel__search { grid-column: 1 / -1; }
    .lead-layout { grid-template-columns: 1fr; }
    .settings-grid { grid-template-columns: 1fr; }
    .lead-sidebar { position: static; }
    .data-table, .data-table tbody, .data-table tr, .data-table td { display: block; width: 100%; }
    .data-table thead { display: none; }
    .data-table tr { padding: 14px; border-bottom: 1px solid var(--line); }
    .data-table td { padding: 7px 0; border: 0; display: grid; grid-template-columns: 96px 1fr; gap: 10px; }
    .data-table td::before { content: attr(data-label); color: var(--muted); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
    .data-table td:last-child { display: block; padding-top: 13px; }
    .module-config-form { grid-template-columns: 1fr; align-items: stretch; }
    .module-config-form .muted { grid-column: auto; }
    .module-inactive-help { grid-column: auto; }
    .section-config-form { grid-template-columns: 1fr; align-items: stretch; }
    .section-config-form .muted { grid-column: auto; }
    .category-config-form, .category-create-form { grid-template-columns: 1fr; align-items: stretch; }
    .category-create-form { grid-template-rows: none; gap: 16px; }
    .category-create-form > label { grid-row: auto; grid-template-rows: none; }
    .category-create-form > .button { grid-row: auto; }
    .category-config-form .muted { grid-column: auto; }
    .advertiser-onboarding-grid, .advertiser-edit-grid { grid-template-columns: 1fr; }
    .advertiser-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .channel-summary { grid-template-columns: 1fr 1fr; }
    .channel-summary div:first-child { grid-column: 1 / -1; }
    .media-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .media-detail-layout { grid-template-columns: 1fr; }
    .offer-filters, .expert-filters, .sponsorship-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .directory-module-grid { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .admin-header { min-height: 64px; }
    .brand__kicker, .admin-header__user small { display: none; }
    .admin-header__user > span { max-width: 130px; }
    .admin-header__user strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .button--quiet { min-height: 38px; padding: 8px 11px; font-size: .82rem; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .filter-panel, .detail-list { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid__wide { grid-column: auto; }
    .filter-panel__search { grid-column: auto; }
    .module-help { grid-template-columns: 1fr; }
    .module-config-card > header { flex-direction: column; gap: 10px; }
    .module-secondary-actions { align-items: stretch; flex-direction: column; }
    .module-secondary-actions > form, .module-secondary-actions > form .button { width: 100%; }
    .module-secondary-actions .module-order-actions { width: 100%; }
    .module-secondary-actions .module-order-actions form { flex: 1; }
    .section-config-meta { justify-content: flex-start; }
    .section-config-actions { align-items: stretch; flex-direction: column; }
    .advertiser-card > header, .advertiser-section-heading, .advertiser-card__actions { align-items: flex-start; flex-direction: column; }
    .advertiser-card__statuses { justify-content: flex-start; }
    .advertiser-stats, .advertiser-stats--compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .advertiser-search, .advertiser-create-form, .advertiser-edit-form { grid-template-columns: 1fr; }
    .advertiser-field--wide { grid-column: auto; }
    .advertiser-territorial-fields { grid-template-columns: 1fr; }
    .advertiser-candidate-list form { align-items: stretch; flex-direction: column; }
    .channel-card > header { flex-direction: column; }
    .channel-card__states { justify-content: flex-start; }
    .channel-summary, .channel-edit-form, .channel-create-form { grid-template-columns: 1fr; }
    .channel-summary div:first-child, .channel-field--wide { grid-column: auto; }
    .channel-actions { align-items: stretch; flex-direction: column; }
    .channel-actions form, .channel-actions .button { width: 100%; }
    .channel-actions .module-order-actions { width: 100%; margin-left: 0; }
    .channel-actions .module-order-actions form { flex: 1; }
    .advertiser-logo-preview { grid-template-columns: 88px minmax(0,1fr); }
    .advertiser-logo-preview img { width: 88px; height: 72px; }
    .advertiser-logo-actions { align-items: stretch; flex-direction: column; }
    .advertiser-logo-actions form, .advertiser-logo-actions .button { width: 100%; }
    .media-filter, .media-grid { grid-template-columns: 1fr; }
    .media-filter .filter-panel__search { grid-column: auto; }
    .media-card__preview { height: 220px; }
    .offer-filters, .offer-form-grid, .expert-filters, .expert-form-grid, .sponsorship-filters, .sponsorship-form-grid { grid-template-columns: 1fr; }
    .offer-field--wide, .expert-field--wide, .sponsorship-field--wide { grid-column: auto; }
    .offer-image-preview, .expert-photo-preview { align-items: flex-start; }
    .offer-image-preview img { width: 110px; height: 88px; }
    .expert-photo-preview img { width: 96px; height: 120px; }
    .sponsorship-logo-preview { grid-template-columns: 96px minmax(0,1fr); }
    .sponsorship-logo-preview img { width: 96px; height: 76px; }
    .sponsorship-logo-actions, .sponsorship-actions { align-items: stretch; flex-direction: column; }
    .sponsorship-logo-actions .button, .sponsorship-actions .button, .sponsorship-actions form { width: 100%; }
    .directory-card { padding: 18px; }
    .directory-card__header, .directory-controls { align-items: stretch; flex-direction: column; }
    .directory-identity { align-items: flex-start; }
    .directory-identity img, .directory-logo-empty { width: 82px; height: 68px; }
    .directory-eligibility { justify-content: flex-start; }
    .directory-card__body, .directory-context-grid { grid-template-columns: 1fr; }
    .directory-config, .directory-visibility-form { align-items: stretch; flex-direction: column; }
    .directory-config form, .directory-config .button, .directory-visibility-form select { width: 100%; }
    .directory-controls .module-order-actions { width: 100%; }
    .directory-controls .module-order-actions form { flex: 1; }
}
