:root {
    color-scheme: light;
    --brand-blue: #2274a5;
    --brand-yellow: #ffba08;
    --brand-ink: #101220;
    --brand-green: #09bc8a;
    --brand-red: #ff3c38;
    --brand-white: #ffffff;
    --brand-canvas: #f5f7fb;
    --brand-muted: #626477;
    --brand-line: rgba(16, 18, 32, .14);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--brand-canvas);
    color: var(--brand-ink);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.shell { min-height: 100vh; display: grid; grid-template-rows: auto 1fr; }
.topbar { height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; background: #fff; border-bottom: 1px solid #dbe0e5; }
.brand { color: #18202a; font-size: 18px; font-weight: 700; text-decoration: none; }
.content { width: min(100% - 32px, 1120px); margin: 0 auto; padding: 32px 0; }
.panel { width: min(100%, 400px); margin: 8vh auto 0; padding: 28px; background: #fff; border: 1px solid #dbe0e5; border-radius: 8px; box-shadow: 0 8px 24px rgba(24, 32, 42, .08); }
h1 { margin: 0 0 24px; font-size: 24px; letter-spacing: 0; }
label { display: block; margin: 16px 0 6px; font-size: 14px; font-weight: 600; }
input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #aeb7c1; border-radius: 6px; font: inherit; background: #fff; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(0, 111, 122, .18); border-color: #006f7a; }
button { min-height: 42px; border: 0; border-radius: 6px; padding: 0 18px; font: inherit; font-weight: 700; cursor: pointer; background: #006f7a; color: #fff; }
.primary { width: 100%; margin-top: 22px; }
.error { margin: 14px 0 0; color: #a12828; font-size: 14px; }
.logout { background: transparent; color: #36414d; min-height: 36px; padding: 0 8px; }

.menu { display: flex; flex-wrap: wrap; gap: 2px; margin: 0 auto 0 24px; }
.menu a { padding: 8px 12px; border-radius: 6px; color: #36414d; text-decoration: none; font-size: 14px; font-weight: 600; }
.menu a:hover { background: #f0f3f5; }
.menu a.ativo { background: #e4eef0; color: #006f7a; }

.status { margin: 0 0 16px; padding: 10px 14px; border-radius: 6px; background: #e4eef0; color: #00565e; font-size: 14px; }

table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #dbe0e5; border-radius: 8px; }
th, td { padding: 10px 14px; text-align: left; font-size: 14px; border-bottom: 1px solid #eef1f4; }
th { background: #f7f9fa; font-weight: 700; }
tbody tr:last-child td { border-bottom: 0; }
td a { color: #006f7a; margin-right: 12px; }

select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #aeb7c1; border-radius: 6px; font: inherit; background: #fff; }
textarea { width: 100%; padding: 10px 12px; border: 1px solid #aeb7c1; border-radius: 6px; font: inherit; resize: vertical; background: #fff; }
.panel--wide { width: min(100%, 960px); margin-top: 24px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.helper { color: #52606d; font-size: 14px; }
.checkbox-field { display: flex; align-items: end; }
.checkbox-field label { display: flex; align-items: center; gap: 8px; min-height: 42px; margin-bottom: 0; }
.checkbox-field input { width: auto; height: auto; }
fieldset { margin: 16px 0 0; padding: 8px 14px 12px; border: 1px solid #dbe0e5; border-radius: 6px; }
legend { padding: 0 6px; font-size: 14px; font-weight: 600; }
fieldset label { display: flex; align-items: center; gap: 8px; margin: 8px 0; font-weight: 400; }
fieldset input[type="checkbox"] { width: auto; height: auto; }
.schedule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.schedule-day { margin: 0; padding: 14px; }
.schedule-day label { margin-top: 10px; }
.inline-check { display: flex; align-items: center; gap: 8px; }
.inline-check input { width: auto; height: auto; }
.empty-state { padding: 16px; border: 1px solid #dbe0e5; border-radius: 6px; background: #f7f9fa; }
.photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.photo-card { margin: 0; overflow: hidden; border: 1px solid #dbe0e5; border-radius: 8px; background: #fff; }
.photo-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #eef1f4; }
.photo-card figcaption { padding: 10px 12px; color: #52606d; font-size: 13px; }
.photo-card--unpublished img { opacity: .55; }
.photo-choice { display: block; cursor: pointer; }
.photo-choice__caption { display: flex; align-items: center; gap: 8px; padding: 10px 12px; color: #52606d; font-size: 13px; }
.photo-choice__caption input { width: auto; height: auto; flex: 0 0 auto; }
.upload-progress { display: grid; gap: 6px; margin-top: 16px; }
.upload-progress[hidden] { display: none !important; }
.upload-progress label { margin: 0; }
.upload-progress progress { width: 100%; height: 12px; accent-color: #006f7a; }
.institutional-page { width: min(100%, 760px); margin: 24px auto; padding: 32px; border: 1px solid #dbe0e5; border-radius: 8px; background: #fff; }
.institutional-content { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
.qr-code-panel { width: min(100%, 760px); margin-top: 24px; }
.qr-code-image { display: block; width: min(100%, 320px); height: auto; margin: 24px auto; border: 1px solid #dbe0e5; background: #fff; }
.qr-code-addresses dd { margin: 4px 0 16px; overflow-wrap: anywhere; }
.button { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border-radius: 6px; background: #006f7a; color: #fff; font-weight: 700; text-decoration: none; }
.button.primary { width: auto; margin-top: 6px; }
.company-panel-list { display: grid; gap: 12px; }
.company-panel-item, .company-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px; border: 1px solid #dbe0e5; border-radius: 8px; background: #fff; }
.company-panel-item h2, .company-panel-heading h1 { margin: 0 0 6px; }
.company-panel-item p, .company-panel-heading p { margin: 0; color: #52606d; }
.company-panel-section { margin-top: 24px; }
.company-panel-section h2 { font-size: 20px; }
.company-panel-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.metrics-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.metric-card { display: grid; gap: 8px; min-width: 0; padding: 18px; border: 1px solid #dbe0e5; border-radius: 8px; background: #fff; }
.metric-card span { color: #52606d; font-size: 13px; }
.metric-card strong { font-size: 28px; overflow-wrap: anywhere; }
.link-bio-body { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: #f4f6f8; }
.link-bio-card { width: min(100%, 480px); padding: 32px; text-align: center; border: 1px solid #dbe0e5; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(24, 32, 42, .08); }
.link-bio-card h1 { margin-bottom: 8px; }
.link-bio-logo { display: block; width: 96px; height: 96px; margin: 0 auto 20px; border-radius: 18px; object-fit: contain; }
.link-bio-category { margin: 0 0 24px; color: #52606d; }
.link-bio-contacts { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; text-align: left; }
.link-bio-contacts a, .link-bio-contact-text { display: grid; gap: 3px; width: 100%; padding: 13px 16px; border: 1px solid #aeb7c1; border-radius: 8px; color: #18202a; text-decoration: none; overflow-wrap: anywhere; }
.link-bio-contacts a { border-color: #006f7a; color: #00565e; }
.link-bio-contacts a:hover { background: #e4eef0; }
.link-bio-contacts span { font-size: 13px; font-weight: 400; }
.public-company-body { background: #f5f6fa; color: #101220; }
.public-header { min-height: 64px; display: flex; align-items: center; padding: 0 max(24px, calc((100% - 1120px) / 2)); background: #fff; border-bottom: 1px solid #c6cbda; }
.public-company-page { width: min(100% - 32px, 1120px); margin: 0 auto; padding: 24px 0 48px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: #6b7290; font-size: 14px; }
.company-hero { display: flex; align-items: center; gap: 24px; padding: 32px; border-radius: 16px; background: #fff; border: 1px solid #c6cbda; }
.company-logo { width: 112px; height: 112px; border-radius: 16px; object-fit: contain; }
.company-category { margin: 0 0 8px; color: #1a5a80; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.company-hero h1 { margin: 0 0 8px; font-size: 34px; }
.company-lead { margin: 0 0 16px; font-size: 18px; line-height: 1.5; }
.business-status { display: inline-block; margin: 0; padding: 6px 10px; border-radius: 999px; background: #f5f6fa; color: #c2312e; font-size: 14px; font-weight: 700; }
.business-status--open { background: #d9f5ed; color: #077f5e; }
.public-section { margin-top: 24px; padding: 24px; border: 1px solid #c6cbda; border-radius: 12px; background: #fff; }
.public-section h2 { margin: 0 0 16px; font-size: 22px; }
.preserve-lines { white-space: pre-wrap; line-height: 1.5; }
.company-contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.company-contacts a, .company-contact-text { display: grid; gap: 4px; min-height: 64px; padding: 12px 16px; border: 1px solid #c6cbda; border-radius: 8px; color: #101220; text-decoration: none; overflow-wrap: anywhere; }
.company-contacts a { border-color: #2274a5; color: #1a5a80; }
.company-contacts a:hover { background: #eef6fb; }
.company-contacts span { font-size: 14px; }
.public-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.public-photo-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; background: #f5f6fa; }
.public-company-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.business-hours { margin: 0; }
.business-hours div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid #e5e7ef; }
.business-hours div:last-child { border-bottom: 0; }
.business-hours dt { font-weight: 600; }
.business-hours dd { margin: 0; text-align: right; }
.company-details p { margin: 8px 0; }
.company-ad { min-height: 96px; display: grid; place-items: center; margin-top: 24px; border: 1px dashed #8a6200; border-radius: 12px; background: #fff7d8; color: #8a6200; }
.company-ad span { font-size: 12px; font-weight: 700; text-transform: uppercase; }
.company-qr { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.company-qr img { width: 160px; height: 160px; }
.company-claim { margin-top: 20px; text-align: center; }
.decision-actions { display: grid; gap: 8px; min-width: 240px; }
.decision-actions form { display: flex; align-items: center; gap: 8px; }
.decision-actions input { min-width: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 520px) {
    .topbar { height: auto; flex-wrap: wrap; gap: 8px; padding: 10px 16px; }
    .menu { margin: 0; width: 100%; order: 3; }
    .content { width: min(100% - 24px, 1120px); padding-top: 20px; }
    .panel { margin-top: 24px; padding: 22px; }
    .form-grid { grid-template-columns: 1fr; gap: 0; }
    .schedule-grid { grid-template-columns: 1fr; }
    .photo-grid { grid-template-columns: 1fr; }
    .institutional-page { margin-top: 8px; padding: 22px; }
    .public-company-page { width: min(100% - 24px, 1120px); padding-top: 16px; }
    .company-hero { align-items: flex-start; padding: 24px; }
    .company-logo { width: 72px; height: 72px; }
    .company-hero h1 { font-size: 28px; }
    .company-contacts, .public-photo-grid, .public-company-columns { grid-template-columns: 1fr; }
    .company-panel-item, .company-panel-heading { align-items: flex-start; flex-direction: column; }
    .metrics-grid { grid-template-columns: 1fr; }
    .company-qr { align-items: flex-start; flex-direction: column; }
    /* Tabela do painel rola sozinha em vez de empurrar a pagina para o lado. */
    table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Experiência pública demonstrável */
.public-site-body { margin: 0; background: #f7f6f2; color: #17312f; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.public-site-body *, .public-site-body *::before, .public-site-body *::after { box-sizing: border-box; }
.public-site-body a { color: inherit; }
.public-shell { width: min(100% - 40px, 1180px); margin-inline: auto; }
.public-site-header { position: relative; z-index: 10; min-height: 76px; border-bottom: 1px solid rgba(20, 55, 51, .1); background: rgba(255, 255, 255, .96); }
.public-site-header__inner { display: flex; align-items: center; justify-content: space-between; width: min(100% - 40px, 1180px); min-height: 76px; margin-inline: auto; gap: 28px; }
.public-brand { display: inline-flex; align-items: center; gap: 10px; color: #173d39; font-size: 21px; font-weight: 850; letter-spacing: -.04em; text-decoration: none; }
.public-brand__mark { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px 11px 11px 3px; background: #e56248; color: #fff; font-size: 19px; letter-spacing: 0; box-shadow: 0 6px 14px rgba(229, 98, 72, .22); }
.public-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 700; }
.public-nav a { color: #315551; text-decoration: none; }
.public-nav a:hover, .public-nav a[aria-current="page"] { color: #e05e46; }
.public-nav__account { padding: 10px 17px; border: 1px solid #b9cbc7; border-radius: 999px; }
.public-hero { position: relative; min-height: 500px; overflow: hidden; background: #173f3b; color: #fff; }
.public-hero::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 80% 30%, rgba(242, 185, 101, .23), transparent 28%), linear-gradient(120deg, transparent 58%, rgba(255,255,255,.045) 58% 59%, transparent 59%); }
.public-hero__glow { position: absolute; right: -110px; bottom: -250px; width: 600px; height: 600px; border: 84px solid rgba(226, 103, 77, .48); border-radius: 50%; }
.public-hero__content { position: relative; display: flex; min-height: 500px; flex-direction: column; justify-content: center; padding-block: 72px 82px; }
.public-eyebrow { margin: 0 0 11px; color: #d86149; font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.public-hero .public-eyebrow { color: #f3be6a; }
.public-hero h1 { max-width: 800px; margin: 0; font-size: clamp(42px, 6vw, 72px); line-height: 1.02; letter-spacing: -.055em; }
.public-hero__lead { max-width: 650px; margin: 22px 0 30px; color: #dbe9e6; font-size: 19px; line-height: 1.55; }
.public-search { display: grid; grid-template-columns: auto 1fr auto; align-items: center; width: min(100%, 760px); padding: 7px; border-radius: 16px; background: #fff; box-shadow: 0 18px 45px rgba(4, 20, 18, .25); }
.public-search__icon { padding-left: 14px; color: #51706d; font-size: 25px; }
.public-search input { width: 100%; height: 54px; padding: 0 14px; border: 0; outline: 0; background: transparent; color: #17312f; font: inherit; font-size: 16px; }
.public-search button, .catalog-search > button, .public-pagination button, .public-pagination > a { display: inline-grid; min-height: 48px; padding: 0 25px; place-items: center; border: 0; border-radius: 11px; background: #e56248; color: #fff; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.public-search-hint { margin: 12px 0 0; color: #a9c5c0; font-size: 13px; }
.public-home-section { padding-block: 72px; }
.public-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.public-section-heading h2, .public-page-heading h1 { margin: 0; color: #17312f; font-size: clamp(29px, 4vw, 41px); letter-spacing: -.045em; }
.public-section-heading > a { color: #bb4d39; font-size: 14px; font-weight: 800; text-decoration: none; }
.public-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.public-category-card { display: flex; min-height: 158px; flex-direction: column; align-items: flex-start; padding: 20px; border: 1px solid #dde5df; border-radius: 18px; background: #fff; text-decoration: none; transition: transform .2s, border-color .2s, box-shadow .2s; }
.public-category-card:hover { border-color: #9fbab4; box-shadow: 0 14px 30px rgba(20, 55, 51, .08); transform: translateY(-3px); }
.public-category-card__icon { display: grid; width: 48px; height: 48px; margin-bottom: auto; place-items: center; border-radius: 14px; background: #e8f1ed; color: #1d5a50; font-size: 22px; }
.public-category-card:nth-child(even) .public-category-card__icon { background: #fff0e8; color: #c9513b; }
.public-category-card strong { margin-top: 17px; font-size: 16px; }
.public-category-card small { margin-top: 4px; color: #70837f; }
.public-company-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.public-company-card { overflow: hidden; border: 1px solid #dbe3de; border-radius: 22px; background: #fff; box-shadow: 0 9px 30px rgba(30, 63, 58, .055); }
.public-company-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #e7efeb; }
.public-company-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.public-company-card:hover .public-company-card__media img { transform: scale(1.035); }
.public-company-card__media span { position: absolute; top: 14px; left: 14px; padding: 7px 10px; border-radius: 999px; background: #fff; color: #b74633; font-size: 11px; font-weight: 850; text-transform: uppercase; box-shadow: 0 5px 15px rgba(0,0,0,.1); }
.public-company-card__body { padding: 21px; }
.public-company-card__body > p:first-child, .public-article-card > div > p:first-child, .radar-card > div > p:first-child { margin: 0 0 8px; color: #d25a43; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.public-company-card h3, .public-article-card h3 { margin: 0; font-size: 22px; letter-spacing: -.025em; }
.public-company-card h3 a, .public-article-card h3 a, .radar-card h2 a { text-decoration: none; }
.public-company-card__description, .public-article-card__summary { min-height: 47px; margin: 10px 0 16px; color: #637873; font-size: 14px; line-height: 1.55; }
.public-text-link { color: #b94a36 !important; font-size: 14px; font-weight: 850; text-decoration: none; }
.public-home-radar { background: #e7eee9; }
.public-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.public-article-card { overflow: hidden; border-radius: 19px; background: #fff; }
.public-article-card > a { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.public-article-card img { width: 100%; height: 100%; object-fit: cover; }
.public-article-card > div { padding: 21px; }
.public-empty-home { padding-block: 100px; text-align: center; }
.public-empty-home > span { display: grid; width: 70px; height: 70px; margin: 0 auto 22px; place-items: center; border-radius: 50%; background: #e4eee9; color: #e05f47; font-size: 36px; }
.public-empty-home h2 { margin: 0; font-size: 32px; letter-spacing: -.04em; }
.public-empty-home p { color: #657a75; }
.public-site-footer { padding: 56px 20px 20px; background: #112d2a; color: #d7e4e0; }
.public-site-footer__inner { display: flex; justify-content: space-between; width: min(100%, 1180px); margin: 0 auto 48px; gap: 40px; }
.public-brand--footer { color: #fff; }
.public-site-footer__inner p { max-width: 420px; color: #9db5b0; line-height: 1.6; }
.public-site-footer nav { display: flex; align-items: flex-start; gap: 26px; font-size: 14px; font-weight: 700; }
.public-site-footer nav a { color: #d7e4e0; text-decoration: none; }
.public-site-footer__legal { width: min(100%, 1180px); margin: 0 auto; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); color: #79938e; font-size: 12px; }
.public-page { min-height: 620px; padding: 30px 0 80px; }
.public-page .breadcrumbs { margin: 0 0 38px; color: #71837f; }
.public-page-heading { margin-bottom: 30px; }
.public-page-heading > p:last-child { margin: 12px 0 0; color: #647a75; font-size: 17px; }
.catalog-search { display: grid; grid-template-columns: 1.6fr 1fr 1fr auto; align-items: end; gap: 14px; padding: 22px; border: 1px solid #d9e2dd; border-radius: 18px; background: #fff; box-shadow: 0 8px 30px rgba(20, 55, 51, .05); }
.catalog-search label, .catalog-search legend { color: #304f4b; font-size: 13px; font-weight: 800; }
.catalog-search input[type="search"], .catalog-search select { height: 48px; margin-top: 7px; border: 1px solid #bfcfca; border-radius: 10px; }
.catalog-search__modes { display: flex; grid-column: 1 / -1; gap: 22px; margin: 4px 0 0; padding: 14px 0 0; border: 0; border-top: 1px solid #e6ece8; border-radius: 0; }
.catalog-search__modes legend { float: left; margin-right: 24px; padding: 8px 0 0; }
.catalog-search__modes label { font-weight: 600; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; margin: 26px 0 16px; gap: 20px; }
.catalog-toolbar p { margin: 0; color: #637873; font-size: 14px; font-weight: 700; }
.public-location-button { padding: 9px 15px; border: 1px solid #afc4bf; border-radius: 999px; background: transparent; color: #24534c; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.catalog-results { display: grid; gap: 16px; }
.catalog-result-card { display: grid; grid-template-columns: 240px 1fr; overflow: hidden; border: 1px solid #d9e2dd; border-radius: 18px; background: #fff; }
.catalog-result-card__media { min-height: 190px; background: #e4ede8; }
.catalog-result-card__media img { width: 100%; height: 100%; object-fit: cover; }
.catalog-result-card > div { padding: 23px 26px; }
.catalog-result-card__meta { margin: 0 0 7px; color: #cf5740; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.catalog-result-card h2 { margin: 0; font-size: 25px; }
.catalog-result-card h2 a { text-decoration: none; }
.catalog-result-card > div > p:not(.catalog-result-card__meta) { margin: 8px 0 13px; color: #617671; }
.catalog-result-card__tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 15px; }
.catalog-result-card__tags span { padding: 5px 8px; border-radius: 999px; background: #edf3ef; color: #42615c; font-size: 11px; font-weight: 700; }
.public-empty-state, .public-notice { padding: 28px; border: 1px solid #d7e2dd; border-radius: 16px; background: #fff; }
.public-empty-state h2 { margin: 0 0 8px; }
.public-empty-state p { color: #637873; }
.public-pagination { margin-top: 25px; }
.public-radar-page { background: #edf1ed; }
.public-page-heading--radar { padding: 42px; border-radius: 24px; background: #173f3b; }
.public-page-heading--radar h1 { color: #fff; }
.public-page-heading--radar > p:last-child { color: #bcd0cc; }
.radar-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.radar-card { overflow: hidden; border-radius: 20px; background: #fff; }
.radar-card > a { display: block; aspect-ratio: 16 / 8; overflow: hidden; }
.radar-card img { width: 100%; height: 100%; object-fit: cover; }
.radar-card > div { padding: 24px; }
.radar-card h2 { margin: 0; font-size: 26px; letter-spacing: -.035em; }
.radar-card__summary { min-height: 48px; color: #637873; line-height: 1.55; }
.public-article-shell { max-width: 900px; }
.public-article { overflow: hidden; border: 1px solid #dbe3de; border-radius: 24px; background: #fff; }
.public-article > header { padding: 48px 56px 35px; }
.public-article h1 { max-width: 740px; margin: 0; font-size: clamp(38px, 6vw, 58px); line-height: 1.08; letter-spacing: -.05em; }
.public-article__lead { margin: 20px 0 0; color: #60746f; font-size: 20px; line-height: 1.55; }
.public-article__cover { display: block; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.public-article__content { padding: 42px 56px 56px; color: #314b47; font-size: 18px; line-height: 1.8; }
.public-company-body { background: #f3f5f2; }
.public-company-page .company-hero, .public-company-page .public-section { border-color: #d9e2dd; box-shadow: 0 8px 28px rgba(20,55,51,.045); }
.public-company-page .company-hero { background: linear-gradient(135deg, #fff 65%, #e8f1ed); }
.public-company-page .company-category { color: #d35a43; }
.public-company-page .company-logo { width: 150px; height: 112px; object-fit: cover; }

@media (max-width: 900px) {
    .public-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .public-company-grid, .public-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-search { grid-template-columns: 1fr 1fr; }
    .catalog-search__term { grid-column: 1 / -1; }
    .catalog-search > button { align-self: end; }
}

@media (max-width: 620px) {
    .public-shell, .public-site-header__inner { width: min(100% - 26px, 1180px); }
    .public-site-header, .public-site-header__inner { min-height: 68px; }
    .public-nav { gap: 12px; }
    .public-nav > a:not(.public-nav__account) { display: none; }
    .public-brand { font-size: 19px; }
    .public-hero, .public-hero__content { min-height: 480px; }
    .public-hero__content { padding-block: 54px 64px; }
    .public-hero h1 { font-size: 43px; }
    .public-hero__lead { font-size: 17px; }
    .public-search { grid-template-columns: auto 1fr; padding: 6px; }
    .public-search button { grid-column: 1 / -1; width: 100%; }
    .public-search-hint { display: none; }
    .public-home-section { padding-block: 52px; }
    .public-section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 23px; }
    .public-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-category-card { min-height: 145px; }
    .public-company-grid, .public-article-grid, .radar-list { grid-template-columns: 1fr; }
    .public-site-footer__inner { flex-direction: column; }
    .public-site-footer nav { flex-direction: column; gap: 14px; }
    .catalog-search { grid-template-columns: 1fr; padding: 17px; }
    .catalog-search__term { grid-column: auto; }
    .catalog-search__modes { flex-direction: column; gap: 6px; }
    .catalog-search__modes legend { float: none; }
    .catalog-toolbar { align-items: flex-start; flex-direction: column; }
    .catalog-result-card { grid-template-columns: 1fr; }
    .catalog-result-card__media { aspect-ratio: 16 / 9; min-height: auto; }
    .public-page-heading--radar { padding: 28px 23px; }
    .public-article > header, .public-article__content { padding: 30px 24px; }
    .public-article__lead { font-size: 17px; }
    .public-company-page .company-hero { flex-direction: column; }
}

/* Identidade visual oficial Guialize
   Paleta: https://coolors.co/2274a5-ffba08-101220-09bc8a-ff3c38 */
body { background: var(--brand-canvas); color: var(--brand-ink); }
h1, h2, h3, strong { color: var(--brand-ink); }
a { text-underline-offset: 3px; }
.shell { width: 100%; min-width: 0; overflow-x: hidden; }
.topbar { width: 100%; min-width: 0; max-width: 100%; min-height: 70px; height: auto; padding: 10px 24px; border-bottom: 3px solid var(--brand-blue); background: var(--brand-white); box-shadow: 0 4px 18px rgba(16, 18, 32, .06); }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; color: var(--brand-ink); }
.brand-logo { display: block; width: 154px; height: auto; }
.content { width: calc(100% - 32px); max-width: 1120px; padding-top: 36px; }
.menu { gap: 4px; }
.menu a { border-radius: 8px; color: var(--brand-ink); }
.menu a:hover { background: rgba(34, 116, 165, .09); color: var(--brand-blue); }
.menu a.ativo { background: var(--brand-yellow); color: var(--brand-ink); }
.logout { border: 1px solid rgba(255, 60, 56, .38); color: var(--brand-red); }
.logout:hover { background: var(--brand-red); color: var(--brand-white); }
.panel, .institutional-page, .company-panel-item, .company-panel-heading, .metric-card, .photo-card, .empty-state { border-color: var(--brand-line); border-radius: 14px; background: var(--brand-white); box-shadow: 0 10px 30px rgba(16, 18, 32, .055); }
.panel { border-top: 5px solid var(--brand-blue); }
input, select, textarea, fieldset { border-color: rgba(16, 18, 32, .28); }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(34, 116, 165, .18); border-color: var(--brand-blue); }
button, .button { background: var(--brand-blue); color: var(--brand-white); }
button:hover, .button:hover { filter: brightness(.92); }
.error { color: var(--brand-red); }
.status { background: rgba(9, 188, 138, .13); color: #057758; border-left: 4px solid var(--brand-green); }
table { border-color: var(--brand-line); border-radius: 12px; box-shadow: 0 8px 24px rgba(16, 18, 32, .04); }
th { background: rgba(34, 116, 165, .08); color: var(--brand-ink); }
th, td { border-bottom-color: rgba(16, 18, 32, .09); }
td a { color: var(--brand-blue); font-weight: 650; }
.helper, .photo-card figcaption, .photo-choice__caption, .company-panel-item p, .company-panel-heading p, .metric-card span { color: var(--brand-muted); }
.upload-progress progress { accent-color: var(--brand-green); }
.metric-card { position: relative; overflow: hidden; }
.metric-card::before { position: absolute; inset: 0 0 auto; height: 4px; background: var(--brand-green); content: ""; }
.metric-card:nth-child(even)::before { background: var(--brand-yellow); }
.qr-code-image { border-color: var(--brand-line); }

.public-site-body { background: var(--brand-canvas); color: var(--brand-ink); }
.public-site-header { min-height: 76px; border-bottom: 3px solid var(--brand-blue); background: rgba(255, 255, 255, .97); box-shadow: 0 4px 18px rgba(16, 18, 32, .05); }
.public-brand { display: inline-flex; align-items: center; line-height: 1; }
.public-brand__logo { display: block; width: 158px; height: auto; }
.public-nav a { color: var(--brand-ink); }
.public-nav a:hover, .public-nav a[aria-current="page"] { color: var(--brand-blue); }
.public-nav__account { border-color: var(--brand-blue); color: var(--brand-blue) !important; }
.public-nav__account:hover { background: var(--brand-blue); color: var(--brand-white) !important; }
.public-hero { background: linear-gradient(118deg, var(--brand-ink) 0 42%, #182e4a 70%, var(--brand-blue) 125%); }
.public-hero::before { background: radial-gradient(circle at 78% 22%, rgba(255, 186, 8, .27), transparent 24%), radial-gradient(circle at 64% 92%, rgba(9, 188, 138, .2), transparent 28%), linear-gradient(120deg, transparent 58%, rgba(255,255,255,.055) 58% 59%, transparent 59%); }
.public-hero__glow { right: -100px; bottom: -290px; border-color: rgba(255, 60, 56, .6); }
.public-eyebrow { color: var(--brand-red); }
.public-hero .public-eyebrow { color: var(--brand-yellow); }
.public-hero h1 { color: var(--brand-white); }
.public-hero__lead { color: rgba(255, 255, 255, .82); }
.public-search { box-shadow: 0 20px 50px rgba(16, 18, 32, .35); }
.public-search__icon { color: var(--brand-blue); }
.public-search input { color: var(--brand-ink); }
.public-search input:focus { outline: 0; }
.public-search button, .catalog-search > button, .public-pagination button, .public-pagination > a { background: var(--brand-red); }
.public-search-hint { color: rgba(255, 255, 255, .66); }
.public-section-heading h2, .public-page-heading h1 { color: var(--brand-ink); }
.public-section-heading > a, .public-text-link { color: var(--brand-blue) !important; }
.public-category-card { border-color: var(--brand-line); box-shadow: 0 7px 24px rgba(16, 18, 32, .035); }
.public-category-card:hover { border-color: var(--brand-blue); box-shadow: 0 14px 30px rgba(34, 116, 165, .13); }
.public-category-card__icon { background: rgba(34, 116, 165, .11); color: var(--brand-blue); }
.public-category-card:nth-child(2n) .public-category-card__icon { background: rgba(255, 186, 8, .18); color: #9d6f00; }
.public-category-card:nth-child(3n) .public-category-card__icon { background: rgba(9, 188, 138, .14); color: #057758; }
.public-category-card:nth-child(5n) .public-category-card__icon { background: rgba(255, 60, 56, .11); color: var(--brand-red); }
.public-category-card small, .public-company-card__description, .public-article-card__summary { color: var(--brand-muted); }
.public-company-card, .public-article-card, .radar-card { border: 1px solid var(--brand-line); box-shadow: 0 10px 28px rgba(16, 18, 32, .06); }
.public-company-card__media, .catalog-result-card__media { background: rgba(34, 116, 165, .08); }
.public-company-card__media span { background: var(--brand-yellow); color: var(--brand-ink); }
.public-company-card__body > p:first-child, .public-article-card > div > p:first-child, .radar-card > div > p:first-child, .catalog-result-card__meta { color: var(--brand-red); }
.public-home-radar { background: rgba(34, 116, 165, .075); border-top: 1px solid rgba(34, 116, 165, .12); }
.public-empty-home > span { background: rgba(255, 186, 8, .22); color: var(--brand-blue); }
.public-empty-home p { color: var(--brand-muted); }
.public-site-footer { background: var(--brand-ink); color: var(--brand-white); border-top: 6px solid var(--brand-yellow); }
.public-brand--footer { padding: 9px 12px; border-radius: 10px; background: var(--brand-white); }
.public-site-footer__inner p { color: rgba(255, 255, 255, .64); }
.public-site-footer nav a { color: rgba(255, 255, 255, .84); }
.public-site-footer nav a:hover { color: var(--brand-yellow); }
.public-site-footer__legal { border-top-color: rgba(255,255,255,.13); color: rgba(255, 255, 255, .45); }
.public-page .breadcrumbs, .public-page-heading > p:last-child, .catalog-toolbar p, .catalog-result-card > div > p:not(.catalog-result-card__meta), .public-empty-state p, .radar-card__summary, .public-article__lead, .public-article__content { color: var(--brand-muted); }
.breadcrumbs a { color: var(--brand-blue); }
.catalog-search, .catalog-result-card, .public-empty-state, .public-notice, .public-article { border-color: var(--brand-line); box-shadow: 0 8px 28px rgba(16, 18, 32, .045); }
.catalog-search label, .catalog-search legend { color: var(--brand-ink); }
.catalog-search input[type="search"], .catalog-search select { border-color: rgba(16, 18, 32, .24); }
.catalog-search__modes { border-top-color: rgba(16, 18, 32, .1); }
.public-location-button { border-color: var(--brand-blue); color: var(--brand-blue); }
.public-location-button:hover { background: var(--brand-blue); color: var(--brand-white); }
.catalog-result-card__tags span { background: rgba(9, 188, 138, .12); color: #057758; }
.public-radar-page { background: rgba(34, 116, 165, .06); }
.public-page-heading--radar { background: linear-gradient(125deg, var(--brand-ink), var(--brand-blue)); box-shadow: inset 0 -6px 0 var(--brand-yellow); }
.public-page-heading--radar h1 { color: var(--brand-white); }
.public-page-heading--radar > p:last-child { color: rgba(255,255,255,.74); }
.public-article { border-top: 6px solid var(--brand-blue); }
.public-company-body { background: var(--brand-canvas); }
.public-company-page .company-hero, .public-company-page .public-section { border-color: var(--brand-line); box-shadow: 0 8px 28px rgba(16, 18, 32, .045); }
.public-company-page .company-hero { background: linear-gradient(135deg, var(--brand-white) 68%, rgba(34, 116, 165, .1)); border-top: 5px solid var(--brand-blue); }
.public-company-page .company-category { color: var(--brand-red); }
.business-status { background: rgba(255, 60, 56, .1); color: var(--brand-red); }
.business-status--open { background: rgba(9, 188, 138, .14); color: #057758; }
.company-contacts a { border-color: var(--brand-blue); color: var(--brand-blue); }
.company-contacts a:hover { background: rgba(34, 116, 165, .07); }
.company-ad { border-color: #b07b00; background: rgba(255, 186, 8, .13); color: #805a00; }
.company-claim a { color: var(--brand-blue); font-weight: 750; }

.link-bio-body { background: linear-gradient(145deg, var(--brand-ink), var(--brand-blue)); }
.link-bio-card { border: 0; border-top: 6px solid var(--brand-yellow); box-shadow: 0 22px 60px rgba(16, 18, 32, .32); }
.link-bio-category { color: var(--brand-muted); }
.link-bio-contacts a, .link-bio-contact-text { border-color: var(--brand-line); color: var(--brand-ink); }
.link-bio-contacts a { border-color: var(--brand-blue); color: var(--brand-blue); }
.link-bio-contacts a:hover { background: rgba(34, 116, 165, .07); }
.link-bio-powered { display: block; width: 160px; margin: 22px auto 0; padding: 9px 12px; border-radius: 9px; background: var(--brand-white); }
.link-bio-powered img { display: block; width: 100%; height: auto; }

@media (max-width: 760px) {
    .topbar { align-items: flex-start; }
    .brand-logo { width: 138px; }
    .menu { order: 3; width: auto; min-width: 0; max-width: 100%; flex: 1 1 100%; flex-wrap: nowrap; margin: 4px 0 0; padding: 8px 0 5px; overflow-x: auto; border-top: 1px solid var(--brand-line); scrollbar-color: var(--brand-blue) transparent; scrollbar-width: thin; }
    .menu a { flex: 0 0 auto; white-space: nowrap; }
}

@media (max-width: 620px) {
    .public-brand__logo { width: 142px; }
    .public-site-header, .public-site-header__inner { min-height: 70px; }
    .content { width: calc(100% - 24px); }
}

/* Visão geral administrativa */
.admin-dashboard { display: grid; gap: 34px; }
.admin-dashboard__hero { position: relative; display: flex; min-height: 210px; align-items: flex-end; justify-content: space-between; gap: 30px; overflow: hidden; padding: 38px 42px; border-radius: 22px; background: linear-gradient(120deg, var(--brand-ink), #173958 72%, var(--brand-blue)); color: var(--brand-white); box-shadow: 0 18px 45px rgba(16, 18, 32, .16); }
.admin-dashboard__hero::before { position: absolute; right: -80px; bottom: -190px; width: 390px; height: 390px; border: 56px solid rgba(255, 60, 56, .68); border-radius: 50%; content: ""; }
.admin-dashboard__hero::after { position: absolute; top: -65px; right: 270px; width: 130px; height: 130px; border-radius: 50%; background: rgba(255, 186, 8, .18); content: ""; }
.admin-dashboard__hero > * { position: relative; z-index: 1; }
.admin-dashboard__eyebrow { margin: 0 0 8px; color: var(--brand-red); font-size: 11px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.admin-dashboard__hero .admin-dashboard__eyebrow { color: var(--brand-yellow); }
.admin-dashboard__hero h1 { margin: 0; color: var(--brand-white); font-size: clamp(34px, 5vw, 52px); letter-spacing: -.045em; }
.admin-dashboard__hero p:last-child { margin: 10px 0 0; color: rgba(255,255,255,.72); font-size: 16px; }
.admin-dashboard__public-link { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.55); background: var(--brand-white); color: var(--brand-blue); }
.admin-dashboard__section { display: grid; gap: 18px; }
.admin-dashboard__section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.admin-dashboard__section-heading h2 { margin: 0; font-size: 27px; letter-spacing: -.035em; }
.admin-dashboard__section-heading > p { margin: 0 0 3px; color: var(--brand-muted); font-size: 13px; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.admin-stat-card { position: relative; display: grid; min-height: 150px; overflow: hidden; padding: 20px; border: 1px solid var(--brand-line); border-radius: 16px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16, 18, 32, .045); }
.admin-stat-card::before { position: absolute; inset: 0 0 auto; height: 5px; background: var(--stat-color); content: ""; }
.admin-stat-card > span { color: var(--brand-muted); font-size: 12px; font-weight: 750; }
.admin-stat-card > strong { align-self: end; color: var(--brand-ink); font-size: 40px; line-height: 1; }
.admin-stat-card > small { margin-top: 7px; color: var(--brand-muted); font-size: 11px; }
.admin-stat-card--blue { --stat-color: var(--brand-blue); }
.admin-stat-card--green { --stat-color: var(--brand-green); }
.admin-stat-card--yellow { --stat-color: var(--brand-yellow); }
.admin-stat-card--red { --stat-color: var(--brand-red); }
.admin-stat-card--ink { --stat-color: var(--brand-ink); }
.admin-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.admin-quick-grid > a { display: flex; min-height: 112px; align-items: center; gap: 15px; padding: 18px; border: 1px solid var(--brand-line); border-radius: 16px; background: var(--brand-white); color: var(--brand-ink); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.admin-quick-grid > a:hover { border-color: var(--brand-blue); box-shadow: 0 12px 28px rgba(34, 116, 165, .11); transform: translateY(-2px); }
.admin-quick-grid > a > span { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border-radius: 13px; background: rgba(34, 116, 165, .1); color: var(--brand-blue); font-size: 22px; font-weight: 800; }
.admin-quick-grid strong { display: block; font-size: 15px; }
.admin-quick-grid small { display: block; margin-top: 5px; color: var(--brand-muted); line-height: 1.35; }

@media (max-width: 980px) {
    .admin-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .admin-dashboard { gap: 28px; }
    .admin-dashboard__hero { min-height: 250px; align-items: flex-start; flex-direction: column; padding: 28px 24px; }
    .admin-dashboard__hero::before { right: -170px; bottom: -230px; }
    .admin-dashboard__public-link { margin-top: auto; }
    .admin-dashboard__section-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-stat-card { min-height: 138px; padding: 17px; }
    .admin-quick-grid { grid-template-columns: 1fr; }
}

/* Painel demonstrável do responsável */
.owner-landing, .owner-dashboard { display: grid; gap: 32px; }
.owner-landing__hero { display: flex; min-height: 190px; align-items: flex-end; justify-content: space-between; gap: 32px; padding: 36px 40px; border-radius: 22px; background: linear-gradient(122deg, var(--brand-blue), #18587f 60%, var(--brand-ink)); color: var(--brand-white); box-shadow: 0 16px 42px rgba(34, 116, 165, .18); }
.owner-eyebrow { margin: 0 0 8px; color: var(--brand-red); font-size: 11px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.owner-landing__hero .owner-eyebrow { color: var(--brand-yellow); }
.owner-landing__hero h1 { margin: 0; color: var(--brand-white); font-size: clamp(36px, 5vw, 52px); letter-spacing: -.045em; }
.owner-landing__hero p:last-child { max-width: 660px; margin: 10px 0 0; color: rgba(255, 255, 255, .75); font-size: 16px; line-height: 1.55; }
.owner-landing__count { flex: 0 0 auto; padding: 10px 15px; border: 1px solid rgba(255, 255, 255, .42); border-radius: 999px; background: rgba(255, 255, 255, .1); font-size: 13px; font-weight: 800; }
.owner-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.owner-section-heading h2 { margin: 0; font-size: 27px; letter-spacing: -.035em; }
.owner-section-heading > p { margin: 0 0 3px; color: var(--brand-muted); font-size: 13px; }
.owner-company-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.owner-company-card { display: grid; grid-template-columns: 210px 1fr; overflow: hidden; border: 1px solid var(--brand-line); border-radius: 20px; background: var(--brand-white); box-shadow: 0 10px 30px rgba(16, 18, 32, .055); }
.owner-company-card__media { position: relative; min-height: 300px; overflow: hidden; background: rgba(34, 116, 165, .08); }
.owner-company-card__media img { width: 100%; height: 100%; object-fit: cover; }
.owner-company-card__media .owner-status { position: absolute; top: 14px; left: 14px; }
.owner-company-card__body { display: flex; min-width: 0; flex-direction: column; padding: 24px; }
.owner-company-card__meta { margin: 0 0 7px; color: var(--brand-red); font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.owner-company-card h3 { margin: 0; font-size: 25px; letter-spacing: -.035em; }
.owner-company-card__description { margin: 9px 0 18px; color: var(--brand-muted); font-size: 13px; line-height: 1.5; }
.owner-company-card__metric { display: flex; align-items: baseline; gap: 7px; margin-top: auto; padding: 13px 0; border-top: 1px solid rgba(16, 18, 32, .09); }
.owner-company-card__metric strong { font-size: 25px; }
.owner-company-card__metric span { color: var(--brand-muted); font-size: 12px; }
.owner-company-card__actions { display: flex; align-items: center; gap: 16px; margin-top: 4px; }
.owner-company-card__actions .button { min-height: 40px; padding-inline: 15px; }
.owner-secondary-link { color: var(--brand-blue); font-size: 13px; font-weight: 800; text-decoration: none; }
.owner-status, .owner-package { display: inline-flex; align-items: center; width: fit-content; min-height: 28px; padding: 0 10px; border-radius: 999px; background: rgba(255, 186, 8, .2); color: #7d5900; font-size: 11px; font-weight: 850; }
.owner-status--live { background: rgba(9, 188, 138, .15); color: #057758; }
.owner-empty-state { text-align: center; }

.owner-back-link { margin: 0; }
.owner-back-link a { color: var(--brand-blue); font-size: 13px; font-weight: 750; text-decoration: none; }
.owner-dashboard__hero { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 26px; padding: 30px; border: 1px solid var(--brand-line); border-top: 5px solid var(--brand-blue); border-radius: 20px; background: linear-gradient(135deg, var(--brand-white) 65%, rgba(34, 116, 165, .09)); box-shadow: 0 10px 32px rgba(16, 18, 32, .055); }
.owner-dashboard__logo { width: 150px; height: 120px; border-radius: 16px; object-fit: cover; background: rgba(34, 116, 165, .08); }
.owner-dashboard__identity h1 { margin: 0; font-size: clamp(32px, 4vw, 46px); letter-spacing: -.045em; }
.owner-dashboard__identity > p:not(.owner-eyebrow) { margin: 8px 0 0; color: var(--brand-muted); }
.owner-dashboard__badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.owner-package { background: rgba(34, 116, 165, .1); color: var(--brand-blue); }
.owner-dashboard__public-actions { display: flex; align-items: center; flex-direction: column; gap: 12px; }
.owner-dashboard__public-actions .button { white-space: nowrap; }
.owner-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.owner-action-grid > a { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--brand-line); border-radius: 16px; background: var(--brand-white); color: var(--brand-ink); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.owner-action-grid > a:hover { border-color: var(--brand-blue); box-shadow: 0 10px 26px rgba(34, 116, 165, .1); transform: translateY(-2px); }
.owner-action-grid > a > span { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border-radius: 13px; background: rgba(34, 116, 165, .1); color: var(--brand-blue); font-size: 21px; }
.owner-action-grid strong, .owner-action-grid small { display: block; }
.owner-action-grid small { margin-top: 4px; color: var(--brand-muted); line-height: 1.35; }
.owner-metrics-section { display: grid; }
.owner-metrics-section .metric-card:nth-child(2)::before { background: var(--brand-green); }
.owner-metrics-section .metric-card:nth-child(3)::before { background: var(--brand-yellow); }
.owner-metrics-section .metric-card:nth-child(4)::before { background: var(--brand-red); }
.owner-metrics-section .metric-card:nth-child(5)::before { background: var(--brand-ink); }

@media (max-width: 1000px) {
    .owner-company-grid { grid-template-columns: 1fr; }
    .owner-company-card { grid-template-columns: 220px 1fr; }
    .owner-dashboard__hero { grid-template-columns: 120px 1fr; }
    .owner-dashboard__logo { width: 120px; height: 104px; }
    .owner-dashboard__public-actions { grid-column: 1 / -1; align-items: center; flex-direction: row; }
}

@media (max-width: 620px) {
    .owner-landing, .owner-dashboard { gap: 26px; }
    .owner-landing__hero { min-height: 240px; align-items: flex-start; flex-direction: column; padding: 28px 24px; }
    .owner-landing__count { margin-top: auto; }
    .owner-section-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .owner-company-card { grid-template-columns: 1fr; }
    .owner-company-card__media { min-height: 190px; aspect-ratio: 16 / 9; }
    .owner-company-card__body { padding: 21px; }
    .owner-dashboard__hero { grid-template-columns: 72px 1fr; align-items: start; padding: 22px; }
    .owner-dashboard__logo { width: 72px; height: 72px; border-radius: 12px; }
    .owner-dashboard__identity h1 { font-size: 29px; }
    .owner-dashboard__identity > p:not(.owner-eyebrow) { font-size: 13px; }
    .owner-dashboard__public-actions { align-items: flex-start; flex-direction: column; }
    .owner-action-grid { grid-template-columns: 1fr; }
}

/* Formulários demonstráveis do responsável */
.owner-editor, .owner-photo-manager { display: grid; gap: 26px; }
.owner-workspace-hero { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 26px 30px; border: 1px solid var(--brand-line); border-top: 5px solid var(--brand-blue); border-radius: 20px; background: linear-gradient(135deg, var(--brand-white) 68%, rgba(34, 116, 165, .09)); box-shadow: 0 10px 32px rgba(16, 18, 32, .055); }
.owner-workspace-hero__logo { width: 104px; height: 88px; border-radius: 14px; object-fit: cover; background: rgba(34, 116, 165, .08); }
.owner-workspace-hero__identity { min-width: 0; }
.owner-workspace-hero__identity h1 { margin: 0; font-size: clamp(30px, 4vw, 42px); letter-spacing: -.045em; }
.owner-workspace-hero__identity > p:last-child { margin: 8px 0 0; color: var(--brand-muted); }
.owner-workspace-hero__identity > p:last-child strong { color: var(--brand-ink); }
.owner-editor-form { display: grid; gap: 18px; }
.owner-form-section { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; padding: 28px; border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16, 18, 32, .045); }
.owner-form-section__heading { display: flex; align-items: flex-start; gap: 13px; }
.owner-form-section__heading > span { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 12px; background: rgba(34, 116, 165, .1); color: var(--brand-blue); font-size: 20px; font-weight: 800; }
.owner-form-section__heading h2 { margin: 1px 0 5px; font-size: 19px; letter-spacing: -.025em; }
.owner-form-section__heading p { margin: 0; color: var(--brand-muted); font-size: 13px; line-height: 1.5; }
.owner-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.owner-field { min-width: 0; }
.owner-field--wide { grid-column: 1 / -1; }
.owner-field label { margin: 0 0 7px; color: var(--brand-ink); font-size: 13px; }
.owner-field input:not([type="checkbox"]), .owner-field textarea { border-radius: 9px; background: var(--brand-white); }
.owner-field textarea { min-height: 110px; line-height: 1.5; }
.owner-field--checkbox { display: flex; align-items: stretch; }
.owner-field .owner-check { display: flex; width: 100%; min-height: 52px; align-items: center; gap: 11px; margin: 0; padding: 12px 14px; border: 1px solid var(--brand-line); border-radius: 10px; background: rgba(34, 116, 165, .035); cursor: pointer; }
.owner-check input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--brand-blue); }
.owner-form-error { padding: 13px 15px; border-left: 4px solid var(--brand-red); border-radius: 8px; background: rgba(255, 60, 56, .08); }
.owner-form-actions { position: sticky; z-index: 2; bottom: 12px; display: flex; align-items: center; justify-content: flex-end; gap: 22px; padding: 15px 18px; border: 1px solid var(--brand-line); border-radius: 15px; background: rgba(255, 255, 255, .96); box-shadow: 0 12px 36px rgba(16, 18, 32, .12); backdrop-filter: blur(10px); }
.owner-form-actions .button { min-width: 180px; justify-content: center; }

.owner-photo-layout { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); align-items: start; gap: 20px; }
.owner-upload-card, .owner-gallery-card { border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16, 18, 32, .045); }
.owner-upload-card { display: grid; gap: 20px; padding: 24px; }
.owner-gallery-card { min-height: 460px; padding: 28px; }
.owner-photo-usage { display: grid; gap: 9px; padding: 14px 15px; border-radius: 12px; background: rgba(34, 116, 165, .07); color: var(--brand-muted); font-size: 13px; }
.owner-photo-usage strong { color: var(--brand-blue); font-size: 20px; }
.owner-photo-usage progress { width: 100%; height: 9px; accent-color: var(--brand-green); }
.owner-upload-form { display: grid; gap: 13px; }
.owner-upload-form > label:not(.owner-file-picker) { margin: 3px 0 -6px; }
.owner-file-picker { display: grid; min-height: 142px; place-items: center; align-content: center; gap: 5px; margin: 0; padding: 20px; border: 2px dashed rgba(34, 116, 165, .42); border-radius: 14px; background: rgba(34, 116, 165, .045); color: var(--brand-blue); text-align: center; cursor: pointer; transition: border-color .2s, background .2s; }
.owner-file-picker:hover { border-color: var(--brand-blue); background: rgba(34, 116, 165, .09); }
.owner-file-picker > span { font-size: 30px; line-height: 1; }
.owner-file-picker strong { color: var(--brand-blue); font-size: 15px; }
.owner-file-picker small { color: var(--brand-muted); font-weight: 500; }
.owner-file-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.owner-upload-form .button { width: 100%; justify-content: center; margin-top: 4px; }
.owner-gallery-empty { display: grid; min-height: 310px; place-items: center; align-content: center; gap: 9px; text-align: center; }
.owner-gallery-empty > span { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 18px; background: rgba(255, 186, 8, .18); color: #8a6200; font-size: 28px; }
.owner-gallery-empty strong { font-size: 17px; }
.owner-gallery-empty p { max-width: 360px; margin: 0; color: var(--brand-muted); font-size: 13px; line-height: 1.5; }
.owner-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.owner-photo-grid .photo-card { border-radius: 14px; }
.owner-gallery-save { margin-top: 18px; }

@media (max-width: 900px) {
    .owner-form-section { grid-template-columns: 1fr; gap: 22px; }
    .owner-photo-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .owner-editor, .owner-photo-manager { gap: 22px; }
    .owner-workspace-hero { grid-template-columns: 72px minmax(0, 1fr); gap: 16px; padding: 21px; }
    .owner-workspace-hero__logo { width: 72px; height: 68px; border-radius: 11px; }
    .owner-workspace-hero__identity h1 { font-size: 27px; }
    .owner-workspace-hero__identity > p:last-child { font-size: 12px; line-height: 1.45; }
    .owner-workspace-hero > .owner-package { grid-column: 1 / -1; }
    .owner-form-section, .owner-upload-card, .owner-gallery-card { padding: 20px; }
    .owner-form-grid, .owner-photo-grid { grid-template-columns: 1fr; }
    .owner-field--wide { grid-column: auto; }
    .owner-form-actions { bottom: 8px; justify-content: space-between; gap: 14px; padding: 12px 14px; }
    .owner-form-actions .button { min-width: 0; }
    .owner-gallery-card { min-height: 0; }
    .owner-gallery-empty { min-height: 250px; }
}

/* Equipe e acessos do responsável */
.owner-access-manager { display: grid; gap: 26px; }
.owner-access-layout { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); align-items: start; gap: 20px; }
.owner-invite-card, .owner-team-card { border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16, 18, 32, .045); }
.owner-invite-card { display: grid; gap: 20px; padding: 24px; }
.owner-team-card { min-height: 430px; padding: 28px; }
.owner-access-usage { display: grid; gap: 8px; padding: 15px; border-radius: 12px; background: rgba(34, 116, 165, .07); color: var(--brand-muted); font-size: 13px; }
.owner-access-usage strong { color: var(--brand-blue); font-size: 21px; }
.owner-access-usage progress { width: 100%; height: 9px; accent-color: var(--brand-green); }
.owner-access-usage small { color: #057758; font-size: 12px; font-weight: 800; }
.owner-invite-form { display: grid; gap: 12px; }
.owner-invite-form label { margin: 0 0 -5px; }
.owner-invite-form input { border-radius: 9px; }
.owner-invite-form .helper { margin: 0; font-size: 12px; line-height: 1.5; }
.owner-invite-form .button { width: 100%; justify-content: center; }
.owner-access-notice { padding: 15px; border-radius: 12px; }
.owner-access-notice strong { display: block; margin-bottom: 4px; font-size: 14px; }
.owner-access-notice p { margin: 0; font-size: 13px; line-height: 1.5; }
.owner-access-notice--locked { background: rgba(34, 116, 165, .08); color: var(--brand-blue); }
.owner-access-notice--limit { background: rgba(255, 186, 8, .16); color: #755400; }
.owner-access-footnote { display: flex; gap: 8px; margin: 0; padding-top: 17px; border-top: 1px solid rgba(16, 18, 32, .09); color: var(--brand-muted); font-size: 11px; line-height: 1.45; }
.owner-access-footnote span { color: var(--brand-blue); font-weight: 850; }
.owner-team-list { display: grid; gap: 12px; }
.owner-team-member { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 16px; border: 1px solid var(--brand-line); border-radius: 14px; background: rgba(34, 116, 165, .025); }
.owner-team-member__avatar { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: linear-gradient(135deg, var(--brand-blue), #18587f); color: var(--brand-white); font-size: 18px; font-weight: 850; }
.owner-team-member__identity { min-width: 0; }
.owner-team-member__identity h3 { margin: 0; font-size: 15px; }
.owner-team-member__identity p { margin: 4px 0 0; color: var(--brand-muted); font-size: 12px; overflow-wrap: anywhere; }
.owner-team-member__status { display: inline-flex; min-height: 28px; align-items: center; padding: 0 10px; border-radius: 999px; font-size: 10px; font-weight: 850; white-space: nowrap; }
.owner-team-member__status--principal { background: rgba(34, 116, 165, .11); color: var(--brand-blue); }
.owner-team-member__status--ativo { background: rgba(9, 188, 138, .14); color: #057758; }
.owner-team-member__status--pendente { background: rgba(255, 186, 8, .18); color: #755400; }

@media (max-width: 900px) {
    .owner-access-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .owner-access-manager { gap: 22px; }
    .owner-invite-card, .owner-team-card { padding: 20px; }
    .owner-team-card { min-height: 0; }
    .owner-team-member { grid-template-columns: 44px minmax(0, 1fr); padding: 14px; }
    .owner-team-member__avatar { width: 44px; height: 44px; border-radius: 12px; }
    .owner-team-member__status { grid-column: 2; width: fit-content; }
}

/* Catálogo administrativo demonstrável */
.admin-company-catalog, .admin-company-editor { display: grid; gap: 28px; }
.admin-company-catalog__hero { display: flex; min-height: 190px; align-items: flex-end; justify-content: space-between; gap: 28px; padding: 34px 38px; border-radius: 22px; background: linear-gradient(120deg, var(--brand-ink), #173958 72%, var(--brand-blue)); color: var(--brand-white); box-shadow: 0 18px 45px rgba(16, 18, 32, .16); }
.admin-company-catalog__hero h1 { margin: 0; color: var(--brand-white); font-size: clamp(35px, 5vw, 50px); letter-spacing: -.045em; }
.admin-company-catalog__hero p:last-child { margin: 10px 0 0; color: rgba(255, 255, 255, .72); }
.admin-company-catalog__create { flex: 0 0 auto; border: 1px solid rgba(255,255,255,.5); background: var(--brand-white); color: var(--brand-blue); }
.admin-company-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.admin-company-summary article { display: flex; min-height: 92px; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--brand-line); border-radius: 15px; background: var(--brand-white); box-shadow: 0 8px 24px rgba(16,18,32,.04); }
.admin-company-summary article > span { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 12px; background: rgba(34,116,165,.1); color: var(--brand-blue); font-size: 19px; font-weight: 850; }
.admin-company-summary article:nth-child(2) > span { background: rgba(9,188,138,.13); color: #057758; }
.admin-company-summary article:nth-child(3) > span { background: rgba(255,186,8,.18); color: #755400; }
.admin-company-summary p { margin: 0; color: var(--brand-muted); font-size: 13px; }
.admin-company-summary strong { margin-right: 3px; font-size: 27px; }
.admin-company-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.admin-company-card { overflow: hidden; border: 1px solid var(--brand-line); border-radius: 17px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-company-card__identity { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 15px; padding: 19px; }
.admin-company-card__identity > img, .admin-company-card__identity > span:first-child { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 13px; background: linear-gradient(135deg, var(--brand-blue), #18587f); color: var(--brand-white); font-size: 23px; font-weight: 850; object-fit: cover; }
.admin-company-card__identity > div { min-width: 0; }
.admin-company-card__identity p { margin: 0 0 4px; color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.admin-company-card__identity h3 { margin: 0; font-size: 20px; letter-spacing: -.025em; }
.admin-company-card__identity small { display: block; margin-top: 5px; color: var(--brand-muted); font-size: 11px; overflow-wrap: anywhere; }
.admin-company-state { display: inline-flex; min-height: 28px; align-items: center; padding: 0 10px; border-radius: 999px; font-size: 10px; font-weight: 850; white-space: nowrap; }
.admin-company-state--live { background: rgba(9,188,138,.14); color: #057758; }
.admin-company-state--warning, .admin-company-state--pending { background: rgba(255,186,8,.18); color: #755400; }
.admin-company-state--off { background: rgba(255,60,56,.1); color: var(--brand-red); }
.admin-company-state--draft { background: rgba(16,18,32,.08); color: var(--brand-muted); }
.admin-company-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; padding: 13px 19px; border-top: 1px solid rgba(16,18,32,.08); background: rgba(34,116,165,.025); }
.admin-company-card__actions a { color: var(--brand-blue); font-size: 11px; font-weight: 750; text-decoration: none; }
.admin-company-card__actions .button { min-height: 34px; padding-inline: 13px; color: var(--brand-white); }
.admin-company-pagination { margin-top: 20px; }

.admin-company-editor__hero { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 27px 30px; border: 1px solid var(--brand-line); border-top: 5px solid var(--brand-blue); border-radius: 20px; background: linear-gradient(135deg, var(--brand-white) 68%, rgba(34,116,165,.09)); box-shadow: 0 10px 32px rgba(16,18,32,.055); }
.admin-company-editor__hero > img, .admin-company-editor__mark { display: grid; width: 104px; height: 88px; place-items: center; border-radius: 14px; background: linear-gradient(135deg, var(--brand-blue), #18587f); color: var(--brand-white); font-size: 32px; font-weight: 850; object-fit: cover; }
.admin-company-editor__hero > div { min-width: 0; }
.admin-company-editor__hero h1 { margin: 0; font-size: clamp(31px, 4vw, 43px); letter-spacing: -.045em; }
.admin-company-editor__hero > div > p:last-child { margin: 8px 0 0; color: var(--brand-muted); }
.admin-company-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.admin-company-shortcuts a { display: flex; align-items: center; gap: 11px; padding: 15px; border: 1px solid var(--brand-line); border-radius: 14px; background: var(--brand-white); color: var(--brand-ink); text-decoration: none; }
.admin-company-shortcuts a:hover { border-color: var(--brand-blue); }
.admin-company-shortcuts span { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: rgba(34,116,165,.1); color: var(--brand-blue); }
.admin-company-shortcuts strong { font-size: 13px; }
.admin-company-form { display: grid; gap: 18px; }
.admin-company-form-section { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; padding: 28px; border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-company-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px 20px; }
.admin-field { min-width: 0; }
.admin-field--wide { grid-column: 1 / -1; }
.admin-field label { margin: 0 0 7px; font-size: 13px; }
.admin-field input:not([type="checkbox"]), .admin-field select, .admin-field textarea { border-radius: 9px; }
.admin-field textarea { min-height: 108px; line-height: 1.5; }
.admin-field .helper { margin: 6px 0 0; font-size: 11px; }
.admin-field--checkbox { display: flex; align-items: end; }
.admin-field .owner-check { display: flex; width: 100%; min-height: 52px; align-items: center; gap: 10px; margin: 0; padding: 12px 14px; border: 1px solid var(--brand-line); border-radius: 10px; background: rgba(34,116,165,.035); }
.admin-field .owner-check input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--brand-blue); }
.admin-service-options { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; padding: 15px; border-radius: 12px; }
.admin-service-options legend { color: var(--brand-ink); }
.admin-service-options label { min-height: 48px; margin: 0; padding: 11px 13px; border: 1px solid var(--brand-line); border-radius: 10px; background: rgba(34,116,165,.035); }
.admin-service-options input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--brand-blue); }

@media (max-width: 960px) {
    .admin-company-grid { grid-template-columns: 1fr; }
    .admin-company-form-section { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 620px) {
    .admin-company-catalog, .admin-company-editor { gap: 22px; }
    .admin-company-catalog__hero { min-height: 245px; align-items: flex-start; flex-direction: column; padding: 27px 23px; }
    .admin-company-catalog__create { margin-top: auto; }
    .admin-company-summary { grid-template-columns: 1fr; }
    .admin-company-card__identity { grid-template-columns: 56px minmax(0,1fr); padding: 17px; }
    .admin-company-card__identity > img, .admin-company-card__identity > span:first-child { width: 56px; height: 56px; }
    .admin-company-card__identity > .admin-company-state { grid-column: 2; width: fit-content; }
    .admin-company-card__actions { gap: 11px; padding: 13px 17px; }
    .admin-company-editor__hero { grid-template-columns: 72px minmax(0,1fr); gap: 16px; padding: 21px; }
    .admin-company-editor__hero > img, .admin-company-editor__mark { width: 72px; height: 68px; border-radius: 11px; font-size: 25px; }
    .admin-company-editor__hero h1 { font-size: 28px; }
    .admin-company-editor__hero > div > p:last-child { font-size: 12px; }
    .admin-company-editor__hero > .admin-company-state { grid-column: 1 / -1; width: fit-content; }
    .admin-company-shortcuts { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-company-form-section { padding: 20px; }
    .admin-company-form-grid, .admin-service-options { grid-template-columns: 1fr; }
    .admin-field--wide { grid-column: auto; }
}

/* Ferramentas administrativas da empresa */
.admin-schedule-manager, .admin-photo-manager, .admin-qr-manager { display: grid; gap: 26px; }
.admin-tool-hero > div > p:last-child strong { color: var(--brand-ink); }
.admin-tool-guidance { display: flex; align-items: center; gap: 12px; padding: 15px 18px; border: 1px solid rgba(34,116,165,.2); border-radius: 13px; background: rgba(34,116,165,.07); }
.admin-tool-guidance > span { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: var(--brand-white); color: var(--brand-blue); font-weight: 850; }
.admin-tool-guidance p { margin: 0; color: var(--brand-muted); font-size: 13px; line-height: 1.5; }
.admin-schedule-form { display: grid; gap: 18px; }
.admin-schedule-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.admin-schedule-day { display: grid; gap: 10px; min-width: 0; margin: 0; padding: 18px; border: 1px solid var(--brand-line); border-top: 4px solid var(--brand-blue); border-radius: 15px; background: var(--brand-white); box-shadow: 0 8px 24px rgba(16,18,32,.04); }
.admin-schedule-day legend { padding: 0 5px; color: var(--brand-ink); font-size: 14px; font-weight: 850; }
.admin-schedule-day > label:not(.admin-schedule-toggle) { margin: 2px 0 -4px; font-size: 12px; }
.admin-schedule-day textarea { min-height: 86px; border-radius: 9px; font-size: 13px; line-height: 1.45; }
.admin-schedule-toggle { display: flex; min-height: 38px; align-items: center; gap: 8px; margin: 0; padding: 8px 10px; border-radius: 9px; background: rgba(255,60,56,.055); color: var(--brand-muted); font-size: 12px; cursor: pointer; }
.admin-schedule-toggle input[type="checkbox"] { width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--brand-red); }

.admin-photo-layout { display: grid; grid-template-columns: minmax(300px,360px) minmax(0,1fr); align-items: start; gap: 20px; }
.admin-photo-upload, .admin-photo-gallery { border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-photo-upload { display: grid; gap: 20px; padding: 24px; }
.admin-photo-gallery { min-height: 470px; padding: 28px; }

.admin-qr-layout { display: grid; grid-template-columns: minmax(300px,380px) minmax(0,1fr); align-items: stretch; gap: 20px; }
.admin-qr-preview, .admin-qr-details { border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-qr-preview { display: grid; place-items: center; gap: 18px; padding: 28px; }
.admin-qr-preview > img { width: min(100%,300px); height: auto; padding: 14px; border: 1px solid var(--brand-line); border-radius: 15px; background: var(--brand-white); }
.admin-qr-preview .button { width: 100%; justify-content: center; }
.admin-qr-details { display: grid; align-content: start; gap: 22px; padding: 28px; }
.admin-qr-highlight { display: grid; gap: 5px; margin: 0; padding: 17px; border-left: 4px solid var(--brand-green); border-radius: 10px; background: rgba(9,188,138,.09); }
.admin-qr-highlight strong { color: #057758; font-size: 14px; }
.admin-qr-highlight span { color: var(--brand-muted); font-size: 12px; line-height: 1.5; }
.admin-qr-addresses { display: grid; gap: 12px; margin: 0; }
.admin-qr-addresses > div { padding: 15px; border: 1px solid var(--brand-line); border-radius: 11px; background: rgba(34,116,165,.03); }
.admin-qr-addresses dt { margin-bottom: 6px; color: var(--brand-muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.admin-qr-addresses dd { margin: 0; font-size: 13px; overflow-wrap: anywhere; }
.admin-qr-addresses a { color: var(--brand-blue); font-weight: 700; }

@media (max-width: 980px) {
    .admin-schedule-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-photo-layout, .admin-qr-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .admin-schedule-manager, .admin-photo-manager, .admin-qr-manager { gap: 22px; }
    .admin-tool-guidance { align-items: flex-start; padding: 14px; }
    .admin-schedule-grid { grid-template-columns: 1fr; }
    .admin-schedule-day { padding: 17px; }
    .admin-photo-upload, .admin-photo-gallery, .admin-qr-preview, .admin-qr-details { padding: 20px; }
    .admin-photo-gallery { min-height: 0; }
}

/* Catálogos administrativos de território e classificação */
.admin-taxonomy-catalog, .admin-taxonomy-editor { display: grid; gap: 28px; }
.admin-taxonomy-catalog__hero { background: linear-gradient(120deg, var(--brand-ink), #173958 70%, var(--brand-blue)); }
.admin-city-grid, .admin-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.admin-city-card, .admin-category-card { overflow: hidden; border: 1px solid var(--brand-line); border-radius: 17px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-city-card__identity { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 20px; }
.admin-city-card__identity > div, .admin-category-card__header > div { min-width: 0; }
.admin-city-card__uf, .admin-category-card__order { display: grid; width: 62px; height: 62px; flex: 0 0 auto; place-items: center; border-radius: 14px; background: linear-gradient(135deg, var(--brand-blue), #18587f); color: var(--brand-white); font-size: 20px; font-weight: 850; }
.admin-city-card__identity p, .admin-category-card__header p { margin: 0 0 4px; color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.admin-city-card__identity h3, .admin-category-card__header h3 { margin: 0; font-size: 21px; letter-spacing: -.025em; }
.admin-city-card__identity small, .admin-category-card__header small { display: block; margin-top: 5px; color: var(--brand-muted); font-size: 11px; overflow-wrap: anywhere; }
.admin-city-card__coverage { display: flex; align-items: center; gap: 10px; margin: 0 20px 18px; padding: 12px 14px; border-radius: 11px; background: rgba(34,116,165,.06); }
.admin-city-card__coverage > span { color: var(--brand-blue); font-weight: 850; }
.admin-city-card__coverage p { margin: 0; color: var(--brand-muted); font-size: 12px; }
.admin-city-card__coverage strong { color: var(--brand-ink); font-size: 17px; }

.admin-category-card { display: grid; align-content: start; }
.admin-category-card__header { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 19px; }
.admin-category-card__order { width: 54px; height: 54px; background: rgba(255,186,8,.18); color: #755400; font-size: 17px; }
.admin-category-card__header .button { min-height: 35px; padding-inline: 14px; font-size: 11px; }
.admin-category-card__meta { display: flex; gap: 8px; padding: 0 19px 16px; }
.admin-category-card__meta span { padding: 6px 9px; border-radius: 999px; background: rgba(34,116,165,.08); color: var(--brand-blue); font-size: 10px; font-weight: 800; }
.admin-subcategory-list { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid rgba(16,18,32,.08); list-style: none; }
.admin-subcategory-list li { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px 19px; background: rgba(34,116,165,.025); }
.admin-subcategory-list li + li { border-top: 1px solid rgba(16,18,32,.07); }
.admin-subcategory-list li > span { color: var(--brand-blue); font-weight: 850; }
.admin-subcategory-list strong { display: block; font-size: 13px; }
.admin-subcategory-list small { display: block; margin-top: 3px; color: var(--brand-muted); font-size: 10px; overflow-wrap: anywhere; }
.admin-subcategory-list a { color: var(--brand-blue); font-size: 11px; font-weight: 750; text-decoration: none; }
.admin-category-card__empty { margin: auto 0 0; padding: 14px 19px; border-top: 1px solid rgba(16,18,32,.08); background: rgba(34,116,165,.025); color: var(--brand-muted); font-size: 11px; }

.admin-taxonomy-form { display: grid; gap: 18px; }
.admin-taxonomy-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px 20px; }
.admin-taxonomy-actions { display: flex; align-items: center; justify-content: flex-end; gap: 20px; padding: 18px 20px; border: 1px solid var(--brand-line); border-radius: 14px; background: var(--brand-white); box-shadow: 0 8px 24px rgba(16,18,32,.04); }
.admin-taxonomy-actions a { color: var(--brand-blue); font-size: 13px; font-weight: 750; text-decoration: none; }
.admin-city-state { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,410px); align-items: start; gap: 28px; padding: 26px 28px; border: 1px solid var(--brand-line); border-left: 5px solid var(--brand-yellow); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-city-state__action { display: grid; justify-items: end; gap: 11px; }
.admin-city-state__confirmation { width: 100%; margin: 0; padding: 13px 14px; border: 1px solid rgba(255,60,56,.2); border-radius: 11px; background: rgba(255,60,56,.055); color: var(--brand-muted); font-size: 11px; }
.admin-city-state__confirmation input { accent-color: var(--brand-red); }
.admin-danger-button { background: var(--brand-red); }
.admin-city-choice { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 2px 0 0; padding: 16px; border: 1px solid var(--brand-line); border-radius: 13px; }
.admin-city-choice legend { padding: 0 7px; color: var(--brand-ink); font-size: 13px; font-weight: 800; }
.admin-city-choice > p { grid-column: 1 / -1; margin: 0 0 4px; color: var(--brand-muted); font-size: 11px; }
.admin-city-choice .owner-check { display: flex; min-height: 58px; align-items: center; gap: 10px; margin: 0; padding: 11px 13px; border: 1px solid var(--brand-line); border-radius: 10px; background: rgba(34,116,165,.035); }
.admin-city-choice .owner-check input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--brand-blue); }
.admin-city-choice .owner-check span { display: grid; gap: 2px; }
.admin-city-choice .owner-check strong { font-size: 12px; }
.admin-city-choice .owner-check small { color: var(--brand-muted); font-size: 10px; }
.admin-city-choice > .empty-state, .admin-city-choice > .error { grid-column: 1 / -1; }

@media (max-width: 960px) {
    .admin-city-grid, .admin-category-grid { grid-template-columns: 1fr; }
    .admin-city-state { grid-template-columns: 1fr; }
    .admin-city-state__action { justify-items: start; }
}

@media (max-width: 620px) {
    .admin-taxonomy-catalog, .admin-taxonomy-editor { gap: 22px; }
    .admin-city-card__identity { grid-template-columns: 54px minmax(0,1fr); padding: 17px; }
    .admin-city-card__uf { width: 54px; height: 54px; font-size: 17px; }
    .admin-city-card__identity > .admin-company-state { grid-column: 2; width: fit-content; }
    .admin-city-card__coverage { margin: 0 17px 15px; }
    .admin-category-card__header { grid-template-columns: 48px minmax(0,1fr); padding: 17px; }
    .admin-category-card__order { width: 48px; height: 48px; }
    .admin-category-card__header .button { grid-column: 2; width: fit-content; }
    .admin-category-card__meta { flex-wrap: wrap; padding-inline: 17px; }
    .admin-subcategory-list li { grid-template-columns: 25px minmax(0,1fr); padding-inline: 17px; }
    .admin-subcategory-list li > a { grid-column: 2; }
    .admin-taxonomy-form-grid, .admin-city-choice { grid-template-columns: 1fr; }
    .admin-taxonomy-actions { justify-content: space-between; }
    .admin-city-state { gap: 22px; padding: 20px; }
    .admin-city-state__action { justify-items: stretch; }
    .admin-city-state__action button { width: 100%; }
}

/* Bairros dentro da cidade */
.admin-neighborhood-catalog, .admin-neighborhood-editor { display: grid; gap: 28px; }
.admin-neighborhood-catalog__hero { background: linear-gradient(120deg, var(--brand-ink), #173958 70%, var(--brand-blue)); }
.admin-neighborhood-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.admin-neighborhood-card { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--brand-line); border-radius: 15px; background: var(--brand-white); box-shadow: 0 8px 24px rgba(16,18,32,.04); }
.admin-neighborhood-card__mark { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 13px; background: rgba(34,116,165,.1); color: var(--brand-blue); font-size: 14px; font-weight: 850; }
.admin-neighborhood-card > div { min-width: 0; }
.admin-neighborhood-card p { margin: 0 0 4px; color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.admin-neighborhood-card h3 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.admin-neighborhood-card small { display: block; margin-top: 4px; color: var(--brand-muted); font-size: 10px; overflow-wrap: anywhere; }
.admin-neighborhood-card .button { min-height: 35px; padding-inline: 13px; font-size: 11px; }
.admin-neighborhood-form { display: grid; gap: 18px; }
.admin-neighborhood-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 20px; }
.admin-neighborhood-territory { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 28px; padding: 26px 28px; border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-neighborhood-territory__city { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 13px; min-width: 0; padding: 14px; border: 1px solid var(--brand-line); border-radius: 12px; background: rgba(34,116,165,.035); }
.admin-neighborhood-territory__city > span:first-child { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 11px; background: linear-gradient(135deg,var(--brand-blue),#18587f); color: var(--brand-white); font-size: 14px; font-weight: 850; }
.admin-neighborhood-territory__city div { min-width: 0; }
.admin-neighborhood-territory__city strong { display: block; font-size: 14px; }
.admin-neighborhood-territory__city small { display: block; margin-top: 3px; color: var(--brand-muted); font-size: 10px; overflow-wrap: anywhere; }

@media (max-width: 960px) {
    .admin-neighborhood-grid { grid-template-columns: 1fr; }
    .admin-neighborhood-territory { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 620px) {
    .admin-neighborhood-catalog, .admin-neighborhood-editor { gap: 22px; }
    .admin-neighborhood-card { grid-template-columns: 46px minmax(0,1fr); padding: 16px; }
    .admin-neighborhood-card__mark { width: 46px; height: 46px; }
    .admin-neighborhood-card .button { grid-column: 2; width: fit-content; }
    .admin-neighborhood-form-grid { grid-template-columns: 1fr; }
    .admin-neighborhood-territory { padding: 20px; }
    .admin-neighborhood-territory__city { grid-template-columns: 44px minmax(0,1fr); }
    .admin-neighborhood-territory__city > span:first-child { width: 44px; height: 44px; }
    .admin-neighborhood-territory__city > .admin-company-state { grid-column: 2; width: fit-content; }
}

/* Páginas institucionais */
.admin-page-catalog, .admin-page-editor { display: grid; gap: 28px; }
.admin-page-catalog__hero { background: linear-gradient(120deg,var(--brand-ink),#173958 70%,var(--brand-blue)); }
.admin-page-launch-note { display: flex; align-items: flex-start; gap: 13px; padding: 17px 19px; border: 1px solid rgba(255,186,8,.38); border-radius: 14px; background: rgba(255,186,8,.1); }
.admin-page-launch-note > span { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: var(--brand-white); color: #755400; font-weight: 900; }
.admin-page-launch-note strong { font-size: 13px; }
.admin-page-launch-note p { margin: 4px 0 0; color: var(--brand-muted); font-size: 12px; line-height: 1.5; }
.admin-page-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.admin-page-card { display: grid; align-content: start; overflow: hidden; border: 1px solid var(--brand-line); border-radius: 17px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-page-card > header { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 19px; }
.admin-page-card__mark { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 14px; background: linear-gradient(135deg,var(--brand-blue),#18587f); color: var(--brand-white); font-size: 23px; font-weight: 850; }
.admin-page-card > header > div { min-width: 0; }
.admin-page-card > header p { margin: 0 0 4px; color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.admin-page-card h3 { margin: 0; font-size: 19px; letter-spacing: -.025em; }
.admin-page-card > header small { display: block; margin-top: 5px; color: var(--brand-muted); font-size: 10px; overflow-wrap: anywhere; }
.admin-page-card__excerpt { min-height: 78px; margin: 0; padding: 0 19px 18px; color: var(--brand-muted); font-size: 12px; line-height: 1.55; }
.admin-page-card .admin-company-card__actions { margin-top: auto; }
.admin-page-card .admin-company-card__actions > span { color: var(--brand-muted); font-size: 10px; }
.admin-page-form { display: grid; gap: 18px; }
.admin-page-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 20px; }
.admin-page-content-field textarea { min-height: 420px; line-height: 1.65; }
.admin-page-publication { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 28px; padding: 26px 28px; border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-page-publication__control { display: grid; gap: 10px; }
.admin-page-publication__control .owner-check { display: flex; min-height: 68px; align-items: center; gap: 12px; margin: 0; padding: 14px 16px; border: 1px solid var(--brand-line); border-radius: 12px; background: rgba(9,188,138,.055); }
.admin-page-publication__control input[type="checkbox"] { width: 19px; height: 19px; flex: 0 0 auto; accent-color: var(--brand-green); }
.admin-page-publication__control .owner-check span { display: grid; gap: 3px; }
.admin-page-publication__control .owner-check strong { font-size: 13px; }
.admin-page-publication__control .owner-check small { color: var(--brand-muted); font-size: 10px; line-height: 1.45; }
.admin-page-publication__control > a { justify-self: end; color: var(--brand-blue); font-size: 11px; font-weight: 750; text-decoration: none; }

@media (max-width: 960px) {
    .admin-page-grid { grid-template-columns: 1fr; }
    .admin-page-publication { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 620px) {
    .admin-page-catalog, .admin-page-editor { gap: 22px; }
    .admin-page-launch-note { padding: 15px; }
    .admin-page-card > header { grid-template-columns: 52px minmax(0,1fr); padding: 17px; }
    .admin-page-card__mark { width: 52px; height: 52px; }
    .admin-page-card > header > .admin-company-state { grid-column: 2; width: fit-content; }
    .admin-page-card__excerpt { min-height: 0; padding-inline: 17px; }
    .admin-page-form-grid { grid-template-columns: 1fr; }
    .admin-page-content-field textarea { min-height: 360px; }
    .admin-page-publication { padding: 20px; }
    .admin-page-publication__control > a { justify-self: start; }
}

/* Redação administrativa do Radar */
.admin-radar-catalog, .admin-radar-editor, .admin-radar-category-catalog, .admin-radar-category-editor { display: grid; gap: 28px; }
.admin-radar-catalog__hero, .admin-radar-category-catalog__hero { background: linear-gradient(120deg,var(--brand-ink),#173958 68%,var(--brand-blue)); }
.admin-radar-hero-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.admin-radar-hero-actions .secondary { border: 1px solid rgba(255,255,255,.34); background: rgba(255,255,255,.08); }
.admin-radar-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.admin-radar-summary article, .admin-radar-category-summary article { display: flex; min-height: 88px; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--brand-line); border-radius: 15px; background: var(--brand-white); box-shadow: 0 8px 24px rgba(16,18,32,.04); }
.admin-radar-summary article > span, .admin-radar-category-summary article > span { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: rgba(34,116,165,.1); color: var(--brand-blue); font-weight: 900; }
.admin-radar-summary article:nth-child(2) > span { background: rgba(9,188,138,.13); color: #057758; }
.admin-radar-summary article:nth-child(3) > span { background: rgba(255,186,8,.18); color: #755400; }
.admin-radar-summary article:nth-child(4) > span { background: rgba(16,18,32,.07); color: var(--brand-muted); }
.admin-radar-summary p, .admin-radar-category-summary p { margin: 0; color: var(--brand-muted); font-size: 12px; }
.admin-radar-summary strong, .admin-radar-category-summary strong { margin-right: 3px; color: var(--brand-ink); font-size: 25px; }
.admin-radar-schedule-note { display: flex; align-items: flex-start; gap: 13px; padding: 16px 18px; border: 1px solid rgba(255,186,8,.35); border-radius: 14px; background: rgba(255,186,8,.09); }
.admin-radar-schedule-note > span { display: grid; width: 37px; height: 37px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--brand-white); color: #755400; font-weight: 900; }
.admin-radar-schedule-note strong { font-size: 13px; }
.admin-radar-schedule-note p { margin: 4px 0 0; color: var(--brand-muted); font-size: 11px; line-height: 1.5; }
.admin-radar-schedule-note code { color: var(--brand-ink); }
.admin-radar-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.admin-radar-card { display: grid; grid-template-rows: 175px minmax(0,1fr) auto; overflow: hidden; border: 1px solid var(--brand-line); border-radius: 18px; background: var(--brand-white); box-shadow: 0 9px 28px rgba(16,18,32,.05); }
.admin-radar-card__cover { width: 100%; height: 175px; object-fit: cover; background: rgba(34,116,165,.06); }
.admin-radar-card__cover--empty { display: grid; place-items: center; background: linear-gradient(135deg,rgba(34,116,165,.12),rgba(255,186,8,.18)); color: var(--brand-blue); font-size: 42px; }
.admin-radar-card__body { display: grid; align-content: start; gap: 10px; padding: 19px; }
.admin-radar-card__body header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-radar-card__body header p { margin: 0; color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.admin-radar-card h2 { margin: 0; font-size: 21px; letter-spacing: -.025em; line-height: 1.16; }
.admin-radar-card__summary { margin: 0; color: var(--brand-muted); font-size: 12px; line-height: 1.5; }
.admin-radar-card__meta { display: grid; gap: 4px; margin-top: 4px; color: var(--brand-muted); font-size: 10px; overflow-wrap: anywhere; }
.admin-radar-card .admin-company-card__actions > span { color: var(--brand-muted); font-size: 10px; }
.admin-radar-form, .admin-radar-category-form { display: grid; gap: 18px; }
.admin-radar-story-fields { display: grid; gap: 18px; }
.admin-radar-content-field textarea { min-height: 430px; line-height: 1.65; }
.admin-radar-company-choice { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; padding: 16px; border: 1px solid var(--brand-line); border-radius: 13px; }
.admin-radar-company-choice legend { padding: 0 7px; color: var(--brand-ink); font-size: 13px; font-weight: 800; }
.admin-radar-company-choice .owner-check { display: flex; min-height: 60px; align-items: center; gap: 10px; margin: 0; padding: 11px 13px; border: 1px solid var(--brand-line); border-radius: 10px; background: rgba(34,116,165,.035); }
.admin-radar-company-choice input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--brand-blue); }
.admin-radar-company-choice .owner-check span { display: grid; gap: 2px; }
.admin-radar-company-choice strong { font-size: 12px; }
.admin-radar-company-choice small { color: var(--brand-muted); font-size: 10px; }
.admin-radar-publication, .admin-radar-category-ordering { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 28px; padding: 27px 28px; border: 1px solid var(--brand-line); border-left: 5px solid var(--brand-yellow); border-radius: 18px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-radar-publication__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.admin-radar-publication__fields > a { grid-column: 1 / -1; justify-self: end; color: var(--brand-blue); font-size: 11px; font-weight: 750; text-decoration: none; }
.admin-radar-category-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.admin-radar-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.admin-radar-category-card { display: grid; grid-template-columns: 52px minmax(0,1fr); align-items: start; gap: 14px; padding: 19px; border: 1px solid var(--brand-line); border-radius: 17px; background: var(--brand-white); box-shadow: 0 8px 26px rgba(16,18,32,.045); }
.admin-radar-category-card__order { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 13px; background: rgba(255,186,8,.18); color: #755400; font-size: 16px; font-weight: 900; }
.admin-radar-category-card > div { min-width: 0; }
.admin-radar-category-card p { margin: 0 0 3px; color: var(--brand-red); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.admin-radar-category-card h2 { margin: 0; font-size: 20px; letter-spacing: -.025em; }
.admin-radar-category-card small { display: block; margin-top: 4px; color: var(--brand-muted); overflow-wrap: anywhere; }
.admin-radar-category-card strong { display: block; margin-top: 15px; color: var(--brand-blue); font-size: 11px; }
.admin-radar-category-card .button { grid-column: 2; width: fit-content; min-height: 34px; padding-inline: 13px; font-size: 11px; }
.admin-radar-category-ordering { border-left-color: var(--brand-blue); }
.admin-radar-category-ordering > .admin-field { max-width: 260px; }

@media (max-width: 960px) {
    .admin-radar-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-radar-grid { grid-template-columns: 1fr; }
    .admin-radar-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-radar-publication, .admin-radar-category-ordering { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 620px) {
    .admin-radar-catalog, .admin-radar-editor, .admin-radar-category-catalog, .admin-radar-category-editor { gap: 22px; }
    .admin-radar-hero-actions { width: 100%; justify-content: flex-start; margin-top: auto; }
    .admin-radar-hero-actions .button { flex: 1 1 auto; justify-content: center; }
    .admin-radar-summary, .admin-radar-category-summary, .admin-radar-category-grid { grid-template-columns: 1fr; }
    .admin-radar-summary article, .admin-radar-category-summary article { min-height: 72px; }
    .admin-radar-schedule-note { padding: 15px; }
    .admin-radar-card { grid-template-rows: 145px minmax(0,1fr) auto; }
    .admin-radar-card__cover { height: 145px; }
    .admin-radar-card__body { padding: 17px; }
    .admin-radar-card__body header { align-items: flex-start; }
    .admin-radar-content-field textarea { min-height: 360px; }
    .admin-radar-company-choice, .admin-radar-publication__fields { grid-template-columns: 1fr; }
    .admin-radar-publication, .admin-radar-category-ordering { padding: 20px; }
    .admin-radar-publication__fields > a { grid-column: auto; justify-self: start; }
}
