:root {
    --bg: #f4f1e8;
    --ink: #112133;
    --muted: #667482;
    --navy: #0d1f39;
    --navy-strong: #08172d;
    --paper: rgba(255, 255, 255, 0.9);
    --card: #ffffff;
    --line: rgba(17, 33, 51, 0.08);
    --shadow: 0 28px 60px rgba(15, 31, 57, 0.12);
    --green: #2db46f;
    --green-soft: rgba(45, 180, 111, 0.12);
    --blue: #4f87ff;
    --blue-soft: rgba(79, 135, 255, 0.12);
    --purple: #7763ff;
    --purple-soft: rgba(119, 99, 255, 0.12);
    --gold: #f0b33d;
    --gold-soft: rgba(240, 179, 61, 0.14);
    --amber: #f39c12;
    --amber-soft: rgba(243, 156, 18, 0.14);
    --orange: #e78b2f;
    --orange-soft: rgba(231, 139, 47, 0.14);
    --yellow: #f5bf43;
    --yellow-soft: rgba(245, 191, 67, 0.16);
    --danger: #ea5c5c;
    --danger-soft: rgba(234, 92, 92, 0.12);
    --ok: #2a8f58;
    --ok-soft: rgba(42, 143, 88, 0.12);
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    color: var(--ink);
    font-family: var(--font-body, "Segoe UI", Tahoma, sans-serif);
    background:
        radial-gradient(circle at top left, rgba(78, 137, 255, 0.10), transparent 22%),
        radial-gradient(circle at bottom right, rgba(45, 180, 111, 0.12), transparent 28%),
        linear-gradient(180deg, #fcfbf8 0%, var(--bg) 100%);
    min-height: 100vh;
}

body.has-map-modal-open {
    overflow: hidden;
}

input,
select,
textarea,
button,
table,
th,
td {
    font: inherit;
    font-family: var(--font-body, "Segoe UI", Tahoma, sans-serif);
}

a {
    color: inherit;
}

.shell {
    width: min(1120px, calc(100vw - 32px));
    margin: 0 auto;
    padding: 48px 0 72px;
}

.hero,
.card,
.panel,
.kpi-card,
.sidebar,
.topbar {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: var(--shadow);
}

.topbar,
.admin-topbar,
.button.primary,
.pill-action,
.badge-ok {
    background: linear-gradient(135deg, var(--brand-primary, #15396b), color-mix(in srgb, var(--brand-primary, #15396b) 72%, #0f172a));
}

.admin-sideitem.active,
.sidebar-link.is-current,
.sidebar-link:hover,
.table-action:hover {
    background: color-mix(in srgb, var(--brand-secondary, #22c55e) 88%, white);
    color: #fff;
}

.hero {
    padding: 40px;
}

.eyebrow,
.dashboard-kicker {
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.75rem;
    color: #238d79;
    margin: 0 0 10px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand,
.brand-name,
.admin-brand,
.dashboard-welcome-inline,
.settings-topbar h1,
.settings-card-head h2,
.panel-head h2,
.page-hero-copy h1,
.topbar-user strong,
.admin-userbox strong,
.executive-kpi-value {
    margin-top: 0;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

h1 {
    font-size: clamp(1.4rem, 1vw, 4.4rem);
    line-height: 0.96;
    margin-bottom: 14px;
}

h2 {
    font-size: 1.3rem;
    margin-bottom: 0;
}

.lead,
.muted,
.kpi-note,
.dashboard-subtitle,
.sidebar-link,
.sidebar-title,
.topnav-link,
.topbar-user span,
.table-action,
.inline-link {
    color: var(--muted);
}

.lead {
    max-width: 62ch;
    font-size: 1.05rem;
    line-height: 1.7;
}

.actions {
    margin-top: 24px;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    align-items: center;
}

.button,
.pill-action,
.table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
}

.button.primary {
    background: linear-gradient(135deg, #0f6f66, #0b4d48);
    color: #fff;
}

.grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.card,
.panel {
    padding: 24px;
}

.card ul {
    margin: 0;
    padding-left: 18px;
    line-height: 1.8;
}

.status,
.badge,
.table-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
}

.status.ok,
.badge-ok,
.tone-ok {
    color: var(--ok);
    background: var(--ok-soft);
}

.status.error,
.tone-danger {
    color: var(--danger);
    background: var(--danger-soft);
}

.dashboards-preview {
    margin-top: 20px;
}

.dashboard-page {
    padding: 24px 16px 44px;
}

.dashboard-shell {
    width: min(1280px, 100%);
    margin: 0 auto;
}

.topbar {
    background: linear-gradient(135deg, var(--navy-strong), var(--navy));
    color: #fff;
    border-radius: 28px 28px 0 0;
    padding: 14px 22px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

.brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 204, 99, 0.5);
    color: #f3c35d;
}

.brand-name {
    letter-spacing: 0.14em;
}

.topnav {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.topnav-link {
    color: rgba(255, 255, 255, 0.74);
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 999px;
    font-size: 0.92rem;
}

.topnav-link.active {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.topbar-user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.topbar-user strong {
    display: block;
    font-size: 0.9rem;
}

.topbar-user span:last-child {
    display: block;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.7);
}

.avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    background: linear-gradient(135deg, #45c18b, #3aa8b5);
}

.dashboard-content {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--line);
    border-top: 0;
    border-radius: 0 0 28px 28px;
    padding: 18px;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 18px;
}

.sidebar {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 760px;
}

.sidebar-item,
.sidebar-link {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
}

.sidebar-item.active,
.sidebar-link.is-current {
    color: #158d76;
    background: rgba(32, 199, 151, 0.10);
    font-weight: 700;
}

.sidebar-title {
    margin: 8px 0 0;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.sidebar-icon,
.sidebar-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.35;
}

.sidebar-nav {
    display: grid;
    gap: 6px;
}

.sidebar-support {
    margin-top: auto;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 16px;
    background: linear-gradient(180deg, #ffffff, #f7fafc);
}

.sidebar-support strong,
.sidebar-support span {
    display: block;
}

.sidebar-support strong {
    color: #1b8d63;
    margin-bottom: 6px;
}

.sidebar-support span {
    font-size: 0.9rem;
    color: var(--muted);
}

.dashboard-main {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dashboard-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.dashboard-hero h1 {
    font-size: clamp(2rem, 3vw, 3rem);
    margin-bottom: 8px;
}

.dashboard-subtitle {
    margin: 0;
    max-width: 54ch;
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.badge-soft {
    color: #3374d6;
    background: rgba(51, 116, 214, 0.14);
}

.pill-action {
    background: linear-gradient(135deg, var(--navy), #12284a);
    color: #fff;
}

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.kpi-card {
    padding: 18px;
    background: var(--card);
}

.kpi-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    margin-bottom: 14px;
}

.tone-green {
    background: var(--green-soft);
}

.tone-blue {
    background: var(--blue-soft);
}

.tone-purple {
    background: var(--purple-soft);
}

.tone-gold {
    background: var(--gold-soft);
}

.tone-amber {
    background: var(--amber-soft);
}

.tone-orange {
    background: var(--orange-soft);
}

.tone-yellow {
    background: var(--yellow-soft);
}

.tone-warning {
    color: #c9861a;
    background: rgba(245, 191, 67, 0.18);
}

.tone-muted {
    color: #7a8793;
    background: rgba(122, 135, 147, 0.12);
}

.kpi-label,
.kpi-note {
    display: block;
}

.kpi-label {
    font-size: 0.84rem;
    margin-bottom: 6px;
}

.kpi-value {
    display: block;
    font-size: 1.75rem;
    margin-bottom: 6px;
    line-height: 1.1;
}

.dashboard-grid {
    display: grid;
    gap: 18px;
}

.dashboard-grid.two-columns {
    grid-template-columns: 1.2fr 1fr;
}

.dashboard-grid.three-columns {
    grid-template-columns: 0.85fr 1fr 1fr;
}

.dashboard-grid.one-column {
    grid-template-columns: 1fr;
}

.panel {
    background: rgba(255, 255, 255, 0.95);
}

.panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.inline-link {
    text-decoration: none;
    font-size: 0.88rem;
}

.chart-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.line-chart {
    width: 100%;
    height: 240px;
    background:
        linear-gradient(to top, rgba(17, 33, 51, 0.04) 1px, transparent 1px);
    background-size: 100% 48px;
    border-radius: 18px;
}

.chart-labels {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    text-align: center;
    color: var(--muted);
    font-size: 0.82rem;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.data-table th,
.data-table td {
    text-align: left;
    padding: 12px 8px;
    border-bottom: 1px solid rgba(17, 33, 51, 0.06);
}

.data-table th {
    color: var(--muted);
    font-weight: 600;
}

.table-action {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid rgba(17, 33, 51, 0.12);
    background: #fff;
}

.mixed-chart {
    height: 300px;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 14px;
    align-items: end;
}

.mixed-chart-col {
    position: relative;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    gap: 10px;
}

.mixed-chart-col .bar {
    width: 26px;
    border-radius: 12px 12px 0 0;
    background: linear-gradient(180deg, #6ca0ff, #3d73d8);
}

.mixed-chart-col .line-point {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #3ebb74;
    border: 3px solid #fff;
    box-shadow: 0 8px 18px rgba(62, 187, 116, 0.28);
}

.mixed-chart-col span {
    color: var(--muted);
    font-size: 0.8rem;
}

.project-list {
    display: grid;
    gap: 14px;
}

.project-card {
    display: grid;
    grid-template-columns: 88px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(17, 33, 51, 0.06);
    border-radius: 18px;
}

.project-cover {
    width: 88px;
    height: 66px;
    border-radius: 14px;
    background:
        linear-gradient(160deg, rgba(19, 117, 94, 0.18), rgba(27, 71, 140, 0.28)),
        linear-gradient(180deg, #98d6a6, #6ba97e);
}

.project-body span,
.project-body small,
.project-meta span,
.project-meta em {
    display: block;
    color: var(--muted);
    font-style: normal;
}

.project-progress {
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: rgba(17, 33, 51, 0.08);
    margin: 10px 0 6px;
    overflow: hidden;
}

.project-progress-bar {
    height: 100%;
    background: linear-gradient(135deg, #35c177, #26995c);
}

.project-meta {
    text-align: right;
}

.project-meta strong {
    display: block;
    font-size: 1.15rem;
    margin: 6px 0;
}

.progress-widget {
    display: grid;
    place-items: center;
    text-align: center;
    gap: 12px;
}

.progress-ring {
    --size: 220px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: conic-gradient(#e9b542 calc(var(--progress) * 1%), #f2f2f2 0);
    display: grid;
    place-items: center;
}

.progress-ring-inner {
    width: calc(var(--size) - 34px);
    height: calc(var(--size) - 34px);
    border-radius: 50%;
    background: #fff;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 24px;
}

.progress-ring-inner strong {
    font-size: 2.3rem;
    line-height: 1;
}

.goal-text {
    margin: 0;
    font-weight: 700;
}

.goal-note {
    color: var(--muted);
}

.map-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.map-cell {
    min-height: 88px;
    border-radius: 16px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(17, 33, 51, 0.06);
}

.map-cell strong {
    font-size: 0.84rem;
}

.map-cell span {
    font-size: 0.76rem;
}

.featured-list {
    display: grid;
    gap: 12px;
}

.featured-card {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(17, 33, 51, 0.06);
}

.featured-card:last-child {
    border-bottom: 0;
}

.featured-card span,
.featured-card strong {
    display: block;
}

.featured-card span {
    color: var(--muted);
    margin-top: 4px;
    font-size: 0.86rem;
}

.broker-client-onboarding,
.broker-reservation-summary,
.broker-map-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 32px rgba(31, 58, 95, 0.08);
}

.broker-client-onboarding {
    margin-bottom: 18px;
}

.broker-client-form {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.broker-client-form .form-field {
    margin: 0;
}

.broker-client-form__actions {
    display: flex;
    align-items: flex-end;
    min-height: 100%;
}

.broker-reservation-chips {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.broker-reservation-chip {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(17, 33, 51, 0.06);
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.96), rgba(255, 255, 255, 0.98));
}

.broker-reservation-chip strong {
    color: #142033;
}

.broker-reservation-chip span {
    color: #5d6b82;
    font-size: 0.84rem;
    line-height: 1.4;
}

.broker-map-stack {
    display: grid;
    gap: 18px;
}

.broker-map-card__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.broker-map-card__head strong,
.broker-map-detail__header strong {
    color: #142033;
}

.broker-map-card__head span {
    display: block;
    color: #6a7890;
    font-size: 0.88rem;
    margin-top: 3px;
}

.broker-map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.8fr);
    gap: 16px;
    align-items: start;
}

.broker-map-stage {
    position: relative;
    min-height: 420px;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(17, 33, 51, 0.06);
    background: linear-gradient(180deg, rgba(237, 244, 252, 0.95), rgba(255, 255, 255, 0.96));
}

.broker-map-stage__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.broker-map-pin {
    position: absolute;
    transform: translate(-50%, -50%);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.42), 0 10px 18px rgba(15, 23, 42, 0.18);
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.broker-map-pin:hover,
.broker-map-pin.is-active {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.54), 0 14px 24px rgba(15, 23, 42, 0.24);
}

.broker-map-pin.tone-ok {
    background: #16a34a;
}

.broker-map-pin.tone-warning {
    background: #f59e0b;
}

.broker-map-pin.tone-danger {
    background: #ef4444;
}

.broker-map-pin.tone-muted {
    background: #64748b;
}

.broker-map-pin__label {
    position: absolute;
    left: 50%;
    top: calc(100% + 8px);
    transform: translateX(-50%);
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: #142033;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.broker-map-detail {
    display: grid;
    gap: 14px;
    min-height: 100%;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(17, 33, 51, 0.06);
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.98), rgba(255, 255, 255, 0.98));
}

.broker-map-detail__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.broker-map-detail__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.broker-map-detail__grid div {
    display: grid;
    gap: 4px;
    padding: 12px;
    border-radius: 16px;
    background: #f8fbff;
    border: 1px solid rgba(17, 33, 51, 0.06);
}

.broker-map-detail__grid span {
    color: #6a7890;
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.broker-map-detail__grid strong {
    color: #142033;
    line-height: 1.35;
}

.broker-map-empty {
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 18px;
    border: 1px dashed rgba(17, 33, 51, 0.18);
    color: #5d6b82;
}

.broker-units-table td {
    vertical-align: top;
}

.broker-inline-reserve {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.broker-inline-reserve select {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(17, 33, 51, 0.12);
    border-radius: 12px;
    background: #fff;
    color: #142033;
}

.broker-reserve-actions {
    min-width: 280px;
}

.admin-map-setup {
    display: grid;
    gap: 14px;
    padding: 18px 22px 22px;
}

.admin-map-setup__status {
    display: grid;
    gap: 10px;
}

.admin-map-setup__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-map-editor {
    display: grid;
    gap: 18px;
}

.admin-map-editor__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
    gap: 16px;
    padding: 18px 22px;
    border-radius: 20px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: linear-gradient(135deg, rgba(241, 247, 255, 0.94), rgba(255, 255, 255, 0.98));
}

.admin-map-editor__status {
    display: grid;
    gap: 8px;
    align-content: center;
    justify-items: start;
}

.admin-map-editor__topbar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.admin-map-editor__preview-card {
    padding: 18px 20px;
    border-radius: 20px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 28px rgba(17, 33, 51, 0.06);
    overflow: hidden;
}

.admin-map-editor__preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.admin-map-editor__preview-head h4 {
    margin: 6px 0 0;
    color: #13233b;
    font-size: 1.05rem;
}

.admin-map-editor__preview-frame {
    position: relative;
    width: min(100%, 640px);
    height: 180px;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    overflow: hidden;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(84, 101, 130, 0.18);
    background:
        linear-gradient(180deg, rgba(242, 247, 255, 0.98), rgba(255, 255, 255, 0.98)),
        linear-gradient(90deg, rgba(34, 197, 94, 0.06), rgba(59, 130, 246, 0.06)),
        repeating-linear-gradient(0deg, rgba(15, 23, 42, 0.03), rgba(15, 23, 42, 0.03) 1px, transparent 1px, transparent 24px),
        repeating-linear-gradient(90deg, rgba(15, 23, 42, 0.03), rgba(15, 23, 42, 0.03) 1px, transparent 1px, transparent 24px);
}

.admin-map-editor__preview-frame.is-ready {
    background: linear-gradient(180deg, rgba(244, 248, 255, 0.96), rgba(255, 255, 255, 0.98));
}

.admin-map-editor__preview-surface {
    position: absolute;
    inset: 16px;
    display: block;
    width: calc(100% - 32px);
    height: calc(100% - 32px);
    object-fit: contain;
    object-position: center;
    margin: 0;
    pointer-events: none;
    max-width: calc(100% - 32px);
    max-height: calc(100% - 32px);
}

.admin-map-editor__preview-surface:not(img) {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.admin-map-editor__preview-empty {
    position: absolute;
    inset: 0;
    display: grid;
    gap: 8px;
    place-content: center;
    text-align: center;
    color: #5d6b82;
    padding: 24px;
}

.admin-map-editor__preview-empty.is-hidden,
.admin-map-editor__preview-surface.is-hidden {
    display: none;
}

.admin-map-editor__preview-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.admin-map-editor__preview-actions .muted {
    margin: 0;
    flex: 1 1 320px;
}

.admin-map-editor__workspace {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
}

.admin-map-editor__stage-wrap,
.admin-map-editor__card {
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 28px rgba(17, 33, 51, 0.06);
}

.admin-map-editor__stage {
    position: relative;
    min-height: 520px;
    border-radius: 18px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(242, 247, 255, 0.98), rgba(255, 255, 255, 0.98)),
        linear-gradient(90deg, rgba(34, 197, 94, 0.06), rgba(59, 130, 246, 0.06));
    border: 1px dashed rgba(84, 101, 130, 0.26);
    cursor: crosshair;
}

.admin-map-editor__surface {
    position: absolute;
    inset: 0;
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.admin-map-editor__surface.is-hidden {
    display: none;
}

.admin-map-editor__empty {
    position: absolute;
    inset: 0;
    display: grid;
    gap: 8px;
    place-content: center;
    text-align: center;
    color: #5d6b82;
    padding: 24px;
}

.admin-map-editor__pins {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.admin-map-editor__pins--preview {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.admin-map-editor__pin,
.admin-map-editor__selection-pin {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 0;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.42), 0 10px 18px rgba(15, 23, 42, 0.18);
}

.admin-map-editor__pin {
    pointer-events: auto;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease;
}

.admin-map-editor__pin:hover,
.admin-map-editor__pin.is-current {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.56), 0 14px 24px rgba(15, 23, 42, 0.24);
}

.admin-map-editor__pin span {
    position: absolute;
    top: calc(100% + 7px);
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.98);
    color: #142033;
    font-size: 0.73rem;
    font-weight: 700;
    white-space: nowrap;
}

.admin-map-editor__selection-pin {
    background: linear-gradient(135deg, #4f46e5, #7c3aed);
    cursor: default;
    width: 24px;
    height: 24px;
}

.admin-map-editor__selection-pin--preview {
    width: 18px;
    height: 18px;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.46), 0 8px 16px rgba(15, 23, 42, 0.18);
}

.admin-map-editor__pin.tone-ok {
    background: #16a34a;
}

.admin-map-editor__pin.tone-warning {
    background: #f59e0b;
}

.admin-map-editor__pin.tone-danger {
    background: #ef4444;
}

.admin-map-editor__pin.tone-muted {
    background: #64748b;
}

.admin-map-editor__sidebar {
    display: grid;
    gap: 16px;
}

.admin-map-editor__sidebar--full {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-map-editor__summary {
    display: grid;
    gap: 12px;
}

.admin-map-editor__summary div {
    display: grid;
    gap: 4px;
    padding: 12px;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid rgba(17, 33, 51, 0.06);
}

.admin-map-editor__summary span {
    color: #6a7890;
    font-size: 0.78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
}

.admin-map-editor__summary strong {
    color: #13233b;
    line-height: 1.3;
}

.admin-map-editor__mapped-list {
    display: grid;
    gap: 10px;
    max-height: 360px;
    overflow: auto;
}

.admin-map-editor__mapped-item {
    display: grid;
    gap: 6px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease;
}

.admin-map-editor__mapped-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(17, 33, 51, 0.08);
}

.admin-map-editor__mapped-item strong {
    color: #16243a;
}

.admin-map-editor__mapped-item span:last-child {
    color: #64748b;
    font-size: 0.88rem;
}

.admin-map-editor__surface {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    max-width: 100%;
    max-height: 100%;
}

.admin-map-editor__surface:not(img) {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.admin-map-modal {
    position: fixed !important;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

body>.admin-map-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
}

.admin-map-modal[hidden] {
    display: none !important;
}

.admin-map-modal.is-open {
    display: grid !important;
}

.admin-map-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, 0.56);
}

.admin-map-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1200px, calc(100vw - 3rem));
    max-height: calc(100vh - 3rem);
    overflow: auto;
    padding: 1.25rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28);
}

.admin-map-modal__head,
.admin-map-modal__footer,
.admin-map-modal__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.admin-map-modal__head {
    margin-bottom: 18px;
}

.admin-map-modal__head h3 {
    margin: 6px 0 0;
}

.admin-map-modal__stage-wrap {
    padding: 14px;
    margin-bottom: 16px;
}

.admin-map-modal .admin-map-editor__stage {
    min-height: min(72vh, 760px);
}

.admin-map-modal .admin-map-editor__surface {
    background-size: contain;
}

.admin-map-modal__selection {
    color: #39506f;
    font-weight: 600;
}

.admin-map-editor__pin,
.admin-map-editor__selection-pin,
.admin-map-editor__pins,
.admin-map-editor__pins--preview,
.admin-map-editor__surface,
.admin-map-editor__preview-surface {
    display: none !important;
}

.admin-map-editor__preview-frame {
    width: min(100%, 520px);
    height: 220px;
    min-height: 220px;
    padding: 10px;
}

.admin-map-editor__preview-canvas,
.admin-map-editor__stage-canvas {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    display: block;
}

.admin-map-editor__preview-canvas.is-hidden,
.admin-map-editor__stage-canvas.is-hidden {
    display: none !important;
}

.admin-map-editor__preview-actions {
    align-items: flex-start;
}

.admin-map-editor__workspace {
    margin-top: 18px;
}

.admin-map-editor__mapped-list {
    max-height: 280px;
}

.admin-map-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    padding: 24px !important;
    display: none !important;
    align-items: center;
    justify-content: center;
}

.admin-map-modal[hidden] {
    display: none !important;
}

.admin-map-modal.is-open {
    display: flex !important;
}

.admin-map-modal__dialog {
    width: min(1180px, calc(100vw - 48px));
    height: min(88vh, 860px);
    max-height: min(88vh, 860px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
}

.admin-map-modal__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 18px;
    padding: 0 20px 20px;
    min-height: 0;
}

.admin-map-modal__map-panel {
    position: relative;
    min-height: 0;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(84, 101, 130, 0.18);
    background: linear-gradient(180deg, rgba(242, 247, 255, 0.98), rgba(255, 255, 255, 0.98));
}

.admin-map-modal .admin-map-editor__stage-wrap {
    padding: 0;
    margin: 0;
    height: 100%;
}

.admin-map-modal .admin-map-editor__stage {
    min-height: 0;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.admin-map-modal .admin-map-editor__empty {
    z-index: 2;
    background: linear-gradient(180deg, rgba(242, 247, 255, 0.92), rgba(255, 255, 255, 0.92));
}

body.has-map-modal-open {
    overflow: hidden;
}

@media (max-width: 1080px) {
    .admin-map-modal__body {
        grid-template-columns: 1fr;
    }

    .admin-map-modal__dialog {
        height: min(92vh, 940px);
        max-height: min(92vh, 940px);
    }
}

.featured-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 1180px) {
    .dashboard-content {
        grid-template-columns: 1fr;
    }

    .sidebar {
        min-height: auto;
    }

    .kpi-grid,
    .dashboard-grid.two-columns,
    .dashboard-grid.three-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {

    .grid,
    .kpi-grid,
    .dashboard-grid.two-columns,
    .dashboard-grid.three-columns {
        grid-template-columns: 1fr;
    }

    .topbar {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .topnav {
        justify-content: flex-start;
    }

    .dashboard-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .chart-labels {
        grid-template-columns: repeat(4, 1fr);
        row-gap: 8px;
    }

    .map-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .broker-client-form,
    .broker-reservation-chips,
    .broker-map-layout,
    .broker-map-detail__grid {
        grid-template-columns: 1fr 1fr;
    }

    .broker-inline-reserve {
        grid-template-columns: 1fr;
    }

    .admin-map-setup__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-map-editor__hero,
    .admin-map-editor__workspace,
    .admin-map-editor__topbar {
        grid-template-columns: 1fr;
    }

    .admin-map-editor__preview-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-map-editor__preview-actions,
    .admin-map-modal__head,
    .admin-map-modal__footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-map-editor__sidebar--full {
        grid-template-columns: 1fr;
    }

    .featured-card,
    .project-card {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .project-meta {
        text-align: left;
    }
}

.admin-page {
    padding: 24px 16px 44px;
}

.admin-shell {
    width: min(1420px, 100%);
    margin: 0 auto;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(17, 33, 51, 0.08);
    box-shadow: var(--shadow);
}

.admin-topbar {
    background: linear-gradient(135deg, #324e69, #273f58);
    color: #fff;
    display: grid;
    grid-template-columns: 240px 1fr auto;
    align-items: center;
    gap: 20px;
    padding: 18px 24px;
}

.admin-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
    font-size: 2.2rem;
    font-weight: 700;
}

.admin-brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: linear-gradient(135deg, #90d04d, #4f8e31);
    transform: skew(-12deg);
}

.admin-topnav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-toplink {
    text-decoration: none;
    padding: 12px 14px;
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 600;
}

.admin-toplink.active {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.admin-userbox {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #d7e7fb, #94b7dd);
    color: #274462;
    font-weight: 800;
}

.admin-userbox strong,
.admin-userbox span {
    display: block;
}

.admin-userbox span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.86rem;
}

.admin-body {
    display: grid;
    grid-template-columns: 260px 1fr;
    background: linear-gradient(180deg, #fdfdfc, #f2f5f8);
    min-height: 900px;
}

.admin-sidebar {
    background: linear-gradient(180deg, #ffffff, #eef3f8);
    padding: 20px;
    border-right: 1px solid rgba(17, 33, 51, 0.08);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.admin-sideitem {
    text-decoration: none;
    padding: 14px 16px;
    border-radius: 14px;
    color: #2d4258;
    font-weight: 600;
}

.admin-sideitem.active {
    background: linear-gradient(135deg, #4a667f, #3c556b);
    color: #fff;
}

.admin-sidebar-cta {
    margin-top: auto;
    padding-top: 18px;
}

.admin-main {
    padding: 24px;
}

.admin-panel {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.admin-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.admin-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.admin-kpi,
.admin-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(17, 33, 51, 0.08);
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 18px 38px rgba(24, 39, 60, 0.08);
}

.admin-kpi-label,
.role-item span,
.notification-item span,
.integration-tile span {
    display: block;
    color: var(--muted);
}

.admin-kpi-value {
    display: block;
    font-size: 1rem;
    margin-top: 10px;
    color: #213a57;
}

.admin-grid {
    display: grid;
    gap: 18px;
}

.admin-grid-main {
    grid-template-columns: 1.5fr 0.8fr;
}

.admin-grid-secondary {
    grid-template-columns: 1.1fr 0.9fr;
}

.revenue-total {
    color: #2e7c44;
    font-size: 1.2rem;
}

.admin-bars {
    height: 280px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
}

.admin-bar-col {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    gap: 12px;
}

.admin-bar {
    width: 100%;
    border-radius: 14px 14px 6px 6px;
    background: linear-gradient(180deg, #9fd26a, #4d8a43);
}

.admin-bar-col span {
    font-size: 0.8rem;
    color: var(--muted);
    text-align: center;
}

.integration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.integration-tile {
    border: 1px solid rgba(17, 33, 51, 0.08);
    border-radius: 16px;
    min-height: 100px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 14px;
    background: linear-gradient(180deg, #fff, #f3f7fb);
}

.role-list,
.notification-list {
    display: grid;
    gap: 12px;
}

.role-item,
.notification-item {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(17, 33, 51, 0.06);
}

.role-item:last-child,
.notification-item:last-child {
    border-bottom: 0;
}

.role-item em {
    color: #36577a;
    font-style: normal;
    font-weight: 700;
}

.admin-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.admin-actions.two-actions {
    justify-content: flex-start;
    margin-top: 12px;
}

.admin-table .table-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.admin-table form {
    margin: 0;
}

.danger-action {
    color: #b34141;
}

.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.form-field {
    display: grid;
    gap: 8px;
}

.form-field.full {
    grid-column: 1 / -1;
}

.form-field span {
    font-weight: 700;
    color: #284259;
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    min-height: 46px;
    border-radius: 14px;
    border: 1px solid rgba(17, 33, 51, 0.12);
    padding: 12px 14px;
    font: inherit;
    background: #fff;
}

.form-field textarea {
    min-height: 140px;
    resize: vertical;
}

.form-field small {
    color: var(--muted);
    font-size: 0.82rem;
}

.form-field.is-hidden {
    display: none;
}

.form-field input[readonly] {
    background: #eef3f8;
    color: #577188;
}

.table-avatar,
.form-avatar-preview,
.admin-brand-logo,
.brand-image,
.admin-avatar-image,
.avatar-image,
.branding-preview img {
    object-fit: contain;
    border-radius: 14px;
}

.table-avatar,
.form-avatar-preview {
    width: 48px;
    height: 48px;
}

.admin-avatar-image,
.avatar-image {
    width: 56px;
    height: 56px;
    border-radius: 50%;
}

.admin-brand-logo,
.brand-image {
    width: auto;
    max-width: 132px;
    height: 42px;
    border-radius: 10px;
}

.branding-preview {
    display: flex;
    gap: 14px;
    align-items: center;
}

.branding-preview img {
    width: 84px;
    height: 84px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    padding: 6px;
    background: #fff;
}

.branding-preview .favicon-preview {
    width: 48px;
    height: 48px;
}

.settings-form .admin-card,
.admin-card {
    transition: transform .18s ease, box-shadow .18s ease;
}

.settings-form .admin-card:hover,
.admin-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(17, 33, 51, 0.08);
}

.inline-link {
    color: var(--brand-primary, #1f5d99);
    font-weight: 700;
    text-decoration: none;
}

.admin-sideitem,
.admin-toplink,
.button,
.table-action {
    transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.admin-sideitem:hover,
.admin-toplink:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.admin-sideitem.active:hover {
    background: color-mix(in srgb, var(--brand-primary, #425f7b) 82%, white);
}

.settings-page {
    padding: 0;
}

.settings-shell {
    display: grid;
    gap: 20px;
}

.settings-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.settings-sidebar {
    position: sticky;
    top: 98px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.22);
}

.settings-sidebar-title {
    margin: 0 0 10px;
    padding: 0 4px;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.settings-side-nav {
    display: grid;
    gap: 6px;
}

.settings-sideitem {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid transparent;
    background: transparent;
    color: #0f172a;
    border-radius: 12px;
    padding: 11px 12px;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.settings-sideitem small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 900;
}

.settings-sideitem:hover {
    border-color: rgba(148, 163, 184, 0.4);
    background: #f8fafc;
    transform: translateX(2px);
}

.settings-sideitem.active {
    background: var(--brand-primary, #0f2747);
    border-color: transparent;
    color: #fff;
}

.settings-sideitem.active small {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

.settings-content {
    min-width: 0;
}

.settings-category-panel {
    display: none;
}

.settings-category-panel.active {
    display: block;
}

.settings-category-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.settings-category-head h2 {
    margin: 0 0 4px;
    font-size: 1.25rem;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

.settings-category-head p {
    margin: 0;
    color: #64748b;
}

.settings-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.settings-block-card {
    padding: 18px;
}

.settings-block-card h3 {
    margin: 0 0 6px;
    font-size: 1.05rem;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

.settings-block-card.is-active {
    border-color: color-mix(in srgb, var(--brand-primary, #0f2747) 45%, rgba(148, 163, 184, 0.16));
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.settings-category-panels .settings-panel {
    margin-top: 18px;
}

.settings-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    padding: 10px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.settings-subtab {
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #f8fafc;
    color: #334155;
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 900;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.settings-subtab:hover {
    border-color: color-mix(in srgb, var(--brand-primary, #0f2747) 38%, #cbd5e1);
    color: var(--brand-primary, #0f2747);
}

.settings-subtab.active {
    background: var(--brand-primary, #0f2747);
    border-color: var(--brand-primary, #0f2747);
    color: #fff;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--brand-primary, #0f2747) 18%, transparent);
}

.settings-hub-card {
    min-height: 0;
}

@media (max-width: 980px) {
    .settings-layout {
        grid-template-columns: 1fr;
    }

    .settings-sidebar {
        position: static;
        top: auto;
    }

    .settings-category-grid {
        grid-template-columns: 1fr;
    }
}

.settings-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 24px;
    border-radius: 22px;
    background: rgba(249, 250, 251, 0.92);
    backdrop-filter: blur(16px);
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.06);
}

.settings-kicker {
    margin: 0 0 8px;
    font-size: 0.78rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--brand-primary, #4b7caa);
    font-weight: 800;
}

.settings-topbar h1 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.1;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

.settings-subtitle {
    margin: 8px 0 0;
    color: #64748b;
}

.settings-tabs {
    display: flex;
    gap: 10px;
    overflow: auto;
    padding-bottom: 4px;
}

.settings-tab {
    border: 0;
    background: #edf2f7;
    color: #334155;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 700;
    cursor: pointer;
}

.settings-tab:hover,
.settings-tab.active {
    background: var(--brand-primary, #0f2747);
    color: #fff;
}

.settings-panel {
    display: none;
}

.settings-panel.active {
    display: block;
}

.settings-grid,
.integration-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.integration-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.settings-card {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.settings-card-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 20px;
}

.settings-card-head h2 {
    margin: 0 0 6px;
    font-size: 1.2rem;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

.settings-card-head p {
    margin: 0;
    color: #64748b;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 8px 12px;
    background: #e2e8f0;
    color: #334155;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}

.status-badge.ok {
    background: color-mix(in srgb, var(--brand-secondary, #22c55e) 16%, white);
    color: color-mix(in srgb, var(--brand-secondary, #22c55e) 58%, black);
}

.status-badge.error {
    background: #fee2e2;
    color: #b91c1c;
}

.settings-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.preview-card {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.brand-preview {
    border-radius: 24px;
    overflow: hidden;
    background: #eef4fb;
    border: 1px solid rgba(15, 23, 42, .08);
}

.brand-preview-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    background: linear-gradient(135deg, var(--brand-primary, #15396b), color-mix(in srgb, var(--brand-primary, #15396b) 65%, #0f172a));
}

.brand-preview-logo img,
.brand-preview-placeholder {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .16);
    display: grid;
    place-items: center;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
}

.brand-preview-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-preview-favicon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: var(--brand-secondary, #22c55e);
    border: 2px solid rgba(255, 255, 255, .5);
}

.brand-preview-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 22px;
}

.brand-preview-card,
.brand-preview-chart {
    min-height: 118px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}

.brand-preview-card.soft {
    background: linear-gradient(145deg, rgba(34, 197, 94, .14), rgba(21, 57, 107, .08));
}

.brand-preview-chart {
    grid-column: 1 / -1;
    display: flex;
    align-items: end;
    gap: 10px;
    padding: 20px;
}

.brand-preview-chart span {
    flex: 1;
    border-radius: 12px 12px 4px 4px;
    background: linear-gradient(180deg, var(--brand-secondary), var(--brand-primary));
    animation: previewBars 1.8s ease-in-out infinite alternate;
}

.brand-preview-chart span:nth-child(1) {
    height: 30%;
}

.brand-preview-chart span:nth-child(2) {
    height: 55%;
}

.brand-preview-chart span:nth-child(3) {
    height: 45%;
}

.brand-preview-chart span:nth-child(4) {
    height: 72%;
}

.brand-preview-chart span:nth-child(5) {
    height: 88%;
}

.toggle-list {
    display: grid;
    gap: 14px;
}

.toggle-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 18px;
    background: #f8fafc;
}

.toggle-row strong,
.settings-table-head span {
    display: block;
}

.toggle-row span,
.toggle-row div span {
    color: #64748b;
    font-size: .92rem;
}

.switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.switch-ui {
    position: relative;
    display: inline-flex;
    width: 54px;
    height: 32px;
    border-radius: 999px;
    background: #cbd5e1;
}

.switch-ui::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    transition: transform .2s ease;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .18);
}

.switch input:checked+.switch-ui {
    background: var(--brand-secondary, #22c55e);
}

.switch input:checked+.switch-ui::after {
    transform: translateX(22px);
}

.settings-actions {
    display: flex;
    gap: 12px;
    margin-top: 18px;
}

.button.subtle {
    background: color-mix(in srgb, var(--brand-primary, #15396b) 8%, white);
    color: var(--brand-primary, #15396b);
}

.button.subtle:hover {
    background: #dce8f8;
}

.settings-table {
    display: grid;
    gap: 10px;
}

.settings-table-head,
.settings-table-row {
    display: grid;
    grid-template-columns: 1.1fr 1.4fr .9fr;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 16px;
}

.settings-table-head {
    background: #f1f5f9;
    font-weight: 800;
    color: #475569;
}

.settings-table-row {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .18);
}

.settings-save.is-saving {
    opacity: .7;
    pointer-events: none;
}

.auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px;
    background: radial-gradient(circle at top left, rgba(34, 197, 94, .12), transparent 32%), #f8fafc;
}

.auth-card {
    width: min(1080px, 100%);
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    background: #fff;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 28px 60px rgba(15, 23, 42, .10);
}

.auth-copy,
.auth-form {
    padding: 36px;
}

.auth-copy {
    background: linear-gradient(135deg, #0f2747, #193c6b);
    color: #fff;
}

.auth-copy .settings-subtitle,
.auth-demo span {
    color: rgba(255, 255, 255, .75);
}

.auth-demo {
    margin-top: 26px;
    display: grid;
    gap: 8px;
    padding: 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
}

.auth-form {
    display: grid;
    gap: 16px;
    align-content: center;
}

.auth-form h2 {
    margin: 0 0 8px;
}

.auth-error {
    justify-self: start;
}

.profile-card {
    max-width: 980px;
}

.profile-avatar-box {
    display: flex;
    justify-content: center;
    margin-bottom: 8px;
}

.profile-avatar-large {
    width: 108px;
    height: 108px;
    border-radius: 50%;
    object-fit: cover;
    background: #dbeafe;
    display: grid;
    place-items: center;
    font-size: 2rem;
    font-weight: 800;
    color: #15396b;
}

.topbar-user form,
.admin-userbox form {
    margin: 0;
}

.dashboard-flash-wrap {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.dashboard-flash {
    padding: 14px 16px;
    border-radius: 14px;
    font-weight: 700;
    border: 1px solid transparent;
}

.dashboard-flash.success {
    color: #15803d;
    background: rgba(22, 163, 74, 0.12);
    border-color: rgba(22, 163, 74, 0.2);
}

.dashboard-flash.error {
    color: #b91c1c;
    background: rgba(220, 38, 38, 0.12);
    border-color: rgba(220, 38, 38, 0.18);
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.detail-card {
    padding: 18px;
    border-radius: 18px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: linear-gradient(180deg, #fff, #f8fbff);
}

.detail-card span {
    display: block;
    color: var(--muted);
    font-size: 0.82rem;
    margin-bottom: 8px;
}

.detail-card strong {
    color: var(--ink);
    font-size: 1rem;
}

.table-actions-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.table-actions-inline form,
.featured-actions form,
.hero-actions form,
.admin-toolbar form,
.panel-actions-bar form {
    margin: 0;
}

/* Broker commercial cockpit */
.dashboard-corretor {
    --broker-green: #0b4a25;
    --broker-green-dark: #063719;
    --broker-green-mid: #167a3a;
    --broker-bg: #f6f8f5;
    --broker-border: #e1e7df;
    --broker-text: #0f172a;
    --broker-muted: #64748b;
}

.dashboard-corretor .dashboard-shell {
    background: var(--broker-bg);
}

.dashboard-corretor .topbar {
    min-height: 74px;
    grid-template-columns: auto auto minmax(320px, 520px) auto;
    gap: 22px;
    background: linear-gradient(135deg, var(--broker-green-dark), var(--broker-green));
    border-radius: 0 0 22px 22px;
    padding: 10px 26px;
}

.dashboard-corretor .brand-image {
    max-width: 160px;
    max-height: 48px;
}

.dashboard-corretor .topbar-context {
    padding-left: 18px;
    border-left: 1px solid rgba(255, 255, 255, 0.24);
}

.dashboard-corretor .topbar-context__label {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.78rem;
    letter-spacing: 0.18em;
}

.dashboard-corretor .topbar-context__title {
    font-size: 1.05rem;
}

.dashboard-corretor .broker-global-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    height: 44px;
    padding: 0 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.dashboard-corretor .broker-global-search__icon {
    color: #fff;
    opacity: 0.9;
    font-weight: 800;
}

.dashboard-corretor .broker-global-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font-size: 0.9rem;
}

.dashboard-corretor .broker-global-search input::placeholder {
    color: rgba(255, 255, 255, 0.74);
}

.dashboard-corretor .broker-global-search kbd {
    color: #fff;
    background: rgba(0, 0, 0, 0.28);
    border-radius: 7px;
    padding: 4px 7px;
    font-size: 0.72rem;
    font-weight: 700;
}

.dashboard-corretor .topbar-user {
    gap: 12px;
}

.dashboard-corretor .broker-topbar-icon,
.dashboard-corretor .broker-topbar-help {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    min-width: 34px;
    border-radius: 999px;
    border: 0;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    text-decoration: none;
    font-weight: 800;
}

.dashboard-corretor .broker-topbar-help {
    padding: 0 10px;
    font-size: 0.84rem;
}

.dashboard-corretor .dashboard-content {
    grid-template-columns: 252px minmax(0, 1fr);
    align-items: start;
    gap: 0;
    padding: 0;
    border: 0;
    background: var(--broker-bg);
}

.dashboard-corretor .sidebar {
    min-height: calc(100vh - 74px);
    padding: 18px 18px 22px;
    background: #fff;
    border-right: 1px solid var(--broker-border);
    gap: 8px;
}

.dashboard-corretor .sidebar-title {
    margin: 12px 8px 6px;
    color: var(--broker-muted);
    letter-spacing: 0.1em;
    font-size: 0.7rem;
}

.dashboard-corretor .sidebar-link {
    min-height: 38px;
    border-radius: 10px;
    color: var(--broker-text);
    font-size: 0.88rem;
    padding: 9px 12px;
}

.dashboard-corretor .sidebar-link:hover {
    background: #eaf7ef;
}

.dashboard-corretor .sidebar-link.is-current {
    color: #fff;
    background: linear-gradient(135deg, #147a3a, #006b37);
    box-shadow: 0 8px 18px rgba(11, 74, 37, 0.18);
}

.dashboard-corretor .sidebar-dot {
    width: 16px;
    height: 16px;
    border-radius: 5px;
    opacity: 1;
    background: transparent;
    border: 1.8px solid currentColor;
}

.dashboard-corretor .dashboard-main--broker {
    padding: 24px 26px 28px;
    gap: 16px;
}

.dashboard-corretor .dashboard-hero--broker,
.dashboard-corretor .dashboard-hero--broker-compact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0;
}

.dashboard-corretor .dashboard-kicker,
.dashboard-corretor .broker-hero-badge {
    display: none;
}

.dashboard-corretor .dashboard-hero h1 {
    color: var(--broker-text);
    font-size: clamp(1.65rem, 2.4vw, 2rem);
    line-height: 1.1;
    margin: 0 0 5px;
}

.dashboard-corretor .dashboard-subtitle {
    color: var(--broker-muted);
    font-size: 0.94rem;
}

.dashboard-corretor .broker-context-switcher {
    border-radius: 14px;
    padding: 4px;
    background: #fff;
    border-color: var(--broker-border);
}

.dashboard-corretor .broker-context-switcher__item {
    border-radius: 10px;
    color: #334155;
}

.dashboard-corretor .broker-context-switcher__item.is-active {
    background: var(--broker-green);
}

.dashboard-corretor .broker-page-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    margin-top: -56px;
    min-height: 44px;
}

.dashboard-corretor .broker-period-filter {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid var(--broker-border);
    background: #fff;
}

.dashboard-corretor .broker-period-filter span {
    color: var(--broker-muted);
    font-size: 0.76rem;
    font-weight: 700;
}

.dashboard-corretor .broker-period-filter select,
.dashboard-corretor .broker-mini-select {
    border: 0;
    background: transparent;
    color: var(--broker-text);
    font-weight: 700;
}

.dashboard-corretor .kpi-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.dashboard-corretor .kpi-card {
    min-height: 126px;
    border-radius: 14px;
    border: 1px solid var(--broker-border);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    padding: 16px;
}

.dashboard-corretor .kpi-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.dashboard-corretor .kpi-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    margin: 0;
    border-radius: 16px;
}

.dashboard-corretor .kpi-icon::before {
    color: var(--broker-green);
    font-weight: 900;
    font-size: 1.15rem;
}

.dashboard-corretor .kpi-icon[data-kpi-icon="cart"]::before { content: "C"; }
.dashboard-corretor .kpi-icon[data-kpi-icon="cash"]::before { content: "$"; }
.dashboard-corretor .kpi-icon[data-kpi-icon="coin"]::before { content: "$"; }
.dashboard-corretor .kpi-icon[data-kpi-icon="wallet"]::before { content: "W"; }
.dashboard-corretor .kpi-icon[data-kpi-icon="trophy"]::before { content: "#"; }

.dashboard-corretor .kpi-label {
    color: var(--broker-text);
    font-size: 0.82rem;
    font-weight: 700;
}

.dashboard-corretor .kpi-value {
    color: var(--broker-text);
    font-size: 1.48rem;
    letter-spacing: 0;
}

.dashboard-corretor .kpi-note {
    color: var(--broker-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.dashboard-corretor .tone-card-green {
    background: linear-gradient(135deg, #ffffff, #f1fbf4);
    border-color: rgba(22, 122, 58, 0.2);
}

.dashboard-corretor .tone-card-blue {
    background: linear-gradient(135deg, #ffffff, #f4f8ff);
    border-color: rgba(59, 130, 246, 0.2);
}

.dashboard-corretor .tone-card-amber {
    background: linear-gradient(135deg, #ffffff, #fff8e8);
    border-color: rgba(245, 158, 11, 0.22);
}

.dashboard-corretor .tone-card-purple {
    background: linear-gradient(135deg, #ffffff, #f7f0ff);
    border-color: rgba(147, 51, 234, 0.18);
}

.dashboard-corretor .broker-commercial-grid {
    display: grid;
    gap: 18px;
}

.dashboard-corretor .broker-commercial-grid--top {
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
}

.dashboard-corretor .broker-commercial-grid--middle {
    grid-template-columns: minmax(280px, 0.86fr) minmax(360px, 1.1fr) minmax(300px, 0.9fr);
}

.dashboard-corretor .panel {
    background: #fff;
    border: 1px solid var(--broker-border);
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    padding: 18px;
}

.dashboard-corretor .panel-head h2 {
    color: var(--broker-text);
    font-size: 1rem;
}

.dashboard-corretor .broker-chart {
    height: 220px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: end;
    gap: 18px;
    padding: 18px 10px 0;
    border-bottom: 1px solid var(--broker-border);
    background: linear-gradient(180deg, transparent 0, transparent 24%, rgba(226, 232, 240, 0.5) 24.4%, transparent 25%, transparent 49%, rgba(226, 232, 240, 0.5) 49.4%, transparent 50%, transparent 74%, rgba(226, 232, 240, 0.5) 74.4%, transparent 75%);
}

.dashboard-corretor .broker-chart__point {
    height: 100%;
    display: grid;
    grid-template-rows: 1fr auto auto;
    justify-items: center;
    position: relative;
}

.dashboard-corretor .broker-chart__bar {
    align-self: end;
    width: 42%;
    min-height: 12px;
    border-radius: 999px 999px 0 0;
    grid-row: 1;
}

.dashboard-corretor .broker-chart__bar--units {
    background: linear-gradient(180deg, #16a34a, #0b7a3a);
    box-shadow: 0 12px 26px rgba(22, 163, 74, 0.18);
}

.dashboard-corretor .broker-chart__bar--vgv {
    position: absolute;
    bottom: 38px;
    width: 24%;
    background: #94a3b8;
    opacity: 0.72;
    transform: translateX(22px);
}

.dashboard-corretor .broker-chart__point strong {
    color: #0b8a3b;
    font-size: 0.8rem;
}

.dashboard-corretor .broker-chart__point small,
.dashboard-corretor .broker-chart-legend {
    color: var(--broker-muted);
    font-size: 0.78rem;
}

.dashboard-corretor .broker-chart-legend {
    display: flex;
    gap: 24px;
    justify-content: center;
    margin: 12px 0;
}

.dashboard-corretor .broker-chart-legend i {
    display: inline-block;
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: #0f8f43;
    vertical-align: middle;
}

.dashboard-corretor .broker-chart-legend .muted-line {
    background: #94a3b8;
}

.dashboard-corretor .broker-wallet-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-corretor .broker-wallet-cards div {
    display: grid;
    gap: 5px;
    padding: 14px;
    border-radius: 12px;
    border: 1px solid var(--broker-border);
    background: #fff;
}

.dashboard-corretor .broker-wallet-cards span,
.dashboard-corretor .broker-wallet-cards small {
    color: var(--broker-muted);
    font-size: 0.78rem;
}

.dashboard-corretor .broker-wallet-cards strong {
    color: var(--broker-text);
    font-size: 1.45rem;
}

.dashboard-corretor .broker-goal-bar {
    margin-top: 18px;
    display: grid;
    gap: 10px;
}

.dashboard-corretor .broker-goal-bar div {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
    color: var(--broker-text);
    font-size: 0.84rem;
}

.dashboard-corretor .broker-goal-bar i {
    display: block;
    height: 10px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
}

.dashboard-corretor .broker-goal-bar i span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0f7b3c, #1cb65a);
}

.dashboard-corretor .broker-card-link {
    display: inline-flex;
    margin-top: 12px;
    color: var(--broker-green);
    font-weight: 800;
    text-decoration: none;
    font-size: 0.84rem;
}

.dashboard-corretor .featured-list {
    display: grid;
    gap: 12px;
    max-height: none;
    overflow: visible;
}

.dashboard-corretor .featured-card {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--broker-border);
    border-radius: 12px;
    background: #fff;
}

.dashboard-corretor .featured-card--empty {
    grid-template-columns: 1fr auto;
}

.dashboard-corretor .featured-card__thumb {
    height: 68px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 900;
    background: linear-gradient(135deg, #789b5a, #d9c07a);
}

.dashboard-corretor .featured-card__row--prices {
    display: block;
}

.dashboard-corretor .broker-map-preview {
    position: relative;
    display: block;
    height: 280px;
    border-radius: 14px;
    overflow: hidden;
    background: #edf7e9;
    border: 1px solid var(--broker-border);
    text-decoration: none;
}

.dashboard-corretor .broker-map-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dashboard-corretor .broker-map-preview--empty {
    display: grid;
    place-items: center;
    text-align: center;
    color: var(--broker-text);
    padding: 24px;
}

.dashboard-corretor .broker-map-preview__pin {
    position: absolute;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 900;
    border: 3px solid #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.25);
}

.dashboard-corretor .broker-map-preview__pin.tone-ok { background: #0f7b3c; }
.dashboard-corretor .broker-map-preview__pin.tone-warning { background: #f59e0b; }
.dashboard-corretor .broker-map-preview__pin.tone-danger { background: #ef4444; }
.dashboard-corretor .broker-map-preview__pin.tone-muted { background: #64748b; }

.dashboard-corretor .broker-map-legend--static {
    position: static;
    display: flex;
    gap: 18px;
    margin-top: 12px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.dashboard-corretor .broker-map-legend--static span {
    color: var(--broker-muted);
    font-size: 0.8rem;
}

.dashboard-corretor .broker-map-legend--static i {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    margin-right: 6px;
}

.dashboard-corretor .broker-map-legend--static .tone-ok { background: #86d27f; }
.dashboard-corretor .broker-map-legend--static .tone-warning { background: #f6c453; }
.dashboard-corretor .broker-map-legend--static .tone-danger { background: #f87171; }

.dashboard-corretor .broker-activity-list {
    display: grid;
}

.dashboard-corretor .broker-activity-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 58px;
    padding: 10px 0;
    border-bottom: 1px solid var(--broker-border);
    color: var(--broker-text);
    text-decoration: none;
}

.dashboard-corretor .broker-activity-icon {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #eaf7ef;
}

.dashboard-corretor .broker-activity-icon.tone-blue { background: #eaf2ff; }
.dashboard-corretor .broker-activity-icon.tone-amber { background: #fff6db; }
.dashboard-corretor .broker-activity-icon.tone-green { background: #dcfce7; }

.dashboard-corretor .broker-activity-item small,
.dashboard-corretor .broker-activity-item em {
    color: var(--broker-muted);
    font-size: 0.78rem;
    font-style: normal;
}

.dashboard-corretor .broker-activity-item em {
    color: #0f7b3c;
    font-weight: 800;
}

.dashboard-corretor .broker-shortcut-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(230px, 0.85fr);
    gap: 10px;
    align-items: stretch;
}

.dashboard-corretor .broker-shortcut-card,
.dashboard-corretor .broker-help-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px 12px;
    align-items: center;
    min-height: 74px;
    padding: 14px;
    border-radius: 12px;
    border: 1px solid var(--broker-border);
    background: #eef8f0;
    color: var(--broker-text);
    text-decoration: none;
}

.dashboard-corretor .broker-shortcut-card small {
    grid-column: 2;
    color: var(--broker-muted);
    line-height: 1.25;
    font-size: 0.74rem;
}

.dashboard-corretor .broker-shortcut-card__icon {
    grid-row: span 2;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--broker-border);
}

.dashboard-corretor .broker-help-card {
    background: linear-gradient(135deg, #0b4a25, #148240);
    color: #fff;
}

.dashboard-corretor .broker-help-card span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.82rem;
}

@media (max-width: 1380px) {
    .dashboard-corretor .kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-corretor .broker-commercial-grid--top,
    .dashboard-corretor .broker-commercial-grid--middle,
    .dashboard-corretor .broker-shortcut-strip {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1060px) {
    .dashboard-corretor .topbar {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .dashboard-corretor .dashboard-content {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .sidebar {
        min-height: 0;
    }

    .dashboard-corretor .broker-page-toolbar {
        margin-top: 0;
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .dashboard-corretor .dashboard-main--broker {
        padding: 18px 14px;
    }

    .dashboard-corretor .kpi-grid,
    .dashboard-corretor .broker-wallet-cards,
    .dashboard-corretor .featured-card {
        grid-template-columns: 1fr;
    }
}

.table-action--primary {
    border-color: color-mix(in srgb, var(--success) 42%, var(--border-color));
    color: var(--success-strong);
    font-weight: 700;
}

.panel-actions-bar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

@keyframes previewBars {
    from {
        transform: translateY(2px);
        opacity: .82;
    }

    to {
        transform: translateY(-2px);
        opacity: 1;
    }
}

@media (max-width: 1180px) {

    .admin-body,
    .admin-grid-main,
    .admin-grid-secondary,
    .admin-kpis,
    .settings-grid,
    .integration-card-grid {
        grid-template-columns: 1fr;
    }

    .admin-topbar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {

    .admin-form-grid,
    .settings-form-grid,
    .settings-topbar {
        grid-template-columns: 1fr;
    }

    .settings-topbar {
        position: static;
    }

    .auth-card {
        grid-template-columns: 1fr;
    }

    .detail-grid {
        grid-template-columns: 1fr;
    }
}

/* Final theme overrides: keep this block at the end so brand settings always win */
body {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--brand-primary, #15396b) 12%, transparent), transparent 28%),
        radial-gradient(circle at bottom right, color-mix(in srgb, var(--brand-secondary, #22c55e) 16%, transparent), transparent 34%),
        linear-gradient(180deg, #fcfbf8 0%, var(--bg) 100%);
}

.topbar,
.admin-topbar,
.auth-copy,
.brand-preview-top {
    background: linear-gradient(135deg,
            color-mix(in srgb, var(--brand-primary, #15396b) 92%, black),
            color-mix(in srgb, var(--brand-primary, #15396b) 72%, #0f172a)) !important;
}

.admin-toplink.active,
.topnav-link.active {
    background: color-mix(in srgb, var(--brand-secondary, #22c55e) 24%, rgba(255, 255, 255, 0.18)) !important;
    color: #fff !important;
}

.admin-toplink:hover,
.admin-topmenu-trigger:hover,
.admin-topmenu.is-active .admin-topmenu-trigger,
.topnav-link:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

.admin-sideitem.active,
.admin-sideitem:hover,
.sidebar-link.is-current,
.sidebar-link:hover,
.settings-tab.active,
.settings-tab:hover {
    background: linear-gradient(135deg,
            color-mix(in srgb, var(--brand-primary, #15396b) 88%, white),
            color-mix(in srgb, var(--brand-primary, #15396b) 70%, #0f172a)) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--brand-primary, #15396b) 22%, transparent);
}

.button.primary,
.admin-sidebar-cta .button,
.switch input:checked+.switch-ui,
.status-badge.ok,
.badge-ok,
.pill-action {
    background: linear-gradient(180deg,
            color-mix(in srgb, var(--brand-secondary, #22c55e) 92%, white),
            color-mix(in srgb, var(--brand-secondary, #22c55e) 86%, black)) !important;
    color: #fff !important;
    border-color: transparent !important;
}

.settings-kicker,
.dashboard-kicker,
.eyebrow,
.inline-link,
.form-field span,
.settings-section-title,
.table-title {
    color: var(--brand-primary, #15396b) !important;
}

.admin-brand-mark,
.brand-mark {
    background: linear-gradient(135deg,
            color-mix(in srgb, var(--brand-secondary, #22c55e) 88%, white),
            color-mix(in srgb, var(--brand-primary, #15396b) 68%, white)) !important;
    border-color: color-mix(in srgb, var(--brand-secondary, #22c55e) 46%, white) !important;
    color: #fff !important;
}

.admin-avatar,
.avatar {
    background: linear-gradient(135deg,
            color-mix(in srgb, var(--brand-secondary, #22c55e) 76%, white),
            color-mix(in srgb, var(--brand-primary, #15396b) 48%, white)) !important;
    color: #fff !important;
}

.admin-brand-logo,
.brand-image {
    width: auto;
    max-width: 180px;
    height: 48px;
    object-fit: contain;
    object-position: left center;
}

.settings-card.preview-card,
.brand-preview {
    background: linear-gradient(180deg,
            color-mix(in srgb, var(--brand-primary, #15396b) 4%, white),
            color-mix(in srgb, var(--brand-secondary, #22c55e) 7%, white)) !important;
}

.brand-preview-card.soft {
    background: color-mix(in srgb, var(--brand-secondary, #22c55e) 18%, white) !important;
}

.brand-preview-chart span {
    background: linear-gradient(180deg,
            color-mix(in srgb, var(--brand-secondary, #22c55e) 98%, white),
            color-mix(in srgb, var(--brand-primary, #15396b) 60%, black)) !important;
}

.admin-userbox .table-action:hover,
.table-action:hover {
    background: color-mix(in srgb, var(--brand-primary, #15396b) 12%, white) !important;
    color: var(--brand-primary, #15396b) !important;
}

/* Premium admin design system */
.icon-xs,
.icon-sm,
.icon-md {
    display: inline-block;
    flex: 0 0 auto;
}

.icon-xs {
    width: 14px;
    height: 14px;
}

.icon-sm {
    width: 18px;
    height: 18px;
}

.icon-md {
    width: 20px;
    height: 20px;
}

.admin-shell {
    width: 100%;
    min-height: 100vh;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    overflow: visible;
}

.admin-topbar {
    grid-template-columns: auto 1fr auto;
    padding: 10px 16px;
    gap: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
    min-height: 64px;
}

.admin-nav-toggle {
    display: none;
    border: 0;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
}

.admin-brand {
    min-width: 132px;
    font-size: 1rem;
}

.admin-topnav {
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
    flex-wrap: wrap;
}

.admin-toplink,
.admin-topmenu-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 11px;
    border-radius: 10px;
    font-size: 0.86rem;
    color: rgba(255, 255, 255, 0.86);
    text-decoration: none;
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
}

.admin-toplink.active,
.admin-topmenu.is-active .admin-topmenu-trigger {
    box-shadow: 0 6px 18px rgba(9, 18, 33, 0.18);
}

.admin-topmenu,
.admin-usermenu,
.admin-sideparent {
    position: relative;
}

.admin-topmenu summary::-webkit-details-marker,
.admin-usermenu summary::-webkit-details-marker,
.admin-sideparent summary::-webkit-details-marker {
    display: none;
}

.admin-topmenu-panel,
.admin-usermenu-panel {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 210px;
    padding: 8px;
    border-radius: 14px;
    border: 1px solid rgba(20, 32, 51, 0.08);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 12px 28px rgba(20, 32, 51, 0.12);
    z-index: 50;
}

.admin-topmenu-panel {
    left: 0;
    right: auto;
}

.admin-topmenu-link,
.admin-usermenu-link {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 10px;
    border-radius: 10px;
    color: #31445b;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.84rem;
    border: 0;
    background: transparent;
    width: 100%;
    text-align: left;
}

.admin-topmenu-link:hover,
.admin-topmenu-link.active,
.admin-usermenu-link:hover {
    background: #f4f7fb;
    color: var(--brand-primary, #15396b);
}

.admin-usermenu-link.danger {
    color: #b91c1c;
}

.admin-userbox {
    padding: 6px 8px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
    list-style: none;
}

.admin-usercopy {
    display: grid;
    gap: 2px;
}

.admin-usermeta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-env-badge {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.admin-body {
    grid-template-columns: 230px minmax(0, 1fr);
    background: linear-gradient(180deg, #fbfcff, #f4f7fb);
}

.admin-sidebar {
    padding: 14px 12px;
    gap: 12px;
}

.admin-sidegroup {
    display: grid;
    gap: 4px;
}

.admin-sidegroup-label {
    padding: 0 8px;
    color: #7b8797;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.admin-sideitem {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    padding: 9px 10px;
    border-radius: 12px;
    color: #34485f;
    background: transparent;
    font-size: 0.9rem;
}

.admin-sideitem span {
    flex: 1;
}

.admin-sideitem-parent {
    width: 100%;
    border: 0;
    background: transparent;
    justify-content: space-between;
    text-align: left;
    cursor: pointer;
    list-style: none;
}

.admin-sideitem-group {
    display: grid;
    gap: 4px;
}

.admin-sideitem-copy {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.admin-sideitem-caret {
    width: 8px;
    height: 8px;
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: rotate(45deg);
    transition: transform 160ms ease;
}

.admin-submenu {
    display: none;
    gap: 4px;
    padding: 4px 0 2px 12px;
}

.admin-sideitem-group.is-open>.admin-submenu,
.admin-sideitem-group:hover>.admin-submenu {
    display: grid;
}

.admin-sideitem-group.is-open .admin-sideitem-caret,
.admin-sideitem-group:hover .admin-sideitem-caret {
    transform: rotate(225deg);
}

.admin-submenu-link {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 10px;
    color: #516276;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.82rem;
}

.admin-submenu-link:hover,
.admin-submenu-link.active {
    background: color-mix(in srgb, var(--brand-primary, #15396b) 8%, white);
    color: var(--brand-primary, #15396b);
}

.admin-main {
    padding: 16px 18px 18px;
}

.executive-dashboard {
    gap: 16px;
}

.dashboard-welcome-inline {
    margin: 0 0 -2px;
    color: #8a94a6;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.page-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) 360px;
    gap: 22px;
    align-items: stretch;
}

.page-hero-copy,
.status-summary-card,
.executive-card,
.executive-kpi {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(20, 32, 51, 0.08);
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(20, 32, 51, 0.06);
}

.page-hero-copy {
    padding: 28px;
    display: grid;
    align-content: center;
    gap: 12px;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-secondary, #22c55e) 12%, transparent), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 255, 0.98));
}

.page-hero-kicker,
.panel-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary, #15396b) 8%, white);
    color: var(--brand-primary, #15396b);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 0.72rem;
    font-weight: 800;
}

.page-hero-copy h1 {
    margin: 0;
    font-size: clamp(2rem, 2.8vw, 3rem);
    line-height: 1;
    color: #142033;
}

.page-hero-copy p {
    margin: 0;
    max-width: 58ch;
    color: #687487;
    font-size: 1rem;
    line-height: 1.7;
}

.status-summary-card,
.executive-card {
    padding: 24px;
}

.status-summary-grid {
    display: grid;
    gap: 14px;
}

.status-summary-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #f7f9fc;
    border: 1px solid #e7edf5;
}

.status-summary-item>span:first-child {
    color: #415267;
    font-weight: 700;
}

.ui-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.ui-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.ui-status-badge.success {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.ui-status-badge.warning {
    background: rgba(234, 179, 8, 0.14);
    color: #a16207;
}

.ui-status-badge.info {
    background: rgb(184 210 226 / 16%);
    color: #667085;
}

.ui-status-badge.danger {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.ui-status-badge.neutral {
    background: #eef2f7;
    color: #526173;
}

.executive-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.executive-kpi {
    padding: 22px;
    display: grid;
    gap: 10px;
}

.executive-kpi-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.executive-kpi-icon {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #eef4ff;
    color: var(--brand-primary, #15396b);
}

.executive-kpi.green .executive-kpi-icon {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.executive-kpi.purple .executive-kpi-icon {
    background: rgba(79, 70, 229, 0.12);
    color: #4f46e5;
}

.executive-kpi.gold .executive-kpi-icon {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.executive-kpi-delta {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 0.76rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
}

.executive-kpi-label {
    color: #748193;
    font-size: 0.84rem;
    font-weight: 700;
}

.executive-kpi-value {
    font-size: clamp(1.8rem, 2vw, 2.45rem);
    color: #142033;
    line-height: 1;
}

.executive-kpi-meta {
    color: #687487;
    font-size: 0.92rem;
}

.executive-grid {
    display: grid;
    gap: 20px;
}

[data-dashboard-group] [data-dashboard-card] {
    position: relative;
    min-width: 0;
}

[data-dashboard-group] [data-dashboard-card].is-dragging {
    opacity: 0.55;
    transform: scale(0.98);
    z-index: 2;
}

[data-dashboard-group] [data-dashboard-card].is-resizing {
    transition: none;
}

.widget-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-bottom: 14px;
}

.widget-drag-handle,
.widget-resize-handle {
    border: 1px solid #dbe4ef;
    background: #fff;
    color: #64748b;
    font: inherit;
}

.widget-drag-handle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 38px;
    height: 32px;
    padding: 0 11px;
    border-radius: 999px;
    cursor: grab;
}

.widget-drag-handle span {
    width: 4px;
    height: 4px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.78;
}

.widget-drag-handle:active {
    cursor: grabbing;
}

body.dashboard-sorting {
    user-select: none;
}

.widget-resize-handle {
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 18px;
    height: 18px;
    padding: 0;
    border-radius: 8px;
    cursor: nwse-resize;
    background:
        linear-gradient(135deg, transparent 0 40%, #cbd5e1 40% 48%, transparent 48% 64%, #94a3b8 64% 72%, transparent 72% 100%),
        #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.widget-resize-handle:hover,
.widget-drag-handle:hover {
    border-color: #c0d0e2;
    color: #475569;
}

.widget-resize-handle:focus-visible,
.widget-drag-handle:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--brand-primary, #15396b) 24%, white);
    outline-offset: 2px;
}

.chart-card,
.finance-card,
.inventory-card,
.feed-card,
.executive-kpi,
.executive-card {
    padding-bottom: 30px;
}

.executive-grid-main,
.executive-grid-main-top,
.executive-grid-secondary,
.executive-kpi-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
    grid-auto-flow: dense;
    position: relative;
    isolation: isolate;
}

.executive-grid-main>*,
.executive-grid-main-top>*,
.executive-grid-secondary>*,
.executive-kpi-grid>* {
    min-width: 0;
    max-width: 100%;
    position: relative;
}

.executive-kpi-grid>[data-dashboard-card] {
    grid-column: span 3;
}

.executive-grid-main-top>[data-dashboard-card] {
    grid-column: span 12;
}

.executive-grid-main>[data-dashboard-card],
.executive-grid-secondary>[data-dashboard-card] {
    grid-column: span 4;
}

.executive-grid-main .finance-card {
    grid-column: span 5;
}

.executive-grid-main .inventory-card {
    grid-column: span 3;
}

.executive-grid-main [data-dashboard-card="integrations"] {
    grid-column: span 4;
}

.executive-grid-secondary [data-dashboard-card="project-financials"] {
    grid-column: span 5;
}

.executive-grid-secondary .feed-card {
    grid-column: span 4;
}

.executive-grid-secondary [data-dashboard-card="structure"] {
    grid-column: span 3;
}

.executive-grid-main .integration-card-grid.premium {
    grid-template-columns: 1fr;
}

.settings-actions.split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
}

.settings-helper-copy {
    margin: 0;
    max-width: 58ch;
    color: #6b7280;
    line-height: 1.6;
}

.panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.panel-head h2 {
    margin: 8px 0 0;
    font-size: 1.35rem;
    color: #142033;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

.panel-head-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.chart-period {
    display: grid;
    gap: 6px;
}

.chart-period span {
    color: #7b8797;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.chart-period select {
    min-height: 42px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid #dbe4ef;
    background: #f8fbff;
}

.chart-stage {
    position: relative;
    min-height: 320px;
    padding-top: 8px;
}

.chart-grid-lines {
    position: absolute;
    inset: 12px 0 52px;
    display: grid;
    align-content: space-between;
    pointer-events: none;
}

.chart-grid-lines span {
    border-top: 1px dashed #e4ebf3;
}

.chart-columns {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    align-items: end;
    min-height: 320px;
}

.chart-column {
    display: grid;
    gap: 10px;
    align-items: end;
}

.chart-value {
    color: #6b7280;
    font-size: 0.72rem;
    text-align: center;
}

.chart-bar-shell {
    display: flex;
    align-items: end;
    height: 220px;
}

.chart-bar {
    display: block;
    width: 100%;
    border-radius: 18px 18px 6px 6px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand-secondary, #22c55e) 88%, white), color-mix(in srgb, var(--brand-primary, #15396b) 64%, black));
    box-shadow: 0 16px 28px color-mix(in srgb, var(--brand-primary, #15396b) 20%, transparent);
    animation: previewBars .9s ease both;
}

.chart-column strong {
    text-align: center;
    color: #334155;
    font-size: 0.82rem;
}

.chart-legend {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 12px;
    color: #6b7280;
    font-size: 0.88rem;
}

.chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.chart-legend i {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 999px;
}

.tone-primary {
    background: var(--brand-primary, #15396b);
}

.tone-secondary {
    background: var(--brand-secondary, #22c55e);
}

.integration-card-grid.premium {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.finance-card {
    display: grid;
    gap: 14px;
}

.panel-head-subsection {
    margin: 0;
}

.finance-divider {
    height: 1px;
    background: #e6edf6;
    margin: 2px 0;
}

.finance-totals {
    display: grid;
    gap: 4px;
    text-align: right;
}

.finance-totals strong {
    color: #142033;
}

.finance-totals span {
    color: #b45309;
    font-size: 0.86rem;
}

.receivables-stack {
    display: grid;
    gap: 10px;
}

.receivable-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid #e6edf6;
    background: #fbfdff;
}

.receivable-item.danger {
    border-color: rgba(234, 92, 92, 0.2);
    background: rgba(234, 92, 92, 0.05);
}

.receivable-copy,
.receivable-meta {
    display: grid;
    gap: 4px;
}

.receivable-copy strong,
.receivable-meta strong,
.inventory-legend-item strong {
    color: #142033;
}

.receivable-copy span,
.receivable-meta span,
.inventory-legend-item span,
.empty-copy {
    color: #6b7280;
    font-size: 0.88rem;
}

.admin-empty-state {
    display: grid;
    gap: 14px;
    justify-items: start;
    align-content: center;
    min-height: 260px;
    padding: 28px;
    border: 1px dashed rgba(21, 57, 107, 0.18);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 251, 255, 0.96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.admin-empty-state-compact {
    min-height: 0;
    padding: 18px;
    border-radius: 18px;
}

.admin-empty-state-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-grid;
    place-items: center;
    color: var(--brand-primary, #15396b);
    background: color-mix(in srgb, var(--brand-primary, #15396b) 10%, white);
}

.admin-empty-state-copy {
    display: grid;
    gap: 8px;
    max-width: 62ch;
}

.admin-empty-state-copy strong {
    color: #142033;
    font-size: 1.08rem;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

.admin-empty-state-copy p {
    margin: 0;
    color: #667085;
    line-height: 1.7;
}

.project-admin-grid>.admin-empty-state,
.unit-admin-grid>.admin-empty-state,
.viabilidade-lista-grid>.admin-empty-state {
    grid-column: 1 / -1;
}

.table-empty-cell {
    padding: 12px;
}

.table-empty-cell .admin-empty-state {
    min-height: 0;
}

.settings-table>.admin-empty-state {
    margin-top: 6px;
}

.receivable-meta {
    justify-items: end;
}

.inventory-chart-shell {
    display: grid;
    gap: 20px;
    justify-items: center;
}

.inventory-donut-svg {
    width: 220px;
    height: 220px;
    overflow: visible;
}

.inventory-track,
.inventory-segment {
    fill: none;
    stroke-width: 16;
    transform: rotate(-90deg);
    transform-origin: 60px 60px;
}

.inventory-track {
    stroke: #e2e8f0;
}

.inventory-segment {
    stroke-linecap: butt;
    transition: opacity .2s ease;
}

.inventory-segment:hover {
    opacity: 0.82;
}

.inventory-center-fill {
    fill: #fff;
}

.inventory-center-value {
    font-size: 1.6rem;
    font-weight: 800;
    fill: #142033;
}

.inventory-center-label {
    font-size: 0.72rem;
    fill: #64748b;
}

.inventory-donut {
    width: 220px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-items: center;
}

.inventory-donut-center {
    width: 58%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #fff;
    display: grid;
    place-items: center;
    text-align: center;
    box-shadow: inset 0 0 0 1px #e8eef6;
}

.inventory-donut-center strong {
    font-size: 2rem;
    line-height: 1;
    color: #142033;
}

.inventory-donut-center span {
    color: #64748b;
    font-size: 0.84rem;
}

.inventory-legend {
    width: 100%;
    display: grid;
    gap: 12px;
}

.inventory-legend-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f8fbff;
    border: 1px solid #e8eef6;
    text-decoration: none;
}

.inventory-swatch {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    flex: 0 0 auto;
}

.integration-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid #e6edf6;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.integration-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.integration-card-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eff5ff;
    color: var(--brand-primary, #15396b);
}

.integration-card-title {
    color: #142033;
    font-size: 1rem;
}

.integration-card-copy {
    margin: 0;
    color: #6b7280;
    line-height: 1.6;
    min-height: 52px;
}

.integration-card-action {
    width: fit-content;
}

.metric-list,
.project-metric-list,
.activity-list {
    display: grid;
    gap: 14px;
}

.metric-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid #e8eef6;
}

.metric-row-main {
    display: flex;
    align-items: center;
    gap: 14px;
}

.metric-row-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #eef4ff;
    color: var(--brand-primary, #15396b);
}

.metric-row-icon.green {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.metric-row-icon.purple {
    background: rgba(79, 70, 229, 0.12);
    color: #4f46e5;
}

.metric-row-icon.gold {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
}

.metric-row strong,
.project-metric-head strong {
    color: #142033;
}

.metric-row span,
.project-metric-head span {
    display: block;
    color: #6b7280;
    margin-top: 4px;
    line-height: 1.5;
}

.metric-row em {
    color: var(--brand-primary, #15396b);
    font-style: normal;
    font-weight: 800;
    font-size: 1.15rem;
}

.project-metric-row {
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid #e8eef6;
    background: linear-gradient(180deg, #fff, #f9fbff);
}

.project-metric-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.project-metric-profit {
    text-align: right;
}

.project-metric-profit em,
.project-metric-profit small {
    display: block;
}

.project-metric-profit em {
    font-style: normal;
    font-weight: 800;
    font-size: 1rem;
}

.project-metric-profit em.positive,
.project-metric-profit small {
    color: #16a34a;
}

.project-metric-profit em.negative {
    color: #dc2626;
}

.project-metric-track {
    width: 100%;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: #e7eef6;
}

.project-metric-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--brand-secondary, #22c55e), var(--brand-primary, #15396b));
}

.feed-card .panel-head {
    margin-bottom: 16px;
}

.activity-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: start;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid #e8eef6;
    background: #fcfdff;
}

.activity-avatar {
    width: 36px;
    height: 36px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--brand-primary, #15396b), color-mix(in srgb, var(--brand-secondary, #22c55e) 40%, white));
    color: #fff;
    font-weight: 800;
    font-size: 0.78rem;
}

.activity-copy strong {
    color: #142033;
}

.activity-copy p {
    margin: 4px 0 0;
    color: #6b7280;
    line-height: 1.45;
    font-size: 0.88rem;
}

.activity-item time {
    color: #94a3b8;
    font-size: 0.82rem;
    white-space: nowrap;
}

.admin-filter-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.table-action.active-filter {
    background: var(--brand-primary, #15396b);
    color: #fff;
}

.admin-panel .inline-link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
}

@media (max-width: 1320px) {
    .executive-grid-secondary [data-dashboard-card="project-financials"] {
        grid-column: span 6;
    }

    .executive-grid-secondary .feed-card {
        grid-column: span 6;
    }

    .executive-grid-secondary [data-dashboard-card="structure"] {
        grid-column: span 12;
    }
}

@media (max-width: 1180px) {

    .page-hero,
    .executive-kpi-grid,
    .executive-grid-main,
    .executive-grid-secondary,
    .integration-card-grid.premium {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .page-hero-copy,
    .status-summary-card,
    .chart-card,
    .feed-card {
        grid-column: span 6;
    }

    .executive-kpi-grid>[data-dashboard-card],
    .executive-grid-main>[data-dashboard-card],
    .executive-grid-secondary>[data-dashboard-card] {
        grid-column: span 6 !important;
    }

    .admin-topbar {
        grid-template-columns: auto 1fr;
    }

    .admin-userbox {
        grid-column: 1 / -1;
        justify-self: end;
    }
}

@media (max-width: 920px) {
    .admin-nav-toggle {
        display: inline-grid;
        place-items: center;
    }

    .admin-topnav {
        order: 3;
        grid-column: 1 / -1;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .admin-topmenu-panel,
    .admin-usermenu-panel {
        position: static;
        margin-top: 10px;
        min-width: 100%;
    }

    .admin-body {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        display: none;
        border-right: 0;
        border-bottom: 1px solid rgba(17, 33, 51, 0.08);
    }

    .admin-sidebar.is-open {
        display: flex;
    }

    .executive-kpi-grid,
    .page-hero,
    .executive-grid-main,
    .executive-grid-secondary,
    .integration-card-grid.premium {
        grid-template-columns: 1fr;
    }

    .chart-columns {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .executive-kpi-grid>[data-dashboard-card],
    .executive-grid-main>[data-dashboard-card],
    .executive-grid-secondary>[data-dashboard-card],
    .executive-grid-main-top>[data-dashboard-card] {
        grid-column: span 1 !important;
    }
}

@media (max-width: 640px) {
    .admin-shell {
        width: 100%;
        border-radius: 0;
    }

    .admin-main,
    .status-summary-card,
    .page-hero-copy,
    .executive-card,
    .executive-kpi {
        padding: 18px;
    }

    .admin-userbox {
        width: 100%;
        justify-content: space-between;
    }

    .admin-usercopy {
        flex: 1;
    }

    .settings-actions.split {
        flex-direction: column;
        align-items: stretch;
    }

    .activity-item,
    .project-metric-head,
    .metric-row,
    .status-summary-item,
    .panel-head {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: flex-start;
    }

    .chart-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.viabilidade-page {
    gap: 22px;
}

.viabilidade-lista-grid,
.viabilidade-resumo-grid,
.viabilidade-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.viabilidade-dashboard-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
}

.viabilidade-dashboard-grid>.executive-card {
    grid-column: span 4;
}

.viabilidade-dashboard-grid>.executive-card.viabilidade-dashboard-card-principal {
    grid-column: span 8;
}

.viabilidade-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.viabilidade-projeto-card,
.viabilidade-section {
    display: grid;
    gap: 18px;
}

.viabilidade-projeto-metricas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.viabilidade-projeto-metricas div,
.viabilidade-card-acoes {
    padding-top: 4px;
}

.viabilidade-projeto-metricas strong,
.viabilidade-grafico-barras strong {
    color: #142033;
    font-family: var(--font-heading, Georgia, "Times New Roman", serif);
}

.viabilidade-projeto-metricas span,
.viabilidade-historico-item span {
    display: block;
    color: #6b7280;
    margin-top: 4px;
}

.viabilidade-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.viabilidade-form-categorias,
.viabilidade-categorias-grid {
    display: grid;
    gap: 20px;
}

.viabilidade-categorias-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.viabilidade-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.viabilidade-form-grid[data-viabilidade-commercial-form="1"] {
    gap: 12px;
}

.viabilidade-form-grid[data-viabilidade-commercial-form="1"] .form-field input,
.viabilidade-form-grid[data-viabilidade-commercial-form="1"] .form-field select,
.viabilidade-form-grid[data-viabilidade-commercial-form="1"] .form-field textarea {
    min-height: 40px;
    padding: 10px 12px;
    border-radius: 12px;
}

.viabilidade-form-grid[data-viabilidade-commercial-form="1"] .form-field textarea {
    min-height: 120px;
}

.viabilidade-form-categorias .form-field.auto-calculado input[readonly] {
    background: #eef4fb;
    color: #183153;
    border-style: dashed;
    cursor: default;
    font-weight: 700;
}

.viabilidade-form-categorias .form-field.auto-calculado span::after {
    content: '  auto';
    color: #2563eb;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.viabilidade-grafico-barras {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
}

.viabilidade-barra-item {
    display: grid;
    gap: 10px;
    text-align: center;
}

.viabilidade-barra-shell {
    min-height: 180px;
    display: flex;
    align-items: end;
}

.viabilidade-barra-shell i {
    display: block;
    width: 100%;
    border-radius: 18px 18px 6px 6px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand-secondary, #22c55e) 90%, white), color-mix(in srgb, var(--brand-primary, #15396b) 62%, black));
}

.viabilidade-grafico-linhas,
.viabilidade-grafico-pizza-legenda {
    display: grid;
    gap: 12px;
}

.viabilidade-historico-item {
    text-decoration: none;
}

.viabilidade-cenarios-grid {
    display: grid;
    gap: 12px;
}

.viabilidade-memoria-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.viabilidade-memoria-card {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(21, 57, 107, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.72);
}

.viabilidade-dashboard-central {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.viabilidade-kpi-hero {
    padding: 22px;
    border-radius: 24px;
    border: 1px solid rgba(21, 57, 107, 0.08);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.viabilidade-kpi-hero .executive-kpi-label {
    margin-bottom: 10px;
}

.viabilidade-kpi-hero .executive-kpi-value {
    font-size: clamp(2rem, 2.4vw, 3rem);
}

.viabilidade-kpi-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.viabilidade-status-kpi.is-ok {
    border-color: rgba(34, 197, 94, 0.25);
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.12), rgba(255, 255, 255, 0.9));
}

.viabilidade-status-kpi.is-warning {
    border-color: rgba(245, 191, 67, 0.3);
    background: linear-gradient(180deg, rgba(245, 191, 67, 0.14), rgba(255, 255, 255, 0.92));
}

.viabilidade-status-kpi.is-danger {
    border-color: rgba(234, 92, 92, 0.28);
    background: linear-gradient(180deg, rgba(234, 92, 92, 0.12), rgba(255, 255, 255, 0.92));
}

.viabilidade-status-kpi.is-neutral {
    border-color: rgba(148, 163, 184, 0.2);
    background: linear-gradient(180deg, rgba(148, 163, 184, 0.08), rgba(255, 255, 255, 0.92));
}

.viabilidade-section-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.viabilidade-toggle-button {
    border: 1px solid #d8e3f0;
    background: #f8fbff;
    color: #183153;
    border-radius: 999px;
    min-height: 40px;
    padding: 0 16px;
    font-weight: 700;
    cursor: pointer;
}

.viabilidade-toggle-button:hover {
    border-color: #bfd0e3;
}

.viabilidade-toggle-panel[hidden] {
    display: none !important;
}

.viabilidade-form-help {
    margin: 0;
    color: #6b7280;
    line-height: 1.6;
}

.viabilidade-memoria-header {
    display: grid;
    gap: 6px;
}

.viabilidade-memoria-header p {
    margin: 0;
    color: #667085;
    line-height: 1.6;
}

.viabilidade-kpi-grid .executive-kpi .button,
.viabilidade-kpi-grid .executive-kpi .viabilidade-toggle-button {
    margin-top: 14px;
}

.viabilidade-kpi-grid .executive-kpi {
    min-height: 100%;
}

.viabilidade-kpi-grid .executive-kpi-label {
    display: block;
}

.viabilidade-kpi-grid .executive-kpi-meta {
    margin-top: 10px;
    color: #667085;
    line-height: 1.5;
    font-size: 0.92rem;
}

.viabilidade-form-grid .form-field input[data-format="money"][readonly],
.viabilidade-form-grid .form-field input[data-format="area"][readonly],
.viabilidade-form-grid .form-field input[data-format="percent"][readonly],
.viabilidade-form-grid .form-field input[data-format="number"][readonly] {
    background: #eef4fb;
}

.settings-table-row.muted span,
.settings-table-row.muted strong {
    color: #667085;
    font-size: 0.9rem;
    font-weight: 500;
}

.risco-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1180px) {

    .viabilidade-lista-grid,
    .viabilidade-resumo-grid,
    .viabilidade-dashboard-grid,
    .viabilidade-kpi-grid,
    .risco-grid,
    .viabilidade-projeto-metricas,
    .viabilidade-categorias-grid,
    .viabilidade-form-grid,
    .viabilidade-memoria-grid {
        grid-template-columns: 1fr 1fr;
    }

    .viabilidade-dashboard-grid>.executive-card,
    .viabilidade-dashboard-grid>.executive-card.viabilidade-dashboard-card-principal {
        grid-column: span 6;
    }

    .viabilidade-dashboard-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {

    .viabilidade-lista-grid,
    .viabilidade-resumo-grid,
    .viabilidade-dashboard-grid,
    .viabilidade-kpi-grid,
    .risco-grid,
    .viabilidade-projeto-metricas,
    .viabilidade-categorias-grid,
    .viabilidade-form-grid,
    .viabilidade-memoria-grid,
    .viabilidade-grafico-barras {
        grid-template-columns: 1fr;
    }

    .viabilidade-dashboard-grid>.executive-card,
    .viabilidade-dashboard-grid>.executive-card.viabilidade-dashboard-card-principal {
        grid-column: span 12;
    }

    .viabilidade-dashboard-grid {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .viabilidade-dashboard-central,
    .viabilidade-kpi-stack {
        grid-template-columns: 1fr;
    }

    .broker-client-form,
    .broker-reservation-chips,
    .broker-map-layout,
    .broker-map-detail__grid {
        grid-template-columns: 1fr;
    }

    .broker-map-stage {
        min-height: 320px;
    }

    .admin-map-editor__stage {
        min-height: 360px;
    }
}

.pricing-overview-grid {
    margin-bottom: 24px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
}

.pricing-overview-grid>.executive-kpi {
    grid-column: span 1 !important;
    min-width: 0;
}

.pricing-page .admin-panel-subtitle,
.admin-panel-subtitle {
    margin-top: 8px;
    color: #667085;
    max-width: 760px;
}

.pricing-detail-grid {
    margin-bottom: 24px;
}

.pricing-list {
    margin: 0;
    padding-left: 18px;
    color: #344054;
    line-height: 1.7;
}

.pricing-list li+li {
    margin-top: 8px;
}

.pricing-stack {
    display: grid;
    gap: 20px;
}

.market-page .admin-panel-head {
    align-items: start;
}

.market-kpi-grid {
    margin-bottom: 22px;
}

.market-workbench-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.95fr);
    align-items: start;
}

.market-workbench-main,
.market-workbench-side {
    min-width: 0;
    display: grid;
    gap: 18px;
}

.market-table-card {
    display: grid;
    gap: 14px;
}

.market-table-shell {
    max-height: min(70vh, 720px);
    overflow: auto;
    border-radius: 18px;
}

.market-metrics-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.market-metrics-row--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.market-mini-metric {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.02), rgba(21, 57, 107, 0.03));
    border: 1px solid rgba(21, 57, 107, 0.08);
}

.market-mini-metric span {
    color: #6b7280;
    font-size: 0.77rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.market-mini-metric strong {
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.25;
}

.market-form-card {
    position: sticky;
    top: 16px;
}

.market-form {
    display: grid;
    gap: 14px;
}

.market-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.market-form-grid .form-field {
    gap: 6px;
}

.market-form-grid .form-field input,
.market-form-grid .form-field select,
.market-form-grid .form-field textarea {
    min-height: 40px;
    padding: 10px 12px;
    border-radius: 12px;
}

.market-form-grid .form-field textarea {
    min-height: 120px;
}

.market-research-list-card {
    margin-top: 2px;
}

.market-research-stack {
    gap: 12px;
}

.market-research-card {
    padding: 16px;
}

.market-research-card .panel-head {
    margin-bottom: 8px;
}

.table-subcopy {
    margin-top: 4px;
    color: #667085;
    font-size: 0.85rem;
}

.executive-kpi-grid--wide {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.executive-card-span-8 {
    grid-column: span 8;
}

.executive-card-span-7 {
    grid-column: span 7;
}

.executive-card-span-6 {
    grid-column: span 6;
}

.executive-card-span-5 {
    grid-column: span 5;
}

.executive-card-span-4 {
    grid-column: span 4;
}

.executive-card-span-3 {
    grid-column: span 3;
}

.summary-pill-row,
.status-summary-list,
.operations-stack,
.alert-stack,
.action-stack {
    display: grid;
    gap: 14px;
}

.summary-pill-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
}

.summary-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: #eef4fb;
    color: #193250;
    font-size: 0.88rem;
    font-weight: 700;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.summary-pill.success {
    background: rgba(34, 197, 94, 0.14);
    color: #166534;
}

.summary-pill.warning {
    background: rgba(245, 158, 11, 0.14);
    color: #9a6700;
}

.summary-pill.danger {
    background: rgba(220, 38, 38, 0.12);
    color: #b42318;
}

.executive-table {
    overflow: hidden;
    border: 1px solid rgba(20, 32, 51, 0.06);
    border-radius: 18px;
}

.executive-table-scroll {
    overflow-x: auto;
}

.executive-table table {
    width: 100%;
    border-collapse: collapse;
}

.executive-table th,
.executive-table td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid rgba(20, 32, 51, 0.06);
    vertical-align: middle;
    white-space: nowrap;
}

.executive-table th {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #667085;
}

.table-link-strong {
    color: #142033;
    font-weight: 800;
    text-decoration: none;
}

.table-link-strong:hover {
    color: var(--brand-primary, #1f3a5f);
}

.status-summary-row,
.operation-row-main,
.action-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.status-summary-row {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(20, 32, 51, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 247, 251, 0.96));
}

.status-summary-row span {
    display: block;
    margin-top: 4px;
    color: #667085;
    font-size: 0.88rem;
}

.operation-row-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(20, 32, 51, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 252, 0.96));
}

.operation-row-copy span,
.operation-row-copy small {
    display: block;
    margin-top: 6px;
    color: #667085;
}

.operation-row-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.operation-row-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.operation-row-metrics span,
.financial-summary-card span {
    display: block;
    margin-bottom: 6px;
    color: #667085;
    font-size: 0.84rem;
}

.operation-row-metrics strong,
.financial-summary-card strong {
    color: #142033;
    font-size: 1rem;
}

.progress-track {
    width: 100%;
    height: 10px;
    border-radius: 999px;
    background: rgba(20, 32, 51, 0.08);
    overflow: hidden;
}

.progress-track-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--brand-primary, #1f3a5f), var(--brand-secondary, #16a34a));
}

.chart-stage-compact {
    min-height: 320px;
}

.financial-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.financial-summary-card {
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(20, 32, 51, 0.06);
    background: #f8fbff;
}

.alert-item {
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(20, 32, 51, 0.06);
    background: #f8fbff;
}

.alert-item p,
.action-item p {
    margin: 6px 0 0;
    color: #667085;
    line-height: 1.55;
}

.alert-item.warning {
    background: rgba(245, 158, 11, 0.08);
    border-color: rgba(245, 158, 11, 0.18);
}

.alert-item.danger {
    background: rgba(220, 38, 38, 0.08);
    border-color: rgba(220, 38, 38, 0.16);
}

.action-item {
    align-items: flex-start;
    justify-content: flex-start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(20, 32, 51, 0.06);
}

.action-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.ai-stack {
    display: grid;
    gap: 14px;
}

.ai-recommendation {
    padding: 16px 0;
    border-bottom: 1px solid rgba(20, 32, 51, 0.06);
}

.ai-recommendation:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.action-bullet {
    width: 12px;
    height: 12px;
    margin-top: 6px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--brand-primary, #1f3a5f), var(--brand-secondary, #16a34a));
    flex-shrink: 0;
}

@media (max-width: 760px) {

    .pricing-overview-grid,
    .pricing-detail-grid,
    .executive-kpi-grid--wide,
    .operation-row-metrics,
    .financial-summary-grid {
        grid-template-columns: 1fr;
    }

    .executive-card-span-8,
    .executive-card-span-7,
    .executive-card-span-6,
    .executive-card-span-5,
    .executive-card-span-4,
    .executive-card-span-3 {
        grid-column: span 12;
    }

    .summary-pill-row {
        grid-auto-flow: row;
        grid-auto-columns: 1fr;
    }
}

/* Final admin compact layout overrides */
.admin-page {
    padding: 0 !important;
    margin: 0 !important;
}

.admin-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: visible !important;
}

.admin-topbar {
    grid-template-columns: 180px 1fr auto !important;
    gap: 12px !important;
    min-height: 58px !important;
    padding: 8px 14px !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.admin-brand {
    min-width: 0 !important;
    gap: 8px !important;
}

.admin-brand-logo {
    max-height: 36px !important;
    width: auto !important;
}

.admin-topnav {
    gap: 4px !important;
    justify-content: flex-start !important;
}

.admin-toplink,
.admin-topmenu-trigger {
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 9px !important;
    font-size: 0.82rem !important;
}

.admin-topmenu-panel,
.admin-usermenu-panel {
    top: calc(100% + 4px) !important;
    min-width: 190px !important;
    padding: 6px !important;
    border-radius: 12px !important;
}

.admin-topmenu-link,
.admin-usermenu-link {
    min-height: 34px !important;
    padding: 0 9px !important;
    border-radius: 9px !important;
    font-size: 0.8rem !important;
}

.admin-userbox {
    padding: 5px 7px !important;
    border-radius: 12px !important;
}

.admin-avatar,
.admin-avatar-image {
    width: 38px !important;
    height: 38px !important;
}

.admin-usercopy strong {
    font-size: 0.86rem !important;
}

.admin-usermeta {
    gap: 6px !important;
}

.admin-usermeta span {
    font-size: 0.74rem !important;
}

.admin-env-badge {
    min-height: 18px !important;
    padding: 0 7px !important;
    font-size: 0.64rem !important;
}

.admin-body {
    grid-template-columns: 210px minmax(0, 1fr) !important;
}

.admin-sidebar {
    padding: 10px 10px 14px !important;
    gap: 10px !important;
}

.admin-sidegroup {
    gap: 2px !important;
}

.admin-sidegroup-label {
    padding: 0 6px !important;
    font-size: 0.62rem !important;
}

.admin-sideitem {
    min-height: 36px !important;
    padding: 8px 10px !important;
    border-radius: 11px !important;
    gap: 9px !important;
    font-size: 0.84rem !important;
}

.admin-submenu {
    padding: 3px 0 1px 10px !important;
    gap: 2px !important;
}

.admin-submenu-link {
    min-height: 30px !important;
    padding: 0 9px !important;
    border-radius: 9px !important;
    font-size: 0.78rem !important;
}

.admin-sidebar-cta .button {
    min-height: 38px !important;
    border-radius: 10px !important;
    font-size: 0.84rem !important;
}

.admin-main {
    padding: 12px 14px 16px !important;
}

.admin-panel {
    gap: 12px !important;
}

.admin-panel-header,
.admin-panel-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 2px !important;
}

.admin-panel-kicker {
    display: inline-block !important;
    margin-bottom: 2px !important;
    font-size: 0.64rem !important;
    letter-spacing: .12em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: var(--brand-primary, #1f3a5f) !important;
}

.admin-panel-title {
    margin: 0 !important;
    font-size: clamp(1.4rem, 1.6vw, 2rem) !important;
    line-height: 1.02 !important;
}

.admin-panel-subtitle {
    margin: 8px 0 0 !important;
    max-width: 780px !important;
    font-size: 0.92rem !important;
    line-height: 1.45 !important;
}

.executive-dashboard {
    gap: 12px !important;
}

.dashboard-welcome-inline {
    font-size: 0.6rem !important;
    margin-bottom: 0 !important;
}

.executive-card,
.executive-kpi,
.page-hero-copy,
.status-summary-card {
    border-radius: 14px !important;
    box-shadow: 0 8px 18px rgba(20, 32, 51, 0.05) !important;
}

.executive-kpi,
.executive-card {
    padding: 14px !important;
}

.executive-kpi-head {
    margin-bottom: 2px !important;
}

.executive-kpi-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
}

.executive-kpi-label {
    font-size: 0.78rem !important;
}

.executive-kpi-value {
    font-size: clamp(1.45rem, 1.75vw, 2.2rem) !important;
    line-height: 0.98 !important;
}

.executive-kpi-meta {
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
}

.panel-head {
    margin-bottom: 10px !important;
}

.panel-kicker {
    min-height: 22px !important;
    padding: 0 10px !important;
    font-size: 0.64rem !important;
}

.panel-head h2 {
    font-size: 1.05rem !important;
    line-height: 1.15 !important;
}

.financial-summary-card,
.status-summary-row,
.alert-item,
.operation-row-card {
    padding: 12px !important;
    border-radius: 12px !important;
}

.financial-summary-grid {
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.action-item,
.ai-recommendation {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.admin-page-viabilidade .admin-body {
    grid-template-columns: 178px minmax(0, 1fr) !important;
}

.admin-page-viabilidade .admin-sidebar {
    padding: 12px 10px 16px !important;
    gap: 8px !important;
}

.admin-page-viabilidade .admin-sidegroup-label {
    padding: 0 8px !important;
}

.admin-page-viabilidade .admin-sideitem {
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: 0.8rem !important;
}

.admin-page-viabilidade .admin-submenu-link {
    min-height: 28px !important;
    padding: 0 8px !important;
    font-size: 0.75rem !important;
}

.admin-sidebar-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 4px 8px 12px;
    margin-bottom: 6px;
}

.admin-page-viabilidade .admin-sidebar-brand .admin-brand-logo {
    max-width: 150px !important;
    max-height: 34px !important;
}

.admin-page-viabilidade .admin-main {
    padding-top: 14px !important;
}

.admin-page-viabilidade .viabilidade-engine-page {
    gap: 14px !important;
}

.admin-page-viabilidade .viabilidade-engine-timeline {
    order: -3;
    margin-top: 0 !important;
}

.admin-page-viabilidade .viabilidade-engine-head {
    order: -2;
}

.admin-page-viabilidade .viabilidade-engine-summary {
    order: -1;
}

@media (max-width: 920px) {
    .admin-topbar {
        grid-template-columns: auto 1fr !important;
    }

    .admin-body {
        grid-template-columns: 1fr !important;
    }

    .admin-page-viabilidade .admin-body {
        grid-template-columns: 1fr !important;
    }
}

/* Viabilidade compacta */
.viabilidade-page {
    gap: 14px !important;
}

.viabilidade-page .admin-panel-head {
    padding-bottom: 0 !important;
}

.viabilidade-page .dashboard-kicker {
    margin-bottom: 4px !important;
}

.viabilidade-page h1 {
    margin: 0 !important;
    font-size: 1.08rem !important;
    line-height: 1.12 !important;
}

.viabilidade-page .settings-subtitle {
    margin-top: 6px !important;
    max-width: 920px !important;
    font-size: 0.84rem !important;
    line-height: 1.38 !important;
}

.viabilidade-lista-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.viabilidade-projeto-card {
    gap: 12px !important;
    padding: 16px 18px !important;
    border-radius: 15px !important;
}

.viabilidade-projeto-card .panel-head {
    margin-bottom: 0 !important;
    gap: 10px !important;
    align-items: start !important;
}

.viabilidade-projeto-card .panel-kicker {
    min-height: 20px !important;
    padding: 0 9px !important;
    font-size: 0.62rem !important;
}

.viabilidade-projeto-card .panel-head h2 {
    margin: 6px 0 0 !important;
    font-size: 0.98rem !important;
    line-height: 1.2 !important;
}

.viabilidade-projeto-card .ui-status-badge {
    padding: 7px 11px !important;
    font-size: 0.77rem !important;
}

.viabilidade-projeto-metricas {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 14px !important;
}

.viabilidade-projeto-metricas div {
    padding-top: 0 !important;
}

.viabilidade-projeto-metricas strong {
    font-size: 0.92rem !important;
    line-height: 1.15 !important;
}

.viabilidade-projeto-metricas span {
    margin-top: 2px !important;
    font-size: 0.78rem !important;
    line-height: 1.28 !important;
}

.viabilidade-card-acoes {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding-top: 0 !important;
}

.viabilidade-card-acoes .button,
.viabilidade-card-acoes .table-action,
.viabilidade-card-acoes button {
    min-height: 34px !important;
    padding: 7px 11px !important;
    border-radius: 11px !important;
    font-size: 0.8rem !important;
    line-height: 1 !important;
}

@media (max-width: 1420px) {
    .viabilidade-lista-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {

    .viabilidade-lista-grid,
    .viabilidade-projeto-metricas {
        grid-template-columns: 1fr !important;
    }
}

/* Projetos em cards */
.project-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 460px));
    gap: 16px;
    align-content: start;
    justify-content: start;
}

.project-admin-card {
    position: relative;
    display: grid;
    gap: 14px;
    width: 100%;
    max-width: 460px;
    padding: 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid rgba(21, 57, 107, 0.08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
    overflow: hidden;
}

.project-admin-card__media {
    margin: -16px -16px 0;
    position: relative;
    overflow: hidden;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    line-height: 0;
}

.project-admin-card__image {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 6.2;
    object-fit: cover;
    object-position: center;
    background: linear-gradient(135deg, #dbe7f3, #eef4fa);
}

.project-admin-card__image--placeholder {
    display: grid;
    place-items: center;
    color: #5c6f84;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.project-admin-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.09);
}

.project-admin-card--success {
    border-color: rgba(22, 163, 74, 0.2);
}

.project-admin-card--warning {
    border-color: rgba(245, 158, 11, 0.24);
}

.project-admin-card--danger {
    border-color: rgba(220, 38, 38, 0.18);
}

.project-admin-card__tag {
    display: flex;
    justify-content: flex-start;
}

.project-admin-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.project-admin-pill__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: currentColor;
}

.project-admin-pill--success {
    background: rgba(22, 163, 74, 0.12);
    color: #15803d;
}

.project-admin-pill--warning {
    background: rgba(245, 158, 11, 0.15);
    color: #b45309;
}

.project-admin-pill--danger {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}

.project-admin-pill--neutral {
    background: #eef2f7;
    color: #475569;
}

.project-admin-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}

.project-admin-card__eyebrow {
    margin: 0 0 4px;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.project-admin-card__header h2 {
    margin: 0;
    color: #142033;
    font-size: 1.1rem;
    line-height: 1.2;
}

.project-dossier {
    display: grid;
    gap: 16px;
}

.project-dossier-hero {
    display: grid;
    grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(21, 57, 107, 0.08);
    background:
        radial-gradient(circle at top left, rgba(217, 244, 238, 0.46), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}

.project-dossier-hero__media {
    min-width: 0;
}

.project-dossier-hero__image {
    display: block;
    width: 100%;
    min-height: 100%;
    aspect-ratio: 4 / 2.9;
    object-fit: cover;
    border-radius: 18px;
    background: linear-gradient(135deg, #dbe7f3, #eef4fa);
}

.project-dossier-hero__image--placeholder {
    display: grid;
    place-items: center;
    color: #5c6f84;
    font-size: 1rem;
    font-weight: 700;
}

.project-dossier-hero__content {
    display: grid;
    gap: 10px;
    align-content: start;
}

.project-dossier-hero__title {
    display: grid;
    gap: 6px;
}

.project-dossier-hero__kicker {
    margin: 0;
    color: #355070;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.project-dossier-hero__content h2 {
    margin: 0;
    color: #142033;
    font-size: clamp(1.45rem, 1.8vw, 2rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.project-dossier-hero__description {
    margin: 0;
    max-width: 680px;
    color: #5c6f84;
    font-size: 0.92rem;
    line-height: 1.45;
}

.project-dossier-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.project-dossier-hero__fact {
    min-width: 180px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(21, 57, 107, 0.07);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.project-dossier-hero__fact span {
    display: block;
    margin-bottom: 4px;
    color: #738398;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.project-dossier-hero__fact strong {
    display: block;
    color: #122033;
    font-size: 0.96rem;
    line-height: 1.2;
}

.project-dossier-section {
    display: grid;
    gap: 0;
    padding: 0;
    border-radius: 22px;
    border: 1px solid rgba(21, 57, 107, 0.08);
    background: linear-gradient(180deg, #ffffff 0%, #fafcff 100%);
    overflow: hidden;
}

.project-dossier-section__toggle {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.project-dossier-section__toggle-copy {
    display: grid;
    gap: 4px;
}

.project-dossier-section__toggle h3 {
    margin: 0;
    color: #142033;
    font-size: 1.04rem;
    letter-spacing: -0.02em;
}

.project-dossier-grid {
    gap: 16px 18px;
    padding: 0 18px 18px;
    border-top: 1px solid rgba(21, 57, 107, 0.08);
}

.project-dossier-grid.is-collapsed {
    display: none;
}

.project-dossier-section__toggle-icon {
    position: relative;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    border: 1px solid rgba(53, 80, 112, 0.2);
    background: #fff;
}

.project-dossier-section__toggle-icon::before,
.project-dossier-section__toggle-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 1.5px;
    background: #355070;
    transform: translate(-50%, -50%);
    transition: transform 0.18s ease, opacity 0.18s ease;
}

.project-dossier-section__toggle-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.project-dossier-section__toggle[aria-expanded="true"] .project-dossier-section__toggle-icon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

.project-admin-entity-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    max-width: 100%;
    padding: 4px 10px;
    border-radius: 999px;
    background: #eef4fb;
    color: #355070;
    font-size: 0.74rem;
    font-weight: 700;
    white-space: normal;
    word-break: break-word;
}

.project-admin-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
}

.project-admin-meta-item {
    display: grid;
    gap: 3px;
    padding-top: 4px;
    border-top: 1px solid #edf2f7;
}

.project-admin-meta-item span {
    color: #6b7280;
    font-size: 0.78rem;
    line-height: 1.2;
}

.project-admin-meta-item strong {
    color: #142033;
    font-size: 0.96rem;
    line-height: 1.2;
}

.project-admin-meta-item--decision {
    grid-column: span 2;
}

.project-admin-text--success {
    color: #15803d !important;
}

.project-admin-text--warning {
    color: #b45309 !important;
}

.project-admin-text--danger {
    color: #b91c1c !important;
}

.project-admin-text--neutral {
    color: #475569 !important;
}

.project-admin-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 2px;
}

.project-admin-card__actions form {
    margin: 0;
}

.project-admin-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 12px;
    border: 1px solid #dbe5f0;
    background: #ffffff;
    color: #38506f;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.16s ease;
}

.project-admin-action:hover {
    border-color: color-mix(in srgb, var(--brand-primary, #15396b) 24%, white);
    background: #f6f9fc;
    color: var(--brand-primary, #15396b);
    transform: translateY(-1px);
}

.project-admin-action__icon {
    font-size: 0.95rem;
    line-height: 1;
}

.project-admin-action--danger {
    color: #c0392b;
}

.project-admin-action--danger:hover {
    border-color: rgba(192, 57, 43, 0.22);
    background: rgba(192, 57, 43, 0.05);
    color: #b42318;
}

.unit-admin-grid .project-admin-card__meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1360px) {
    .project-admin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {

    .project-admin-grid,
    .project-admin-card__meta,
    .unit-admin-grid .project-admin-card__meta {
        grid-template-columns: 1fr;
    }

    .project-admin-meta-item--decision {
        grid-column: auto;
    }

    .project-admin-card__header {
        flex-direction: column;
    }

    .project-dossier-hero,
    .project-dossier-hero__facts {
        grid-template-columns: 1fr;
    }
}

/* Card system visual parity */
.card,
.panel,
.admin-card,
.admin-kpi,
.settings-card,
.executive-card,
.executive-kpi,
.status-summary-card,
.page-hero-copy,
.integration-card,
.feed-card,
.chart-card,
.financial-summary-card,
.operation-row-card,
.viabilidade-projeto-card,
.viabilidade-section,
.viabilidade-kpi-hero,
.viabilidade-memoria-card {
    border: 1px solid rgba(21, 57, 107, 0.08) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

.card:hover,
.panel:hover,
.admin-card:hover,
.admin-kpi:hover,
.settings-card:hover,
.executive-card:hover,
.executive-kpi:hover,
.status-summary-card:hover,
.page-hero-copy:hover,
.integration-card:hover,
.feed-card:hover,
.chart-card:hover,
.financial-summary-card:hover,
.operation-row-card:hover,
.viabilidade-projeto-card:hover,
.viabilidade-section:hover,
.viabilidade-kpi-hero:hover,
.viabilidade-memoria-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.09) !important;
    border-color: color-mix(in srgb, var(--brand-primary, #15396b) 10%, rgba(21, 57, 107, 0.08)) !important;
}

/* Tabelas administrativas */
.admin-table {
    border-collapse: separate;
    border-spacing: 0;
}

.admin-table thead th {
    position: sticky;
    top: 0;
    background: rgba(255, 255, 255, 0.96);
    color: #5a6b7f;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    z-index: 1;
}

.admin-table tbody tr {
    transition: background-color 0.16s ease;
}

.admin-table tbody tr:nth-child(even) {
    background: rgba(15, 23, 42, 0.025);
}

.admin-table tbody tr:hover {
    background: rgba(21, 57, 107, 0.045);
}

.admin-table td {
    vertical-align: middle;
}

.admin-table .table-actions {
    justify-content: flex-end;
}

.table-row-menu {
    position: relative;
    z-index: 20;
}

.table-row-menu summary::-webkit-details-marker {
    display: none;
}

.table-row-menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid rgba(17, 33, 51, 0.12);
    background: #fff;
    color: #4b5f77;
    font-size: 0.83rem;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
    transition: all 0.16s ease;
}

.table-row-menu[open] .table-row-menu-trigger,
.table-row-menu-trigger:hover {
    background: color-mix(in srgb, var(--brand-primary, #15396b) 10%, white);
    border-color: color-mix(in srgb, var(--brand-primary, #15396b) 20%, white);
    color: var(--brand-primary, #15396b);
}

.table-row-menu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 120;
    display: grid;
    gap: 4px;
    min-width: 160px;
    padding: 8px;
    border-radius: 14px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
}

.table-row-menu-link {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 34px;
    padding: 0 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
}

.table-row-menu-link:hover {
    background: rgba(21, 57, 107, 0.06);
    color: var(--brand-primary, #15396b);
}

.table-row-menu-link.danger {
    color: #c2410c;
}

.table-row-menu-link.danger:hover {
    background: rgba(220, 38, 38, 0.08);
    color: #b91c1c;
}

.admin-inline-filter-form {
    margin-left: auto;
}

.admin-inline-filter {
    display: inline-grid;
    gap: 4px;
    min-width: 240px;
}

.admin-inline-filter span {
    color: #6b7280;
    font-size: 0.76rem;
    font-weight: 700;
}

.admin-inline-filter select {
    min-height: 38px;
    padding: 0 12px;
    border-radius: 12px;
    border: 1px solid rgba(21, 57, 107, 0.14);
    background: #fff;
    color: #183153;
    font: inherit;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.business-rules-page {
    display: grid;
    gap: 1.5rem;
}

.business-rules-hero,
.business-rules-card,
.business-rules-sidebar-card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(20, 57, 107, 0.08);
    border-radius: 1.75rem;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}

.business-rules-hero {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: flex-start;
    padding: 2rem;
}

.business-rules-subtitle {
    max-width: 54rem;
    color: var(--text-muted);
}

.business-rules-hero-meta {
    display: grid;
    gap: 0.65rem;
    justify-items: end;
    text-align: right;
}

.business-rules-updated,
.business-rules-path {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.business-rules-path {
    max-width: 24rem;
    word-break: break-word;
}

.business-rules-layout {
    display: grid;
    grid-template-columns: minmax(16rem, 20rem) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.business-rules-sidebar {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 1.5rem;
}

.business-rules-sidebar-card,
.business-rules-card {
    padding: 1.5rem;
}

.business-rules-toc {
    display: grid;
    gap: 0.45rem;
}

.business-rules-toc-link {
    color: var(--brand-primary, #15396b);
    text-decoration: none;
    padding: 0.2rem 0;
}

.business-rules-toc-link.level-3 {
    padding-left: 1rem;
    color: var(--text-muted);
    font-size: 0.95rem;
}

.business-rules-card-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(20, 57, 107, 0.08);
    margin-bottom: 1.25rem;
}

.admin-prose {
    color: var(--text-color, #1e293b);
    line-height: 1.75;
}

.admin-prose h1,
.admin-prose h2,
.admin-prose h3,
.admin-prose h4 {
    color: var(--brand-primary, #15396b);
    margin: 1.5rem 0 0.65rem;
}

.admin-prose h1 {
    font-size: 2rem;
}

.admin-prose h2 {
    font-size: 1.35rem;
}

.admin-prose h3 {
    font-size: 1.08rem;
}

.admin-prose p {
    margin: 0 0 0.85rem;
}

.admin-prose ul {
    margin: 0 0 1rem 1.2rem;
    padding: 0;
}

.admin-prose li {
    margin-bottom: 0.45rem;
}

.admin-prose code {
    display: inline-block;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: rgba(20, 57, 107, 0.08);
    color: var(--brand-primary, #15396b);
    font-size: 0.92em;
}

.is-muted-search {
    opacity: 0.24;
}

@media (max-width: 1080px) {
    .business-rules-layout {
        grid-template-columns: 1fr;
    }

    .business-rules-sidebar {
        position: static;
    }

    .business-rules-hero {
        flex-direction: column;
    }

    .business-rules-hero-meta {
        justify-items: start;
        text-align: left;
    }
}

.no-print {
    display: inherit;
}

.report-sheet-header,
.report-sheet-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.report-brand-logo--print-safe {
    max-height: 64px;
}

.report-table {
    margin-top: 1.5rem;
}

.report-sheet-footer {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(20, 57, 107, 0.08);
    color: #64748b;
    font-size: 0.92rem;
}

.viabilidade-timeline {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
}

.viabilidade-timeline-step {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(20, 57, 107, 0.1);
    background: rgba(248, 250, 252, 0.9);
}

.viabilidade-timeline-step.is-complete {
    border-color: rgba(22, 163, 74, 0.2);
    background: rgba(240, 253, 244, 0.92);
}

.viabilidade-timeline-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #cbd5e1;
    flex: 0 0 12px;
}

.viabilidade-timeline-step.is-complete .viabilidade-timeline-dot {
    background: #16a34a;
}

.viabilidade-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

.viabilidade-modal[hidden] {
    display: none !important;
}

.viabilidade-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.54);
}

.viabilidade-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(900px, calc(100vw - 2rem));
    max-height: calc(100vh - 3rem);
    overflow: auto;
    padding: 1.5rem;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 32px 80px rgba(15, 23, 42, 0.28);
}

.has-viabilidade-modal {
    overflow: hidden;
}

@media print {

    .no-print,
    .admin-topbar,
    .admin-sidebar,
    .admin-nav-toggle,
    .button,
    .table-action {
        display: none !important;
    }

    .report-brand-logo--print-safe {
        filter: brightness(0) saturate(100%);
    }

    .report-card,
    .admin-card {
        box-shadow: none !important;
        border-color: #d4dbe5 !important;
    }
}

.viabilidade-engine-page {
    display: grid;
    gap: 18px;
}

.viabilidade-engine-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 26px 28px;
    background:
        radial-gradient(circle at top right, rgba(37, 99, 235, 0.08), transparent 28%),
        radial-gradient(circle at bottom left, rgba(16, 185, 129, 0.06), transparent 22%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.98));
    border: 1px solid rgba(20, 32, 51, 0.08);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.05);
}

.viabilidade-status-badge {
    display: grid;
    gap: 4px;
    min-width: 180px;
    padding: 16px 18px;
    border-radius: 18px;
    text-align: right;
    color: #142033;
    background: #eef3fb;
}

.viabilidade-status-badge small {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    font-size: 0.72rem;
}

.viabilidade-status-badge strong {
    font-size: 1.12rem;
    line-height: 1.1;
}

.viabilidade-status-badge.is-ok {
    background: rgba(34, 197, 94, 0.16);
    color: #166534;
}

.viabilidade-status-badge.is-warning {
    background: rgba(245, 158, 11, 0.16);
    color: #92400e;
}

.viabilidade-status-badge.is-danger {
    background: rgba(239, 68, 68, 0.16);
    color: #991b1b;
}

.viabilidade-status-badge.is-neutral {
    background: rgba(100, 116, 139, 0.14);
    color: #334155;
}

.viabilidade-engine-timeline {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    align-items: stretch;
    gap: 0;
    padding: 8px 10px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 255, 0.96));
    border: 1px solid rgba(20, 32, 51, 0.08);
    box-shadow: 0 10px 24px rgba(20, 32, 51, 0.04);
    overflow: hidden;
}

.viabilidade-engine-step {
    display: inline-grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 16px 0 12px;
    border: 1px solid #d9e2f2;
    border-right: 0;
    background: linear-gradient(180deg, #ffffff, #f8fbff);
    color: #31445b;
    text-decoration: none;
    position: relative;
    min-width: 0;
}

.viabilidade-engine-step-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 800;
    background: #cbd5e1;
    color: #fff;
    box-shadow: 0 0 0 6px rgba(203, 213, 225, 0.22);
}

.viabilidade-engine-step-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.viabilidade-engine-step-copy small {
    color: #7a8aa0;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.1;
}

.viabilidade-engine-step strong {
    display: block;
    font-size: 0.8rem;
    line-height: 1.06;
    white-space: normal;
}

.viabilidade-engine-step.is-concluida {
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.16), rgba(16, 185, 129, 0.06));
    border-color: rgba(16, 185, 129, 0.22);
}

.viabilidade-engine-step.is-concluida .viabilidade-engine-step-index {
    background: #10b981;
    color: #fff;
    box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.18);
}

.viabilidade-engine-step.is-atual {
    background: linear-gradient(180deg, rgba(29, 78, 216, 0.16), rgba(29, 78, 216, 0.06));
    border-color: rgba(29, 78, 216, 0.24);
    box-shadow: 0 12px 24px rgba(29, 78, 216, 0.08);
}

.viabilidade-engine-step.is-atual .viabilidade-engine-step-index,
.viabilidade-engine-step.is-selected .viabilidade-engine-step-index {
    background: #1d4ed8;
    color: #fff;
    box-shadow: 0 0 0 6px rgba(29, 78, 216, 0.16);
}

.viabilidade-engine-step.is-bloqueada {
    opacity: 0.55;
    pointer-events: none;
}

.viabilidade-engine-step::after {
    content: "";
    position: absolute;
    top: 5px;
    right: -14px;
    width: 28px;
    height: calc(100% - 10px);
    background: inherit;
    border-top: 1px solid #d9e2f2;
    border-right: 1px solid #d9e2f2;
    transform: rotate(45deg);
    border-radius: 0 12px 0 0;
    z-index: 2;
}

.viabilidade-engine-step.is-selected {
    z-index: 3;
}

.viabilidade-engine-step:first-child {
    border-radius: 14px 0 0 14px;
}

.viabilidade-engine-step:last-child {
    border-right: 1px solid #d9e2f2;
    border-radius: 0 14px 14px 0;
}

.viabilidade-engine-step:last-child::after {
    display: none;
}

.viabilidade-stage-card {
    display: grid;
    gap: 18px;
    padding: 30px;
    border: 1px solid rgba(20, 32, 51, 0.08);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.05);
}

.viabilidade-stage-head {
    align-items: start;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(20, 32, 51, 0.08);
}

.viabilidade-stage-copy {
    margin: 8px 0 0;
    color: #64748b;
}

.viabilidade-stage-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(16, 185, 129, 0.12), rgba(16, 185, 129, 0.06));
    color: #0f766e;
    font-weight: 800;
}

.viabilidade-stage-label-icon {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: linear-gradient(180deg, #10b981, #059669);
    box-shadow: 0 0 0 5px rgba(16, 185, 129, 0.12);
}

.viabilidade-area-hero,
.viabilidade-stage-split {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.admin-system-footer {
    display: flex;
    justify-content: flex-end;
    padding: 0.85rem 1.25rem 1.5rem;
    color: var(--muted, #64748b);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.viabilidade-document-card {
    gap: 0.9rem;
}

.viabilidade-document-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.viabilidade-document-files {
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem 0.95rem;
    border-radius: 1rem;
    background: #f8fbff;
    border: 1px solid #d9e7fb;
}

.viabilidade-document-files__list {
    margin: 0;
    padding-left: 1rem;
    display: grid;
    gap: 0.35rem;
}

.viabilidade-document-files__list li {
    color: #4b5f7c;
}

.settings-table-row-stack {
    align-items: flex-start;
    gap: 1rem;
}

.settings-table-row-stack>div:first-child {
    display: grid;
    gap: 0.2rem;
}

.project-dossier-section__toggle.is-static {
    cursor: default;
}

.project-dossier-section__toggle.is-static::after {
    display: none;
}

.viabilidade-area-photo img,
.viabilidade-area-map iframe {
    width: 100%;
    height: 100%;
    min-height: 260px;
    border: 0;
    border-radius: 16px;
    object-fit: cover;
}

.viabilidade-area-data {
    align-self: stretch;
    padding: 2px 0;
    display: grid;
    gap: 10px;
}

.viabilidade-area-data .settings-table-row {
    grid-template-columns: minmax(120px, .95fr) minmax(0, 1.05fr);
    gap: 10px;
    padding: 10px 14px;
    min-height: 0;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.viabilidade-area-data .settings-table-row span {
    font-size: 0.82rem;
    line-height: 1.2;
    color: #5f6f86;
    font-weight: 700;
}

.viabilidade-area-data .settings-table-row strong {
    font-size: 0.98rem;
    line-height: 1.2;
    color: #13233b;
    font-weight: 800;
    justify-self: start;
}

.viabilidade-area-data .settings-table-row.viabilidade-inline-edit-row {
    align-items: center;
}


.viabilidade-area-data .settings-table-row.viabilidade-inline-edit-row span {
    align-self: center;
}

/* Etapa 6 - dashboard BI */
.viabilidade-kpi-bi {
    display: grid;
    gap: 14px;
}

.viabilidade-kpi-bi-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
}

.viabilidade-kpi-bi-head h3 {
    margin: 4px 0 6px;
    font-size: 1.1rem;
}

.viabilidade-kpi-bi-head p {
    margin: 0;
    font-size: 0.88rem;
    color: #5e718c;
    max-width: 760px;
}

.viabilidade-kpi-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.viabilidade-kpi-tabs {
    gap: 8px;
    padding-bottom: 0;
}

.viabilidade-kpi-tabs .settings-tab {
    padding: 9px 14px;
    font-size: 0.82rem;
    white-space: nowrap;
}

.viabilidade-kpi-bi .settings-panel {
    display: none;
}

.viabilidade-kpi-bi .settings-panel.active {
    display: grid;
    gap: 12px;
}

.viabilidade-bi-kpi-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.viabilidade-bi-kpi-card {
    background: #fff;
    border: 1px solid rgba(20, 32, 51, 0.08);
    border-radius: 16px;
    padding: 14px;
    display: grid;
    gap: 6px;
    min-height: 112px;
}

.viabilidade-bi-kpi-card span {
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6c7b91;
}

.viabilidade-bi-kpi-card strong {
    font-size: 1.1rem;
    line-height: 1.08;
    color: #13233b;
}

.viabilidade-bi-kpi-card small {
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.3;
}

.viabilidade-bi-kpi-card.is-positive {
    border-color: rgba(34, 197, 94, .22);
    background: linear-gradient(180deg, rgba(34, 197, 94, .08), #fff);
}

.viabilidade-bi-kpi-card.is-warning {
    border-color: rgba(245, 158, 11, .25);
    background: linear-gradient(180deg, rgba(245, 158, 11, .09), #fff);
}

.viabilidade-bi-kpi-card.is-critical {
    border-color: rgba(239, 68, 68, .22);
    background: linear-gradient(180deg, rgba(239, 68, 68, .08), #fff);
}

.viabilidade-bi-kpi-card.is-info {
    border-color: rgba(37, 99, 235, .18);
    background: linear-gradient(180deg, rgba(37, 99, 235, .07), #fff);
}

.viabilidade-bi-chart-grid,
.viabilidade-bi-block-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
}

.viabilidade-bi-block-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
}

.viabilidade-bi-scenario-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 12px;
    align-items: stretch;
}

.viabilidade-bi-scenario-chart,
.viabilidade-bi-scenario-donut,
.viabilidade-bi-scenario-block {
    min-width: 0;
}

.viabilidade-bi-scenario-bars {
    display: grid;
    gap: 12px;
}

.viabilidade-bi-scenario-row {
    display: grid;
    grid-template-columns: minmax(170px, 220px) minmax(0, 1fr) minmax(120px, auto);
    gap: 12px;
    align-items: center;
}

.viabilidade-bi-scenario-label strong {
    display: block;
    color: #13233b;
    font-size: 0.86rem;
    font-weight: 800;
}

.viabilidade-bi-scenario-track {
    position: relative;
    height: 12px;
    border-radius: 999px;
    background: #edf2f7;
    overflow: hidden;
}

.viabilidade-bi-scenario-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 999px;
}

.viabilidade-bi-scenario-fill.is-ok,
.viabilidade-bi-scenario-fill.is-positive {
    background: linear-gradient(90deg, #16a34a, #4ade80);
}

.viabilidade-bi-scenario-fill.is-warning {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.viabilidade-bi-scenario-fill.is-danger,
.viabilidade-bi-scenario-fill.is-critical {
    background: linear-gradient(90deg, #ef4444, #fb7185);
}

.viabilidade-bi-scenario-fill.is-neutral,
.viabilidade-bi-scenario-fill.is-info {
    background: linear-gradient(90deg, #2563eb, #60a5fa);
}

.viabilidade-bi-scenario-value {
    font-size: 0.84rem;
    font-weight: 800;
    color: #13233b;
    text-align: right;
    white-space: nowrap;
}

.viabilidade-bi-scenario-block-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.viabilidade-bi-chart-card,
.viabilidade-bi-block {
    min-width: 0;
}

.viabilidade-bi-block {
    height: 100%;
}

.viabilidade-bi-bars,
.viabilidade-bi-progress-stack,
.viabilidade-bi-stack-list {
    display: grid;
    gap: 10px;
}

.viabilidade-bi-bars-row {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(0, 2fr);
    gap: 10px;
    align-items: start;
}

.viabilidade-bi-bars-label strong,
.viabilidade-bi-stack-item strong {
    display: block;
    color: #13233b;
    font-size: 0.88rem;
}

.viabilidade-bi-bars-label span,
.viabilidade-bi-stack-item span {
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.3;
}

.viabilidade-bi-bars-track,
.viabilidade-bi-progress-track {
    position: relative;
    border-radius: 999px;
    background: #edf2f7;
    height: 10px;
    overflow: hidden;
}

.viabilidade-bi-bars-compare {
    display: grid;
    gap: 6px;
}

.viabilidade-bi-bars-compare-row {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) minmax(112px, auto);
    gap: 8px;
    align-items: center;
}

.viabilidade-bi-bars-series {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 800;
    color: #475569;
}

.viabilidade-bi-bars-series::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #94a3b8;
}

.viabilidade-bi-bars-series.is-vista::before {
    background: #2563eb;
}

.viabilidade-bi-bars-series.is-prazo::before {
    background: #14b8a6;
}

.viabilidade-bi-bars-compare-row strong {
    font-size: 0.8rem;
    color: #13233b;
    text-align: right;
}

.viabilidade-bi-bars-dual,
.viabilidade-bi-bars-single,
.viabilidade-bi-progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 999px;
}

.viabilidade-bi-bars-dual.is-vista {
    background: linear-gradient(90deg, #2563eb, #60a5fa);
    z-index: 1;
}

.viabilidade-bi-bars-dual.is-prazo {
    background: linear-gradient(90deg, #14b8a6, #2dd4bf);
    opacity: .84;
    z-index: 2;
}

.viabilidade-bi-bars-single.is-ok,
.viabilidade-bi-bars-single.is-positive {
    background: linear-gradient(90deg, #16a34a, #4ade80);
}

.viabilidade-bi-bars-single.is-warning {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.viabilidade-bi-bars-single.is-danger,
.viabilidade-bi-bars-single.is-critical {
    background: linear-gradient(90deg, #ef4444, #fb7185);
}

.viabilidade-bi-bars-single.is-neutral,
.viabilidade-bi-bars-single.is-info {
    background: linear-gradient(90deg, #2563eb, #60a5fa);
}

.viabilidade-bi-progress-fill {
    background: linear-gradient(90deg, #7c3aed, #60a5fa);
}

.viabilidade-bi-progress-row {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) 96px;
    gap: 10px;
    align-items: center;
}

.viabilidade-bi-progress-row span {
    font-size: 0.8rem;
    font-weight: 700;
    color: #334155;
}

.viabilidade-bi-donut-shell {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.viabilidade-bi-donut {
    width: 118px;
    height: 118px;
    border-radius: 50%;
    position: relative;
}

.viabilidade-bi-donut::after {
    content: '';
    position: absolute;
    inset: 22px;
    background: #fff;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(20, 32, 51, 0.05);
}

.viabilidade-bi-donut-legend {
    display: grid;
    gap: 8px;
}

.viabilidade-bi-donut-legend div {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.viabilidade-bi-donut-legend span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
}

.viabilidade-bi-donut-legend strong,
.viabilidade-bi-donut-legend small {
    grid-column: 2;
}

.viabilidade-bi-donut-legend strong {
    font-size: 0.8rem;
    color: #13233b;
}

.viabilidade-bi-donut-legend small {
    color: #64748b;
    font-size: 0.76rem;
}

.viabilidade-bi-stack-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(20, 32, 51, 0.08);
    border-radius: 14px;
    background: #fff;
}

.viabilidade-bi-kpi-strip.is-decision {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.viabilidade-bi-kpi-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.viabilidade-bi-kpi-rule {
    font-size: 0.66rem;
    font-style: normal;
    color: #64748b;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.viabilidade-bi-kpi-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}

.viabilidade-bi-kpi-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: rgba(241, 245, 249, 0.95);
    color: #334155;
}

.viabilidade-bi-progress-row strong {
    font-size: 0.74rem;
    color: #64748b;
    font-weight: 800;
    text-align: right;
}

.viabilidade-bi-kpi-chip.vista {
    color: #1d4ed8;
    background: rgba(219, 234, 254, 0.95);
    border-color: rgba(37, 99, 235, 0.18);
}

.viabilidade-bi-kpi-chip.prazo {
    color: #0f766e;
    background: rgba(204, 251, 241, 0.95);
    border-color: rgba(20, 184, 166, 0.18);
}

.viabilidade-bi-kpi-chip.empate {
    color: #475569;
}

.viabilidade-bi-kpi-delta {
    font-size: 0.72rem;
    color: #475569;
    font-weight: 700;
}

.viabilidade-bi-sparkline {
    width: 56px;
    height: 20px;
    flex: 0 0 auto;
}

.viabilidade-bi-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    font-size: 0.72rem;
    color: #64748b;
    font-weight: 700;
}

.viabilidade-bi-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.viabilidade-bi-legend i {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
    background: #94a3b8;
}

.viabilidade-bi-legend i.is-vista {
    background: #2563eb;
}

.viabilidade-bi-legend i.is-prazo {
    background: #14b8a6;
}

.viabilidade-bi-bars-metrics {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.74rem;
    color: #13233b;
    font-weight: 700;
}

.viabilidade-bi-linechart {
    width: 100%;
    height: 210px;
    display: block;
}

.viabilidade-bi-linechart-labels {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 4px;
    margin-top: 8px;
    font-size: 0.58rem;
    color: #64748b;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.viabilidade-bi-linechart-labels span {
    min-width: 0;
    line-height: 1.15;
    white-space: normal;
    word-break: break-word;
}

.viabilidade-bi-chart-note {
    margin-top: 6px;
    font-size: 0.72rem;
    line-height: 1.35;
    color: #64748b;
}

.viabilidade-bi-waterfall {
    display: grid;
    gap: 9px;
}

.viabilidade-bi-waterfall-row {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 12px;
    align-items: center;
    border: 1px solid rgba(20, 32, 51, 0.08);
    border-radius: 14px;
    padding: 10px 12px;
    background: #fff;
}

.viabilidade-bi-waterfall-row.is-deduction {
    border-color: rgba(245, 158, 11, 0.22);
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.08), #fff);
}

.viabilidade-bi-waterfall-row.is-subtotal {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.06), #fff);
}

.viabilidade-bi-waterfall-row.is-result {
    border-color: rgba(34, 197, 94, 0.28);
    background: linear-gradient(180deg, rgba(34, 197, 94, 0.12), rgba(240, 253, 244, 0.96));
    box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.08);
}

.viabilidade-bi-waterfall-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.viabilidade-bi-waterfall-title strong {
    font-size: 0.84rem;
    color: #13233b;
}

.viabilidade-bi-waterfall-title span {
    font-size: 0.66rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.viabilidade-bi-waterfall-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.viabilidade-bi-waterfall-values span {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 8px 10px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 800;
}

.viabilidade-bi-waterfall-values span small {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.8;
    margin-bottom: 2px;
}

.viabilidade-bi-waterfall-values span.is-vista {
    color: #1d4ed8;
    background: rgba(219, 234, 254, 0.95);
}

.viabilidade-bi-waterfall-values span.is-prazo {
    color: #0f766e;
    background: rgba(204, 251, 241, 0.95);
}

.viabilidade-bi-executive-copy {
    display: grid;
    gap: 10px;
    color: #334155;
    font-size: 0.88rem;
    line-height: 1.45;
}

.viabilidade-bi-executive-copy p {
    margin: 0;
    padding: 10px 12px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(241, 245, 249, 0.85));
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.viabilidade-bi-sensitivity {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.viabilidade-bi-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.viabilidade-bi-table thead th {
    background: #f8fafc;
    color: #64748b;
    font-size: 0.64rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 800;
    padding: 10px 12px;
}

.viabilidade-bi-table tbody tr:nth-child(even) td {
    background: rgba(248, 250, 252, 0.92);
}

.viabilidade-bi-table tbody tr:hover td {
    background: rgba(239, 246, 255, 0.9);
}

.viabilidade-bi-table tbody tr.is-deduction td {
    background: rgba(255, 247, 237, 0.88);
}

.viabilidade-bi-table tbody tr.is-subtotal td {
    background: rgba(239, 246, 255, 0.84);
}

.viabilidade-bi-table tbody tr.is-result td {
    background: rgba(240, 253, 244, 0.94);
    border-top: 1px solid rgba(34, 197, 94, 0.18);
    border-bottom: 1px solid rgba(34, 197, 94, 0.18);
}

.viabilidade-bi-table td {
    padding: 9px 12px;
    font-size: 0.74rem;
    color: #13233b;
    vertical-align: middle;
}

.viabilidade-bi-table td strong {
    display: block;
    font-size: 0.76rem;
    color: #13233b;
    font-weight: 800;
    line-height: 1.15;
}

.viabilidade-bi-table-chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.viabilidade-bi-table-chip.vista {
    color: #1d4ed8;
    background: rgba(219, 234, 254, 0.95);
}

.viabilidade-bi-table-chip.prazo {
    color: #0f766e;
    background: rgba(204, 251, 241, 0.95);
}

.viabilidade-bi-table-reading {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    justify-content: center;
    border-radius: 999px;
    background: rgba(241, 245, 249, 0.95);
    border: 1px solid rgba(148, 163, 184, 0.22);
    color: #334155;
    font-size: 0.64rem;
    font-weight: 800;
    line-height: 1.2;
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

.viabilidade-bi-block-grid.is-motor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.viabilidade-bi-snapshot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px;
    margin-bottom: 10px;
    border-radius: 14px;
    background: rgba(248, 250, 252, 0.96);
    border: 1px solid rgba(148, 163, 184, 0.16);
    color: #475569;
    font-size: 0.72rem;
}

.viabilidade-bi-snapshot strong {
    color: #13233b;
    font-size: 0.72rem;
}

.viabilidade-bi-inline-seal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(241, 245, 249, 0.96);
    border: 1px solid rgba(148, 163, 184, 0.2);
    color: #334155;
    font-size: 0.7rem;
    font-weight: 800;
}

.viabilidade-bi-inline-seal.is-alert {
    color: #9a3412;
    background: rgba(255, 237, 213, 0.96);
    border-color: rgba(245, 158, 11, 0.26);
}

.viabilidade-bi-stacked-bars {
    display: grid;
    gap: 12px;
}

.viabilidade-bi-stacked-row {
    display: grid;
    grid-template-columns: minmax(140px, 190px) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.viabilidade-bi-stacked-title strong {
    display: block;
    font-size: 0.82rem;
    color: #13233b;
    font-weight: 800;
}

.viabilidade-bi-stacked-title small {
    display: block;
    font-size: 0.7rem;
    color: #64748b;
    line-height: 1.3;
}

.viabilidade-bi-stacked-track {
    display: flex;
    height: 16px;
    border-radius: 999px;
    overflow: hidden;
    background: #edf2f7;
}

.viabilidade-bi-stacked-segment {
    height: 100%;
    min-width: 2px;
}

.viabilidade-bi-stacked-segment.is-positive,
.viabilidade-bi-stacked-segment.is-ok {
    background: linear-gradient(90deg, #16a34a, #4ade80);
}

.viabilidade-bi-stacked-segment.is-warning {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.viabilidade-bi-stacked-segment.is-critical,
.viabilidade-bi-stacked-segment.is-danger {
    background: linear-gradient(90deg, #ef4444, #fb7185);
}

.viabilidade-bi-stacked-segment.is-info,
.viabilidade-bi-stacked-segment.is-neutral {
    background: linear-gradient(90deg, #2563eb, #60a5fa);
}

.viabilidade-bi-matrix {
    position: relative;
    min-height: 260px;
    border-radius: 18px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0) 49.5%, rgba(148, 163, 184, 0.18) 50%, rgba(255, 255, 255, 0) 50.5%),
        linear-gradient(0deg, rgba(255, 255, 255, 0) 49.5%, rgba(148, 163, 184, 0.18) 50%, rgba(255, 255, 255, 0) 50.5%),
        linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(241, 245, 249, 0.85));
    border: 1px solid rgba(148, 163, 184, 0.16);
    overflow: hidden;
}

.viabilidade-bi-matrix-label {
    position: absolute;
    font-size: 0.7rem;
    line-height: 1.25;
    color: #64748b;
    font-weight: 700;
}

.viabilidade-bi-matrix-label.is-top-left {
    top: 12px;
    left: 14px;
    text-align: left;
}

.viabilidade-bi-matrix-label.is-top-right {
    top: 12px;
    right: 14px;
    text-align: right;
}

.viabilidade-bi-matrix-label.is-bottom-left {
    bottom: 12px;
    left: 14px;
    text-align: left;
}

.viabilidade-bi-matrix-label.is-bottom-right {
    bottom: 12px;
    right: 14px;
    text-align: right;
}

.viabilidade-bi-matrix-point {
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #16a34a, #2dd4bf);
    border: 3px solid #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
    transform: translate(-50%, -50%);
}

@media (max-width: 1280px) {
    .viabilidade-bi-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .viabilidade-bi-kpi-strip.is-decision {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .viabilidade-bi-bars-row {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-bars-compare-row {
        grid-template-columns: 56px minmax(0, 1fr) minmax(88px, auto);
    }

    .viabilidade-bi-donut-shell {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .viabilidade-bi-linechart-labels {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .viabilidade-bi-progress-row {
        grid-template-columns: 96px minmax(0, 1fr) 88px;
    }

    .viabilidade-bi-block-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .viabilidade-bi-scenario-grid {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-scenario-row {
        grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) minmax(100px, auto);
    }

    .viabilidade-bi-scenario-block-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .viabilidade-bi-stacked-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .viabilidade-kpi-bi-head {
        grid-template-columns: 1fr;
        display: grid;
    }

    .viabilidade-kpi-toolbar {
        justify-content: flex-start;
    }

    .viabilidade-bi-chart-grid,
    .viabilidade-bi-block-grid,
    .viabilidade-bi-block-grid.is-motor {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-kpi-strip.is-decision {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-waterfall-row {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-bars-compare-row {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-progress-row {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-linechart-labels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        text-align: left;
    }

    .viabilidade-bi-scenario-row {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-scenario-value {
        text-align: left;
    }

    .viabilidade-bi-scenario-block-grid {
        grid-template-columns: 1fr;
    }

    .viabilidade-bi-snapshot {
        flex-direction: column;
        align-items: flex-start;
    }
}

.viabilidade-area-map-safe {
    display: grid;
}

.viabilidade-map-placeholder {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 10px;
    min-height: 260px;
    padding: 18px;
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(37, 99, 235, 0.06), rgba(20, 184, 166, 0.08)),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55) 24px, rgba(15, 23, 42, 0.03) 24px, rgba(15, 23, 42, 0.03) 25px),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55) 24px, rgba(15, 23, 42, 0.03) 24px, rgba(15, 23, 42, 0.03) 25px);
    text-align: center;
}

.viabilidade-map-placeholder strong {
    font-size: 1rem;
    color: #17304f;
}

.viabilidade-map-placeholder p {
    margin: 0;
    font-size: 0.9rem;
    color: #59708d;
    line-height: 1.4;
}

.viabilidade-map-pin {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #10b981;
    box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.12);
    position: relative;
}

.viabilidade-map-pin::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -10px;
    width: 8px;
    height: 12px;
    background: #10b981;
    transform: translateX(-50%);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.viabilidade-vocacao-callout {
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(20, 184, 166, 0.08));
    color: #1e293b;
}

.viabilidade-stage-actions,
.viabilidade-decisao-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.viabilidade-stage-actions-end {
    justify-content: flex-end;
    padding-top: 8px;
    border-top: 1px solid rgba(20, 32, 51, 0.08);
}

.viabilidade-kpi-hero-grid,
.viabilidade-document-grid,
.viabilidade-memory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.viabilidade-memory-grid {
    grid-template-columns: 1fr;
    align-items: start;
}

.viabilidade-kpi-hero-grid .executive-kpi {
    min-height: 132px;
    padding: 22px 20px;
    border-radius: 22px;
    border: 1px solid rgba(20, 32, 51, 0.08);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

.viabilidade-kpi-hero-grid .executive-kpi-label {
    font-size: 0.8rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 800;
}

.viabilidade-kpi-hero-grid .executive-kpi-value {
    font-size: clamp(2rem, 2.4vw, 3rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.viabilidade-toggle-button {
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(53, 80, 112, 0.2);
    background: linear-gradient(180deg, #ffffff, #f3f7fc);
    color: #274462;
    font-weight: 700;
}

.viabilidade-toggle-button:hover {
    background: linear-gradient(180deg, #ffffff, #ebf3fb);
}

.soft-card.compact-card {
    padding: 18px;
    overflow: hidden;
}

.viabilidade-memory-grid .compact-card {
    min-width: 0;
    width: 100%;
}

.viabilidade-memory-grid .compact-card h4 {
    margin: 0 0 12px;
    font-size: 0.98rem;
    line-height: 1.2;
}

.viabilidade-memory-grid .compact-card .settings-table {
    display: grid;
    gap: 10px;
}

.viabilidade-memory-grid .compact-card .settings-table-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 10px 12px;
    border-radius: 14px;
}

.viabilidade-memory-grid .compact-card .settings-table-row span {
    font-size: 0.88rem;
    line-height: 1.25;
    color: #31435f;
    font-weight: 600;
}

.viabilidade-memory-grid .compact-card .settings-table-row strong {
    text-align: right;
    font-size: 0.92rem;
    line-height: 1.25;
    white-space: nowrap;
}

.viabilidade-memory-grid .compact-card .settings-table-row small {
    display: block;
    grid-column: 1 / -1;
    color: #6b7a90;
}

.viabilidade-memory-panel {
    display: grid;
    gap: 12px;
}

.viabilidade-inline-edit-row {
    align-items: center;
}

.viabilidade-inline-input {
    display: block;
    grid-column: 2 / span 2;
}

.viabilidade-inline-input input {
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 0.95rem;
    font-weight: 700;
}

@media (max-width: 980px) {

    .viabilidade-engine-summary,
    .viabilidade-area-hero,
    .viabilidade-stage-split {
        grid-template-columns: 1fr;
        display: grid;
    }

    .viabilidade-status-badge {
        text-align: left;
        min-width: 0;
    }

    .viabilidade-stage-head,
    .viabilidade-kpi-hero-grid,
    .viabilidade-document-grid,
    .viabilidade-memory-grid {
        grid-template-columns: 1fr;
    }

    .viabilidade-engine-timeline {
        overflow-x: auto;
        grid-template-columns: repeat(8, minmax(160px, 1fr));
    }

    .viabilidade-engine-step {
        min-height: 44px;
        padding: 0 14px 0 12px;
    }
}

/* Compactacao global final */
.admin-page {
    font-size: 13px !important;
}

.admin-page h1 {
    font-size: 1.65rem !important;
    line-height: 1.04 !important;
    margin-bottom: 8px !important;
}

.admin-page h2 {
    font-size: 1.02rem !important;
}

.admin-page h3 {
    font-size: 0.92rem !important;
}

.admin-page .settings-subtitle,
.admin-page .viabilidade-stage-copy,
.admin-page p,
.admin-page li,
.admin-page td,
.admin-page th,
.admin-page label,
.admin-page input,
.admin-page select,
.admin-page textarea {
    font-size: 0.88rem !important;
}

.admin-page .button,
.admin-page .table-action {
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 0.8rem !important;
    border-radius: 11px !important;
}

.admin-page .form-field {
    gap: 5px !important;
}

.admin-page .form-field span {
    font-size: 0.78rem !important;
}

.admin-page .form-field input,
.admin-page .form-field select,
.admin-page .form-field textarea {
    min-height: 38px !important;
    padding: 8px 10px !important;
    border-radius: 11px !important;
}

.admin-page .form-field textarea {
    min-height: 98px !important;
}

.admin-page .panel-kicker,
.admin-page .dashboard-kicker {
    min-height: 18px !important;
    padding: 0 7px !important;
    font-size: 0.54rem !important;
}

.admin-page .executive-kpi-value {
    font-size: clamp(1.08rem, 1.25vw, 1.7rem) !important;
    line-height: 1 !important;
}

.admin-page .admin-main {
    padding: 10px 12px 14px !important;
}

.admin-page .admin-panel {
    gap: 12px !important;
}

.admin-page .admin-sideitem {
    min-height: 34px !important;
    padding: 7px 9px !important;
    font-size: 0.8rem !important;
}

.admin-page .admin-submenu-link {
    min-height: 27px !important;
    padding: 0 8px !important;
    font-size: 0.73rem !important;
}

.admin-page-viabilidade .viabilidade-engine-timeline {
    padding: 4px 6px !important;
    transform: scale(0.88);
    transform-origin: top left;
    width: calc(100% / 0.88);
}

.admin-page-viabilidade .viabilidade-engine-step {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 6px !important;
    min-height: 42px !important;
    padding: 0 10px 0 7px !important;
}

.admin-page-viabilidade .viabilidade-engine-step-index {
    width: 22px !important;
    height: 22px !important;
    font-size: 0.68rem !important;
    box-shadow: 0 0 0 3px rgba(203, 213, 225, 0.18) !important;
}

.admin-page-viabilidade .viabilidade-engine-step-copy small {
    font-size: 0.48rem !important;
    letter-spacing: 0.03em !important;
}

.admin-page-viabilidade .viabilidade-engine-step strong {
    font-size: 0.56rem !important;
    line-height: 1.02 !important;
}

.admin-page-viabilidade .viabilidade-engine-step::after {
    top: 3px !important;
    right: -9px !important;
    width: 18px !important;
    height: calc(100% - 6px) !important;
    border-radius: 0 6px 0 0 !important;
}

.admin-page-viabilidade .viabilidade-engine-step.is-concluida .viabilidade-engine-step-index,
.admin-page-viabilidade .viabilidade-engine-step.is-atual .viabilidade-engine-step-index,
.admin-page-viabilidade .viabilidade-engine-step.is-selected .viabilidade-engine-step-index {
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12) !important;
}

.admin-page-viabilidade .viabilidade-stage-card {
    gap: 12px !important;
    padding: 18px !important;
}

@media (max-width: 980px) {
    .admin-page-viabilidade .viabilidade-engine-timeline {
        transform: none !important;
        width: 100% !important;
    }
}

/* Densidade final do admin */
.admin-page {
    font-size: 12px !important;
}

.admin-page h1 {
    font-size: 1.38rem !important;
    line-height: 1.02 !important;
    margin-bottom: 6px !important;
}

.admin-page h2 {
    font-size: 0.96rem !important;
}

.admin-page h3 {
    font-size: 0.86rem !important;
}

.admin-page .settings-subtitle,
.admin-page .viabilidade-stage-copy,
.admin-page p,
.admin-page li,
.admin-page td,
.admin-page th,
.admin-page label,
.admin-page input,
.admin-page select,
.admin-page textarea,
.admin-page .empty-copy {
    font-size: 0.82rem !important;
}

.admin-page .dashboard-kicker,
.admin-page .panel-kicker {
    font-size: 0.5rem !important;
    min-height: 16px !important;
    padding: 0 6px !important;
    letter-spacing: 0.16em !important;
}

.admin-page .button,
.admin-page .table-action {
    min-height: 32px !important;
    padding: 0 11px !important;
    font-size: 0.76rem !important;
    border-radius: 10px !important;
}

.admin-page .form-field span {
    font-size: 0.74rem !important;
}

.admin-page .form-field input,
.admin-page .form-field select,
.admin-page .form-field textarea {
    min-height: 34px !important;
    padding: 7px 9px !important;
    border-radius: 10px !important;
}

.admin-page .form-field textarea {
    min-height: 84px !important;
}

.admin-topbar {
    min-height: 52px !important;
    padding: 7px 12px !important;
    gap: 10px !important;
}

.admin-brand-logo {
    max-height: 30px !important;
}

.admin-toplink,
.admin-topmenu-trigger {
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 0.78rem !important;
}

.admin-userbox {
    gap: 8px !important;
    padding: 6px 8px !important;
}

.admin-avatar-image,
.admin-avatar {
    width: 34px !important;
    height: 34px !important;
}

.admin-usercopy strong {
    font-size: 0.82rem !important;
}

.admin-usermeta span {
    font-size: 0.72rem !important;
}

.admin-body {
    grid-template-columns: 150px minmax(0, 1fr) !important;
}

.admin-sidebar {
    padding: 8px 6px 10px !important;
    gap: 6px !important;
    overflow: visible !important;
}

.admin-sidegroup-label {
    font-size: 0.52rem !important;
    padding: 0 5px !important;
    letter-spacing: 0.12em !important;
}

.admin-sideitem {
    min-height: 28px !important;
    padding: 5px 7px !important;
    gap: 6px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    border-radius: 9px !important;
    line-height: 1.15 !important;
}

.admin-submenu {
    position: absolute !important;
    top: -2px !important;
    left: calc(100% - 2px) !important;
    display: grid !important;
    min-width: 180px !important;
    padding: 6px !important;
    gap: 4px !important;
    border: 1px solid rgba(21, 57, 107, 0.12) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(8px) !important;
    transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease !important;
    z-index: 30 !important;
}

.admin-submenu-link {
    min-height: 28px !important;
    padding: 0 8px !important;
    font-size: 0.71rem !important;
    border-radius: 8px !important;
    white-space: normal !important;
}

.admin-sidegroup {
    gap: 3px !important;
}

.admin-sideitem-group {
    position: relative !important;
}

.admin-sideitem-parent {
    width: 100% !important;
    justify-content: space-between !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

.admin-sideitem-copy {
    gap: 6px !important;
    min-width: 0 !important;
}

.admin-sideitem-copy>span:last-child {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

.admin-sideitem-caret {
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 auto !important;
}

.admin-sideitem-group:hover>.admin-submenu,
.admin-sideitem-group:focus-within>.admin-submenu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
}

.admin-sideitem-group:hover>.admin-sideitem-parent,
.admin-sideitem-group:focus-within>.admin-sideitem-parent,
.admin-sideitem-parent.active,
.admin-sideitem.active {
    background: color-mix(in srgb, var(--brand-primary, #15396b) 8%, white) !important;
    color: var(--brand-primary, #15396b) !important;
    border-color: rgba(21, 57, 107, 0.18) !important;
}

.admin-sideitem-group:hover .admin-sideitem-caret,
.admin-sideitem-group:focus-within .admin-sideitem-caret {
    transform: rotate(225deg) !important;
}

.admin-context-card {
    padding: 10px !important;
    border-radius: 14px !important;
}

.admin-context-card__copy strong {
    font-size: 0.78rem !important;
}

.admin-context-card__copy p,
.admin-context-card__meta span {
    font-size: 0.66rem !important;
}

.admin-sidebar-cta .button {
    min-height: 34px !important;
    font-size: 0.76rem !important;
}

.admin-main {
    padding: 10px 12px 14px !important;
    margin: 0 !important;
}

.admin-panel {
    gap: 10px !important;
}

.executive-card,
.executive-kpi,
.settings-card,
.admin-list-card,
.table-shell {
    border-radius: 16px !important;
}

.executive-card,
.settings-card,
.soft-card,
.card,
.panel {
    padding: 16px !important;
}

.executive-kpi {
    padding: 14px 16px !important;
}

.executive-kpi-value {
    font-size: clamp(1rem, 1.05vw, 1.42rem) !important;
}

.viabilidade-stage-card {
    padding: 16px 18px !important;
    gap: 10px !important;
}

.viabilidade-engine-head {
    align-items: start !important;
    gap: 10px !important;
}

.viabilidade-engine-timeline {
    grid-template-columns: repeat(8, minmax(118px, 1fr)) !important;
    padding: 4px 6px !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

.viabilidade-engine-step {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    min-height: 40px !important;
    padding: 0 9px 0 7px !important;
    gap: 6px !important;
}

.viabilidade-engine-step-index {
    width: 22px !important;
    height: 22px !important;
    font-size: 0.66rem !important;
    box-shadow: 0 0 0 3px rgba(203, 213, 225, 0.18) !important;
}

.viabilidade-engine-step-copy {
    gap: 1px !important;
}

.viabilidade-engine-step-copy small {
    font-size: 0.44rem !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
}

.viabilidade-engine-step strong {
    font-size: 0.54rem !important;
    line-height: 0.98 !important;
    white-space: normal !important;
    word-break: break-word !important;
}

.viabilidade-engine-step::after {
    top: 4px !important;
    right: -8px !important;
    width: 16px !important;
    height: calc(100% - 8px) !important;
}

.viabilidade-stage-label {
    padding: 10px 14px !important;
}

.viabilidade-kpi-hero-grid {
    gap: 10px !important;
}

.settings-table-row {
    padding: 9px 12px !important;
}

@media (max-width: 1200px) {
    .admin-body {
        grid-template-columns: 176px minmax(0, 1fr) !important;
    }

    .viabilidade-engine-timeline {
        grid-template-columns: repeat(8, minmax(108px, 1fr)) !important;
    }
}

.admin-page-viabilidade .viabilidade-engine-timeline {
    transform: none !important;
    width: 100% !important;
    grid-template-columns: repeat(8, minmax(132px, 1fr)) !important;
    scrollbar-width: thin;
}

.admin-page-viabilidade .viabilidade-engine-step {
    min-height: 66px !important;
    padding: 8px 10px 8px 14px !important;
}

.admin-page-viabilidade .viabilidade-engine-step-copy small {
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
}

.admin-page-viabilidade .viabilidade-engine-step-copy strong {
    font-size: 13px !important;
    line-height: 1.08 !important;
}

.admin-page-viabilidade .viabilidade-engine-step-index {
    width: 32px !important;
    height: 32px !important;
    font-size: 14px !important;
}

.motor-settings-page .motor-settings-toolbar {
    margin-bottom: 1.5rem;
}

.motor-settings-page .motor-settings-warning {
    margin-bottom: 1.25rem;
    border: 1px solid rgba(245, 158, 11, 0.28);
    background: linear-gradient(135deg, rgba(255, 251, 235, 0.96), rgba(255, 247, 237, 0.92));
}

.motor-settings-page .motor-warning-copy {
    display: grid;
    gap: 0.55rem;
    color: #7c5a12;
}

.motor-settings-page .motor-warning-copy p {
    margin: 0;
}

.motor-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 2.75rem;
}

.motor-checkbox-grid,
.motor-order-list,
.motor-history-list {
    display: grid;
    gap: 0.85rem;
}

.motor-checkbox-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.motor-checkbox-grid label,
.motor-order-list label {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(21, 57, 107, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.85);
}

.motor-order-list label select {
    flex: 1;
}

.motor-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1rem;
    margin-top: 0.45rem;
    font-size: 0.82rem;
    color: #64748b;
}

.motor-history-item {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(21, 57, 107, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.92);
}

.motor-history-item header,
.motor-history-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.motor-history-item ul {
    margin: 0.9rem 0;
    padding-left: 1.1rem;
}

.motor-restore-form {
    display: grid;
    gap: 0.8rem;
}

.motor-empty-history {
    color: #64748b;
}

.viabilidade-subblock {
    margin-bottom: 1rem;
}

.viabilidade-subblock h4 {
    margin: 0 0 0.75rem;
    color: #15396b;
    font-size: 0.98rem;
}

.admin-map-editor--visual .admin-map-editor__preview-frame {
    width: min(100%, 540px) !important;
    height: 240px !important;
    min-height: 240px !important;
    padding: 12px !important;
}

.admin-map-editor--visual .admin-map-viewport {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(245, 248, 255, 0.98), rgba(255, 255, 255, 0.98));
}

.admin-map-editor--visual .admin-map-asset {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.admin-map-editor--visual .admin-map-asset.is-hidden {
    display: none;
}

.admin-map-editor--visual .admin-map-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}

.admin-map-editor--visual .admin-map-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.admin-map-editor--visual .admin-map-marker {
    position: absolute;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.96);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
    pointer-events: auto;
}

.admin-map-editor--visual .admin-map-marker--saved {
    background: #22c55e;
}

.admin-map-editor--visual .admin-map-marker--pending {
    background: #2563eb;
    border-color: rgba(255, 255, 255, 0.98);
    box-shadow: 0 0 0 6px rgba(37, 99, 235, 0.16);
    z-index: 3;
}

.admin-map-editor--visual .admin-map-marker.tone-ok {
    background: #22c55e;
}

.admin-map-editor--visual .admin-map-marker.tone-warning {
    background: #f59e0b;
}

.admin-map-editor--visual .admin-map-marker.tone-danger {
    background: #ef4444;
}

.admin-map-editor--visual .admin-map-marker.tone-muted {
    background: #94a3b8;
}

.admin-map-editor--visual .admin-map-marker.is-current {
    box-shadow: 0 0 0 6px rgba(37, 99, 235, 0.18);
}

.admin-map-editor--visual .admin-map-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    padding: 24px !important;
    background: rgba(15, 23, 42, 0.54);
}

.admin-map-editor--visual .admin-map-modal[hidden] {
    display: none !important;
}

.admin-map-editor--visual .admin-map-modal.is-open {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.admin-map-editor--visual .admin-map-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: transparent;
}

.admin-map-editor--visual .admin-map-modal__dialog {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100vw - 48px));
    height: min(88vh, 820px);
    max-height: min(88vh, 820px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28);
}

.admin-map-editor--visual .admin-map-modal__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 18px;
    padding: 0 22px 22px;
    min-height: 0;
}

.admin-map-editor--visual .admin-map-modal__map-panel {
    position: relative;
    min-height: 0;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(180deg, rgba(245, 248, 255, 0.98), rgba(255, 255, 255, 0.98));
}

.admin-map-editor--visual .admin-map-viewport--stage {
    min-height: 100%;
    height: 100%;
}

.admin-map-editor--visual .admin-map-modal .admin-map-editor__empty {
    z-index: 1;
}

.admin-map-editor--visual .admin-map-modal__sidebar {
    display: grid;
    gap: 14px;
    align-content: start;
}

.admin-map-editor--visual .admin-map-editor__card--compact {
    padding: 16px !important;
}

.admin-map-editor--visual .admin-map-legend-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.admin-map-editor--visual .admin-map-legend-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #334155;
    font-weight: 600;
}

.admin-map-editor--visual .admin-map-legend-dot {
    width: 14px;
    height: 14px;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12);
}

.admin-map-editor--visual .admin-map-legend-dot.tone-ok {
    background: #22c55e;
}

.admin-map-editor--visual .admin-map-legend-dot.tone-warning {
    background: #f59e0b;
}

.admin-map-editor--visual .admin-map-legend-dot.tone-danger {
    background: #ef4444;
}

.admin-map-editor--visual .admin-map-legend-dot.tone-muted {
    background: #94a3b8;
}

.admin-map-editor--visual .admin-map-legend-dot--pending {
    background: #2563eb;
}

.admin-map-editor--visual .admin-map-modal__selection {
    color: #334155;
    line-height: 1.5;
    font-weight: 600;
}

.admin-map-editor--visual .admin-map-editor__mapped-list {
    max-height: 320px !important;
}

body.has-map-modal-open {
    overflow: hidden !important;
}

@media (max-width: 1100px) {
    .admin-map-editor--visual .admin-map-modal__body {
        grid-template-columns: 1fr;
    }
}

/* Broker map v2 */
.broker-map-card--leaflet {
    gap: 18px;
}

.broker-map-card__head-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.broker-map-layout--interactive {
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr);
    gap: 18px;
}

.broker-map-stage-shell {
    position: relative;
    min-height: 520px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.10), transparent 24%),
        linear-gradient(180deg, rgba(240, 245, 252, 0.96), rgba(255, 255, 255, 0.98));
}

.broker-map-canvas {
    height: 484px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: #eef2f7;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.broker-map-canvas .leaflet-container {
    width: 100%;
    height: 100%;
    background: #eef2f7;
    font-family: var(--font-body, "Segoe UI", Tahoma, sans-serif);
}

.broker-map-canvas .leaflet-tooltip {
    border: 0;
    border-radius: 999px;
    padding: 6px 10px;
    color: #142033;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
}

.broker-map-canvas .leaflet-tooltip-top:before {
    display: none;
}

.broker-map-legend,
.broker-map-toolbar {
    position: absolute;
    z-index: 500;
    display: grid;
    gap: 8px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.broker-map-legend {
    top: 18px;
    left: 18px;
    min-width: 180px;
}

.broker-map-toolbar {
    right: 18px;
    top: 18px;
    display: flex;
    gap: 8px;
}

.broker-map-legend__row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-size: 0.86rem;
}

.broker-map-legend__dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.96);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12);
}

.broker-map-legend__dot.tone-ok {
    background: #22c55e;
}

.broker-map-legend__dot.tone-warning {
    background: #facc15;
}

.broker-map-legend__dot.tone-danger {
    background: #ef4444;
}

.broker-map-legend__dot.tone-muted {
    background: #94a3b8;
}

.broker-map-detail--interactive {
    gap: 16px;
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
}

.broker-map-detail__subtitle {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.45;
}

.broker-map-detail__hero {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.broker-map-detail__hero div,
.broker-map-detail__grid div {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(17, 33, 51, 0.06);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.broker-map-detail__hero span,
.broker-map-detail__grid span {
    color: #6a7890;
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.broker-map-detail__hero strong,
.broker-map-detail__grid strong {
    color: #142033;
    line-height: 1.35;
}

@media (max-width: 980px) {
    .broker-map-layout--interactive {
        grid-template-columns: 1fr;
    }

    .broker-map-stage-shell {
        min-height: 420px;
        padding: 14px;
    }

    .broker-map-canvas {
        height: 390px;
    }

    .broker-map-legend,
    .broker-map-toolbar {
        position: static;
        margin-bottom: 12px;
    }

    .broker-map-toolbar {
        display: flex;
        flex-wrap: wrap;
    }
}

/* Area do corretor */
.dashboard-corretor .dashboard-shell {
    width: min(1380px, calc(100vw - 28px));
}

.dashboard-corretor .topbar {
    padding: 12px 18px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    border-radius: 24px 24px 0 0;
}

.dashboard-corretor .topnav {
    justify-content: flex-start;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: thin;
    padding-bottom: 2px;
}

.dashboard-corretor .topnav-link {
    white-space: nowrap;
    padding: 10px 14px;
    font-weight: 600;
    border: 1px solid transparent;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.dashboard-corretor .topnav-link:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
}

.dashboard-corretor .dashboard-content {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 20px;
    padding: 20px;
    align-items: start;
}

.dashboard-corretor .sidebar {
    position: sticky;
    top: 18px;
    min-height: auto;
    gap: 14px;
    padding: 20px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.98));
}

.dashboard-corretor .sidebar-item.active,
.dashboard-corretor .sidebar-link.is-current {
    background: linear-gradient(135deg, rgba(35, 142, 121, 0.16), rgba(189, 247, 234, 0.42));
    color: #0f766e;
}

.dashboard-corretor .dashboard-main--broker {
    gap: 20px;
}

.dashboard-corretor .dashboard-hero--broker {
    padding: 0 4px;
    align-items: end;
}

.dashboard-corretor .dashboard-hero--broker-compact {
    padding: 0 4px 6px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.dashboard-corretor .dashboard-hero-copy {
    display: grid;
    gap: 10px;
}

.dashboard-corretor .dashboard-hero h1 {
    font-size: clamp(2.4rem, 4vw, 4rem);
    line-height: 0.96;
}

.dashboard-corretor .hero-actions--broker {
    justify-content: flex-end;
}

.dashboard-corretor .dashboard-hero--broker-compact h1 {
    font-size: clamp(2rem, 3vw, 2.9rem);
    margin-bottom: 4px;
}

.dashboard-corretor .dashboard-hero--broker-compact .dashboard-subtitle {
    max-width: 46ch;
}

.dashboard-corretor .broker-dashboard-grid {
    grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.3fr) minmax(280px, 0.95fr);
    align-items: stretch;
}

.dashboard-corretor .broker-bottom-grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.75fr);
}

.dashboard-corretor .broker-focus-panel,
.dashboard-corretor .broker-map-overview-panel,
.dashboard-corretor .broker-featured-panel {
    min-height: 100%;
}

.dashboard-corretor .broker-quick-links {
    display: grid;
    gap: 12px;
}

.dashboard-corretor .broker-quick-link {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: linear-gradient(180deg, #ffffff, #f7fafc);
    text-decoration: none;
}

.dashboard-corretor .broker-quick-link strong {
    color: #142033;
}

.dashboard-corretor .broker-quick-link span {
    color: #64748b;
    line-height: 1.5;
}

.dashboard-corretor .broker-client-form {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-corretor .broker-client-form__actions {
    grid-column: span 5;
    justify-content: flex-end;
}

.dashboard-corretor .broker-units-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.8fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.dashboard-corretor .broker-units-workspace__map {
    display: grid;
    gap: 14px;
}

.dashboard-corretor .broker-reservation-summary {
    align-self: stretch;
}

.dashboard-corretor .broker-reservation-chips--stacked {
    grid-template-columns: 1fr;
}

.dashboard-corretor .broker-reservation-chip {
    padding: 16px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(246, 249, 255, 0.96), rgba(255, 255, 255, 0.98));
}

.dashboard-corretor .broker-units-board {
    display: grid;
    gap: 16px;
}

.dashboard-corretor .broker-units-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-corretor .broker-unit-card {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98));
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.dashboard-corretor .broker-unit-card--ok {
    border-color: rgba(34, 197, 94, 0.18);
}

.dashboard-corretor .broker-unit-card--warning {
    border-color: rgba(245, 158, 11, 0.24);
}

.dashboard-corretor .broker-unit-card--danger {
    border-color: rgba(239, 68, 68, 0.18);
}

.dashboard-corretor .broker-unit-card__header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 12px;
}

.dashboard-corretor .broker-unit-card__header strong,
.dashboard-corretor .broker-unit-card__meta strong,
.dashboard-corretor .broker-unit-card__client strong {
    color: #142033;
}

.dashboard-corretor .broker-unit-card__header>div {
    display: grid;
    gap: 4px;
}

.dashboard-corretor .broker-unit-card__header span:not(.table-pill) {
    color: #64748b;
    line-height: 1.45;
}

.dashboard-corretor .broker-unit-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-corretor .broker-unit-card__meta>div,
.dashboard-corretor .broker-unit-card__client {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(17, 33, 51, 0.06);
    background: #fff;
}

.dashboard-corretor .broker-unit-card__meta span,
.dashboard-corretor .broker-unit-card__client span {
    color: #64748b;
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dashboard-corretor .broker-unit-card__client small {
    color: #64748b;
    line-height: 1.4;
}

.dashboard-corretor .broker-unit-card__policy {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.dashboard-corretor .broker-policy-pill {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    color: #0f766e;
    background: rgba(13, 148, 136, 0.12);
    font-weight: 700;
}

.dashboard-corretor .broker-policy-copy {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    color: #475569;
    font-weight: 600;
}

.dashboard-corretor .broker-unit-card__actions,
.dashboard-corretor .broker-unit-card__locked {
    display: grid;
    gap: 10px;
}

.dashboard-corretor .broker-inline-reserve--card {
    grid-template-columns: 1fr;
}

.dashboard-corretor .broker-inline-reserve--card select {
    min-height: 42px;
    border-radius: 14px;
}

.dashboard-corretor .broker-inline-reserve--card .pill-action {
    width: 100%;
}

.dashboard-corretor .broker-sales-list {
    display: grid;
    gap: 12px;
}

.dashboard-corretor .broker-sales-item {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(140px, 0.7fr)) auto;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.dashboard-corretor .broker-sales-item__main,
.dashboard-corretor .broker-sales-item__metric {
    display: grid;
    gap: 4px;
}

.dashboard-corretor .broker-sales-item__main span,
.dashboard-corretor .broker-sales-item__metric span {
    color: #64748b;
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dashboard-corretor .broker-sales-item__main strong,
.dashboard-corretor .broker-sales-item__metric strong {
    color: #142033;
}

.dashboard-corretor .broker-documents-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-corretor .broker-document-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.dashboard-corretor .broker-document-card__copy {
    display: grid;
    gap: 6px;
}

.dashboard-corretor .broker-document-card__copy strong {
    color: #142033;
}

.dashboard-corretor .broker-document-card__copy span {
    color: #64748b;
    line-height: 1.5;
}

.dashboard-corretor .broker-map-stage-shell {
    min-height: 480px;
    padding: 16px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.08), transparent 26%),
        linear-gradient(180deg, rgba(240, 245, 252, 0.96), rgba(255, 255, 255, 0.98));
}

.dashboard-corretor .broker-map-canvas {
    height: 420px;
    border-radius: 20px;
}

.dashboard-corretor .broker-map-card,
.dashboard-corretor .broker-client-onboarding,
.dashboard-corretor .broker-reservation-summary {
    border-radius: 24px;
}

.dashboard-corretor .broker-map-card__head {
    align-items: start;
}

.dashboard-corretor .broker-map-card__head strong {
    font-size: 1.25rem;
}

.dashboard-corretor .broker-map-card__head-actions {
    justify-content: flex-end;
}

.dashboard-corretor .broker-map-detail--interactive {
    padding: 18px;
    border-radius: 22px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.dashboard-corretor .featured-card {
    align-items: start;
    padding: 14px 0;
}

.dashboard-corretor .featured-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

@media (max-width: 1240px) {
    .dashboard-corretor .dashboard-content {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .sidebar {
        position: static;
    }

    .dashboard-corretor .broker-dashboard-grid,
    .dashboard-corretor .broker-bottom-grid,
    .dashboard-corretor .broker-units-workspace {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .dashboard-hero--broker-compact {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .dashboard-corretor .broker-units-card-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .broker-client-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-corretor .broker-client-form__actions {
        grid-column: span 2;
        justify-content: stretch;
    }

    .dashboard-corretor .broker-client-form__actions .pill-action {
        width: 100%;
    }

    .dashboard-corretor .broker-map-stage-shell {
        min-height: 420px;
    }

    .dashboard-corretor .broker-map-canvas {
        height: 360px;
    }

    .dashboard-corretor .broker-sales-item {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .broker-documents-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .hero-actions--broker {
        justify-content: flex-start;
    }
}

.dashboard-corretor .dashboard-content {
    grid-template-columns: 236px minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
}

.dashboard-corretor .sidebar {
    gap: 10px;
    padding: 16px 14px;
    border-radius: 22px;
}

.dashboard-corretor .sidebar-item {
    min-height: 44px;
    padding: 10px 12px;
}

.dashboard-corretor .sidebar-title {
    margin: 2px 0 0;
    font-size: 0.82rem;
}

.dashboard-corretor .sidebar-link {
    min-height: 38px;
    padding: 9px 12px;
}

.dashboard-corretor .dashboard-main--broker {
    gap: 16px;
}

.dashboard-corretor .dashboard-hero--broker,
.dashboard-corretor .dashboard-hero--broker-compact {
    padding: 2px 2px 0;
    align-items: center;
    gap: 14px;
}

.dashboard-corretor .dashboard-hero-copy--broker {
    gap: 6px;
}

.dashboard-corretor .dashboard-hero-copy__headline {
    display: grid;
    gap: 6px;
}

.dashboard-corretor .dashboard-hero h1,
.dashboard-corretor .dashboard-hero--broker-compact h1 {
    font-size: clamp(1.7rem, 2.3vw, 2.3rem);
    line-height: 1.02;
    margin: 0;
}

.dashboard-corretor .dashboard-subtitle {
    max-width: 58ch;
    font-size: 0.92rem;
    line-height: 1.45;
}

.dashboard-corretor .hero-actions--broker {
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.dashboard-corretor .broker-hero-badge {
    min-height: 38px;
}

.dashboard-corretor .kpi-grid {
    gap: 12px;
}

.dashboard-corretor .kpi-card {
    padding: 14px 16px;
    border-radius: 20px;
    display: grid;
    gap: 6px;
}

.dashboard-corretor .kpi-icon {
    width: 34px;
    height: 34px;
}

.dashboard-corretor .kpi-value {
    font-size: clamp(1.2rem, 2vw, 1.75rem);
    line-height: 1.05;
}

.dashboard-corretor .kpi-note {
    font-size: 0.78rem;
}

.dashboard-corretor .panel {
    padding: 16px 18px;
    border-radius: 22px;
}

.dashboard-corretor .panel-head {
    margin-bottom: 10px;
    align-items: center;
}

.dashboard-corretor .broker-dashboard-grid {
    grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.45fr) minmax(280px, 0.9fr);
    gap: 14px;
    align-items: start;
}

.dashboard-corretor .broker-bottom-grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.8fr);
    gap: 14px;
    margin-top: -2px;
}

.dashboard-corretor .broker-focus-panel,
.dashboard-corretor .broker-map-overview-panel,
.dashboard-corretor .broker-featured-panel,
.dashboard-corretor .broker-sales-panel,
.dashboard-corretor .broker-central-panel {
    min-height: 100%;
}

.dashboard-corretor .progress-widget {
    gap: 12px;
    text-align: left;
    place-items: stretch;
}

.dashboard-corretor .progress-widget__hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.dashboard-corretor .progress-ring {
    --size: 128px;
}

.dashboard-corretor .progress-ring-inner {
    width: calc(var(--size) - 22px);
    height: calc(var(--size) - 22px);
    padding: 14px;
}

.dashboard-corretor .progress-ring-inner strong {
    font-size: 1.5rem;
}

.dashboard-corretor .progress-widget__summary {
    display: grid;
    gap: 6px;
}

.dashboard-corretor .progress-widget__summary strong {
    color: #142033;
    line-height: 1.35;
}

.dashboard-corretor .progress-widget__summary span,
.dashboard-corretor .progress-widget__foot span {
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.45;
}

.dashboard-corretor .progress-widget__foot {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    padding-top: 10px;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.dashboard-corretor .progress-widget__foot strong {
    color: #0f766e;
    font-size: 0.84rem;
}

.dashboard-corretor .broker-map-card {
    gap: 12px;
}

.dashboard-corretor .broker-map-card__head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.dashboard-corretor .broker-map-card__title {
    display: grid;
    gap: 4px;
}

.dashboard-corretor .broker-map-card__title .dashboard-kicker {
    margin: 0;
}

.dashboard-corretor .broker-map-card__head strong {
    font-size: 1.08rem;
}

.dashboard-corretor .broker-map-card__head-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.dashboard-corretor .broker-map-layout--interactive {
    grid-template-columns: minmax(0, 1.58fr) minmax(290px, 0.82fr);
    gap: 14px;
}

.dashboard-corretor .broker-map-stage-shell {
    min-height: 0;
    padding: 14px;
    border-radius: 22px;
    gap: 12px;
    display: grid;
}

.dashboard-corretor .broker-map-stage-top {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 12px;
    flex-wrap: wrap;
}

.dashboard-corretor .broker-map-stage-meta {
    display: grid;
    gap: 4px;
}

.dashboard-corretor .broker-map-stage-meta strong {
    color: #142033;
}

.dashboard-corretor .broker-map-stage-meta span {
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.45;
}

.dashboard-corretor .broker-map-toolbar,
.dashboard-corretor .broker-map-legend--inline {
    position: static;
    padding: 10px 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: none;
}

.dashboard-corretor .broker-map-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dashboard-corretor .broker-map-canvas {
    height: min(46vh, 390px);
    min-height: 300px;
}

.dashboard-corretor .broker-map-legend--inline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 10px;
    min-width: 0;
}

.dashboard-corretor .broker-map-legend__row {
    gap: 6px;
    font-size: 0.8rem;
}

.dashboard-corretor .broker-map-detail--interactive {
    gap: 12px;
    padding: 14px;
    border-radius: 22px;
}

.dashboard-corretor .broker-map-detail__header {
    align-items: start;
}

.dashboard-corretor .broker-map-detail__header strong {
    font-size: 1rem;
}

.dashboard-corretor .broker-map-detail__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.dashboard-corretor .broker-map-detail__summary div,
.dashboard-corretor .broker-map-detail__hero div,
.dashboard-corretor .broker-map-detail__grid div {
    padding: 10px 12px;
}

.dashboard-corretor .broker-map-detail__summary span,
.dashboard-corretor .broker-map-detail__hero span,
.dashboard-corretor .broker-map-detail__grid span {
    font-size: 0.68rem;
}

.dashboard-corretor .broker-map-detail__hero {
    gap: 8px;
}

.dashboard-corretor .broker-map-detail__grid {
    gap: 8px;
}

.dashboard-corretor .broker-featured-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.dashboard-corretor .featured-list {
    gap: 8px;
    max-height: min(46vh, 430px);
    overflow: auto;
    padding-right: 4px;
}

.dashboard-corretor .featured-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px 0;
}

.dashboard-corretor .featured-card__copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.dashboard-corretor .featured-card__row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.dashboard-corretor .featured-card__row--meta span {
    margin-top: 0;
    font-size: 0.82rem;
}

.dashboard-corretor .featured-card__row--prices {
    gap: 12px;
}

.dashboard-corretor .featured-card__row--prices span {
    margin-top: 0;
    font-size: 0.8rem;
}

.dashboard-corretor .featured-card__row--prices strong {
    display: inline;
    color: #142033;
}

.dashboard-corretor .featured-card__tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.dashboard-corretor .featured-actions {
    align-self: center;
}

.dashboard-corretor .broker-sales-list {
    gap: 10px;
}

.dashboard-corretor .broker-sales-item {
    grid-template-columns: minmax(0, 1.55fr) repeat(2, minmax(120px, 0.7fr)) auto;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 16px;
}

.dashboard-corretor .broker-sales-item__main strong,
.dashboard-corretor .broker-sales-item__metric strong {
    font-size: 0.94rem;
}

.dashboard-corretor .broker-central-panel .broker-quick-links {
    gap: 10px;
}

.dashboard-corretor .broker-quick-link {
    gap: 4px;
    padding: 14px 15px;
    border-radius: 16px;
}

.dashboard-corretor .broker-quick-link span {
    font-size: 0.84rem;
    line-height: 1.4;
}

.dashboard-corretor .broker-quick-link--support {
    background: linear-gradient(180deg, rgba(240, 253, 250, 0.92), rgba(255, 255, 255, 0.98));
    border-color: rgba(15, 118, 110, 0.12);
}

@media (max-width: 1320px) {
    .dashboard-corretor .dashboard-content {
        grid-template-columns: 220px minmax(0, 1fr);
    }

    .dashboard-corretor .broker-dashboard-grid {
        grid-template-columns: minmax(210px, 0.72fr) minmax(0, 1.3fr) minmax(250px, 0.92fr);
    }

    .dashboard-corretor .broker-map-legend--inline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1240px) {
    .dashboard-corretor .dashboard-content {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .sidebar {
        position: static;
    }

    .dashboard-corretor .broker-dashboard-grid,
    .dashboard-corretor .broker-bottom-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {

    .dashboard-corretor .dashboard-hero--broker,
    .dashboard-corretor .dashboard-hero--broker-compact {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .dashboard-corretor .progress-widget__hero,
    .dashboard-corretor .broker-map-layout--interactive,
    .dashboard-corretor .broker-map-detail__summary,
    .dashboard-corretor .broker-map-legend--inline,
    .dashboard-corretor .featured-card,
    .dashboard-corretor .broker-sales-item {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .featured-actions {
        justify-content: flex-start;
    }
}

/* Broker corrective layout */
.dashboard-corretor .topbar {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 10px 16px;
}

.dashboard-corretor .topbar-context {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.dashboard-corretor .topbar-context__label {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.18);
}

.dashboard-corretor .topbar-context__title {
    color: #f8fafc;
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.2);
}

.dashboard-corretor .dashboard-content {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
}

.dashboard-corretor .sidebar {
    padding: 14px 12px;
    gap: 8px;
}

.dashboard-corretor .sidebar-item,
.dashboard-corretor .sidebar-link {
    min-height: 38px;
    padding: 9px 11px;
    font-size: 0.92rem;
}

.dashboard-corretor .dashboard-main--broker {
    gap: 14px;
}

.dashboard-corretor .dashboard-hero--broker,
.dashboard-corretor .dashboard-hero--broker-compact {
    padding: 2px 2px 0;
    gap: 12px;
    align-items: center;
}

.dashboard-corretor .dashboard-hero-copy {
    gap: 6px;
}

.dashboard-corretor .dashboard-hero h1,
.dashboard-corretor .dashboard-hero--broker-compact h1 {
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.05;
}

.dashboard-corretor .dashboard-subtitle {
    max-width: 64ch;
    font-size: 0.88rem;
    line-height: 1.4;
}

.dashboard-corretor .hero-actions--broker {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dashboard-corretor .broker-context-switcher {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    background: rgba(248, 250, 252, 0.96);
}

.dashboard-corretor .broker-context-switcher__item {
    text-decoration: none;
    color: #64748b;
    font-weight: 700;
    font-size: 0.84rem;
    padding: 9px 12px;
    border-radius: 999px;
}

.dashboard-corretor .broker-context-switcher__item.is-active {
    background: #0f2f58;
    color: #fff;
}

.dashboard-corretor .panel {
    padding: 14px 16px;
    border-radius: 20px;
}

.dashboard-corretor .panel-head {
    margin-bottom: 8px;
}

.dashboard-corretor .kpi-grid {
    gap: 10px;
}

.dashboard-corretor .kpi-card {
    padding: 12px 14px;
    border-radius: 18px;
    gap: 4px;
}

.dashboard-corretor .broker-dashboard-grid {
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.08fr) minmax(250px, 0.8fr);
    gap: 12px;
}

.dashboard-corretor .broker-bottom-grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.78fr);
    gap: 12px;
}

.dashboard-corretor .progress-ring {
    --size: 112px;
}

.dashboard-corretor .progress-widget__hero {
    grid-template-columns: auto 1fr;
}

.dashboard-corretor .progress-widget__foot {
    font-size: 0.82rem;
}

.dashboard-corretor .broker-map-snapshot {
    display: grid;
    grid-template-columns: minmax(180px, 0.78fr) minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    min-width: 0;
}

.dashboard-corretor .broker-map-snapshot__preview {
    min-height: 206px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #f7fafc, #eef5ff);
}

.dashboard-corretor .broker-map-snapshot__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dashboard-corretor .broker-map-snapshot__empty {
    height: 100%;
    min-height: 206px;
    display: grid;
    place-items: center;
    color: #64748b;
    font-weight: 700;
}

.dashboard-corretor .broker-map-snapshot__content {
    display: grid;
    gap: 10px;
    min-width: 0;
    align-content: start;
}

.dashboard-corretor .broker-map-snapshot__title {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.dashboard-corretor .broker-map-snapshot__title strong {
    display: block;
    min-width: 0;
    font-size: 1rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.dashboard-corretor .broker-map-snapshot__title span {
    color: #64748b;
    font-size: 0.84rem;
}

.dashboard-corretor .broker-map-snapshot__stats,
.dashboard-corretor .broker-status-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.dashboard-corretor .broker-status-chip {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    flex: 1 1 104px;
    min-width: 0;
}

.dashboard-corretor .broker-status-chip span {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    line-height: 1.2;
    word-break: break-word;
}

.dashboard-corretor .broker-status-chip strong {
    color: #142033;
    font-size: 1.08rem;
    line-height: 1;
}

.dashboard-corretor .broker-status-chip--disponivel {
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.16);
}

.dashboard-corretor .broker-status-chip--reservado {
    background: rgba(250, 204, 21, 0.16);
    border-color: rgba(234, 179, 8, 0.24);
}

.dashboard-corretor .broker-status-chip--vendido {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.16);
}

.dashboard-corretor .broker-map-snapshot__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding-top: 2px;
    min-width: 0;
}

.dashboard-corretor .broker-map-snapshot__footer .muted {
    min-width: 0;
    margin: 0;
    line-height: 1.35;
}

.dashboard-corretor .broker-featured-panel,
.dashboard-corretor .broker-sales-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.dashboard-corretor .featured-list {
    max-height: 280px;
}

.dashboard-corretor .broker-sales-list {
    max-height: 280px;
    overflow: auto;
    padding-right: 2px;
}

.dashboard-corretor .broker-quick-links--compact,
.dashboard-corretor .broker-quick-links {
    gap: 8px;
}

.dashboard-corretor .broker-quick-link {
    padding: 12px 13px;
    border-radius: 14px;
}

.dashboard-corretor .broker-map-page-panel .broker-map-layout--interactive {
    grid-template-columns: minmax(0, 2.2fr) minmax(280px, 0.9fr);
}

.dashboard-corretor .broker-map-page-panel .broker-map-canvas {
    height: min(58vh, 560px);
    min-height: 420px;
}

.dashboard-corretor .broker-map-page-panel .broker-map-toolbar {
    justify-content: flex-start;
}

.dashboard-corretor .broker-map-secondary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-corretor .broker-secondary-list,
.dashboard-corretor .broker-mini-table {
    display: grid;
    gap: 8px;
}

.dashboard-corretor .broker-secondary-list__item,
.dashboard-corretor .broker-mini-table__row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    background: #fbfdff;
}

.dashboard-corretor .broker-secondary-list__item div,
.dashboard-corretor .broker-mini-table__main,
.dashboard-corretor .broker-mini-table__meta {
    display: grid;
    gap: 3px;
}

.dashboard-corretor .broker-secondary-list__item span,
.dashboard-corretor .broker-mini-table__meta small {
    color: #64748b;
    font-size: 0.8rem;
}

.dashboard-corretor .broker-mini-table__main {
    justify-items: start;
}

.dashboard-corretor .broker-mini-table__meta {
    justify-items: end;
}

.dashboard-corretor .broker-units-shell {
    display: grid;
    gap: 12px;
}

.dashboard-corretor .broker-units-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dashboard-corretor .broker-units-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.dashboard-corretor .broker-filters {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(180px, 0.5fr));
    gap: 10px;
    position: sticky;
    top: 12px;
    z-index: 20;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(10px);
}

.dashboard-corretor .broker-filter-field {
    display: grid;
    gap: 6px;
}

.dashboard-corretor .broker-filter-field span {
    color: #64748b;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.dashboard-corretor .broker-filter-field input,
.dashboard-corretor .broker-filter-field select {
    min-height: 40px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    padding: 0 12px;
    background: #fff;
}

.dashboard-corretor .broker-units-list {
    display: grid;
    gap: 8px;
}

.dashboard-corretor .broker-unit-row {
    border: 1px solid rgba(148, 163, 184, 0.14);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}

.dashboard-corretor .broker-unit-row--disponivel {
    border-left: 4px solid #22c55e;
}

.dashboard-corretor .broker-unit-row--reservado {
    border-left: 4px solid #eab308;
}

.dashboard-corretor .broker-unit-row--vendido {
    border-left: 4px solid #ef4444;
}

.dashboard-corretor .broker-unit-row__summary {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) repeat(6, minmax(110px, 0.62fr)) auto;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    cursor: pointer;
}

.dashboard-corretor .broker-unit-row__summary::-webkit-details-marker {
    display: none;
}

.dashboard-corretor .broker-unit-row__main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.dashboard-corretor .broker-unit-row__dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    flex: 0 0 auto;
}

.dashboard-corretor .broker-unit-row__dot.tone-ok,
.dashboard-corretor .broker-map-legend__dot.tone-ok,
.dashboard-corretor .table-pill.tone-ok {
    background: #22c55e;
}

.dashboard-corretor .broker-unit-row__dot.tone-warning,
.dashboard-corretor .broker-map-legend__dot.tone-warning,
.dashboard-corretor .table-pill.tone-warning {
    background: #eab308;
}

.dashboard-corretor .broker-unit-row__dot.tone-danger,
.dashboard-corretor .broker-map-legend__dot.tone-danger,
.dashboard-corretor .table-pill.tone-danger {
    background: #ef4444;
}

.dashboard-corretor .broker-unit-row__dot.tone-muted,
.dashboard-corretor .broker-map-legend__dot.tone-muted,
.dashboard-corretor .table-pill.tone-muted {
    background: #94a3b8;
}

.dashboard-corretor .broker-unit-row__identity {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.dashboard-corretor .broker-unit-row__identity span,
.dashboard-corretor .broker-unit-row__metric span {
    color: #64748b;
    font-size: 0.78rem;
}

.dashboard-corretor .broker-unit-row__metric {
    display: grid;
    gap: 2px;
}

.dashboard-corretor .broker-unit-row__metric strong {
    color: #142033;
    font-size: 0.88rem;
}

.dashboard-corretor .broker-unit-row__action {
    justify-self: end;
}

.dashboard-corretor .broker-unit-row__details {
    display: grid;
    gap: 10px;
    padding: 0 14px 14px;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98));
}

.dashboard-corretor .broker-unit-row__detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding-top: 10px;
}

.dashboard-corretor .broker-unit-row__detail-grid div {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.14);
}

.dashboard-corretor .broker-unit-row__detail-grid span {
    color: #64748b;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dashboard-corretor .broker-unit-row__controls,
.dashboard-corretor .broker-unit-row__locked {
    display: grid;
    gap: 8px;
}

.dashboard-corretor .broker-inline-reserve--list {
    grid-template-columns: minmax(220px, 320px) 1fr;
    gap: 10px;
}

.dashboard-corretor .broker-inline-reserve__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.dashboard-corretor .broker-dialog {
    border: 0;
    padding: 0;
    background: transparent;
}

.dashboard-corretor .broker-dialog::backdrop {
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(3px);
}

.dashboard-corretor .broker-dialog__card {
    width: min(760px, calc(100vw - 32px));
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.22);
}

.dashboard-corretor .broker-client-form--modal {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-corretor .broker-client-form__actions--modal {
    grid-column: 1 / -1;
    justify-content: flex-end;
}

.dashboard-corretor .broker-clients-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, .8fr);
    gap: 20px;
}

.dashboard-corretor .broker-client-search {
    display: grid;
    gap: 6px;
    margin-bottom: 14px;
    color: #52627a;
    font-size: 12px;
    font-weight: 700;
}

.dashboard-corretor .broker-client-search input {
    width: 100%;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #d7e0e8;
    border-radius: 10px;
    background: #fff;
    color: #0f2340;
}

.dashboard-corretor .broker-client-list {
    display: grid;
    gap: 10px;
}

.dashboard-corretor .broker-client-card {
    display: grid;
    grid-template-columns: auto minmax(180px, 1.5fr) minmax(120px, .8fr) minmax(120px, .8fr) auto;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid #e0e7ee;
    border-radius: 12px;
    background: #fff;
}

.dashboard-corretor .broker-client-card__avatar {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: #e4f4e9;
    color: #075f35;
    font-weight: 800;
}

.dashboard-corretor .broker-client-card__identity,
.dashboard-corretor .broker-client-card__contact {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.dashboard-corretor .broker-client-card__identity strong,
.dashboard-corretor .broker-client-card__contact strong {
    overflow: hidden;
    color: #0f2340;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-corretor .broker-client-card__identity span,
.dashboard-corretor .broker-client-card__contact span {
    color: #718096;
    font-size: 12px;
}

.dashboard-corretor .broker-client-card__actions {
    display: flex;
    gap: 6px;
}

.dashboard-corretor .broker-client-create .broker-client-form {
    grid-template-columns: 1fr;
}

@media (max-width: 1180px) {
    .dashboard-corretor .broker-clients-layout {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .broker-client-card {
        grid-template-columns: auto minmax(160px, 1fr) minmax(120px, .7fr) minmax(120px, .7fr);
    }

    .dashboard-corretor .broker-client-card__actions {
        grid-column: 2 / -1;
    }
}

@media (max-width: 720px) {
    .dashboard-corretor .broker-client-card {
        grid-template-columns: auto 1fr;
    }

    .dashboard-corretor .broker-client-card__contact,
    .dashboard-corretor .broker-client-card__actions {
        grid-column: 2;
    }
}

@media (max-width: 1320px) {
    .dashboard-corretor .broker-dashboard-grid {
        grid-template-columns: 1fr 1fr;
    }

    .dashboard-corretor .broker-map-overview-panel {
        grid-column: 1 / -1;
    }

    .dashboard-corretor .broker-unit-row__summary {
        grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(110px, 0.7fr)) auto;
    }

    .dashboard-corretor .broker-unit-row__metric:nth-child(6),
    .dashboard-corretor .broker-unit-row__metric:nth-child(7),
    .dashboard-corretor .broker-unit-row__metric:nth-child(8) {
        display: none;
    }
}

@media (max-width: 1180px) {

    .dashboard-corretor .dashboard-content,
    .dashboard-corretor .broker-map-page-panel .broker-map-layout--interactive,
    .dashboard-corretor .broker-map-secondary-grid,
    .dashboard-corretor .broker-map-snapshot,
    .dashboard-corretor .broker-bottom-grid,
    .dashboard-corretor .broker-filters,
    .dashboard-corretor .broker-unit-row__detail-grid,
    .dashboard-corretor .broker-inline-reserve--list,
    .dashboard-corretor .broker-client-form--modal {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .sidebar {
        position: static;
    }
}

@media (max-width: 860px) {

    .dashboard-corretor .broker-map-legend--inline,
    .dashboard-corretor .broker-unit-row__summary {
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .broker-status-overview,
    .dashboard-corretor .broker-map-snapshot__stats {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dashboard-corretor .broker-map-snapshot__footer,
    .dashboard-corretor .broker-map-legend--inline,
    .dashboard-corretor .broker-units-toolbar,
    .dashboard-corretor .hero-actions--broker,
    .dashboard-corretor .broker-secondary-list__item,
    .dashboard-corretor .broker-mini-table__row {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Admin map dynamic editor */
.admin-map-dynamic-head {
    align-items: start;
}

.admin-map-dynamic-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.admin-map-dynamic-tab {
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: linear-gradient(180deg, #fff, #f8fbff);
    color: #334155;
    font-weight: 700;
}

.admin-map-dynamic-tab.is-active {
    background: linear-gradient(135deg, #15396b, #0f2749);
    color: #fff;
}

.admin-map-dynamic-tab[aria-selected="true"] {
    box-shadow: 0 10px 20px rgba(21, 57, 107, 0.18);
}

[data-map-nav-panel].is-focused {
    scroll-margin-top: 22px;
    box-shadow: 0 0 0 2px rgba(21, 57, 107, 0.16), 0 18px 40px rgba(15, 23, 42, 0.08);
}

.admin-map-dynamic-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.admin-map-dynamic-shell {
    display: grid;
    grid-template-columns: minmax(300px, 320px) minmax(0, 1fr) minmax(320px, 360px);
    gap: 18px;
    align-items: start;
    min-height: 0;
}

.admin-map-dynamic-card {
    padding: 18px !important;
    min-width: 0;
    overflow: hidden;
}

.admin-map-dynamic-sidebar,
.admin-map-dynamic-inspector,
.admin-map-dynamic-stage-column {
    display: grid;
    gap: 16px;
    min-width: 0;
    align-content: start;
    align-self: start;
}

.admin-map-dynamic-sidebar,
.admin-map-dynamic-inspector {
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 150px);
    overflow: auto;
    padding-right: 4px;
}

.admin-map-dynamic-preview {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: linear-gradient(180deg, #f8fbff, #fff);
    min-height: 170px;
    display: grid;
    place-items: center;
}

.admin-map-dynamic-preview img {
    display: block;
    max-width: 100%;
    max-height: 188px;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: #f8fbff;
}

.admin-map-dynamic-preview-empty {
    display: grid;
    gap: 6px;
    padding: 18px;
    text-align: center;
    color: #64748b;
}

.admin-map-dynamic-filemeta {
    margin-top: 12px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #64748b;
}

.admin-map-dynamic-filters {
    display: grid;
    gap: 12px;
}

.admin-map-dynamic-status-list {
    margin: 14px 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-map-dynamic-status-list.is-hidden,
.admin-map-dynamic-legend.is-hidden {
    display: none;
}

.admin-map-dynamic-status-list div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.admin-map-dynamic-units {
    display: grid;
    gap: 8px;
    max-height: min(380px, calc(100vh - 560px));
    overflow: auto;
    padding-right: 4px;
}

.admin-map-unit-row {
    text-align: left;
    display: grid;
    gap: 6px;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, #fff, #f8fbff);
}

.admin-map-unit-row.is-active {
    border-color: rgba(21, 57, 107, 0.28);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.admin-map-unit-row small {
    color: #64748b;
}

.admin-map-dynamic-card--stage {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 0;
}

.admin-map-dynamic-card--stage .settings-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.admin-map-dynamic-toolbar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.admin-map-dynamic-toolbar .table-action.is-active {
    background: #15396b;
    color: #fff;
}

.admin-map-dynamic-map-wrap {
    position: relative;
    height: clamp(520px, calc(100vh - 360px), 720px);
    min-height: 520px;
    max-height: 720px;
    min-width: 0;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: #eef2f7;
}

.admin-map-dynamic-map,
.admin-map-dynamic-minimap {
    position: absolute;
    inset: 0;
    min-width: 0;
}

.admin-map-dynamic-map.leaflet-container,
.admin-map-dynamic-minimap.leaflet-container,
.admin-map-dynamic-map .leaflet-container,
.admin-map-dynamic-minimap .leaflet-container {
    width: 100%;
    height: 100%;
    background: #eef2f7;
}

.admin-map-dynamic-map .leaflet-image-layer,
.admin-map-dynamic-minimap .leaflet-image-layer {
    image-rendering: auto;
}

.admin-map-dynamic-legend {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 600;
    display: grid;
    gap: 8px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(148, 163, 184, 0.16);
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.08);
}

.admin-map-dynamic-legend div {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-weight: 600;
}

.admin-map-dynamic-minimap {
    inset: auto 16px 16px auto;
    width: 168px;
    height: 108px;
    z-index: 600;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 18px 32px rgba(15, 23, 42, 0.12);
    background: #eef2f7;
}

.admin-map-dynamic-minimap.is-hidden {
    display: none;
}

.admin-map-dynamic-map-state {
    position: absolute;
    inset: 0;
    z-index: 750;
    display: grid;
    place-content: center;
    gap: 8px;
    padding: 22px;
    text-align: center;
    background: rgba(238, 242, 247, 0.94);
    color: #334155;
}

.admin-map-dynamic-map-state.is-hidden {
    display: none;
}

.admin-map-dynamic-map-state .is-hidden {
    display: none !important;
}

.admin-map-dynamic-map-state.is-error {
    background: rgba(254, 242, 242, 0.96);
    color: #991b1b;
}

.admin-map-dynamic-stage-foot {
    margin-top: 12px;
    color: #475569;
    font-weight: 600;
}

.admin-map-dynamic-inspector-summary {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: start;
    margin-bottom: 14px;
}

.admin-map-dynamic-inspector-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-map-dynamic-inspector-grid div {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.admin-map-dynamic-inspector-grid span {
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
}

.admin-map-dynamic-form {
    margin-top: 16px;
    display: grid;
    gap: 12px;
}

.admin-map-dynamic-actions {
    margin-top: 14px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-map-version-list {
    margin-top: 14px;
    display: grid;
    gap: 10px;
}

.admin-map-version-item {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid rgba(148, 163, 184, 0.16);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.admin-map-version-item:hover,
.admin-map-version-item:focus-visible,
.admin-map-version-item.is-active {
    border-color: rgba(21, 57, 107, 0.34);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.admin-map-version-item span {
    color: #64748b;
    font-size: 0.78rem;
}

.admin-map-config-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid rgba(148, 163, 184, 0.12);
    color: #334155;
    font-weight: 600;
}

.admin-map-version-panel {
    display: grid;
    gap: 10px;
}

.admin-map-version-panel div,
.admin-map-audit-item {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fbff;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.admin-map-version-panel span,
.admin-map-audit-item span {
    color: #64748b;
    font-size: 0.78rem;
}

.admin-map-dynamic-mirror {
    max-height: 280px;
    overflow: auto;
}

.admin-map-dynamic-table {
    min-width: 720px;
}

.admin-map-audit-list {
    display: grid;
    gap: 10px;
    max-height: 260px;
    overflow: auto;
}

.admin-map-marker-chip-wrap {
    background: transparent;
    border: 0;
}

.admin-map-marker-chip {
    position: relative;
    border-radius: 999px;
    background: var(--marker-fill);
    border: 2px solid rgba(255, 255, 255, 0.96);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.38), 0 10px 18px rgba(15, 23, 42, 0.18);
}

.admin-map-marker-chip.is-active {
    transform: scale(1.1);
    box-shadow: 0 0 0 7px var(--marker-halo), 0 12px 22px rgba(15, 23, 42, 0.22);
}

.admin-map-marker-chip__label {
    position: absolute;
    left: 50%;
    top: calc(100% + 6px);
    transform: translateX(-50%);
    white-space: nowrap;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: #142033;
    font-weight: 700;
    font-size: 0.72rem;
    box-shadow: 0 8px 14px rgba(15, 23, 42, 0.1);
}

@media (max-width: 1280px) {
    .admin-map-dynamic-shell {
        grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
    }

    .admin-map-dynamic-inspector {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        position: static;
        max-height: none;
        overflow: visible;
    }

    .admin-map-dynamic-sidebar {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .admin-map-dynamic-map-wrap {
        height: clamp(480px, calc(100vh - 320px), 660px);
        min-height: 480px;
    }
}

@media (max-width: 980px) {

    .admin-map-dynamic-summary,
    .admin-map-dynamic-shell {
        grid-template-columns: 1fr;
    }

    .admin-map-dynamic-inspector {
        grid-template-columns: 1fr;
    }

    .admin-map-dynamic-map-wrap {
        height: clamp(420px, calc(100vh - 280px), 560px);
        min-height: 420px;
    }

    .admin-map-dynamic-minimap {
        width: 160px;
        height: 104px;
    }

    .admin-map-dynamic-inspector-grid {
        grid-template-columns: 1fr;
    }
}

.admin-map-dynamic-workspace {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.admin-map-dynamic-tab-panel {
    display: none;
    min-width: 0;
}

.admin-map-dynamic-tab-panel.is-active {
    display: grid;
    gap: 18px;
}

.admin-map-dynamic-general-layout {
    display: grid;
    grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    min-width: 0;
}

.admin-map-dynamic-map-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
    gap: 18px;
    align-items: start;
    min-width: 0;
}

.admin-map-dynamic-map-side {
    display: grid;
    gap: 16px;
    min-width: 0;
    align-content: start;
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 170px);
    overflow: auto;
    padding-right: 4px;
}

.admin-map-dynamic-card--image,
.admin-map-dynamic-card--config,
.admin-map-dynamic-publication {
    width: 100%;
}

.admin-map-dynamic-preview--large {
    min-height: clamp(340px, calc(100vh - 320px), 720px);
}

.admin-map-dynamic-preview--large img {
    max-height: clamp(300px, calc(100vh - 360px), 680px);
    width: 100%;
    height: 100%;
}

.admin-map-dynamic-mirror--expanded {
    max-height: clamp(320px, calc(100vh - 360px), 520px);
}

.admin-map-dynamic-publication {
    margin-top: 4px;
}

.admin-map-dynamic-publication-layout {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.admin-map-dynamic-minimap {
    top: auto !important;
    right: 16px !important;
    bottom: 16px !important;
    left: auto !important;
    width: min(176px, 28%) !important;
    height: min(116px, 22%) !important;
    min-width: 144px;
    min-height: 92px;
    max-width: 176px;
    max-height: 116px;
}

.admin-map-dynamic-tab-panel[hidden] {
    display: none !important;
}

[data-map-nav-panel].is-focused {
    box-shadow: none;
}

@media (max-width: 1280px) {

    .admin-map-dynamic-general-layout,
    .admin-map-dynamic-map-layout,
    .admin-map-dynamic-publication-layout {
        grid-template-columns: 1fr;
    }

    .admin-map-dynamic-map-side {
        position: static;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

@media (max-width: 980px) {

    .admin-map-dynamic-summary,
    .admin-map-dynamic-general-layout {
        grid-template-columns: 1fr;
    }

    .admin-map-dynamic-preview--large {
        min-height: 280px;
    }

    .admin-map-dynamic-preview--large img {
        max-height: 260px;
    }

    .admin-map-dynamic-mirror--expanded {
        max-height: 320px;
    }

    .admin-map-dynamic-minimap {
        width: 144px !important;
        height: 92px !important;
        min-width: 144px;
        min-height: 92px;
    }
}

.admin-map-dynamic-feedback-banner {
    padding: 12px 16px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: #f8fbff;
    color: #334155;
    font-weight: 700;
}

.admin-map-dynamic-feedback-banner[data-tone="success"] {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.22);
    color: #166534;
}

.admin-map-dynamic-feedback-banner[data-tone="error"] {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.18);
    color: #991b1b;
}

.admin-map-dynamic-feedback-banner[data-tone="info"] {
    background: rgba(21, 57, 107, 0.08);
    border-color: rgba(21, 57, 107, 0.16);
    color: #15396b;
}

.admin-map-dynamic-general-layout {
    grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
}

.admin-map-dynamic-map-layout {
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr) minmax(300px, 340px);
    align-items: start;
}

.admin-map-dynamic-map-side {
    align-self: start;
}

.admin-map-dynamic-map-side--filters,
.admin-map-dynamic-map-side--inspector {
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 170px);
    overflow: auto;
    padding-right: 4px;
}

.admin-map-dynamic-card--inspector {
    padding: 14px !important;
}

.admin-map-dynamic-card--inspector .settings-card-head {
    margin-bottom: 10px;
}

.admin-map-dynamic-inspector-summary {
    margin-bottom: 10px;
}

.admin-map-dynamic-inspector-summary strong {
    font-size: 0.95rem;
    line-height: 1.35;
}

.admin-map-dynamic-card--inspector .table-pill {
    padding: 4px 10px;
    font-size: 0.74rem;
}

.admin-map-dynamic-inspector-grid {
    gap: 8px;
}

.admin-map-dynamic-inspector-grid div {
    gap: 2px;
    padding: 8px 10px;
}

.admin-map-dynamic-inspector-grid span {
    font-size: 0.67rem;
}

.admin-map-dynamic-inspector-grid strong {
    font-size: 0.84rem;
    line-height: 1.25;
}

.admin-map-dynamic-form--compact {
    margin-top: 12px;
    gap: 10px;
}

.admin-map-dynamic-form--compact .form-field {
    margin: 0;
}

.admin-map-dynamic-form--compact input {
    min-height: 38px;
}

.admin-map-dynamic-card--inspector .admin-map-dynamic-actions {
    margin-top: 12px;
    gap: 8px;
}

.admin-map-dynamic-card--inspector .admin-map-dynamic-actions .button,
.admin-map-dynamic-card--inspector .admin-map-dynamic-actions .table-action {
    min-height: 38px;
    padding: 0 14px;
}

.admin-map-dynamic-map-side--filters .admin-map-dynamic-units {
    max-height: min(420px, calc(100vh - 470px));
}

@media (max-width: 1280px) {
    .admin-map-dynamic-map-layout {
        grid-template-columns: 1fr;
    }

    .admin-map-dynamic-map-side--filters,
    .admin-map-dynamic-map-side--inspector {
        position: static;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

.empreendimento-master-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.admin-map-dynamic-map-layout {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    min-width: 0;
}

.admin-map-dynamic-map-side--filters {
    flex: 0 0 300px;
    width: 300px;
    max-width: 300px;
}

.admin-map-dynamic-map-side--filters .settings-card-head {
    margin-bottom: 10px;
}

.admin-map-dynamic-map-side--filters .admin-map-dynamic-filters {
    gap: 10px;
}

.admin-map-dynamic-map-side--filters .form-field span {
    font-size: 0.78rem;
}

.admin-map-dynamic-map-side--filters .form-field input,
.admin-map-dynamic-map-side--filters .form-field select {
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 12px;
}

.admin-map-dynamic-status-list {
    margin: 12px 0;
    gap: 8px;
}

.admin-map-dynamic-status-list div {
    padding: 8px 10px;
    border-radius: 12px;
}

.admin-map-dynamic-units {
    max-height: min(320px, calc(100vh - 520px));
}

.admin-map-unit-row {
    gap: 4px;
    padding: 10px 12px;
    border-radius: 14px;
}

.admin-map-unit-row strong {
    font-size: 0.95rem;
}

.admin-map-unit-row small {
    font-size: 0.78rem;
}

.admin-map-dynamic-card--stage {
    flex: 1 1 auto;
    min-width: 0;
}

.admin-map-dynamic-card--stage .settings-card-head {
    align-items: center;
}

.admin-map-dynamic-stage-shell {
    display: flex;
    gap: 0;
    min-width: 0;
    align-items: stretch;
}

.admin-map-dynamic-map-column {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    gap: 10px;
}

.admin-map-dynamic-map-wrap {
    height: clamp(560px, calc(100vh - 290px), 760px);
    min-height: 560px;
    max-height: 760px;
}

.admin-map-dynamic-drawer {
    flex: 0 0 0;
    width: 0;
    min-width: 0;
    max-width: 300px;
    overflow: hidden;
    opacity: 0;
    border-left: 1px solid rgba(148, 163, 184, 0.14);
    transition: width .24s ease, flex-basis .24s ease, opacity .18s ease, padding .24s ease, margin-left .24s ease;
    margin-left: 0;
    padding: 0;
}

.admin-map-dynamic-drawer.is-open {
    flex: 0 0 clamp(260px, 24vw, 300px);
    width: clamp(260px, 24vw, 300px);
    opacity: 1;
    margin-left: 14px;
    padding-left: 14px;
}

.admin-map-dynamic-drawer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.admin-map-dynamic-drawer-head .dashboard-kicker {
    margin-bottom: 4px;
}

.admin-map-dynamic-drawer-head strong {
    display: block;
    color: #142033;
    font-size: 1rem;
    line-height: 1.25;
}

.admin-map-dynamic-drawer-head-actions {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.admin-map-dynamic-drawer-close {
    min-height: 34px;
    padding: 0 12px;
}

.admin-map-dynamic-drawer-empty {
    display: grid;
    gap: 6px;
    padding: 14px;
    border-radius: 16px;
    border: 1px dashed rgba(148, 163, 184, 0.24);
    background: #f8fbff;
    color: #64748b;
}

.admin-map-dynamic-drawer-empty strong {
    color: #142033;
    font-size: 0.95rem;
}

.admin-map-dynamic-drawer-content.is-hidden,
.admin-map-dynamic-drawer-empty.is-hidden {
    display: none;
}

.admin-map-dynamic-inspector-grid--drawer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.admin-map-dynamic-inspector-grid--drawer div {
    gap: 2px;
    padding: 8px 10px;
    border-radius: 12px;
}

.admin-map-dynamic-inspector-grid--drawer span {
    font-size: 0.65rem;
}

.admin-map-dynamic-inspector-grid--drawer strong {
    font-size: 0.82rem;
    line-height: 1.22;
}

.admin-map-dynamic-form--compact {
    margin-top: 10px;
    gap: 8px;
}

.admin-map-dynamic-form--compact .form-field span {
    font-size: 0.74rem;
}

.admin-map-dynamic-form--compact input {
    min-height: 36px;
    padding: 8px 10px;
    border-radius: 10px;
}

.admin-map-dynamic-actions--drawer {
    margin-top: 10px;
    gap: 8px;
}

.admin-map-dynamic-actions--drawer .button,
.admin-map-dynamic-actions--drawer .table-action {
    min-height: 36px;
    padding: 0 12px;
}

@media (max-width: 1280px) {
    .admin-map-dynamic-map-layout {
        flex-direction: column;
    }

    .admin-map-dynamic-map-side--filters {
        width: 100%;
        max-width: none;
        flex: 1 1 auto;
        position: static;
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .admin-map-dynamic-stage-shell {
        flex-direction: column;
    }

    .admin-map-dynamic-drawer,
    .admin-map-dynamic-drawer.is-open {
        width: 100%;
        max-width: none;
        flex-basis: auto;
        margin-left: 0;
        padding-left: 0;
        opacity: 1;
        border-left: 0;
        border-top: 1px solid rgba(148, 163, 184, 0.14);
        margin-top: 12px;
        padding-top: 12px;
    }
}

@media (max-width: 920px) {
    .admin-map-dynamic-map-wrap {
        height: clamp(440px, calc(100vh - 260px), 620px);
        min-height: 440px;
    }

    .admin-map-dynamic-inspector-grid--drawer {
        grid-template-columns: 1fr;
    }
}

.empreendimento-master-card .project-admin-card__media {
    min-height: 220px;
}

.empreendimento-master-card .project-admin-card__image {
    height: 220px;
    object-fit: cover;
}

.empreendimento-painel {
    display: grid;
    gap: 18px;
}

.empreendimento-painel__head {
    align-items: flex-start;
}

.empreendimento-painel__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    overflow: hidden;
}

.empreendimento-painel__hero--sem-midia {
    grid-template-columns: minmax(0, 1fr);
}

.empreendimento-painel__media {
    display: block;
    width: min(100%, 420px);
    min-width: 0;
    overflow: hidden;
    border-radius: 20px;
    line-height: 0;
}

.empreendimento-painel__media img,
.empreendimento-painel__media-placeholder {
    width: 100%;
    max-width: 100%;
    min-height: 280px;
    height: 100%;
    max-height: 420px;
    border-radius: 20px;
    object-fit: cover;
    object-position: center;
    background: linear-gradient(135deg, rgba(21, 57, 107, 0.12), rgba(34, 197, 94, 0.14));
    display: grid;
    place-items: center;
    color: #334155;
    font-weight: 700;
}

.empreendimento-painel__hero-copy,
.empreendimento-painel__sections {
    display: grid;
    gap: 18px;
}

.empreendimento-painel__hero-grid,
.empreendimento-painel__kpis,
.empreendimento-painel__summary-grid,
.empreendimento-painel__info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.empreendimento-painel__hero-grid div,
.empreendimento-painel__kpis div,
.empreendimento-painel__summary-grid div,
.empreendimento-painel__info-grid div,
.empreendimento-painel__midia-card {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98));
    border: 1px solid rgba(148, 163, 184, 0.14);
}

.empreendimento-painel__hero-grid span,
.empreendimento-painel__kpis span,
.empreendimento-painel__summary-grid span,
.empreendimento-painel__info-grid span {
    color: #64748b;
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.empreendimento-painel__hero-grid strong,
.empreendimento-painel__kpis strong,
.empreendimento-painel__summary-grid strong,
.empreendimento-painel__info-grid strong,
.empreendimento-painel__row strong,
.empreendimento-painel__midia-card strong {
    color: #142033;
}

.empreendimento-painel__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.empreendimento-painel__list {
    display: grid;
    gap: 10px;
}

.empreendimento-painel__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, 0.14);
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.98));
}

.empreendimento-painel__row span {
    color: #64748b;
    font-size: 0.88rem;
}

.empreendimento-painel__midias {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.empreendimento-painel--executivo .empreendimento-painel__hero {
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
}

.empreendimento-painel__alertas {
    display: grid;
    gap: 12px;
}

.empreendimento-painel__alerta {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.empreendimento-painel__summary-card {
    min-height: 170px;
    align-content: start;
}

.form-context-card {
    display: grid;
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
    gap: 18px;
    padding: 18px;
    margin-bottom: 18px;
    border-radius: 22px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(17, 64, 103, 0.95));
    color: #f8fafc;
}

.form-context-card__media img,
.form-context-card__placeholder {
    width: 100%;
    min-height: 180px;
    height: 100%;
    border-radius: 18px;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.08);
    display: grid;
    place-items: center;
    color: rgba(248, 250, 252, 0.88);
}

.form-context-card__content {
    display: grid;
    gap: 10px;
    align-content: center;
}

.form-context-card--compact {
    grid-template-columns: 1fr;
    padding: 16px 18px;
}

.form-context-card__kicker {
    margin: 0;
    color: rgba(191, 219, 254, 0.86);
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.form-context-card__content h2 {
    margin: 0;
    color: #ffffff;
}

.form-context-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.form-context-card__meta span {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(248, 250, 252, 0.94);
    font-size: 0.88rem;
}

.form-context-card .muted {
    color: rgba(226, 232, 240, 0.82);
}

.admin-actions--sticky {
    position: sticky;
    bottom: 12px;
    z-index: 6;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(148, 163, 184, 0.16);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(14px);
}

.admin-topbar-tools {
    display: flex;
    align-items: center;
    align-self: center;
    gap: 10px;
}

.admin-topbar-alert {
    align-items: center;
    background: rgba(253, 186, 116, .15);
    border: 1px solid rgba(253, 186, 116, .35);
    border-radius: 999px;
    color: #fed7aa;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 6px;
    height: 36px;
    padding: 0 12px;
    text-decoration: none;
    transition: background .15s;
}

.admin-topbar-alert:hover {
    background: rgba(253, 186, 116, .25);
}

.admin-topbar-alert span {
    background: #fb923c;
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    min-width: 18px;
    padding: 1px 5px;
    text-align: center;
}

.admin-topbar-settings {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    color: #f8fafc;
    text-decoration: none;
}

.admin-topbar-settings:hover {
    background: rgba(255, 255, 255, 0.14);
}

.admin-topbar-settings.active {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.32);
}

.admin-context-card {
    display: grid;
    gap: 8px;
    padding: 16px;
    border-radius: 20px;
    background: linear-gradient(160deg, rgba(15, 23, 42, 0.98), rgba(28, 75, 117, 0.94));
    color: #f8fafc;
    overflow: hidden;
}

.empreendimento-painel--limpo .empreendimento-painel__summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.empreendimento-painel--limpo .empreendimento-painel__summary-card {
    min-height: 132px;
    align-content: start;
}

.admin-context-card__kicker {
    font-size: 0.76rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(191, 219, 254, 0.82);
}

.admin-context-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-context-card__meta span {
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 0.82rem;
}

.admin-context-hub-summary {
    margin-bottom: 22px;
}

.admin-context-hub-hero {
    align-items: end;
    padding-bottom: 8px;
}

.admin-context-hub-summary-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.admin-context-hub-summary-grid>.admin-context-kpi {
    grid-column: span 2;
}

.admin-context-kpi {
    position: relative;
    display: grid;
    gap: 10px;
    min-height: 178px;
    overflow: hidden;
}

.admin-context-kpi__chrome {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.admin-context-kpi__icon,
.admin-context-hub-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    font-weight: 800;
    letter-spacing: 0.08em;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.18);
    color: #1e3a5f;
}

.admin-context-kpi__dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid rgba(191, 219, 254, 0.72);
    color: #7b8aa0;
    font-weight: 700;
    letter-spacing: 0.26em;
    background: rgba(255, 255, 255, 0.58);
}

.admin-context-kpi__bar,
.admin-context-hub-card__chart {
    margin-top: auto;
    width: 100%;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(203, 213, 225, 0.52);
}

.admin-context-kpi__bar span,
.admin-context-hub-card__chart span {
    display: block;
    height: 100%;
    width: 68%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2ba3df, #2ec27e);
}

.admin-context-kpi--info {
    background: linear-gradient(180deg, rgba(79, 135, 255, 0.12), rgba(255, 255, 255, 0.98));
}

.admin-context-kpi--success {
    background: linear-gradient(180deg, rgba(45, 180, 111, 0.12), rgba(255, 255, 255, 0.98));
}

.admin-context-kpi--warning {
    background: linear-gradient(180deg, rgba(240, 179, 61, 0.18), rgba(255, 255, 255, 0.98));
}

.admin-context-kpi--danger {
    background: linear-gradient(180deg, rgba(234, 92, 92, 0.16), rgba(255, 255, 255, 0.98));
}

.admin-context-kpi--neutral {
    background: linear-gradient(180deg, rgba(148, 163, 184, 0.12), rgba(255, 255, 255, 0.98));
}

.admin-context-hub-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 22px;
}

.admin-context-hub-cards--premium {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.admin-context-hub-card {
    grid-column: span 4;
    min-height: 260px;
    display: grid;
    gap: 14px;
}

.admin-context-hub-card .muted {
    margin: 0;
}

.admin-context-hub-card__head {
    align-items: start;
}

.admin-context-hub-card__meta {
    min-height: 42px;
}

.admin-context-hub-card__actions {
    margin-top: 0;
}

.admin-context-hub-card--info {
    background: linear-gradient(180deg, rgba(79, 135, 255, 0.10), rgba(255, 255, 255, 0.98));
}

.admin-context-hub-card--success {
    background: linear-gradient(180deg, rgba(45, 180, 111, 0.10), rgba(255, 255, 255, 0.98));
}

.admin-context-hub-card--warning {
    background: linear-gradient(180deg, rgba(240, 179, 61, 0.14), rgba(255, 255, 255, 0.98));
}

.admin-context-hub-card--danger {
    background: linear-gradient(180deg, rgba(234, 92, 92, 0.12), rgba(255, 255, 255, 0.98));
}

.admin-context-hub-card--neutral {
    background: linear-gradient(180deg, rgba(148, 163, 184, 0.10), rgba(255, 255, 255, 0.98));
}

.admin-context-hub-table-card {
    margin-top: 0;
}

.admin-panel>.admin-card:first-of-type {
    overflow: hidden;
}

.admin-form {
    gap: 14px !important;
}

.admin-form-grid {
    align-items: start !important;
    gap: 14px 18px !important;
}

.admin-card .admin-form-grid:first-of-type {
    margin-top: 0 !important;
}

.admin-page .admin-card,
.admin-page .admin-panel {
    margin-top: 0 !important;
}

.admin-scope-banner {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.26);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(241, 245, 249, 0.98));
}

.admin-scope-banner strong {
    font-size: 0.86rem;
    line-height: 1.1;
}

.admin-scope-banner span {
    font-size: 0.78rem;
    color: #475569;
    line-height: 1.45;
}

.admin-scope-banner--empreendimento {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.96), rgba(248, 250, 252, 0.98));
}

.admin-scope-banner--corporativo {
    border-color: rgba(22, 101, 52, 0.18);
    background: linear-gradient(180deg, rgba(240, 253, 244, 0.96), rgba(248, 250, 252, 0.98));
}

.admin-settings-hub-grid {
    margin-top: 22px;
}

@media (max-width: 1100px) {

    .empreendimento-painel__hero,
    .empreendimento-painel__hero-grid,
    .empreendimento-painel__kpis,
    .empreendimento-painel__summary-grid,
    .empreendimento-painel__info-grid,
    .form-context-card,
    .admin-context-hub-cards {
        grid-template-columns: 1fr 1fr;
    }

    .admin-context-hub-summary-grid>.admin-context-kpi,
    .admin-context-hub-card {
        grid-column: span 6;
    }
}

@media (max-width: 780px) {

    .empreendimento-painel__hero,
    .empreendimento-painel__hero-grid,
    .empreendimento-painel__kpis,
    .empreendimento-painel__summary-grid,
    .empreendimento-painel__info-grid,
    .form-context-card,
    .admin-context-hub-cards {
        grid-template-columns: 1fr;
    }

    .empreendimento-painel__row {
        flex-direction: column;
        align-items: flex-start;
    }

    .empreendimento-painel__alerta {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-context-hub-summary-grid,
    .admin-context-hub-cards--premium {
        grid-template-columns: 1fr;
    }

    .admin-context-hub-summary-grid>.admin-context-kpi,
    .admin-context-hub-card {
        grid-column: span 1;
    }
}

/* Controles ajustaveis do Dashboard Executivo.
   Mantem drag/resize e persistencia, mas sem poluir a leitura executiva. */

.admin-shell .executive-dashboard [data-dashboard-card] {
    position: relative;
}

.admin-shell .executive-dashboard .widget-toolbar {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 6;
    display: flex !important;
    gap: 6px;
    opacity: 0;
    transform: translateY(-2px);
    transition: opacity .16s ease, transform .16s ease;
    pointer-events: none;
}

.admin-shell .executive-dashboard [data-dashboard-card]:hover .widget-toolbar,
.admin-shell .executive-dashboard [data-dashboard-card]:focus-within .widget-toolbar,
.admin-shell .executive-dashboard [data-dashboard-card].is-dragging .widget-toolbar,
.admin-shell .executive-dashboard [data-dashboard-card].is-resizing .widget-toolbar {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.admin-shell .executive-dashboard .widget-drag-handle {
    width: 30px !important;
    min-width: 30px !important;
    height: 26px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border-radius: 999px !important;
    border: 1px solid var(--tv-border-soft) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #667085 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    cursor: grab;
}

.admin-shell .executive-dashboard .widget-drag-handle span {
    width: 3px !important;
    height: 3px !important;
    border-radius: 999px;
    background: currentColor;
}

.admin-shell .executive-dashboard .widget-drag-handle:hover,
.admin-shell .executive-dashboard .widget-resize-handle:hover {
    border-color: rgba(6, 75, 50, 0.28) !important;
    color: var(--tv-color-primary) !important;
    background: #fff !important;
}

.admin-shell .executive-dashboard .widget-drag-handle:active {
    cursor: grabbing;
}

.admin-shell .executive-dashboard .widget-resize-handle {
    position: absolute;
    right: 9px;
    bottom: 9px;
    z-index: 6;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 6px !important;
    border: 1px solid var(--tv-border-soft) !important;
    background:
        linear-gradient(135deg, transparent 52%, rgba(102, 112, 133, .55) 52% 62%, transparent 62%),
        linear-gradient(135deg, transparent 68%, rgba(102, 112, 133, .55) 68% 78%, transparent 78%),
        rgba(255, 255, 255, .94) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    opacity: 0;
    transform: translate(2px, 2px);
    transition: opacity .16s ease, transform .16s ease;
    cursor: nwse-resize;
}

.admin-shell .executive-dashboard [data-dashboard-card]:hover .widget-resize-handle,
.admin-shell .executive-dashboard [data-dashboard-card]:focus-within .widget-resize-handle,
.admin-shell .executive-dashboard [data-dashboard-card].is-resizing .widget-resize-handle {
    opacity: 1;
    transform: translate(0, 0);
}

.admin-shell .executive-dashboard [data-dashboard-card].is-dragging {
    opacity: .72 !important;
    transform: scale(.995) !important;
    outline: 2px solid rgba(6, 75, 50, .18);
    outline-offset: 2px;
}

.admin-shell .executive-dashboard [data-dashboard-card].is-resizing {
    outline: 2px solid rgba(217, 107, 0, .2);
    outline-offset: 2px;
}

.admin-shell .executive-dashboard .executive-kpi {
    overflow: hidden;
}

.admin-shell .executive-dashboard .executive-kpi-value {
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.admin-shell .executive-dashboard .executive-kpi[data-default-span="2"] .executive-kpi-value,
.admin-shell .executive-dashboard .executive-kpi[style*="span 2"] .executive-kpi-value,
.admin-shell .executive-dashboard .executive-kpi[style*="span 1"] .executive-kpi-value {
    font-size: clamp(16px, 1.08vw, 20px) !important;
}

/* Dashboard do Empreendimento - referencia fina aprovada */

.admin-shell .empreendimento-executivo {
    --ev-green: #15915b;
    --ev-green-dark: #064b32;
    --ev-green-soft: #e7f6ee;
    --ev-blue: #4d8df7;
    --ev-blue-soft: #edf5ff;
    --ev-yellow: #f6b739;
    --ev-yellow-soft: #fff7e5;
    --ev-orange: #ef7d16;
    --ev-orange-soft: #fff1df;
    --ev-red: #ef4444;
    --ev-red-soft: #ffe9eb;
    --ev-purple: #7c5cff;
    --ev-purple-soft: #f1ecff;
    display: grid;
    gap: 16px;
}

.admin-shell .empreendimento-executivo__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 4px;
}

.admin-shell .empreendimento-executivo__head h1 {
    margin: 0;
    color: #101828;
    font-size: 31px;
    line-height: 1.1;
    font-weight: 850;
}

.admin-shell .empreendimento-executivo__head p:not(.tv-kicker) {
    margin: 8px 0 0;
    color: #667085;
    font-size: 15px;
}

.admin-shell .empreendimento-executivo__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-shell .empreendimento-executivo__actions .button {
    min-height: 38px;
    padding-inline: 16px;
}

.admin-shell .empreendimento-kpi-row {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
}

.admin-shell .empreendimento-kpi {
    min-height: 168px;
    display: grid;
    grid-template-rows: auto auto auto auto 1fr;
    align-content: start;
    gap: 9px;
    padding: 16px;
    border: 1px solid var(--tv-border-soft);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .empreendimento-kpi__icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--ev-green-soft);
    color: var(--ev-green);
}

.admin-shell .empreendimento-kpi__label {
    color: #344054;
    font-size: 12px;
    font-weight: 760;
}

.admin-shell .empreendimento-kpi strong {
    color: #101828;
    font-size: 18px;
    line-height: 1.08;
    font-weight: 850;
    overflow-wrap: normal;
    word-break: normal;
}

.admin-shell .empreendimento-kpi small {
    color: #667085;
    font-size: 12px;
    line-height: 1.35;
}

.admin-shell .empreendimento-kpi em {
    width: fit-content;
    align-self: end;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--ev-green-soft);
    color: #05603a;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.admin-shell .empreendimento-kpi--success { border-color: #cbeedb; }
.admin-shell .empreendimento-kpi--yellow { border-color: #f9df9a; background: linear-gradient(180deg, #fffdfa, #fff); }
.admin-shell .empreendimento-kpi--blue { border-color: #cfe2ff; }
.admin-shell .empreendimento-kpi--purple,
.admin-shell .empreendimento-kpi--lilac { border-color: #ded6ff; }
.admin-shell .empreendimento-kpi--orange { border-color: #ffd9ad; background: linear-gradient(180deg, #fffdfa, #fff); }

.admin-shell .empreendimento-kpi--yellow .empreendimento-kpi__icon,
.admin-shell .empreendimento-kpi--yellow em { background: var(--ev-yellow-soft); color: #b54708; }
.admin-shell .empreendimento-kpi--blue .empreendimento-kpi__icon,
.admin-shell .empreendimento-kpi--blue em { background: var(--ev-blue-soft); color: #175cd3; }
.admin-shell .empreendimento-kpi--purple .empreendimento-kpi__icon,
.admin-shell .empreendimento-kpi--purple em,
.admin-shell .empreendimento-kpi--lilac .empreendimento-kpi__icon,
.admin-shell .empreendimento-kpi--lilac em { background: var(--ev-purple-soft); color: #5b36d6; }
.admin-shell .empreendimento-kpi--orange .empreendimento-kpi__icon,
.admin-shell .empreendimento-kpi--orange em { background: var(--ev-orange-soft); color: #c2410c; }

.admin-shell .empreendimento-executivo__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    gap: 14px;
}

.admin-shell .empreendimento-card {
    min-width: 0;
    padding: 16px 18px;
    border: 1px solid var(--tv-border-soft);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .empreendimento-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.admin-shell .empreendimento-card__head h2 {
    margin: 0;
    color: #101828;
    font-size: 16px;
    font-weight: 820;
}

.admin-shell .empreendimento-card__head > span,
.admin-shell .empreendimento-card__head button {
    color: #475467;
    font-size: 12px;
    font-weight: 720;
}

.admin-shell .empreendimento-select {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 0;
    background: transparent;
}

.admin-shell .empreendimento-info-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr .82fr;
    border: 1px solid var(--tv-border-soft);
    border-radius: 8px;
    overflow: hidden;
}

.admin-shell .empreendimento-info-col {
    padding: 14px;
    border-right: 1px solid var(--tv-border-soft);
}

.admin-shell .empreendimento-info-col:last-child {
    border-right: 0;
}

.admin-shell .empreendimento-info-col h3 {
    margin: 0 0 12px;
    color: #344054;
    font-size: 13px;
    font-weight: 820;
}

.admin-shell .empreendimento-info-col dl {
    display: grid;
    gap: 6px;
    margin: 0;
}

.admin-shell .empreendimento-info-col dt {
    color: #667085;
    font-size: 11px;
}

.admin-shell .empreendimento-info-col dd {
    margin: 0 0 8px;
    color: #101828;
    font-size: 12.5px;
    font-weight: 720;
}

.admin-shell .empreendimento-icon-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-shell .empreendimento-icon-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #101828;
    font-size: 12.5px;
    font-weight: 720;
}

.admin-shell .empreendimento-icon-list svg {
    color: #667085;
}

.admin-shell .empreendimento-status-list {
    display: grid;
    gap: 10px;
}

.admin-shell .empreendimento-status-list span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #344054;
    font-size: 12px;
    font-weight: 720;
}

.admin-shell .status-chip {
    padding: 5px 9px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
}

.admin-shell .status-chip--orange { background: #fff1df; color: #b54708; }
.admin-shell .status-chip--yellow { background: #fff5cf; color: #9a6700; }
.admin-shell .status-chip--green { background: #e7f6ee; color: #067647; }
.admin-shell .status-chip--blue { background: #e8f1ff; color: #175cd3; }

.admin-shell .empreendimento-performance {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) 88px 78px minmax(0, 1.05fr);
    align-items: center;
    gap: 18px;
    margin-top: 14px;
    padding: 13px 16px;
    border: 1px solid #d8eee3;
    border-radius: 8px;
    background: linear-gradient(90deg, #f4fbf7, #ffffff);
}

.admin-shell .empreendimento-performance span {
    color: #344054;
    font-size: 12px;
    font-weight: 760;
}

.admin-shell .empreendimento-performance strong {
    display: block;
    color: #087443;
    font-size: 23px;
    line-height: 1.1;
}

.admin-shell .empreendimento-performance strong small {
    color: #087443;
    font-size: 14px;
}

.admin-shell .empreendimento-performance p {
    margin: 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.45;
}

.admin-shell .empreendimento-score-ring {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#087443 0 var(--score, 0%), #e4e7ec var(--score, 0%) 100%);
}

.admin-shell .empreendimento-score-ring span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: #087443;
    font-size: 14px;
    font-weight: 850;
}

.admin-shell .empreendimento-go strong {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #32b66f;
    color: #fff;
    font-size: 18px;
}

.admin-shell .empreendimento-finance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.admin-shell .empreendimento-finance-mini {
    min-height: 86px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--tv-border-soft);
    border-radius: 8px;
    background: #fff;
}

.admin-shell .empreendimento-finance-mini > span {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--ev-green-soft);
    color: var(--ev-green);
}

.admin-shell .empreendimento-finance-mini small,
.admin-shell .empreendimento-finance-mini em {
    display: block;
    color: #667085;
    font-size: 12px;
    font-style: normal;
}

.admin-shell .empreendimento-finance-mini strong {
    display: block;
    margin: 3px 0;
    color: #101828;
    font-size: 18px;
    line-height: 1.12;
}

.admin-shell .empreendimento-finance-mini--blue > span { background: var(--ev-blue-soft); color: var(--ev-blue); }
.admin-shell .empreendimento-finance-mini--red > span { background: var(--ev-red-soft); color: var(--ev-red); }
.admin-shell .empreendimento-finance-mini--orange > span { background: var(--ev-orange-soft); color: var(--ev-orange); }
.admin-shell .empreendimento-finance-mini--purple > span { background: var(--ev-purple-soft); color: var(--ev-purple); }

.admin-shell .empreendimento-stock-bar {
    height: 22px;
    display: flex;
    overflow: hidden;
    border-radius: 7px;
    background: #f2f4f7;
}

.admin-shell .empreendimento-stock-bar span {
    display: block;
}

.admin-shell .empreendimento-stock-bar .is-sold { background: linear-gradient(90deg, #30b96f, #43c978); }
.admin-shell .empreendimento-stock-bar .is-reserved { background: linear-gradient(90deg, #f5b335, #ffd165); }
.admin-shell .empreendimento-stock-bar .is-available { background: linear-gradient(90deg, #5a9df8, #3f86e8); }

.admin-shell .empreendimento-stock-legend {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.admin-shell .empreendimento-stock-legend div {
    display: grid;
    gap: 6px;
}

.admin-shell .empreendimento-stock-legend strong,
.admin-shell .empreendimento-stock-legend b {
    font-size: 13px;
}

.admin-shell .empreendimento-stock-legend span {
    color: #667085;
    font-size: 12px;
}

.admin-shell .empreendimento-stock-legend .is-sold strong,
.admin-shell .empreendimento-stock-legend .is-sold b { color: #15915b; }
.admin-shell .empreendimento-stock-legend .is-reserved strong,
.admin-shell .empreendimento-stock-legend .is-reserved b { color: #d97706; }
.admin-shell .empreendimento-stock-legend .is-available strong,
.admin-shell .empreendimento-stock-legend .is-available b { color: #2563eb; }

.admin-shell .empreendimento-alert-list {
    display: grid;
    border: 1px solid var(--tv-border-soft);
    border-radius: 8px;
    overflow: hidden;
}

.admin-shell .empreendimento-alert-row {
    min-height: 34px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    color: #344054;
    text-decoration: none;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .empreendimento-alert-row:last-child {
    border-bottom: 0;
}

.admin-shell .empreendimento-alert-row > span {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    background: var(--ev-yellow-soft);
    color: #d97706;
}

.admin-shell .empreendimento-alert-row strong {
    font-size: 12.5px;
    font-weight: 650;
}

.admin-shell .empreendimento-alert-row > svg:last-child {
    color: #98a2b3;
}

.admin-shell .empreendimento-alert-row--orange > span { background: var(--ev-orange-soft); color: var(--ev-red); }
.admin-shell .empreendimento-alert-row--blue > span { background: var(--ev-blue-soft); color: #2563eb; }
.admin-shell .empreendimento-alert-row--green > span { background: var(--ev-green-soft); color: #15915b; }

.admin-shell:has(.empreendimento-executivo) .admin-sidebar {
    padding: 0 12px 18px;
}

.admin-shell:has(.empreendimento-executivo) .admin-context-card {
    margin: -8px -12px 16px;
    padding: 22px 24px 24px !important;
    min-height: 182px;
    display: flex;
    align-items: flex-start;
    background: linear-gradient(180deg, #064b32, #08633f);
    border: 0 !important;
    border-radius: 0 0 4px 4px !important;
    color: #fff;
}

.admin-shell:has(.empreendimento-executivo) .admin-context-card .admin-sidegroup-label {
    padding: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 11px;
    letter-spacing: 0.06em;
}

.admin-shell:has(.empreendimento-executivo) .admin-context-card__copy strong {
    margin-top: 10px;
    color: #fff;
    font-size: 18px !important;
    line-height: 1.2;
}

.admin-shell:has(.empreendimento-executivo) .admin-context-card__copy p {
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px !important;
}

.admin-shell:has(.empreendimento-executivo) .admin-context-card__meta {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.admin-shell:has(.empreendimento-executivo) .admin-context-card__meta span {
    width: fit-content;
    padding: 0 0 0 22px;
    position: relative;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    font-size: 13px !important;
}

.admin-shell:has(.empreendimento-executivo) .admin-context-card__meta span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #35d07f;
    transform: translateY(-50%);
}

.admin-shell.admin-shell--empreendimento-context .admin-sidebar {
    padding: 0 12px 18px;
}

.admin-shell.admin-shell--empreendimento-context .admin-context-card {
    margin: -8px -12px 16px;
    padding: 22px 24px 24px !important;
    min-height: 182px;
    display: flex;
    align-items: flex-start;
    background: linear-gradient(180deg, #064b32, #08633f);
    border: 0 !important;
    border-radius: 0 0 4px 4px !important;
    color: #fff;
}

.admin-shell.admin-shell--empreendimento-context .admin-context-card .admin-sidegroup-label {
    padding: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 11px;
    letter-spacing: 0.06em;
}

.admin-shell.admin-shell--empreendimento-context .admin-context-card__copy strong {
    margin-top: 10px;
    color: #fff;
    font-size: 18px !important;
    line-height: 1.2;
}

.admin-shell.admin-shell--empreendimento-context .admin-context-card__copy p {
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px !important;
}

.admin-shell.admin-shell--empreendimento-context .admin-context-card__meta {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.admin-shell.admin-shell--empreendimento-context .admin-context-card__meta span {
    width: fit-content;
    padding: 0 0 0 22px;
    position: relative;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    font-size: 13px !important;
}

.admin-shell.admin-shell--empreendimento-context .admin-context-card__meta span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #35d07f;
    transform: translateY(-50%);
}

.admin-shell .admin-main-dashboard {
    gap: 14px;
}

.admin-shell .admin-main-dashboard .executive-kpi-grid--wide {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
}

.admin-shell .admin-main-dashboard .executive-kpi-grid--wide > [data-dashboard-card] {
    grid-column: span 2;
}

.admin-shell .admin-main-dashboard .executive-kpi {
    min-height: 132px;
    padding: 16px !important;
    border-radius: 8px;
}

.admin-shell .admin-main-dashboard .executive-kpi-head {
    margin-bottom: 4px !important;
}

.admin-shell .admin-main-dashboard .executive-kpi-label {
    color: #172033;
    font-size: 12px !important;
    font-weight: 760;
    line-height: 1.25;
}

.admin-shell .admin-main-dashboard .executive-kpi-value {
    margin-top: 2px;
    font-size: 21px !important;
    line-height: 1.08 !important;
    overflow-wrap: normal;
}

.admin-shell .admin-main-dashboard .executive-kpi-meta {
    font-size: 12px !important;
    line-height: 1.32 !important;
}

.admin-shell .admin-main-dashboard__row {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
}

.admin-shell .admin-main-dashboard__row > [data-dashboard-card] {
    min-width: 0;
}

.admin-shell .admin-main-dashboard .executive-card {
    padding: 16px !important;
    border-radius: 8px;
}

.admin-shell .admin-main-dashboard .panel-head {
    margin-bottom: 12px;
}

.admin-shell .admin-main-dashboard .panel-head h2 {
    font-size: 16px;
}

.dashboard-period-chip {
    padding: 7px 11px;
    border: 1px solid var(--tv-border-soft);
    border-radius: 8px;
    color: #475467;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
}

.portfolio-chart {
    display: grid;
    gap: 12px;
}

.portfolio-chart__legend {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.portfolio-chart__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #475467;
    font-size: 12px;
}

.portfolio-chart__legend-item::before {
    content: "";
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: #15915b;
}

.portfolio-chart__legend-item--received::before { background: #0f9f8a; }
.portfolio-chart__legend-item--payable::before { background: #e75f19; }
.portfolio-chart__legend-item--projected::before { background: #2563eb; border-top: 2px dashed #2563eb; height: 0; }

.portfolio-chart__stage {
    position: relative;
    min-height: 180px;
    padding: 0 10px 28px;
    background: linear-gradient(180deg, #fff, #fbfcfd);
    overflow: hidden;
}

.portfolio-chart__svg {
    display: block;
    width: 100%;
    height: 190px;
}

.portfolio-chart__grid line {
    stroke: #d9e0ea;
    stroke-width: 1;
}

.portfolio-chart__area {
    fill: rgba(21, 145, 91, 0.10);
}

.portfolio-chart__polyline {
    fill: none;
    stroke: #15915b;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.portfolio-chart__polyline--received { stroke: #0f9f8a; }
.portfolio-chart__polyline--payable { stroke: #e75f19; }
.portfolio-chart__polyline--projected {
    stroke: #2563eb;
    stroke-dasharray: 6 5;
}

.portfolio-chart__months {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 5px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    color: #475467;
    font-size: 12px;
}

.dashboard-alert-list,
.dashboard-finance-list {
    display: grid;
    gap: 0;
}

.dashboard-alert-row,
.dashboard-finance-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    border-bottom: 1px solid var(--tv-border-soft);
    color: #344054;
    font-size: 12.5px;
}

.dashboard-alert-row:last-child,
.dashboard-finance-row:last-child {
    border-bottom: 0;
}

.dashboard-alert-row > span,
.dashboard-finance-row > span,
.dashboard-copilot__icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #e8f6ef;
    color: #15915b;
}

.dashboard-alert-row--warning > span,
.dashboard-finance-row--warning > span { background: #fff4df; color: #d96b00; }
.dashboard-alert-row--danger > span,
.dashboard-finance-row--danger > span { background: #ffe4e6; color: #dc2626; }
.dashboard-alert-row--success > span,
.dashboard-finance-row--success > span { background: #dcfce7; color: #15803d; }

.dashboard-finance-row {
    grid-template-columns: 28px minmax(0, 1fr) auto;
}

.dashboard-finance-row small {
    color: #475467;
    font-size: 12.5px;
}

.dashboard-finance-row strong {
    color: #172033;
    font-size: 13px;
}

.dashboard-copilot {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--tv-border-soft);
    border-radius: 8px;
    background: linear-gradient(135deg, #f7fbf9, #fff);
}

.dashboard-copilot__icon {
    width: 38px;
    height: 38px;
}

.dashboard-copilot strong {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
}

.dashboard-copilot p {
    margin: 0 0 4px;
    color: #475467;
    font-size: 12.5px;
    line-height: 1.35;
}

@media (max-width: 1280px) {
    .admin-shell .admin-main-dashboard .executive-kpi-grid--wide > [data-dashboard-card] {
        grid-column: span 4;
    }
}

@media (max-width: 760px) {
    .admin-shell .admin-main-dashboard .executive-kpi-grid--wide > [data-dashboard-card],
    .admin-shell .admin-main-dashboard__row > [data-dashboard-card] {
        grid-column: span 12 !important;
    }
}

@media (max-width: 1500px) {
    .admin-shell .empreendimento-kpi-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .admin-shell .empreendimento-executivo__grid,
    .admin-shell .empreendimento-info-grid,
    .admin-shell .empreendimento-performance {
        grid-template-columns: 1fr;
    }

    .admin-shell .empreendimento-info-col {
        border-right: 0;
        border-bottom: 1px solid var(--tv-border-soft);
    }

    .admin-shell .empreendimento-info-col:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 760px) {
    .admin-shell .empreendimento-executivo__head,
    .admin-shell .empreendimento-executivo__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-shell .empreendimento-kpi-row,
    .admin-shell .empreendimento-finance-grid,
    .admin-shell .empreendimento-stock-legend {
        grid-template-columns: 1fr;
    }
}

.contas-pagar-card {
    padding: 28px;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.contas-pagar-page {
    display: grid;
    gap: 12px;
}

html,
body {
    margin: 0;
    padding: 0;
}

body>main.admin-page,
.admin-shell {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.contas-pagar-context-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(29, 140, 87, 0.08);
    color: #176b43;
    font-weight: 700;
    font-size: 0.84rem;
}

.financeiro-submenu {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: -6px 0 4px;
}

.financeiro-submenu__item {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(21, 57, 107, 0.12);
    background: rgba(255, 255, 255, 0.82);
    color: #55708d;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(13, 31, 57, 0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.financeiro-submenu__item:hover {
    transform: translateY(-1px);
    border-color: rgba(26, 154, 121, 0.32);
    box-shadow: 0 16px 36px rgba(13, 31, 57, 0.09);
}

.financeiro-submenu__item.active {
    background: linear-gradient(135deg, rgba(18, 146, 201, 0.16), rgba(58, 199, 159, 0.18));
    border-color: rgba(18, 146, 201, 0.24);
    color: #0e5270;
}

.contas-pagar-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.contas-pagar-kpi {
    position: relative;
    overflow: hidden;
    min-height: 148px;
    border: 1px solid rgba(255, 255, 255, 0.64);
}

.contas-pagar-kpi::after {
    content: "";
    position: absolute;
    inset: auto -30px -30px auto;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    opacity: 0.14;
    background: currentColor;
}

.contas-pagar-kpi--month {
    color: #0e6377;
    background: linear-gradient(180deg, rgba(79, 135, 255, 0.12), rgba(255, 255, 255, 0.96));
}

.contas-pagar-kpi--year {
    color: #296f4f;
    background: linear-gradient(180deg, rgba(45, 180, 111, 0.12), rgba(255, 255, 255, 0.96));
}

.contas-pagar-kpi--warning {
    color: #9a5d00;
    background: linear-gradient(180deg, rgba(240, 179, 61, 0.18), rgba(255, 255, 255, 0.96));
}

.contas-pagar-kpi--danger {
    color: #9e3030;
    background: linear-gradient(180deg, rgba(234, 92, 92, 0.18), rgba(255, 255, 255, 0.96));
}

.contas-pagar-kpi small {
    position: relative;
    z-index: 1;
    color: rgba(17, 33, 51, 0.68);
    font-size: 0.86rem;
}

.contas-pagar-upcoming {
    display: grid;
    gap: 12px;
}

.contas-pagar-upcoming-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.contas-pagar-upcoming-card {
    display: grid;
    gap: 10px;
    min-height: 180px;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(21, 57, 107, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 255, 0.98));
    box-shadow: 0 18px 40px rgba(13, 31, 57, 0.08);
}

.contas-pagar-upcoming-card--info {
    background: linear-gradient(180deg, rgba(79, 135, 255, 0.12), rgba(255, 255, 255, 0.98));
}

.contas-pagar-upcoming-card--success {
    background: linear-gradient(180deg, rgba(45, 180, 111, 0.12), rgba(255, 255, 255, 0.98));
}

.contas-pagar-upcoming-card--warning {
    background: linear-gradient(180deg, rgba(240, 179, 61, 0.18), rgba(255, 255, 255, 0.98));
}

.contas-pagar-upcoming-card--danger {
    background: linear-gradient(180deg, rgba(234, 92, 92, 0.16), rgba(255, 255, 255, 0.98));
}

.contas-pagar-upcoming-card--empty {
    align-items: center;
    justify-items: start;
}

.contas-pagar-upcoming-card__head,
.contas-pagar-upcoming-card__meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.contas-pagar-upcoming-card__head strong {
    color: #11284a;
    font-size: 1rem;
}

.contas-pagar-upcoming-card p {
    margin: 0;
    color: #475d76;
    line-height: 1.45;
}

.contas-pagar-upcoming-card__meta {
    flex-direction: column;
    color: #5f738e;
    font-size: 0.84rem;
}

.contas-pagar-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.contas-pagar-toolbar__main {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.contas-pagar-toolbar__chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.contas-pagar-filtros {
    margin-top: 14px;
    border: 1px solid rgba(21, 57, 107, 0.08);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.9), rgba(255, 255, 255, 0.96));
    padding: 8px 10px 10px;
}

.contas-pagar-filtros--inline {
    margin-top: 0;
    padding: 6px;
    border-radius: 999px;
}

.contas-pagar-filtros summary::-webkit-details-marker {
    display: none;
}

.contas-pagar-filtros__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    list-style: none;
    min-height: 32px;
    min-width: 32px;
    padding: 0 9px;
    border-radius: 999px;
    color: #32506f;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(21, 57, 107, 0.10);
}

.contas-pagar-filtros[open] .contas-pagar-filtros__icon {
    transform: rotate(180deg);
}

.contas-pagar-filtros__icon {
    display: inline-flex;
    width: 14px;
    height: 14px;
    align-items: center;
    justify-content: center;
    transition: transform 0.18s ease;
}

.contas-pagar-filtros__icon svg {
    width: 14px;
    height: 14px;
    display: block;
}

.contas-pagar-filtros .admin-form {
    margin-top: 8px;
}

.dashboard-metrics-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-metrics-grid>.metric-card {
    grid-column: span 3;
}

.metric-card {
    display: grid;
    gap: 6px;
    padding: 10px 12px;
    border-radius: 18px;
    border: 1px solid rgba(21, 57, 107, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
    box-shadow: 0 12px 30px rgba(13, 31, 57, 0.05);
}

.metric-card span {
    color: #6b7b8f;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.metric-card strong {
    color: #102744;
    font-size: 1.15rem;
}

.table-responsive {
    overflow-x: auto;
}

.contas-pagar-metrics {
    margin-top: 2px;
}

.contas-pagar-summary-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 8px;
}

.contas-pagar-summary-strip__card {
    display: grid;
    gap: 3px;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid rgba(21, 57, 107, 0.08);
    background: rgba(255, 255, 255, 0.92);
}

.contas-pagar-summary-strip__card span {
    color: #5f738e;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
}

.contas-pagar-summary-strip__card strong {
    color: #11284a;
    font-size: 0.9rem;
    line-height: 1.1;
}

.contas-pagar-summary-strip__card--warning strong {
    color: #9a5d00;
}

.contas-pagar-summary-strip__card--danger strong {
    color: #9e3030;
}

.contas-pagar-summary-strip__card--info strong {
    color: #c2410c;
}

.contas-pagar-table-shell {
    overflow: auto;
    border: 1px solid rgba(21, 57, 107, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.94);
}

.contas-pagar-table-shell .admin-table {
    width: 100%;
}

.contas-pagar-table-shell .admin-table th,
.contas-pagar-table-shell .admin-table td {
    padding: 2px 8px;
}

.contas-pagar-metrics>.metric-card {
    grid-column: span 3;
}

.contas-pagar-tabs {
    margin-bottom: 22px;
}

.contas-pagar-panel {
    display: none;
}

.contas-pagar-panel.active {
    display: block;
}

.contas-pagar-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.contas-pagar-summary div {
    padding: 14px 16px;
    border: 1px solid rgba(21, 57, 107, 0.10);
    border-radius: 18px;
    background: #f8fbff;
}

.contas-pagar-summary span {
    display: block;
    margin-bottom: 6px;
    color: #5f738e;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.contas-pagar-summary strong {
    color: #11284a;
    font-size: 0.98rem;
}

.contas-pagar-situacao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 108px;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--situacao-cor, #94a3b8);
    color: #fff;
    font-weight: 700;
    font-size: 0.84rem;
}

.contas-pagar-occurrence-note {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #fff8eb;
    color: #875a00;
    font-weight: 600;
}

.contas-pagar-anexos-drop {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px dashed rgba(21, 57, 107, 0.22);
    border-radius: 18px;
    background: #f8fbff;
}

.contas-pagar-anexos-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.contas-pagar-timeline {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.contas-pagar-timeline-block {
    padding: 18px;
    border: 1px solid rgba(21, 57, 107, 0.10);
    border-radius: 18px;
    background: #fff;
}

.contas-pagar-timeline-block h3 {
    margin: 0 0 12px;
    color: #11284a;
}

.contas-pagar-timeline-item+.contas-pagar-timeline-item {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(21, 57, 107, 0.08);
}

.contas-pagar-timeline-item strong,
.contas-pagar-timeline-item span {
    display: block;
}

.contas-pagar-action-grid {
    align-items: start;
}

.metric-card--danger strong {
    color: #af2e2e;
}

.metric-card--warning strong {
    color: #9a5d00;
}

.metric-card--info strong {
    color: #185580;
}

.metric-card--success strong {
    color: #1d7a4b;
}

@media (max-width: 900px) {
    .contas-pagar-card {
        padding: 20px;
    }

    .dashboard-metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-metrics-grid>.metric-card,
    .contas-pagar-metrics>.metric-card {
        grid-column: span 1;
    }

    .contas-pagar-kpi-grid,
    .contas-pagar-upcoming-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contas-pagar-summary-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .financeiro-submenu {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dashboard-metrics-grid {
        grid-template-columns: 1fr;
    }

    .contas-pagar-kpi-grid,
    .contas-pagar-upcoming-grid {
        grid-template-columns: 1fr;
    }

    .contas-pagar-toolbar {
        align-items: stretch;
    }

    .contas-pagar-summary-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.admin-panel--flush-top {
    margin-top: 0;
    padding-top: 0;
}

.admin-panel--flush-top .admin-panel-head {
    margin-top: 0;
    padding-top: 0;
}

.admin-page .admin-card,
.admin-page .settings-card,
.admin-page .table-shell,
.admin-page .profile-card,
.admin-page .detail-card {
    padding: 5px !important;
}

.admin-page .admin-form {
    gap: 1px !important;
}

.admin-page .admin-form-grid,
.admin-page .settings-form-grid {
    gap: 1px !important;
}

.admin-page .form-field {
    gap: 1px !important;
}

.admin-page .form-field input,
.admin-page .form-field select,
.admin-page .form-field textarea {
    padding: 5px !important;
}

.admin-table,
.data-table {
    table-layout: auto;
}

.admin-table th,
.admin-table td,
.data-table th,
.data-table td {
    padding: 1px 6px;
    line-height: 1.08;
    font-size: 0.82rem;
}

.admin-table th,
.data-table th {
    white-space: nowrap;
}

.admin-table tbody tr,
.data-table tbody tr {
    height: 28px;
}

.admin-table .table-actions {
    width: 42px;
    justify-content: flex-end;
}

.admin-table-actions-col {
    width: 42px;
    text-align: right;
}

.table-row-menu-trigger {
    min-height: 24px;
    min-width: 24px;
    padding: 0;
    border-radius: 8px;
}

.table-row-menu-panel {
    min-width: 180px;
}

.table-row-menu[open] {
    z-index: 140;
}

.admin-card--table-host,
.admin-card--table-host.table-shell,
.admin-card--table-host .table-shell,
.admin-card--table-host .contas-pagar-table-shell {
    overflow: visible !important;
}

.admin-card--table-host .admin-table,
.admin-card--table-host .admin-table tbody,
.admin-card--table-host .admin-table tr,
.admin-card--table-host .admin-table td {
    overflow: visible;
}

.form-derived-section {
    display: grid;
    gap: 16px;
    margin-bottom: 20px;
}

.broker-scope-panel {
    margin-top: 22px;
    padding: 18px;
    border: 1px solid #d8e2de;
    border-radius: 16px;
    background: #fff;
}

.broker-scope-panel__description {
    margin: -6px 0 0;
}

.broker-scope-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 10px;
}

.broker-scope-option {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 13px 14px;
    border: 1px solid #e3e8e6;
    border-radius: 12px;
    background: #f8faf9;
    cursor: pointer;
}

.broker-scope-option.is-selected,
.broker-scope-option:has(input:checked) {
    border-color: #7aaa85;
    background: #eef7f0;
}

.broker-scope-option input {
    width: 17px;
    height: 17px;
    accent-color: #397146;
}

.broker-scope-option__body {
    display: grid;
    flex: 1;
    gap: 3px;
}

.broker-scope-option__body strong {
    color: var(--ink);
    font-size: .9rem;
}

.broker-scope-option__body small {
    color: var(--muted);
    font-size: .78rem;
}

.form-derived-origin {
    display: grid;
    gap: 14px;
}

.form-derived-origin__meta,
.form-derived-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.form-derived-origin__pill,
.form-derived-card {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: linear-gradient(180deg, #ffffff, #f7fafc);
}

.form-derived-origin__pill span,
.form-derived-card span,
.form-derived-card small {
    color: var(--muted);
    font-size: 0.78rem;
}

.form-derived-origin__pill strong,
.form-derived-card strong {
    color: var(--ink);
    font-size: 0.98rem;
}

.form-derived-card small {
    font-weight: 700;
}

.unit-kpi-hero {
    gap: 8px;
    padding: 10px 12px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(20, 37, 63, 0.98), rgba(22, 67, 111, 0.94));
    border: 1px solid rgba(120, 173, 255, 0.18);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.unit-kpi-hero .dashboard-kicker,
.unit-kpi-hero .muted {
    color: rgba(226, 232, 240, 0.88) !important;
}

.unit-kpi-hero__head {
    display: grid;
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
    gap: 8px;
    align-items: center;
}

.empreendimento-dashboard-page .admin-panel-head {
    margin-bottom: 16px !important;
}

.empreendimento-dashboard-page .panel-head,
.empreendimento-dashboard-page .panel-head>*,
.empreendimento-dashboard-page .operation-row-main,
.empreendimento-dashboard-page .operation-row-copy,
.empreendimento-dashboard-page .operation-row-badges {
    min-width: 0;
}

.empreendimento-dashboard-page .summary-pill-row {
    justify-content: flex-start;
}

.empreendimento-dashboard-kpis {
    margin-bottom: 16px;
}

.empreendimento-dashboard-kpi {
    min-height: 132px;
    gap: 8px;
}

.empreendimento-dashboard-kpi .executive-kpi-label {
    color: #526173;
    font-weight: 700;
}

.empreendimento-dashboard-kpi .executive-kpi-trend {
    color: #7b8794;
    font-size: 0.8rem;
}

.empreendimento-dashboard-kpi--success {
    border-top: 3px solid rgba(22, 163, 74, 0.58);
}

.empreendimento-dashboard-kpi--danger {
    border-top: 3px solid rgba(220, 38, 38, 0.58);
}

.empreendimento-dashboard-kpi--warning {
    border-top: 3px solid rgba(217, 119, 6, 0.58);
}

.empreendimento-dashboard-kpi--primary {
    border-top: 3px solid rgba(14, 116, 144, 0.58);
}

.empreendimento-dashboard-highlight .operation-row-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 18px;
}

.empreendimento-dashboard-financial-grid,
.empreendimento-dashboard-origin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.empreendimento-dashboard-bars {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.empreendimento-dashboard-bar {
    display: grid;
    gap: 6px;
}

.empreendimento-dashboard-bar__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.82rem;
    color: #526173;
}

.empreendimento-dashboard-bar__head strong {
    color: #142033;
    font-size: 0.88rem;
}

.progress-track-fill.is-danger {
    background: linear-gradient(90deg, #f97316, #dc2626);
}

.progress-track-fill.is-success {
    background: linear-gradient(90deg, #22c55e, #15803d);
}

@media (max-width: 1100px) {

    .empreendimento-dashboard-highlight .operation-row-metrics,
    .empreendimento-dashboard-financial-grid,
    .empreendimento-dashboard-origin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {

    .empreendimento-dashboard-highlight .operation-row-metrics,
    .empreendimento-dashboard-financial-grid,
    .empreendimento-dashboard-origin-grid {
        grid-template-columns: 1fr;
    }

    .empreendimento-dashboard-page .panel-head {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* TerraVia Admin - correcao final de consistencia global 2026 */
.admin-shell {
    font-family: "Inter", "Source Sans 3", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    color: var(--tv-text-primary);
    letter-spacing: -0.005em;
}

.admin-shell h1,
.admin-shell .dashboard-title,
.admin-shell .admin-main-title,
.admin-shell .page-title,
.admin-shell .settings-topbar h1,
.admin-shell .tv-page-header h1 {
    font-size: clamp(25px, 2vw, 30px) !important;
    line-height: 1.12 !important;
    font-weight: 500 !important;
    letter-spacing: -0.035em !important;
}

.admin-shell h2,
.admin-shell h3,
.admin-shell .settings-card-head h2,
.admin-shell .panel-head h2,
.admin-shell .tv-section-head h2 {
    font-weight: 620 !important;
    letter-spacing: -0.018em;
}

.admin-shell p,
.admin-shell li,
.admin-shell td,
.admin-shell input,
.admin-shell select,
.admin-shell textarea,
.admin-shell .settings-subtitle,
.admin-shell .dashboard-subtitle,
.admin-shell .admin-page-subtitle {
    font-weight: 400 !important;
}

.admin-shell strong,
.admin-shell th,
.admin-shell label,
.admin-shell .button,
.admin-shell .ui-status-badge,
.admin-shell .admin-topnav-link,
.admin-shell .admin-sideitem,
.admin-shell .admin-submenu-link {
    font-weight: 590 !important;
}

.admin-shell .settings-kicker,
.admin-shell .dashboard-kicker,
.admin-shell .admin-sidegroup-label,
.admin-shell .tv-kicker {
    font-weight: 500 !important;
    letter-spacing: 0.13em !important;
}

.admin-shell .admin-body {
    background: linear-gradient(180deg, #f8fafc 0%, #f5f7fa 100%);
}

.admin-shell .admin-sidebar {
    width: 180px;
    flex: 0 0 180px;
    padding: 18px 14px;
    background: #ffffff;
    border-right: 1px solid #e5eaf0;
}

.admin-shell .admin-sidegroup {
    display: grid;
    gap: 8px;
}

.admin-shell .admin-sidegroup-label {
    display: block;
    margin: 0 0 8px;
    padding: 0 6px;
    color: #637083;
    font-size: 10px;
    text-transform: uppercase;
}

.admin-shell .admin-sideitem,
.admin-shell .admin-sideitem-parent {
    min-height: 42px;
    padding: 10px 11px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #26364d;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
}

.admin-shell .admin-sideitem svg,
.admin-shell .admin-submenu-link svg {
    width: 18px;
    height: 18px;
    stroke-width: 1.8;
}

.admin-shell .admin-sideitem:hover,
.admin-shell .admin-sideitem-group:hover>.admin-sideitem-parent,
.admin-shell .admin-sideitem-group:focus-within>.admin-sideitem-parent {
    color: #2f6d13;
    background: #f4f8f0;
    border-color: #dce8d6;
}

.admin-shell .admin-sideitem.active,
.admin-shell .admin-sideitem-parent.active {
    color: #2f6d13;
    background: linear-gradient(90deg, #eef6e9 0%, #f8fbf5 100%);
    border-color: #d8e7d2;
    box-shadow: inset 3px 0 0 #2f7d1c;
}

.admin-shell .admin-sideitem-copy {
    gap: 10px;
}

.admin-shell .admin-sideitem-caret {
    width: 7px;
    height: 7px;
    border-width: 0 1.8px 1.8px 0;
}

.admin-shell .admin-submenu {
    margin: 5px 0 7px 3px;
    padding: 4px 0 3px 10px;
    border-left: 1px solid #dfe7ef;
    gap: 2px;
}

.admin-shell .admin-submenu-link {
    min-height: 30px;
    padding: 5px 8px;
    border-radius: 9px;
    color: #52627a;
    font-size: 13px;
    line-height: 1.12;
}

.admin-shell .admin-submenu-link:hover,
.admin-shell .admin-submenu-link.active {
    color: #2f6d13;
    background: #eef6e9;
}

.admin-shell .admin-sidebar-cta {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e7edf3;
}

.admin-shell .admin-sidebar-cta .button {
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 13px;
}

.admin-shell .settings-page--hub .settings-shell {
    display: grid;
    gap: 16px;
}

.admin-shell .settings-page--hub .settings-topbar {
    padding: 0;
    align-items: flex-start;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.admin-shell .settings-page--hub .settings-topbar h1 {
    margin-top: 4px;
}

.admin-shell .settings-page--hub .settings-subtitle {
    margin-top: 7px;
    color: #64748b;
    font-size: 14px;
}

.admin-shell .settings-page--hub .button.primary,
.admin-shell .settings-page--hub .settings-save {
    background: #d96b00 !important;
    border-color: #d96b00 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(217, 107, 0, 0.14);
}

.admin-shell .settings-page--hub .settings-guidance-strip {
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #d9e7dc;
    border-radius: 9px;
    background: #f8fcf8;
    color: #0f6841;
    font-size: 13px;
}

.admin-shell .settings-page--hub .settings-guidance-strip span:not(:first-child)::before {
    content: "•";
    margin: 0 14px 0 4px;
    color: #8ab59b;
}

.admin-shell .settings-page--hub .settings-hub-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 16px;
    align-items: start;
}

.admin-shell .settings-page--hub .settings-hub-main {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.admin-shell .settings-page--hub .settings-card {
    border: 1px solid #dfe6ee;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.admin-shell .settings-page--hub .settings-config-list-card {
    padding: 12px;
}

.admin-shell .settings-page--hub .settings-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 0 10px;
}

.admin-shell .settings-page--hub .settings-card-head h2 {
    margin: 2px 0 4px;
    font-size: 17px !important;
}

.admin-shell .settings-page--hub .settings-card-head p {
    margin: 0;
    color: #66748a;
    font-size: 13px;
}

.admin-shell .settings-page--hub .settings-config-list {
    overflow: hidden;
    border: 1px solid #e3e9f0;
    border-radius: 12px;
}

.admin-shell .settings-page--hub .settings-config-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto 110px 16px;
    gap: 12px;
    align-items: center;
    min-height: 58px;
    padding: 8px 10px;
    border-bottom: 1px solid #e7edf3;
    background: #ffffff;
}

.admin-shell .settings-page--hub .settings-config-row:last-child {
    border-bottom: 0;
}

.admin-shell .settings-page--hub .settings-config-row__icon,
.admin-shell .settings-page--hub .settings-recommendation-item>span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eaf5ef;
    color: #0b6b48;
}

.admin-shell .settings-page--hub .settings-config-row__copy strong {
    display: block;
    color: #172033;
    font-size: 14px;
}

.admin-shell .settings-page--hub .settings-config-row__copy span {
    display: block;
    margin-top: 3px;
    color: #66748a;
    font-size: 13px;
}

.admin-shell .settings-page--hub .settings-config-row .button {
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 7px;
    font-size: 12px;
}

.admin-shell .settings-page--hub .settings-config-row__chevron {
    color: #6b7a90;
    font-size: 22px;
    line-height: 1;
}

.admin-shell .settings-page--hub .settings-featured-integrations {
    padding: 12px;
}

.admin-shell .settings-page--hub .settings-inline-link {
    color: #075c3d;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
}

.admin-shell .settings-page--hub .settings-featured-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.admin-shell .settings-page--hub .settings-featured-card {
    display: grid;
    justify-items: center;
    gap: 7px;
    min-height: 118px;
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    background: #ffffff;
}

.admin-shell .settings-page--hub .settings-featured-card small {
    color: #475569;
    font-size: 12px;
}

.admin-shell .settings-page--hub .settings-featured-card>strong {
    color: #ed6b00;
    font-size: 24px;
    line-height: 1;
}

.admin-shell .settings-page--hub .settings-featured-card>span {
    font-size: 12px;
}

.admin-shell .settings-page--hub .settings-featured-card .button {
    width: 100%;
    min-height: 28px;
    padding: 5px 10px;
    font-size: 11px;
}

.admin-shell .settings-page--hub .settings-recommendation-panel {
    position: sticky;
    top: 82px;
    overflow: hidden;
    border: 1px solid #dfe6ee;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.admin-shell .settings-page--hub .settings-recommendation-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid #e6edf3;
}

.admin-shell .settings-page--hub .settings-recommendation-panel__head h2 {
    margin: 0;
    font-size: 16px !important;
}

.admin-shell .settings-page--hub .settings-recommendation-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #edf1f5;
}

.admin-shell .settings-page--hub .settings-recommendation-item:last-child {
    border-bottom: 0;
}

.admin-shell .settings-page--hub .settings-recommendation-item strong {
    display: block;
    color: #172033;
    font-size: 13px;
    line-height: 1.25;
}

.admin-shell .settings-page--hub .settings-recommendation-item p {
    margin: 6px 0 0;
    color: #66748a;
    font-size: 12.5px;
    line-height: 1.45;
}

@media (max-width: 1180px) {
    .admin-shell .settings-page--hub .settings-hub-layout {
        grid-template-columns: 1fr;
    }

    .admin-shell .settings-page--hub .settings-recommendation-panel {
        position: static;
    }

    .admin-shell .settings-page--hub .settings-featured-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .admin-shell .admin-sidebar {
        width: min(86vw, 280px);
        flex-basis: auto;
    }

    .admin-shell .settings-page--hub .settings-config-row {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .admin-shell .settings-page--hub .settings-config-row__status,
    .admin-shell .settings-page--hub .settings-config-row .button,
    .admin-shell .settings-page--hub .settings-config-row__chevron {
        grid-column: 2;
        justify-self: start;
    }

    .admin-shell .settings-page--hub .settings-featured-grid {
        grid-template-columns: 1fr;
    }

    .admin-shell .settings-page--hub .settings-recommendation-panel {
        display: none;
    }
}

.admin-shell .settings-table-row--actions,
.admin-shell .settings-table:has(.settings-table-row--actions) .settings-table-head {
    grid-template-columns: 0.55fr minmax(220px, 1.6fr) 0.85fr 0.85fr minmax(110px, 0.7fr);
    align-items: center;
}

.admin-shell .settings-inline-reconcile {
    position: relative;
}

.admin-shell .settings-inline-reconcile summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 12px;
    border: 1px solid #f5c281;
    border-radius: 8px;
    background: #fff7ed;
    color: #a94b00;
    cursor: pointer;
    font-size: 12px;
    font-weight: 650;
    list-style: none;
}

.admin-shell .settings-inline-reconcile summary::-webkit-details-marker {
    display: none;
}

.admin-shell .settings-inline-reconcile[open] form {
    position: absolute;
    right: 0;
    z-index: 20;
    display: grid;
    gap: 10px;
    width: min(460px, 84vw);
    margin-top: 8px;
    padding: 14px;
    border: 1px solid #f0d4ae;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.16);
}

.admin-shell .settings-reconcile-bulk {
    display: grid;
    gap: 12px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e7edf3;
}

.admin-shell .button.warning {
    background: #d96b00;
    border-color: #d96b00;
    color: #ffffff;
}

/* Dashboard Executivo da Incorporadora */
.admin-shell .inc-exec-page {
    display: grid;
    gap: 14px;
    padding: 0 0 18px;
}

.admin-shell .inc-exec-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 4px;
}

.admin-shell .inc-exec-header h1 {
    margin: 0;
    color: #172033;
    font-size: 31px !important;
    line-height: 1.05 !important;
    font-weight: 680 !important;
    letter-spacing: -0.035em !important;
}

.admin-shell .inc-exec-header p {
    margin: 7px 0 0;
    color: #657287;
    font-size: 14px;
}

.admin-shell .inc-exec-settings {
    min-height: 38px;
    padding: 8px 15px;
    border-radius: 7px;
    background: linear-gradient(180deg, #4d940f 0%, #287306 100%) !important;
    border-color: #2f7d12 !important;
    color: #fff !important;
    box-shadow: 0 9px 18px rgba(47, 125, 18, .2);
    white-space: nowrap;
}

.admin-shell .inc-exec-section-title {
    margin: 3px 0 0;
    color: #172033;
    font-size: 18px !important;
    font-weight: 620 !important;
    letter-spacing: -0.015em;
}

.admin-shell .inc-exec-section-title--secondary {
    margin-top: 6px;
}

.admin-shell .inc-exec-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.admin-shell .inc-exec-kpi {
    min-height: 117px;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    padding: 20px 19px;
    border: 1px solid #dde5ee;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .045);
}

.admin-shell .inc-exec-kpi__icon,
.admin-shell .inc-exec-mini > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(15, 23, 42, .08);
}

.admin-shell .inc-exec-kpi__icon {
    width: 58px;
    height: 58px;
}

.admin-shell .inc-exec-kpi strong,
.admin-shell .inc-exec-mini strong {
    display: block;
    color: #172033;
    font-size: 14px;
    line-height: 1.15;
    font-weight: 560 !important;
}

.admin-shell .inc-exec-kpi b {
    display: block;
    margin-top: 12px;
    color: #101b33;
    font-size: 24px;
    line-height: 1;
    font-weight: 650;
    letter-spacing: -0.025em;
}

.admin-shell .inc-exec-kpi small {
    display: block;
    margin-top: 9px;
    color: #66748a;
    font-size: 12px;
    line-height: 1.2;
}

.admin-shell .inc-exec-kpi--green .inc-exec-kpi__icon,
.admin-shell .inc-exec-mini--green > span { background: #eff7f1; color: #19733a; }
.admin-shell .inc-exec-kpi--orange .inc-exec-kpi__icon { background: #fff3e5; color: #e86f00; }
.admin-shell .inc-exec-kpi--blue .inc-exec-kpi__icon { background: #eef6ff; color: #1d68b7; }
.admin-shell .inc-exec-kpi--purple .inc-exec-kpi__icon { background: #f6efff; color: #6b3ac4; }

.admin-shell .inc-exec-secondary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.admin-shell .inc-exec-mini {
    min-height: 88px;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 14px 17px;
    border: 1px solid #dde5ee;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.admin-shell .inc-exec-mini > span {
    width: 48px;
    height: 48px;
}

.admin-shell .inc-exec-mini b {
    display: block;
    margin-top: 9px;
    color: #101b33;
    font-size: 22px;
    line-height: 1;
    font-weight: 640;
}

.admin-shell .inc-exec-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .95fr);
    gap: 12px;
}

.admin-shell .inc-exec-chart-card,
.admin-shell .inc-exec-alert-card {
    min-height: 195px;
    padding: 16px 17px;
    border: 1px solid #dde5ee;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .045);
}

.admin-shell .inc-exec-card-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.admin-shell .inc-exec-card-title h2,
.admin-shell .inc-exec-alert-card h2 {
    margin: 0;
    color: #172033;
    font-size: 14px !important;
    font-weight: 650 !important;
}

.admin-shell .inc-exec-card-title h2 span {
    color: #596579;
    font-weight: 420;
}

.admin-shell .inc-exec-legend {
    display: flex;
    align-items: center;
    gap: 24px;
    color: #344054;
    font-size: 11px;
}

.admin-shell .inc-exec-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.admin-shell .inc-exec-legend i {
    width: 22px;
    height: 8px;
    border-radius: 99px;
}

.admin-shell .legend-receita { background: #61ad63; }
.admin-shell .legend-despesa { background: #ff7900; }
.admin-shell .legend-resultado { background: #1f66c3; }

.admin-shell .inc-exec-chart {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 10px;
    height: 135px;
}

.admin-shell .inc-exec-axis {
    display: grid;
    align-content: space-between;
    padding: 6px 0 18px;
    color: #26364d;
    font-size: 11px;
}

.admin-shell .inc-exec-plot {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
    align-items: end;
    padding: 8px 0 0;
}

.admin-shell .inc-exec-plot .grid-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: #e2e8f0;
}

.admin-shell .grid-line--top { top: 12%; }
.admin-shell .grid-line--mid { top: 42%; }
.admin-shell .grid-line--low { top: 72%; }

.admin-shell .inc-exec-month {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 6px;
    align-items: end;
    height: 100%;
    color: #344054;
    font-size: 10px;
    text-align: center;
}

.admin-shell .inc-exec-bars {
    position: relative;
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 5px;
    height: 104px;
}

.admin-shell .inc-exec-bars .bar {
    width: 23px;
    min-height: 6px;
    border-radius: 3px 3px 0 0;
}

.admin-shell .inc-exec-bars .receita { background: linear-gradient(180deg, #72bf75, #4e9f51); }
.admin-shell .inc-exec-bars .despesa { background: linear-gradient(180deg, #ff8f22, #f36f00); }

.admin-shell .inc-exec-bars .result-dot {
    position: absolute;
    left: 50%;
    width: 8px;
    height: 8px;
    margin-left: 14px;
    border-radius: 50%;
    background: #1f66c3;
    box-shadow: 0 0 0 2px #d6e7ff;
}

.admin-shell .inc-exec-alert-card {
    display: grid;
    gap: 16px;
    align-content: start;
}

.admin-shell .inc-exec-alert-box {
    min-height: 131px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 16px;
    padding: 22px;
    border: 1px solid #fae5bd;
    border-radius: 10px;
    background: linear-gradient(135deg, #fff9eb 0%, #fff3d9 100%);
}

.admin-shell .inc-exec-alert-box > span {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ea7600;
}

.admin-shell .inc-exec-alert-box strong {
    display: block;
    color: #172033;
    font-size: 16px;
    font-weight: 650 !important;
}

.admin-shell .inc-exec-alert-box p {
    margin: 8px 0 18px;
    color: #526173;
    font-size: 13px;
    line-height: 1.42;
}

.admin-shell .inc-exec-alert-box a {
    color: #1d68b7;
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
}

.admin-shell .inc-exec-alert-box b {
    color: #172033;
    font-size: 28px;
    font-weight: 400;
}

@media (max-width: 1280px) {
    .admin-shell .inc-exec-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-shell .inc-exec-secondary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-shell .inc-exec-bottom { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .admin-shell .inc-exec-header { flex-direction: column; }
    .admin-shell .inc-exec-kpi-grid,
    .admin-shell .inc-exec-secondary-grid { grid-template-columns: 1fr; }
    .admin-shell .inc-exec-card-title { align-items: flex-start; flex-direction: column; }
    .admin-shell .inc-exec-chart { grid-template-columns: 52px minmax(0, 1fr); }
    .admin-shell .inc-exec-plot { gap: 8px; }
}

/* Correcao obrigatoria da aplicacao global do Design System existente. */
.admin-shell .financeiro-dre-kpis.executive-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
}

.admin-shell .financeiro-dre-kpis.executive-kpi-grid>.executive-kpi,
.admin-shell .financeiro-dre-kpis.executive-kpi-grid>[data-dashboard-card] {
    grid-column: auto !important;
    min-height: 78px !important;
    padding: 12px 14px !important;
}

.admin-shell .financeiro-dre-kpis .executive-kpi-icon {
    width: 28px !important;
    height: 28px !important;
}

.admin-shell .financeiro-dre-kpis .executive-kpi-label {
    margin-top: 4px !important;
    font-size: 11px !important;
}

.admin-shell .financeiro-dre-kpis .executive-kpi-value {
    font-size: 18px !important;
    line-height: 1.05 !important;
}

.admin-shell .tesouraria-page .contas-pagar-summary-strip__card--success {
    border-color: #bfe8cf !important;
    background: #f0fdf4 !important;
    box-shadow: inset 0 -3px 0 #16a34a !important;
}

.admin-shell .tesouraria-page .contas-pagar-summary-strip__card--danger {
    border-color: #fecaca !important;
    background: #fff1f2 !important;
    box-shadow: inset 0 -3px 0 #ef4444 !important;
}

.admin-shell .tesouraria-page .contas-pagar-summary-strip__card--neutral {
    border-color: #bfdbfe !important;
    background: #eff6ff !important;
    box-shadow: inset 0 -3px 0 #2563eb !important;
}

.admin-shell .tesouraria-page .contas-pagar-summary-strip__card--info {
    border-color: #ddd6fe !important;
    background: #f5f3ff !important;
    box-shadow: inset 0 -3px 0 #7c3aed !important;
}

.admin-shell .tesouraria-page .contas-pagar-summary-strip__card--warning {
    border-color: #fed7aa !important;
    background: #fff7ed !important;
    box-shadow: inset 0 -3px 0 #f97316 !important;
}

.admin-shell .settings-page--hub .settings-recommendation-panel {
    position: sticky;
    top: calc(var(--tv-header-height) + 18px);
    max-height: calc(100vh - var(--tv-header-height) - 48px);
    overflow: auto;
}

.admin-shell .settings-page--hub .settings-recommendation-panel__head,
.admin-shell .settings-page--hub .settings-recommendation-item {
    padding: 12px;
}

.admin-shell .settings-page--hub .settings-recommendation-item {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
}

.admin-shell .settings-page--hub .settings-recommendation-item>span {
    width: 28px;
    height: 28px;
}

.admin-shell .settings-page--hub .settings-recommendation-item p {
    font-size: 11px;
    line-height: 1.35;
}

.admin-shell .financeiro-submenu {
    gap: 4px !important;
    margin-bottom: 12px !important;
    padding-bottom: 0 !important;
    border-bottom: 1px solid var(--tv-border-soft) !important;
}

.admin-shell .financeiro-submenu__item {
    min-height: 30px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: inset 0 -2px 0 transparent !important;
    color: #475467 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.admin-shell .financeiro-submenu__item.active,
.admin-shell .financeiro-submenu__item:hover {
    color: var(--tv-color-primary) !important;
    box-shadow: inset 0 -2px 0 var(--tv-color-primary) !important;
    transform: none !important;
}

.admin-shell .admin-card--table-host {
    padding: 12px !important;
}

.admin-shell .admin-table,
.admin-shell .data-table.admin-table {
    font-size: 12.5px !important;
}

.admin-shell .admin-table thead th,
.admin-shell .data-table.admin-table thead th {
    height: 32px !important;
    padding: 7px 10px !important;
    background: #f8fafc !important;
    color: #475467 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.admin-shell .admin-table tbody td,
.admin-shell .data-table.admin-table tbody td {
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: 12.5px !important;
}

.admin-shell .admin-table td:nth-child(n+4):has(strong),
.admin-shell .admin-table td:nth-child(n+5),
.admin-shell .data-table.admin-table td:nth-child(n+5) {
    font-variant-numeric: tabular-nums;
}

.admin-shell .table-row-menu-trigger {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.admin-shell .table-row-menu-trigger svg {
    width: 15px !important;
    height: 15px !important;
}

.admin-shell .table-row-menu-panel {
    min-width: 168px !important;
    padding: 5px !important;
}

.admin-shell .table-row-menu-link {
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: 12px !important;
}

.admin-shell .admin-panel-head h1 {
    max-width: 780px;
    font-size: 26px !important;
}

.admin-shell .project-admin-grid {
    gap: 14px !important;
}

.admin-shell .project-admin-card {
    min-height: auto !important;
    padding: 14px !important;
    border-radius: var(--tv-radius-card) !important;
}

.admin-shell .project-admin-card__media,
.admin-shell .project-admin-card__image {
    max-height: 190px !important;
}

.admin-shell .project-admin-card__header h2 {
    font-size: 18px !important;
}

.admin-shell .project-admin-card__meta {
    gap: 8px !important;
}

.admin-shell .project-admin-action {
    min-height: 30px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
}

.admin-shell .ai-page .admin-panel-header {
    margin-bottom: 16px !important;
}

.admin-shell .ai-page .executive-kpi-grid--wide {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.admin-shell .ai-page .executive-kpi {
    min-height: 86px !important;
    padding: 13px 14px !important;
}

.admin-shell .ai-page .executive-kpi-value {
    font-size: 18px !important;
}

.admin-shell .ai-page .executive-kpi-meta {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.admin-shell .ai-page .executive-card {
    padding: 14px !important;
}

.admin-shell .ai-page .financial-summary-card,
.admin-shell .ai-page .status-summary-row,
.admin-shell .ai-page .ai-recommendation,
.admin-shell .ai-page .alert-item {
    padding: 10px 12px !important;
}

@media (max-width: 1180px) {

    .admin-shell .financeiro-dre-kpis.executive-kpi-grid,
    .admin-shell .ai-page .executive-kpi-grid--wide,
    .admin-shell .tesouraria-page .contas-pagar-summary-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .admin-shell .settings-page--hub .settings-recommendation-panel {
        display: none;
    }

    .admin-shell .financeiro-dre-kpis.executive-kpi-grid,
    .admin-shell .ai-page .executive-kpi-grid--wide,
    .admin-shell .tesouraria-page .contas-pagar-summary-strip {
        grid-template-columns: 1fr !important;
    }
}

/* Segunda passada de fidelidade visual TerraVia
   Remove vestigios pesados do tema antigo e aproxima as telas das referencias. */

.admin-shell .admin-toplink,
.admin-shell .admin-toplink.active,
.admin-shell .admin-toplink:hover {
    min-height: var(--tv-header-height) !important;
    height: var(--tv-header-height) !important;
    padding: 0 12px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.admin-shell .admin-toplink.active {
    border-bottom: 3px solid rgba(255, 255, 255, 0.72) !important;
}

.admin-shell .admin-brand-logo {
    max-height: 42px !important;
    min-width: 82px;
    object-fit: contain;
}

.admin-shell .admin-brand-wordmark strong {
    font-size: 28px;
}

.admin-shell .admin-main {
    padding-top: 18px !important;
}

.admin-shell .tv-page-header,
.admin-shell .admin-panel-head,
.admin-shell .settings-topbar {
    margin-bottom: 18px !important;
}

.admin-shell .tv-page-header h1,
.admin-shell .admin-panel-head h1,
.admin-shell .settings-topbar h1 {
    font-size: 27px !important;
    font-weight: 700 !important;
}

.admin-shell .executive-dashboard .executive-kpi-grid--wide {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 0 16px !important;
}

.admin-shell .executive-dashboard .executive-kpi {
    min-height: 112px !important;
    padding: 16px 18px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas:
        "icon label"
        "icon value"
        "icon meta";
    column-gap: 12px;
    row-gap: 3px;
    align-items: center;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid var(--tv-border-soft) !important;
    box-shadow: var(--tv-shadow-subtle) !important;
}

.admin-shell .executive-dashboard .executive-kpi::after {
    display: none !important;
}

.admin-shell .executive-dashboard .executive-kpi-head {
    grid-area: icon;
    margin: 0 !important;
    display: block !important;
}

.admin-shell .executive-dashboard .executive-kpi-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
    background: #eaf4ef !important;
    color: var(--tv-color-primary) !important;
}

.admin-shell .executive-dashboard .executive-kpi-delta {
    position: absolute;
    top: 16px;
    right: 16px;
    min-height: 24px;
    padding: 0 9px;
    background: #eef4fb;
    color: #475467;
    border-radius: 999px;
    font-size: 11px;
}

.admin-shell .executive-dashboard .executive-kpi-label {
    grid-area: label;
    margin: 0 !important;
    color: #344054 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.admin-shell .executive-dashboard .executive-kpi-value {
    grid-area: value;
    color: var(--tv-text-primary) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere;
}

.admin-shell .executive-dashboard .executive-kpi-meta {
    grid-area: meta;
    margin: 0 !important;
    color: var(--tv-text-secondary) !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.admin-shell .executive-card {
    border-radius: 8px !important;
    box-shadow: var(--tv-shadow-subtle) !important;
}

.admin-shell .executive-dashboard .executive-card {
    padding: 18px !important;
}

.admin-shell .settings-overview-strip,
.admin-shell .contas-pagar-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 0 16px !important;
}

.admin-shell .settings-overview-strip .tv-kpi-card,
.admin-shell .contas-pagar-kpis .tv-kpi-card {
    min-height: 86px !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
}

.admin-shell .settings-overview-strip .tv-kpi-card strong,
.admin-shell .contas-pagar-kpis .tv-kpi-card strong {
    font-size: 22px;
}

.admin-shell .settings-layout {
    grid-template-columns: 288px minmax(0, 1fr) !important;
    align-items: start;
}

.admin-shell .settings-sidebar {
    padding: 18px !important;
}

.admin-shell .settings-sideitem {
    min-height: 50px !important;
    font-size: 14px !important;
}

.admin-shell .settings-content .settings-category-panel.active {
    display: block;
}

.admin-shell .settings-card,
.admin-shell .tv-section-card,
.admin-shell .admin-card {
    border-radius: 12px !important;
}

.admin-shell .contas-pagar-page .admin-panel-head {
    align-items: center;
}

.admin-shell .contas-pagar-page .admin-actions {
    display: flex;
    gap: 10px;
}

.admin-shell .contas-pagar-card {
    border-radius: 14px !important;
    overflow: hidden;
}

.admin-shell .contas-pagar-summary-strip {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.admin-shell .contas-pagar-summary-strip__card {
    min-height: 76px !important;
    border-radius: 12px !important;
}

.admin-shell .admin-system-footer {
    background: transparent;
    pointer-events: none;
}

@media (max-width: 1280px) {
    .admin-shell .executive-dashboard .executive-kpi-grid--wide {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .admin-shell .settings-overview-strip,
    .admin-shell .contas-pagar-kpis,
    .admin-shell .contas-pagar-summary-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 780px) {

    .admin-shell .executive-dashboard .executive-kpi-grid--wide,
    .admin-shell .settings-overview-strip,
    .admin-shell .contas-pagar-kpis,
    .admin-shell .contas-pagar-summary-strip {
        grid-template-columns: 1fr !important;
    }

    .admin-shell .settings-layout {
        grid-template-columns: 1fr !important;
    }
}

.unit-kpi-hero__head h3 {
    margin: 0;
    color: #ffffff;
    font-size: 1.02rem;
    line-height: 1.1;
}

.unit-kpi-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.unit-kpi-hero__chips span {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(248, 250, 252, 0.92);
    font-size: 0.72rem;
    line-height: 1.1;
}

.unit-kpi-hero__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.unit-kpi-hero .form-derived-origin__pill,
.unit-kpi-hero .unit-kpi-card {
    background: rgba(255, 255, 255, 0.96);
}

.unit-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 6px;
}

.unit-kpi-card {
    min-height: 68px;
    align-content: start;
    padding: 8px 10px;
    gap: 2px;
}

.unit-kpi-card--accent {
    background: linear-gradient(180deg, #ffffff, #eef6ff);
    border-color: rgba(47, 131, 227, 0.18);
}

.unit-kpi-hero .form-derived-origin__pill {
    padding: 8px 10px;
    gap: 2px;
}

.unit-kpi-hero .form-derived-origin__pill span,
.unit-kpi-hero .unit-kpi-card span,
.unit-kpi-hero .unit-kpi-card small {
    font-size: 0.64rem;
    line-height: 1.1;
}

.unit-kpi-hero .form-derived-origin__pill strong,
.unit-kpi-hero .unit-kpi-card strong {
    font-size: 0.76rem;
    line-height: 1.15;
}

.unit-kpi-hero .unit-kpi-card small {
    font-weight: 600;
}

@media (max-width: 1200px) {
    .unit-kpi-hero__head {
        grid-template-columns: 1fr;
    }

    .unit-kpi-hero__meta {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 780px) {

    .unit-kpi-hero__meta,
    .unit-kpi-grid {
        grid-template-columns: 1fr;
    }
}

.form-block-section {
    margin-top: 10px;
}

.form-block-section:first-child {
    margin-top: 0;
}

.form-block-section__head {
    margin-bottom: 8px;
}

.form-block-section__head h4 {
    margin: 0;
    font-size: 1rem;
    color: #0f2747;
}

/* DRE gerencial padronizado */
.financeiro-submenu--dre {
    margin-bottom: 10px;
}

.financeiro-dre-page {
    display: grid;
    gap: 12px;
}

.financeiro-dre-card-shell {
    padding: 14px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
}

.financeiro-dre-head h1 {
    margin-bottom: 6px;
}

.financeiro-dre-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.financeiro-dre-context__badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(45, 180, 111, 0.35);
    background: rgba(239, 249, 243, 0.98);
    color: #1f7a43;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(31, 122, 67, 0.08);
}

.financeiro-dre-filtros {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-left: auto;
}

.financeiro-dre-filtros__field {
    display: grid;
    gap: 4px;
    color: #6b7b8f;
    font-size: 0.84rem;
    font-weight: 700;
}

.financeiro-dre-filtros__field input {
    min-width: 128px;
    min-height: 38px;
    border-radius: 12px;
    border: 1px solid rgba(21, 57, 107, 0.12);
    background: #fff;
    padding: 0 12px;
    color: #13253f;
}

.financeiro-dre-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.financeiro-dre-kpi {
    padding: 14px 16px 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(17, 33, 51, 0.08);
    box-shadow: 0 16px 34px rgba(13, 31, 57, 0.06);
    border-left: 3px solid #1f7a43;
}

.financeiro-dre-kpi span {
    display: block;
    color: #7d8aa1;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}

.financeiro-dre-kpi strong {
    color: #176b43;
    font-size: 1.1rem;
}

.financeiro-dre-kpi--warning {
    border-left-color: #f07d10;
}

.financeiro-dre-kpi--warning strong {
    color: #d66e0f;
}

.financeiro-dre-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 370px;
    gap: 18px;
    align-items: start;
}

.financeiro-dre-main,
.financeiro-dre-side {
    min-width: 0;
}

.financeiro-dre-side {
    display: grid;
    gap: 16px;
}

.financeiro-dre-table-card,
.financeiro-dre-panel {
    border-radius: 22px;
    border: 1px solid rgba(17, 33, 51, 0.08);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 38px rgba(13, 31, 57, 0.06);
}

.financeiro-dre-table-head,
.financeiro-dre-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 140px 180px;
    gap: 12px;
    align-items: center;
}

.financeiro-dre-table-head {
    padding: 14px 18px;
    border-bottom: 1px solid rgba(17, 33, 51, 0.08);
    color: #8a96ab;
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: #f9fbfd;
    border-radius: 22px 22px 0 0;
}

.financeiro-dre-row {
    padding: 13px 18px;
    border-bottom: 1px solid rgba(17, 33, 51, 0.06);
}

.financeiro-dre-table-body .financeiro-dre-row:last-child {
    border-bottom: 0;
    border-radius: 0 0 22px 22px;
}

.financeiro-dre-row.subtotal {
    background: #f7fbf8;
}

.financeiro-dre-row.total {
    background: #173f28;
}

.financeiro-dre-row.total .financeiro-dre-row__label,
.financeiro-dre-row.total .financeiro-dre-row__group,
.financeiro-dre-row.total .financeiro-dre-row__value {
    color: #fff;
    font-weight: 700;
}

.financeiro-dre-row__label {
    color: #13253f;
    font-size: 0.98rem;
}

.financeiro-dre-row__group,
.financeiro-dre-row__value {
    text-align: right;
}

.financeiro-dre-row__value {
    color: #176b43;
    font-weight: 700;
    font-size: 1rem;
}

.financeiro-dre-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.financeiro-dre-pill--receita {
    color: #157347;
    background: #eaf7ef;
}

.financeiro-dre-pill--despesa {
    color: #db2f2f;
    background: #fff0ef;
}

.financeiro-dre-pill--resultado {
    color: #2554f4;
    background: #edf2ff;
}

.financeiro-dre-pill--neutro {
    color: #5f738e;
    background: #f1f5f9;
}

.financeiro-dre-panel {
    padding: 18px;
}

.financeiro-dre-panel h2 {
    font-size: 1rem;
    margin-bottom: 14px;
}

.financeiro-dre-donut {
    display: flex;
    align-items: center;
    gap: 16px;
}

.financeiro-dre-donut__chart {
    width: 106px;
    height: 106px;
    flex: 0 0 106px;
}

.financeiro-dre-donut__label {
    fill: #13253f;
    font-size: 0.52rem;
    font-weight: 800;
}

.financeiro-dre-legend {
    display: grid;
    gap: 10px;
    width: 100%;
}

.financeiro-dre-legend__item {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.financeiro-dre-legend__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.financeiro-dre-legend__label {
    color: #56677d;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.financeiro-dre-list,
.financeiro-dre-activity {
    display: grid;
    gap: 10px;
}

.financeiro-dre-list__row,
.financeiro-dre-activity__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.financeiro-dre-list__row span,
.financeiro-dre-activity__text span {
    color: #5f738e;
}

.financeiro-dre-activity__item {
    grid-template-columns: 10px minmax(0, 1fr) auto;
}

.financeiro-dre-activity__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #2a9d63;
    margin-top: 8px;
}

.financeiro-dre-activity__dot.is-despesa {
    background: #e25656;
}

.financeiro-dre-activity__text {
    display: grid;
    gap: 3px;
}

.financeiro-dre-activity__text strong {
    color: #13253f;
}

.financeiro-dre-activity__value {
    color: #1d7a45;
    font-weight: 800;
}

.financeiro-dre-activity__value.is-despesa {
    color: #d34e4e;
}

.financeiro-dre-empty {
    padding: 18px;
    border: 1px dashed rgba(17, 33, 51, 0.12);
    border-radius: 14px;
    text-align: center;
    color: #7c8aa0;
    background: #fbfcfd;
}

@media (max-width: 960px) {
    .financeiro-dre-layout {
        grid-template-columns: 1fr;
    }

    .financeiro-dre-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .financeiro-dre-kpis {
        grid-template-columns: 1fr;
    }

    .financeiro-dre-table-head,
    .financeiro-dre-row {
        grid-template-columns: minmax(0, 1fr) 100px 120px;
        font-size: 0.88rem;
    }

    .financeiro-dre-donut {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ============================================================
   Terravia Admin (Design System oficial)
   - Escala compacta e analitica
   - Tokens centralizados via CSS variables
   - Overrides escopados em .admin-shell para nao afetar telas publicas
   ============================================================ */

.admin-page {
    background: #f3f4f6;
    padding: 24px;
    min-height: 100vh;
}

.admin-shell {
    /* Paleta neutra e superfícies */
    --tv-bg: #f3f4f6;
    --tv-surface: #ffffff;
    --tv-surface-solid: #ffffff;
    --tv-ink: #111827;
    --tv-muted: #6b7280;
    --tv-line: #e5e7eb;
    --tv-line-strong: #d1d5db;

    /* Marca (vem de :root em resources/views/layouts/app.php) */
    --tv-brand-primary: var(--brand-primary, #15396b);
    --tv-brand-secondary: var(--brand-secondary, #22c55e);

    /* Estados funcionais */
    --tv-success: var(--tv-brand-secondary);
    --tv-warning: #e8720c;
    --tv-danger: #dc2626;
    --tv-info: #2563eb;
    --tv-strategic: #6d28d9;

    /* Escalas */
    --tv-space-1: 4px;
    --tv-space-2: 8px;
    --tv-space-3: 12px;
    --tv-space-4: 16px;
    --tv-space-5: 20px;
    --tv-space-6: 24px;
    --tv-space-7: 32px;

    --tv-radius-sm: 6px;
    --tv-radius-md: 10px;
    --tv-radius-lg: 14px;

    --tv-shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.04);
    --tv-shadow-md: 0 4px 24px rgba(0, 0, 0, 0.07);

    --tv-topbar-h: 48px;
    --tv-sidebar-w: 168px;

    color: var(--tv-ink);
    font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
    font-size: 13px;
    line-height: 1.55;

    max-width: 1280px;
    margin: 0 auto;
    border-radius: var(--tv-radius-lg);
    overflow: hidden;
    border: 1px solid var(--tv-line);
    box-shadow: var(--tv-shadow-md);
    background: var(--tv-bg);
}

.admin-shell .admin-panel,
.admin-shell .admin-card,
.admin-shell .executive-card,
.admin-shell .admin-sidebar,
.admin-shell .admin-topbar {
    background: var(--tv-surface);
    border: 1px solid var(--tv-line);
    border-radius: 12px;
    box-shadow: var(--tv-shadow-sm);
}

.admin-shell {
    padding: 0;
    background: var(--tv-bg);
}

.admin-shell .admin-body {
    display: flex;
    background: var(--tv-bg);
    margin-top: 0;
}

.admin-shell .admin-main {
    flex: 1;
    min-width: 0;
    padding: var(--tv-space-5) var(--tv-space-6);
    background: var(--tv-bg);
}

/* Topbar (header superior) */
.admin-shell .admin-topbar {
    height: var(--tv-topbar-h);
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 0 var(--tv-space-5);
    border-radius: 0;
    border: none;
    border-bottom: 1px solid color-mix(in srgb, #000 10%, transparent);
    box-shadow: none;
    background: color-mix(in srgb, var(--tv-brand-primary) 80%, #0b1220);
}

.admin-shell .admin-brand {
    display: flex;
    align-items: center;
    gap: var(--tv-space-2);
    margin-right: 18px;
    flex-shrink: 0;
}

.admin-shell .admin-brand-logo {
    height: 20px;
    width: auto;
    display: block;
}

.admin-shell .admin-brand-mark {
    width: 20px;
    height: 20px;
    border-radius: 7px;
    background: color-mix(in srgb, var(--tv-brand-secondary) 85%, #0b1220);
}

.admin-shell .admin-nav-toggle {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: none;
    background: rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.70);
}

.admin-shell .admin-topnav {
    display: flex;
    align-items: center;
    gap: 0;
    min-width: 0;
}

.admin-shell .admin-toplink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: var(--tv-topbar-h);
    padding: 0 13px;
    border-radius: 0;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.55);
    border: none;
    border-bottom: 2px solid transparent;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.admin-shell .admin-toplink:hover {
    color: rgba(255, 255, 255, 0.85);
}

.admin-shell .admin-toplink.active {
    color: #fff;
    border-bottom-color: color-mix(in srgb, var(--tv-brand-secondary) 80%, #fff);
}

.admin-shell .admin-topbar-tools {
    display: flex;
    align-items: center;
    gap: var(--tv-space-2);
    margin-left: auto;
}

.admin-shell .admin-topbar-settings {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.70);
    text-decoration: none;
}

.admin-shell .admin-topbar-settings:hover,
.admin-shell .admin-topbar-settings.active {
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.92);
}

.admin-shell .admin-usermenu {
    position: relative;
}

.admin-shell .admin-usermenu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 220px;
    border-radius: 14px;
    border: 1px solid var(--tv-line);
    background: var(--tv-surface-solid);
    box-shadow: var(--tv-shadow-md);
    padding: 8px;
    z-index: 40;
}

.admin-shell .admin-usermenu-link {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 10px;
    border-radius: 12px;
    text-decoration: none;
    border: 1px solid transparent;
    background: transparent;
    color: var(--tv-muted);
    font-weight: 800;
    cursor: pointer;
}

.admin-shell .admin-usermenu-link:hover {
    color: var(--tv-ink);
    background: color-mix(in srgb, var(--tv-brand-primary) 7%, var(--tv-surface-solid));
    border-color: color-mix(in srgb, var(--tv-brand-primary) 18%, var(--tv-line));
}

.admin-shell .admin-usermenu-link.danger {
    color: #7a1a1a;
}

.admin-shell .admin-usermenu-link.danger:hover {
    background: color-mix(in srgb, var(--tv-danger) 10%, var(--tv-surface-solid));
    border-color: color-mix(in srgb, var(--tv-danger) 22%, var(--tv-line));
}

.admin-shell .admin-userbox {
    display: inline-flex;
    align-items: center;
    gap: var(--tv-space-2);
    padding: 0;
    border-radius: 999px;
    border: none;
    background: transparent;
    cursor: pointer;
    user-select: none;
}

.admin-shell .admin-usercopy strong {
    font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
    font-size: 11px;
    margin: 0;
    font-weight: 600;
    color: #fff;
}

.admin-shell .admin-usermeta {
    display: flex;
    gap: 10px;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.45);
}

.admin-shell .admin-env-badge {
    padding: 0;
    border-radius: 0;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.40);
}

.admin-shell .admin-avatar,
.admin-shell .admin-avatar-image {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--tv-brand-secondary) 70%, #0b1220);
    color: #fff;
    font-weight: 600;
}

/* Sidebar (menu lateral) */
.admin-shell .admin-sidebar {
    width: var(--tv-sidebar-w);
    position: relative;
    top: auto;
    height: auto;
    border-radius: 0;
    border: none;
    border-right: 1px solid var(--tv-line);
    box-shadow: none;
    padding: 14px 0;
    background: #fff;
    flex-shrink: 0;
    overflow: auto;
}

.admin-shell .admin-context-card {
    padding: 0 14px 12px;
    border: none;
    border-bottom: 1px solid color-mix(in srgb, #000 6%, transparent);
    border-radius: 0;
    background: transparent;
    margin: 0 0 6px;
}

.admin-shell .admin-context-card__copy strong {
    display: block;
    font-size: 12px;
    line-height: 1.25;
    margin-top: 0;
    font-weight: 600;
}

.admin-shell .admin-context-card__copy p {
    margin: 1px 0 0;
    font-size: 10px;
    color: #9ca3af;
}

.admin-shell .admin-context-card__meta {
    display: flex;
    gap: 4px;
    margin-top: 7px;
    flex-wrap: wrap;
}

.admin-shell .admin-context-card__meta span {
    font-size: 9px;
    padding: 2px 7px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--tv-brand-secondary) 35%, var(--tv-line));
    color: color-mix(in srgb, var(--tv-brand-secondary) 70%, #0b1220);
    background: color-mix(in srgb, var(--tv-brand-secondary) 12%, #fff);
}

.admin-shell .admin-sidegroup {
    margin-bottom: 0;
}

.admin-shell .admin-sidegroup-label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    color: var(--tv-muted);
    padding: 10px 14px 3px;
    margin: 0;
}

.admin-shell .admin-sideitem {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    height: auto;
    padding: 7px 14px;
    border-radius: 0;
    text-decoration: none;
    color: var(--tv-muted);
    font-weight: 500;
    border: none;
    border-left: 3px solid transparent;
}

.admin-shell .admin-sideitem-parent {
    justify-content: space-between;
}

.admin-shell .admin-submenu-link {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 0 14px 0 28px;
    border-radius: 0;
    text-decoration: none;
    color: var(--tv-muted);
    font-weight: 500;
    border: none;
    border-left: 3px solid transparent;
}

.admin-shell .admin-sideitem-copy {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.admin-shell .admin-sideitem:hover,
.admin-shell .admin-submenu-link:hover {
    color: var(--tv-ink);
    background: #f9fafb;
}

.admin-shell .admin-sideitem.active,
.admin-shell .admin-submenu-link.active {
    color: color-mix(in srgb, var(--tv-brand-secondary) 78%, #0b1220);
    background: color-mix(in srgb, var(--tv-brand-secondary) 12%, #fff);
    border-left-color: color-mix(in srgb, var(--tv-brand-secondary) 70%, #0b1220);
}

.admin-shell .admin-submenu {
    display: none;
    gap: 4px;
    padding: 4px 0 2px 12px;
}

.admin-shell .admin-sideitem-group.is-open>.admin-submenu,
.admin-shell .admin-sideitem-group:hover>.admin-submenu,
.admin-shell .admin-sideitem-group:focus-within>.admin-submenu {
    display: grid;
}

.admin-shell .admin-sidebar-cta {
    margin: 12px 14px 0;
    padding-top: 12px;
    border-top: 1px solid color-mix(in srgb, #000 6%, transparent);
}

.admin-shell .admin-system-footer {
    margin: 0 auto;
    width: min(1280px, calc(100vw - 48px));
    padding: 10px 0;
    color: var(--tv-muted);
    font-size: 10px;
}

/* Tipografia e cabeçalhos de pagina */
.admin-shell .dashboard-kicker,
.admin-shell .panel-kicker,
.admin-shell .settings-kicker {
    margin: 0 0 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--tv-brand-secondary) 78%, var(--tv-muted));
}

.admin-shell h1 {
    font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
    font-size: 17px;
    line-height: 1.2;
    margin: 0;
    font-weight: 600;
}

.admin-shell h2 {
    font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
    font-size: 14px;
    line-height: 1.25;
    margin: 0;
    font-weight: 600;
}

.admin-shell .panel-head {
    margin-bottom: 16px;
}

.admin-shell .panel-head h2 {
    margin: 0;
    font-size: 17px;
    line-height: 1.2;
    font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
    font-weight: 500;
    color: var(--tv-ink);
}

.admin-shell .executive-grid {
    gap: 14px;
}

.admin-shell .executive-card,
.admin-shell .status-summary-card {
    padding: 18px 20px;
}

.admin-shell .chart-stage {
    min-height: 240px;
    padding-top: 6px;
}

.admin-shell .chart-columns {
    min-height: 240px;
    gap: 12px;
}

.admin-shell .chart-bar-shell {
    height: 160px;
}

.admin-shell .chart-value {
    font-size: 10px;
}

.admin-shell .chart-grid-lines span {
    border-top: 1px dashed color-mix(in srgb, #000 10%, transparent);
}

.admin-shell .chart-bar {
    border-radius: 10px 10px 4px 4px;
}

.admin-shell .admin-panel {
    padding: 18px 20px;
}

.admin-shell .admin-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--tv-space-4);
    margin-bottom: 16px;
}

.admin-shell .admin-panel-head p {
    margin: 0;
}

/* Tabs internas e barras de contexto */
.admin-shell .financeiro-submenu {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    margin: 0 0 16px;
    flex-wrap: wrap;
}

.admin-shell .financeiro-submenu__item {
    height: auto;
    padding: 5px 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-weight: 600;
    font-size: 11px;
    color: var(--tv-muted);
    border: 1px solid var(--tv-line);
    white-space: nowrap;
    background: #fff;
}

.admin-shell .financeiro-submenu__item:hover {
    border-color: #9ca3af;
    color: var(--tv-ink);
}

.admin-shell .financeiro-submenu__item.active {
    background: color-mix(in srgb, var(--tv-brand-primary) 80%, #0b1220);
    color: #fff;
    border-color: color-mix(in srgb, var(--tv-brand-primary) 80%, #0b1220);
    font-weight: 600;
}

/* FilterBar padrao */
.admin-shell .admin-filter-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    margin: 0 0 16px;
}

.admin-shell .admin-inline-filter-form {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.admin-shell .admin-inline-filter {
    display: inline-flex;
    flex-direction: column;
    gap: 6px;
}

.admin-shell .settings-subtitle,
.admin-shell .dashboard-subtitle,
.admin-shell .muted,
.admin-shell .empty-copy {
    color: var(--tv-muted);
}

/* Botoes e acoes */
.admin-shell .button,
.admin-shell .pill-action,
.admin-shell .table-action {
    min-height: 32px;
    padding: 0 14px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.admin-shell .button.primary {
    background: var(--tv-brand-secondary);
    color: #06150c;
    border: 1px solid color-mix(in srgb, var(--tv-brand-secondary) 68%, #000);
}

.admin-shell .button.primary:hover {
    background: color-mix(in srgb, var(--tv-brand-secondary) 92%, #0b1220);
}

.admin-shell .table-action {
    background: var(--tv-surface-solid);
    border: 1px solid var(--tv-line);
    text-decoration: none;
    color: var(--tv-muted);
}

.admin-shell .table-action:hover,
.admin-shell .table-action.active-filter {
    color: var(--tv-ink);
    border-color: color-mix(in srgb, var(--tv-brand-primary) 22%, var(--tv-line));
    background: color-mix(in srgb, var(--tv-brand-primary) 8%, var(--tv-surface-solid));
}

.admin-shell .admin-actions {
    display: flex;
    align-items: center;
    gap: var(--tv-space-2);
    flex-wrap: wrap;
}

/* Campos de formulario (compactos) */
.admin-shell input[type="text"],
.admin-shell input[type="number"],
.admin-shell input[type="email"],
.admin-shell input[type="password"],
.admin-shell input[type="date"],
.admin-shell input[type="search"],
.admin-shell select {
    height: 32px;
    padding: 0 9px;
    border-radius: 7px;
    font-size: 11px;
    border: 1px solid var(--tv-line);
    background: var(--tv-surface-solid);
    color: var(--tv-ink);
    outline: none;
}

.admin-shell textarea {
    min-height: 96px;
    padding: 10px;
    border-radius: 7px;
    font-size: 11px;
    border: 1px solid var(--tv-line);
    background: var(--tv-surface-solid);
    color: var(--tv-ink);
    outline: none;
    resize: vertical;
}

.admin-shell input:focus,
.admin-shell select:focus,
.admin-shell textarea:focus {
    border-color: color-mix(in srgb, var(--tv-brand-primary) 30%, var(--tv-line));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--tv-brand-primary) 12%, transparent);
}

.admin-shell .form-field span,
.admin-shell .admin-inline-filter span {
    display: block;
    margin-bottom: 6px;
    color: var(--tv-muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.admin-shell .form-field small {
    display: block;
    margin-top: 6px;
    color: var(--tv-muted);
    font-size: 11px;
    line-height: 1.5;
}

/* KPI cards */
.admin-shell .executive-kpi-grid {
    gap: var(--tv-space-3);
    margin-bottom: var(--tv-space-4);
}

.admin-shell .executive-kpi {
    padding: 16px 15px;
    border-radius: 11px;
    border: 1px solid var(--tv-line);
    background: var(--tv-surface-solid);
    box-shadow: var(--tv-shadow-sm);
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 8px;
}

.admin-shell .executive-kpi::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: color-mix(in srgb, var(--tv-brand-primary) 18%, var(--tv-line));
}

.admin-shell .executive-kpi-head {
    margin-bottom: 2px;
}

.admin-shell .executive-kpi-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--tv-brand-primary) 7%, #fff);
    color: color-mix(in srgb, var(--tv-brand-primary) 78%, #0b1220);
}

.admin-shell .executive-kpi-delta {
    font-size: 10px;
    font-weight: 600;
    color: var(--tv-muted);
}

.admin-shell .executive-kpi-label {
    display: block;
    margin-top: 6px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--tv-muted);
}

.admin-shell .executive-kpi-value {
    font-family: var(--font-body, system-ui, -apple-system, "Segoe UI", sans-serif);
    font-size: 16px;
    font-weight: 600;
    margin: 6px 0 0;
    font-variant-numeric: tabular-nums;
}

.admin-shell .executive-kpi-meta {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: var(--tv-muted);
}

.admin-shell .executive-kpi.success {
    border-left: none;
}

.admin-shell .executive-kpi.warning {
    border-left: none;
}

.admin-shell .executive-kpi.danger {
    border-left: none;
}

.admin-shell .executive-kpi.info {
    border-left: none;
}

.admin-shell .executive-kpi.strategic,
.admin-shell .executive-kpi.purple {
    border-left: none;
}

.admin-shell .executive-kpi.success::after {
    background: linear-gradient(90deg, color-mix(in srgb, var(--tv-success) 85%, #0b1220), color-mix(in srgb, var(--tv-success) 35%, #fff));
}

.admin-shell .executive-kpi.warning::after {
    background: linear-gradient(90deg, color-mix(in srgb, var(--tv-warning) 85%, #0b1220), color-mix(in srgb, var(--tv-warning) 35%, #fff));
}

.admin-shell .executive-kpi.danger::after {
    background: linear-gradient(90deg, color-mix(in srgb, var(--tv-danger) 85%, #0b1220), color-mix(in srgb, var(--tv-danger) 35%, #fff));
}

.admin-shell .executive-kpi.info::after {
    background: linear-gradient(90deg, color-mix(in srgb, var(--tv-info) 85%, #0b1220), color-mix(in srgb, var(--tv-info) 35%, #fff));
}

.admin-shell .executive-kpi.strategic::after,
.admin-shell .executive-kpi.purple::after {
    background: linear-gradient(90deg, color-mix(in srgb, var(--tv-strategic) 85%, #0b1220), color-mix(in srgb, var(--tv-strategic) 35%, #fff));
}

/* Status badges */
.admin-shell .ui-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    border: 1px solid var(--tv-line);
    background: var(--tv-surface-solid);
    color: var(--tv-muted);
}

.admin-shell .ui-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--tv-muted);
}

.admin-shell .ui-status-badge.success {
    color: color-mix(in srgb, var(--tv-success) 74%, #0b1220);
    background: color-mix(in srgb, var(--tv-success) 10%, var(--tv-surface-solid));
    border-color: color-mix(in srgb, var(--tv-success) 22%, var(--tv-line));
}

.admin-shell .ui-status-badge.success .ui-status-dot {
    background: var(--tv-success);
}

.admin-shell .ui-status-badge.warning {
    color: #7a4b00;
    background: color-mix(in srgb, var(--tv-warning) 12%, var(--tv-surface-solid));
    border-color: color-mix(in srgb, var(--tv-warning) 26%, var(--tv-line));
}

.admin-shell .ui-status-badge.warning .ui-status-dot {
    background: var(--tv-warning);
}

.admin-shell .ui-status-badge.danger {
    color: #7a1a1a;
    background: color-mix(in srgb, var(--tv-danger) 10%, var(--tv-surface-solid));
    border-color: color-mix(in srgb, var(--tv-danger) 22%, var(--tv-line));
}

.admin-shell .ui-status-badge.danger .ui-status-dot {
    background: var(--tv-danger);
}

.admin-shell .ui-status-badge.neutral .ui-status-dot {
    background: var(--tv-brand-primary);
}

/* Tabelas */
.admin-shell .admin-card--table-host {
    padding: 0;
    overflow: hidden;
}

.admin-shell .executive-table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.admin-shell .executive-table thead th {
    background: color-mix(in srgb, var(--tv-brand-primary) 5%, var(--tv-surface-solid));
    color: var(--tv-muted);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 800;
    padding: 10px 12px;
    border-bottom: 1px solid var(--tv-line);
}

.admin-shell .executive-table tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--tv-line);
    vertical-align: middle;
    font-size: 0.92rem;
    color: var(--tv-ink);
}

.admin-shell .executive-table tbody tr:hover td {
    background: color-mix(in srgb, var(--tv-brand-primary) 4%, var(--tv-surface-solid));
}

.admin-shell .data-table.admin-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.admin-shell .data-table.admin-table thead th {
    background: color-mix(in srgb, var(--tv-brand-primary) 5%, var(--tv-surface-solid));
    color: var(--tv-muted);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 800;
    padding: 10px 12px;
    border-bottom: 1px solid var(--tv-line);
}

.admin-shell .data-table.admin-table tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--tv-line);
    vertical-align: middle;
    font-size: 0.92rem;
    color: var(--tv-ink);
}

.admin-shell .table-link-strong {
    color: var(--tv-ink);
    font-weight: 800;
    text-decoration: none;
}

.admin-shell .table-link-strong:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
}

.admin-shell .data-table.admin-table tbody tr:hover td {
    background: color-mix(in srgb, var(--tv-brand-primary) 4%, var(--tv-surface-solid));
}

.admin-shell .admin-table-actions-col {
    width: 44px;
    text-align: right;
}

.admin-shell .table-row-menu-trigger {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--tv-line);
    background: var(--tv-surface-solid);
    color: var(--tv-muted);
}

.admin-shell .table-row-menu-panel {
    min-width: 200px;
    border-radius: 14px;
    border: 1px solid var(--tv-line);
    background: var(--tv-surface-solid);
    box-shadow: var(--tv-shadow-md);
    padding: 8px;
}

.admin-shell .table-row-menu-link {
    display: flex;
    padding: 8px 10px;
    border-radius: 10px;
    text-decoration: none;
    color: var(--tv-muted);
    font-weight: 700;
}

.admin-shell .table-row-menu-link:hover {
    color: var(--tv-ink);
    background: color-mix(in srgb, var(--tv-brand-primary) 7%, var(--tv-surface-solid));
}

.admin-shell .table-pill {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    border: 1px solid var(--tv-line);
    background: var(--tv-surface-solid);
    color: var(--tv-muted);
}

.admin-shell .table-pill.tone-success {
    border-color: color-mix(in srgb, var(--tv-success) 24%, var(--tv-line));
    background: color-mix(in srgb, var(--tv-success) 10%, var(--tv-surface-solid));
    color: color-mix(in srgb, var(--tv-success) 70%, #0b1220);
}

.admin-shell .table-pill.tone-warning {
    border-color: color-mix(in srgb, var(--tv-warning) 28%, var(--tv-line));
    background: color-mix(in srgb, var(--tv-warning) 12%, var(--tv-surface-solid));
    color: #7a4b00;
}

.admin-shell .table-pill.tone-danger {
    border-color: color-mix(in srgb, var(--tv-danger) 24%, var(--tv-line));
    background: color-mix(in srgb, var(--tv-danger) 10%, var(--tv-surface-solid));
    color: #7a1a1a;
}

.admin-shell .table-pill.tone-muted {
    background: color-mix(in srgb, var(--tv-brand-primary) 6%, var(--tv-surface-solid));
}

/* DRE (cards analiticos) */
.admin-shell .dre-mini-chart {
    display: grid;
    gap: 12px;
}

.admin-shell .dre-mini-row__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.admin-shell .dre-mini-row__head span {
    color: var(--tv-muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.admin-shell .dre-mini-row__head strong {
    font-variant-numeric: tabular-nums;
    font-weight: 900;
    color: var(--tv-ink);
}

.admin-shell .dre-mini-bar {
    height: 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--tv-brand-primary) 7%, var(--tv-surface-solid));
    border: 1px solid var(--tv-line);
    overflow: hidden;
}

.admin-shell .dre-mini-bar span {
    height: 100%;
    display: block;
    border-radius: 999px;
    background: var(--tv-info);
    width: 0%;
}

.admin-shell .dre-mini-row.is-success .dre-mini-bar span {
    background: var(--tv-success);
}

.admin-shell .dre-mini-row.is-warning .dre-mini-bar span {
    background: var(--tv-warning);
}

.admin-shell .dre-mini-row.is-danger .dre-mini-bar span {
    background: var(--tv-danger);
}

.admin-shell .dre-mini-row.is-info .dre-mini-bar span {
    background: var(--tv-info);
}

/* Estados vazios */
.admin-shell .admin-empty-state {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--tv-space-4);
    padding: var(--tv-space-4);
    border: 1px dashed color-mix(in srgb, var(--tv-brand-primary) 26%, var(--tv-line));
    border-radius: var(--tv-radius-lg);
    background: color-mix(in srgb, var(--tv-brand-primary) 4%, var(--tv-surface-solid));
}

.admin-shell .admin-empty-state strong {
    display: block;
    font-size: 0.95rem;
    margin: 0 0 4px;
}

.admin-shell .admin-empty-state p {
    margin: 0;
    color: var(--tv-muted);
    font-size: 0.9rem;
}

@media (max-width: 1024px) {
    .admin-page {
        padding: 14px;
    }

    .admin-shell .admin-body {
        flex-direction: column;
    }

    .admin-shell .admin-sidebar {
        position: relative;
        width: auto;
        height: auto;
        border-right: none;
        border-bottom: 1px solid var(--tv-line);
        display: none;
    }

    .admin-shell .admin-sidebar.is-open {
        display: block;
    }

    .admin-shell .admin-main {
        padding: 18px 16px;
    }

    .admin-shell .admin-topnav {
        overflow: auto;
        scrollbar-width: thin;
    }
}

/* ============================================================
   TerraVia Admin Design System - fundacao global 2026
   Tokens e componentes oficiais para todo o Admin Incorpora.
   ============================================================ */

:root {
    --tv-color-primary: #064b32;
    --tv-color-primary-dark: #033b28;
    --tv-color-primary-soft: #eaf4ef;
    --tv-color-accent: #d96b00;
    --tv-color-accent-dark: #b85300;
    --tv-color-success: #16845b;
    --tv-color-warning: #e87912;
    --tv-color-danger: #e5484d;
    --tv-color-info: #2563eb;
    --tv-color-yellow: #f59e0b;
    --tv-bg-page: #f6f8fa;
    --tv-bg-card: #ffffff;
    --tv-bg-muted: #f9fafb;
    --tv-border-soft: #e5e9ef;
    --tv-border-strong: #d5dbe5;
    --tv-text-primary: #111827;
    --tv-text-secondary: #667085;
    --tv-text-muted: #98a2b3;
    --tv-radius-card: 14px;
    --tv-radius-card-lg: 16px;
    --tv-radius-button: 10px;
    --tv-shadow-card: 0 8px 24px rgba(15, 23, 42, 0.06);
    --tv-shadow-subtle: 0 1px 2px rgba(15, 23, 42, 0.05);
    --tv-space-1: 4px;
    --tv-space-2: 8px;
    --tv-space-3: 12px;
    --tv-space-4: 16px;
    --tv-space-5: 20px;
    --tv-space-6: 24px;
    --tv-header-height: 58px;
    --tv-sidebar-width: 220px;
    --tv-button-height: 38px;
    --tv-input-height: 38px;
    --tv-table-row-height: 44px;
    --tv-z-header: 30;
    --tv-z-drawer: 50;
    --brand-primary: var(--tv-color-primary);
    --brand-secondary: var(--tv-color-success);
}

body>main.admin-page,
.admin-page,
.admin-shell {
    background: var(--tv-bg-page) !important;
}

.admin-shell {
    --tv-bg: var(--tv-bg-page);
    --tv-surface: var(--tv-bg-card);
    --tv-surface-solid: var(--tv-bg-card);
    --tv-ink: var(--tv-text-primary);
    --tv-muted: var(--tv-text-secondary);
    --tv-line: var(--tv-border-soft);
    --tv-line-strong: var(--tv-border-strong);
    --tv-brand-primary: var(--tv-color-primary);
    --tv-brand-secondary: var(--tv-color-success);
    --tv-success: var(--tv-color-success);
    --tv-warning: var(--tv-color-warning);
    --tv-danger: var(--tv-color-danger);
    --tv-info: var(--tv-color-info);
    --tv-topbar-h: var(--tv-header-height);
    --tv-sidebar-w: var(--tv-sidebar-width);
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--tv-text-primary);
    font-family: var(--font-body, Inter), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    letter-spacing: 0;
}

.admin-shell svg {
    flex-shrink: 0;
    stroke-width: 1.8;
}

.admin-shell .admin-topbar {
    position: sticky;
    top: 0;
    z-index: var(--tv-z-header);
    height: var(--tv-header-height);
    padding: 0 24px;
    background: var(--tv-color-primary-dark) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.88);
}

.admin-shell .admin-brand {
    min-width: 146px;
    margin-right: 16px;
}

.admin-shell .admin-brand-logo {
    max-height: 34px;
}

.admin-shell .admin-brand-wordmark {
    display: grid;
    line-height: 1;
    color: #fff;
    text-transform: none;
}

.admin-shell .admin-brand-wordmark strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.admin-shell .admin-brand-wordmark small {
    margin-top: 2px;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    text-align: center;
}

.admin-shell .admin-nav-toggle,
.admin-shell .admin-topbar-settings {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.84);
    background: rgba(255, 255, 255, 0.09);
}

.admin-shell .admin-nav-toggle:hover,
.admin-shell .admin-topbar-settings:hover,
.admin-shell .admin-topbar-settings.active {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.admin-shell .admin-topnav {
    gap: 8px;
}

.admin-shell .admin-toplink {
    height: var(--tv-header-height);
    gap: 8px;
    padding: 0 12px;
    border-bottom: 3px solid transparent;
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    font-weight: 600;
}

.admin-shell .admin-toplink.active,
.admin-shell .admin-toplink:hover {
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, 0.72);
}

.admin-shell .admin-userbox {
    gap: 10px;
}

.admin-shell .admin-avatar,
.admin-shell .admin-avatar-image {
    width: 36px;
    height: 36px;
    border: 2px solid var(--tv-color-accent);
}

.admin-shell .admin-usercopy strong {
    font-size: 12px;
    color: #fff;
}

.admin-shell .admin-usermeta,
.admin-shell .admin-env-badge {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.72);
}

.admin-shell .admin-body {
    min-height: calc(100vh - var(--tv-header-height));
    background: var(--tv-bg-page);
}

.admin-shell .admin-sidebar {
    width: var(--tv-sidebar-width);
    padding: 18px 12px;
    background: var(--tv-bg-card);
    border-right: 1px solid var(--tv-border-soft);
}

.admin-shell .admin-sidegroup-label {
    padding: 7px 12px;
    color: #536079;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.admin-shell .admin-sideitem,
.admin-shell .admin-submenu-link {
    min-height: 40px;
    margin: 0px 0;
    padding: 0 12px;
    border-radius: 8px;
    color: #344054;
    font-size: 13px;
    font-weight: 500;
}

.admin-shell .admin-submenu-link {
    min-height: 34px;
    padding-left: 18px;
    font-size: 12px;
}

.admin-shell .admin-sideitem:hover,
.admin-shell .admin-submenu-link:hover {
    background: #f2f6f4;
    color: var(--tv-color-primary);
}

.admin-shell .admin-sideitem.active,
.admin-shell .admin-submenu-link.active,
.admin-shell .admin-sideitem-group.is-active>.admin-sideitem {
    background: var(--tv-color-primary-soft);
    color: var(--tv-color-primary);
    box-shadow: inset 3px 0 0 var(--tv-color-success);
}

.admin-shell .admin-sidebar-cta {
    padding: 18px 12px 0;
}

.admin-shell .admin-main {
    padding: 24px 30px 40px;
    background: var(--tv-bg-page);
}

.admin-shell .admin-panel,
.admin-shell .admin-card,
.admin-shell .executive-card,
.admin-shell .settings-card,
.admin-shell .tv-section-card {
    border: 1px solid var(--tv-border-soft);
    border-radius: var(--tv-radius-card);
    background: var(--tv-bg-card);
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .admin-panel,
.admin-shell .executive-dashboard,
.admin-shell .settings-page {
    border: 0;
    box-shadow: none;
    background: transparent;
    padding: 0;
}

.admin-shell .admin-panel-head,
.admin-shell .settings-topbar,
.admin-shell .tv-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 20px;
    padding: 0;
    background: transparent;
    border: 0;
}

.admin-shell h1,
.admin-shell .settings-topbar h1,
.admin-shell .admin-panel-head h1,
.admin-shell .tv-page-header h1 {
    margin: 0;
    color: var(--tv-text-primary);
    font-size: 28px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: 0;
}

.admin-shell h2 {
    letter-spacing: 0;
}

.admin-shell .dashboard-kicker,
.admin-shell .settings-kicker,
.admin-shell .tv-kicker {
    margin: 0 0 7px;
    color: var(--tv-color-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.admin-shell .settings-subtitle,
.admin-shell .admin-panel-head p,
.admin-shell .tv-page-header p,
.admin-shell .settings-category-head p {
    color: var(--tv-text-secondary);
    font-size: 14px;
}

.admin-shell .button,
.admin-shell button.button,
.admin-shell a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--tv-button-height);
    padding: 0 16px;
    border-radius: var(--tv-radius-button);
    border: 1px solid var(--tv-border-strong);
    background: #fff;
    color: var(--tv-text-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .button.primary {
    border-color: var(--tv-color-accent);
    background: linear-gradient(180deg, #e67914, var(--tv-color-accent));
    color: #fff;
}

.admin-shell .button.secondary {
    background: #fff;
    color: #1d2939;
}

.admin-shell .button.success {
    border-color: var(--tv-color-primary);
    background: var(--tv-color-primary);
    color: #fff;
}

.admin-shell .button.danger {
    border-color: #fecdd3;
    background: #fff1f2;
    color: #b42318;
}

.admin-shell .button:hover {
    transform: translateY(-1px);
    box-shadow: var(--tv-shadow-card);
}

.admin-shell input,
.admin-shell select,
.admin-shell textarea {
    min-height: var(--tv-input-height);
    border: 1px solid var(--tv-border-strong);
    border-radius: 8px;
    background: #fff;
    color: var(--tv-text-primary);
    font-size: 13px;
}

.admin-shell input:focus,
.admin-shell select:focus,
.admin-shell textarea:focus {
    outline: 3px solid rgba(22, 132, 91, 0.14);
    border-color: var(--tv-color-success);
}

.admin-shell .form-field span {
    margin-bottom: 6px;
    color: #344054;
    font-size: 12px;
    font-weight: 600;
}

.admin-shell .ui-status-badge,
.admin-shell .status-badge,
.admin-shell .table-pill {
    min-height: 24px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0;
    border: 1px solid var(--tv-border-soft);
}

.admin-shell .ui-status-badge.success,
.admin-shell .status-badge.success {
    color: #087443;
    background: #e7f6ee;
    border-color: #c9ead8;
}

.admin-shell .ui-status-badge.info {
    color: #075985;
    background: #e0f2fe;
    border-color: #bae6fd;
}

.admin-shell .ui-status-badge.warning,
.admin-shell .status-badge.warning {
    color: #b45309;
    background: #fff4e5;
    border-color: #fed7aa;
}

.admin-shell .ui-status-badge.danger,
.admin-shell .status-badge.error,
.admin-shell .status-badge.danger {
    color: #d92d20;
    background: #fee4e2;
    border-color: #fecaca;
}

.admin-shell .executive-kpi-grid,
.admin-shell .tv-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.admin-shell .executive-kpi,
.admin-shell .tv-kpi-card,
.admin-shell .contas-pagar-summary-strip__card {
    min-height: 92px;
    border: 1px solid var(--tv-border-soft);
    border-radius: var(--tv-radius-card);
    background: #fff;
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .executive-kpi {
    padding: 18px;
}

.admin-shell .executive-kpi-value {
    font-size: 20px;
    font-weight: 700;
}

.admin-shell .executive-card {
    padding: 18px;
}

.admin-shell .panel-head {
    min-height: 34px;
    margin-bottom: 14px;
}

.admin-shell .panel-head h2 {
    margin: 0;
    color: var(--tv-text-primary);
    font-size: 15px;
    font-weight: 700;
}

.admin-shell .panel-kicker {
    color: var(--tv-text-secondary);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.admin-shell .table-shell,
.admin-shell .executive-table {
    border: 1px solid var(--tv-border-soft);
    border-radius: 12px;
    overflow: auto;
    background: #fff;
}

.admin-shell .admin-table,
.admin-shell .data-table.admin-table,
.admin-shell .executive-table table {
    width: 100%;
    border-collapse: collapse;
}

.admin-shell .admin-table thead th,
.admin-shell .data-table.admin-table thead th,
.admin-shell .executive-table thead th {
    height: 36px;
    padding: 8px 12px;
    background: #f8fafc;
    color: #475467;
    border-bottom: 1px solid var(--tv-border-soft);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    text-align: left;
}

.admin-shell .admin-table tbody td,
.admin-shell .data-table.admin-table tbody td,
.admin-shell .executive-table tbody td {
    min-height: var(--tv-table-row-height);
    padding: 9px 12px;
    border-bottom: 1px solid var(--tv-border-soft);
    color: #344054;
    font-size: 12.5px;
}

.admin-shell .admin-table tbody tr:hover td,
.admin-shell .data-table.admin-table tbody tr:hover td,
.admin-shell .executive-table tbody tr:hover td {
    background: #f9fbfa;
}

.admin-shell .admin-table td:nth-child(n+7),
.admin-shell .contas-pagar-table-shell td:nth-child(8),
.admin-shell .contas-pagar-table-shell td:nth-child(9) {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.admin-shell .table-row-menu-trigger {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: 1px solid var(--tv-border-soft);
    background: #fff;
    color: #475467;
    font-weight: 800;
}

.admin-shell .table-row-menu-panel {
    border-radius: 12px;
}

.admin-shell .settings-shell {
    display: block;
}

.admin-shell .settings-shell--single {
    display: grid;
    gap: 16px;
}

.admin-shell .settings-guidance-strip {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid #d9eadf;
    border-radius: 10px;
    background: #f7fbf8;
    color: #155c3b;
    font-size: 12px;
}

.admin-shell .settings-guidance-strip strong {
    font-weight: 700;
}

.admin-shell .settings-guidance-strip span:not(:first-child):not(:nth-child(2))::before {
    content: "•";
    margin-right: 14px;
    color: #86b99f;
}

.admin-shell .settings-hub-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 16px;
    align-items: start;
}

.admin-shell .settings-hub-main {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.admin-shell .settings-config-list-card {
    padding: 16px;
}

.admin-shell .settings-config-list {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--tv-border-soft);
    border-radius: 12px;
    background: #fff;
}

.admin-shell .settings-config-row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto 110px 18px;
    align-items: center;
    gap: 14px;
    min-height: 62px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .settings-config-row:last-child {
    border-bottom: 0;
}

.admin-shell .settings-config-row:hover {
    background: #fbfdfc;
}

.admin-shell .settings-config-row__icon,
.admin-shell .settings-recommendation-item>span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #eaf4ef;
    color: var(--tv-color-primary);
}

.admin-shell .settings-config-row__copy {
    display: grid;
    gap: 3px;
}

.admin-shell .settings-config-row__copy strong {
    color: var(--tv-text-primary);
    font-size: 13px;
    font-weight: 700;
}

.admin-shell .settings-config-row__copy span {
    color: var(--tv-text-secondary);
    font-size: 12px;
}

.admin-shell .settings-config-row__status {
    justify-self: end;
}

.admin-shell .settings-config-row .button {
    min-height: 32px;
    padding: 0 14px;
}

.admin-shell .settings-config-row__chevron {
    color: #667085;
    font-size: 24px;
    line-height: 1;
}

.admin-shell .settings-detail-panel {
    display: grid;
    gap: 14px;
}

.admin-shell .settings-recommendation-panel {
    overflow: hidden;
    border: 1px solid var(--tv-border-soft);
    border-radius: var(--tv-radius-card);
    background: #fff;
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .settings-recommendation-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .settings-recommendation-panel__head h2 {
    margin: 0;
    font-size: 15px;
}

.admin-shell .settings-recommendation-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .settings-recommendation-item:last-child {
    border-bottom: 0;
}

.admin-shell .settings-recommendation-item strong {
    display: block;
    color: var(--tv-text-primary);
    font-size: 12px;
    font-weight: 700;
}

.admin-shell .settings-recommendation-item p {
    margin: 5px 0 0;
    color: var(--tv-text-secondary);
    font-size: 12px;
    line-height: 1.45;
}

.admin-shell .settings-layout {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 24px;
}

.admin-shell .settings-sidebar {
    border: 1px solid var(--tv-border-soft);
    border-radius: var(--tv-radius-card);
    background: #fff;
    box-shadow: var(--tv-shadow-subtle);
    padding: 14px;
}

.admin-shell .settings-sidebar-title {
    margin: 0 0 8px;
    color: #475467;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.admin-shell .settings-sideitem {
    width: 100%;
    min-height: 40px;
    margin: 3px 0;
    padding: 0 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #344054;
    font-size: 13px;
    font-weight: 500;
    text-align: left;
}

.admin-shell .settings-sideitem.active,
.admin-shell .settings-sideitem:hover {
    background: var(--tv-color-primary-soft);
    color: var(--tv-color-primary);
    box-shadow: inset 3px 0 0 var(--tv-color-success);
}

.admin-shell .settings-category-head,
.admin-shell .settings-subtabs {
    margin-bottom: 14px;
}

.admin-shell .settings-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .settings-subtab {
    min-height: 36px;
    padding: 0 12px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #536079;
    font-size: 13px;
    font-weight: 600;
}

.admin-shell .settings-subtab.active {
    color: var(--tv-color-primary);
    border-bottom-color: var(--tv-color-primary);
}

.admin-shell .settings-grid {
    gap: 14px;
}

.admin-shell .settings-card {
    padding: 16px;
}

.admin-shell .financeiro-submenu {
    display: flex;
    gap: 8px;
    margin: 0 0 14px;
    padding-bottom: 8px;
    overflow-x: auto;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .financeiro-submenu__item {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 8px 8px 0 0;
    color: #536079;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.admin-shell .financeiro-submenu__item.active,
.admin-shell .financeiro-submenu__item:hover {
    background: #fff;
    color: var(--tv-color-primary);
    box-shadow: inset 0 -3px 0 var(--tv-color-primary);
}

.reconciliation-workbench {
    display: grid;
    gap: 14px;
}

.reconciliation-workbench .admin-card h2 {
    margin: 0 0 12px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
}

.reconciliation-workbench .empty-state.compact {
    align-items: flex-start;
    min-height: auto;
    padding: 14px;
    text-align: left;
}

/* Integracao bancaria Banco Inter: segue o padrao compacto do financeiro. */
.admin-shell .integracao-bancaria-card {
    padding: 14px !important;
}

.admin-shell .integracao-bancaria-card .settings-card-head {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .integracao-bancaria-tabs {
    margin-bottom: 12px;
}

.admin-shell .integracao-bancaria-tabs .financeiro-submenu__item {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
}

.admin-shell .integracao-bancaria-panel {
    padding: 0;
}

.admin-shell .integracao-bancaria-page .admin-form-grid {
    gap: 10px 14px !important;
}

.admin-shell .integracao-bancaria-page .form-field {
    gap: 4px !important;
}

.admin-shell .integracao-bancaria-page .form-field>label {
    display: block;
    margin-bottom: 4px;
    color: #344054;
    font-size: 12px;
    font-weight: 700;
}

.admin-shell .integracao-bancaria-page .form-field input,
.admin-shell .integracao-bancaria-page .form-field select,
.admin-shell .integracao-bancaria-page .form-field textarea {
    min-height: 34px !important;
    padding: 6px 9px !important;
    border-radius: 8px !important;
}

.admin-shell .integracao-bancaria-page .form-actions {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--tv-border-soft);
}

.admin-shell .tv-upload-field {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px dashed #b9c6d6;
    border-radius: 9px;
    background: #fbfdff;
    color: #344054;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.admin-shell .tv-upload-field:hover {
    border-color: var(--tv-color-success);
    background: #f7fbf8;
    color: var(--tv-color-primary);
}

.admin-shell .tv-upload-field input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    opacity: 0;
}

.admin-shell input[type="file"]::file-selector-button {
    border: 0;
    border-radius: 8px;
    background: var(--tv-color-primary-soft);
    color: var(--tv-color-primary);
    font: inherit;
    font-weight: 600;
}

.admin-shell .contas-pagar-toolbar,
.admin-shell .tv-filter-bar {
    display: flex;
    align-items: end;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--tv-border-soft);
    border-radius: var(--tv-radius-card);
    background: #fff;
}

.admin-shell .contas-pagar-toolbar {
    align-items: center;
    justify-content: space-between;
    border-width: 0 0 1px;
    border-radius: 0;
}

.admin-shell .contas-pagar-summary-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}

.admin-shell .contas-pagar-summary-strip__card {
    min-height: 72px;
    padding: 14px;
}

.admin-shell .contas-pagar-summary-strip__card span {
    color: var(--tv-text-secondary);
    font-size: 12px;
}

.admin-shell .contas-pagar-summary-strip__card strong {
    display: block;
    margin-top: 6px;
    color: var(--tv-text-primary);
    font-size: 16px;
}

.admin-shell .contas-pagar-summary-strip__card--neutral {
    border-color: #b8d7f1;
    background: #f4faff;
}

.admin-shell .contas-pagar-summary-strip__card--info {
    border-color: #d8c7ff;
    background: #fbf8ff;
}

.admin-shell .contas-pagar-summary-strip__card--warning {
    border-color: #fed7aa;
    background: #fff7ed;
}

.admin-shell .financeiro-dre-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px;
}

.admin-shell .financeiro-dre-kpis .executive-kpi {
    min-height: 82px;
    padding: 14px 16px;
    border-radius: 13px;
}

.admin-shell .financeiro-dre-kpis .executive-kpi.success {
    border-color: #bfe8cf;
    background: linear-gradient(180deg, #f8fffb, #effaf4);
    box-shadow: inset 0 -3px 0 #16845b;
}

.admin-shell .financeiro-dre-kpis .executive-kpi.info {
    border-color: #bee4f8;
    background: linear-gradient(180deg, #f8fdff, #eff8fd);
    box-shadow: inset 0 -3px 0 #0ea5e9;
}

.admin-shell .financeiro-dre-kpis .executive-kpi.warning {
    border-color: #fed7aa;
    background: linear-gradient(180deg, #fffdfa, #fff7ed);
    box-shadow: inset 0 -3px 0 #e87912;
}

.admin-shell .financeiro-dre-kpis .executive-kpi.danger {
    border-color: #fecaca;
    background: linear-gradient(180deg, #fffafa, #fff1f2);
    box-shadow: inset 0 -3px 0 #e5484d;
}

.admin-shell .financeiro-dre-table-card,
.admin-shell .financeiro-dre-panel {
    border-radius: 13px;
}

.admin-shell .financeiro-dre-table-head,
.admin-shell .financeiro-dre-row {
    min-height: 42px;
    padding-top: 9px;
    padding-bottom: 9px;
}

.admin-shell .financeiro-dre-pill--receita {
    color: #087443;
    background: #e7f6ee;
}

.admin-shell .financeiro-dre-pill--deducao,
.admin-shell .financeiro-dre-pill--imposto {
    color: #b45309;
    background: #fff4e5;
}

.admin-shell .financeiro-dre-pill--despesa,
.admin-shell .financeiro-dre-pill--custo {
    color: #d92d20;
    background: #fee4e2;
}

.admin-shell .financeiro-dre-pill--resultado {
    color: #075985;
    background: #e0f2fe;
}

.admin-shell .tesouraria-page .contas-pagar-card {
    display: grid;
    gap: 8px;
}

.admin-shell .tesouraria-page .contas-pagar-summary-strip {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 0 0 8px;
}

.admin-shell .tesouraria-page .contas-pagar-summary-strip__card {
    min-height: 70px;
    border-left-width: 3px;
}

.admin-shell .tesouraria-block {
    border-width: 1px;
    border-style: solid;
    overflow: hidden;
}

.admin-shell .tesouraria-block .admin-card-title {
    margin: 0;
    padding: 8px 12px;
    border-bottom: 1px solid currentColor;
    font-size: 13px;
    font-weight: 700;
}

.admin-shell .tesouraria-block--bank {
    border-color: #b9e2f5;
    color: #075985;
}

.admin-shell .tesouraria-block--movimentos {
    border-color: #bfebd2;
    color: #087443;
}

.admin-shell .tesouraria-block--transferencias {
    border-color: #ddd6fe;
    color: #6d28d9;
}

.admin-shell .tesouraria-block--agendamentos {
    border-color: #fed7aa;
    color: #b45309;
}

.admin-shell .tesouraria-block--saldos {
    border-color: #b8d7f1;
    color: #064b32;
}

.admin-shell .tesouraria-block--bank thead th {
    background: #f0f9ff;
}

.admin-shell .tesouraria-block--movimentos thead th {
    background: #f0fdf4;
}

.admin-shell .tesouraria-block--transferencias thead th {
    background: #f5f3ff;
}

.admin-shell .tesouraria-block--agendamentos thead th {
    background: #fff7ed;
}

.admin-shell .tesouraria-block--saldos thead th {
    background: #f2f7f5;
}

.admin-shell .tv-grid-12 {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

.admin-shell .tv-col-4 {
    grid-column: span 4;
}

.admin-shell .tv-col-5 {
    grid-column: span 5;
}

.admin-shell .tv-col-6 {
    grid-column: span 6;
}

.admin-shell .tv-col-7 {
    grid-column: span 7;
}

.admin-shell .tv-col-8 {
    grid-column: span 8;
}

.admin-shell .tv-col-span-2 {
    grid-column: span 2;
}

.admin-shell .tv-docs-page {
    display: grid;
    gap: 16px;
}

.admin-shell .tv-section-card {
    padding: 18px;
}

.admin-shell .tv-section-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.admin-shell .tv-section-head h2 {
    margin: 0;
    font-size: 16px;
}

.admin-shell .tv-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-shell .tv-actions--left {
    justify-content: flex-start;
}

.admin-shell .tv-stack {
    display: grid;
    gap: 14px;
}

.admin-shell .tv-token-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
}

.admin-shell .tv-token {
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid var(--tv-border-soft);
    border-radius: 12px;
}

.admin-shell .tv-token>span {
    height: 42px;
    border-radius: 9px;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.admin-shell .tv-token strong,
.admin-shell .tv-token code {
    font-size: 12px;
}

.admin-shell .tv-token small {
    color: var(--tv-text-secondary);
}

.admin-shell .tv-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.admin-shell .tv-kpi-grid--docs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-shell .tv-kpi-card {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px;
}

.admin-shell .tv-kpi-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #eef8f3;
    color: var(--tv-color-primary);
}

.admin-shell .tv-kpi-card.warning .tv-kpi-icon {
    background: #fff4e5;
    color: var(--tv-color-warning);
}

.admin-shell .tv-kpi-card.danger .tv-kpi-icon {
    background: #fee4e2;
    color: var(--tv-color-danger);
}

.admin-shell .tv-kpi-card small,
.admin-shell .tv-kpi-card em {
    display: block;
    color: var(--tv-text-secondary);
    font-size: 12px;
    font-style: normal;
}

.admin-shell .tv-kpi-card strong {
    display: block;
    margin: 4px 0;
    font-size: 20px;
}

.admin-shell .tv-filter-bar {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 1.5fr auto auto;
    margin-bottom: 14px;
}

.admin-shell .tv-donut-demo {
    width: 176px;
    height: 176px;
    margin: 10px auto 18px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--tv-color-success) 0 63%, var(--tv-color-warning) 63% 84%, var(--tv-color-danger) 84% 95%, #d0d5dd 95% 100%);
}

.admin-shell .tv-donut-demo span {
    width: 104px;
    height: 104px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: var(--tv-text-primary);
    font-size: 26px;
    font-weight: 700;
    text-align: center;
}

.admin-shell .tv-donut-demo small {
    font-size: 12px;
    color: var(--tv-text-secondary);
}

.admin-shell .tv-chart-legend,
.admin-shell .tv-checklist {
    display: grid;
    gap: 10px;
}

.admin-shell .tv-chart-legend span,
.admin-shell .tv-checklist span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #344054;
    font-size: 13px;
}

.admin-shell .tv-chart-legend i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.admin-shell .tv-chart-legend .success {
    background: var(--tv-color-success);
}

.admin-shell .tv-chart-legend .warning {
    background: var(--tv-color-warning);
}

.admin-shell .tv-chart-legend .danger {
    background: var(--tv-color-danger);
}

.admin-shell .tv-config-row,
.admin-shell .tv-integration-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 11px 0;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .tv-config-row>span:first-child,
.admin-shell .tv-integration-logo {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef8f3;
    color: var(--tv-color-primary);
    font-weight: 700;
}

.admin-shell .tv-config-row strong,
.admin-shell .tv-integration-row strong {
    display: block;
    font-size: 13px;
}

.admin-shell .tv-config-row small,
.admin-shell .tv-integration-row small {
    display: block;
    margin-top: 2px;
    color: var(--tv-text-secondary);
    font-size: 12px;
}

.admin-shell .tv-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-system-footer {
    position: fixed;
    right: 20px;
    bottom: 10px;
    color: var(--tv-text-muted);
    font-size: 11px;
}

@media (max-width: 1180px) {
    .admin-shell .settings-hub-layout {
        grid-template-columns: 1fr;
    }

    .admin-shell .executive-kpi-grid,
    .admin-shell .contas-pagar-summary-strip,
    .admin-shell .tv-token-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-shell .tv-col-4,
    .admin-shell .tv-col-5,
    .admin-shell .tv-col-6,
    .admin-shell .tv-col-7,
    .admin-shell .tv-col-8 {
        grid-column: span 12;
    }
}

@media (max-width: 760px) {
    .admin-shell .admin-main {
        padding: 18px 14px 32px;
    }

    .admin-shell .settings-layout,
    .admin-shell .settings-config-row,
    .admin-shell .tv-grid-12,
    .admin-shell .tv-form-grid,
    .admin-shell .tv-filter-bar,
    .admin-shell .tv-checklist {
        grid-template-columns: 1fr;
    }

    .admin-shell .settings-config-row__status,
    .admin-shell .settings-config-row .button {
        justify-self: start;
    }

    .admin-shell .executive-kpi-grid,
    .admin-shell .contas-pagar-summary-strip,
    .admin-shell .tv-token-grid,
    .admin-shell .tv-kpi-grid--docs {
        grid-template-columns: 1fr;
    }

    .admin-shell .admin-panel-head,
    .admin-shell .settings-topbar,
    .admin-shell .tv-page-header {
        flex-direction: column;
    }
}


/* ============================================================
   Integration Hub — componentes da tela de integrações
   ============================================================ */

.admin-shell .integ-hub-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 16px;
    align-items: start;
}

.admin-shell .integ-hub-main {
    display: grid;
    gap: 12px;
    min-width: 0;
}

/* KPI strip */
.admin-shell .integ-kpi-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.admin-shell .integ-kpi-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--tv-border-soft);
    border-radius: var(--tv-radius-card);
    background: #fff;
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .integ-kpi-card>div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-shell .integ-kpi-card strong {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    color: var(--tv-text-primary);
}

.admin-shell .integ-kpi-card span {
    font-size: 12px;
    color: var(--tv-text-secondary);
    font-weight: 500;
}

.admin-shell .integ-kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex-shrink: 0;
}

.admin-shell .integ-kpi-icon--muted {
    background: #f3f4f6;
    color: #667085;
}

.admin-shell .integ-kpi-icon--success {
    background: #e7f6ee;
    color: var(--tv-color-success);
}

.admin-shell .integ-kpi-icon--danger {
    background: #fee4e2;
    color: var(--tv-color-danger);
}

.admin-shell .integ-kpi-icon--warning {
    background: #fff4e5;
    color: var(--tv-color-warning);
}

/* Tab bar */
.admin-shell .integ-tab-bar {
    display: flex;
    gap: 4px;
    padding-bottom: 0;
    border-bottom: 1px solid var(--tv-border-soft);
    overflow-x: auto;
}

.admin-shell .integ-tab {
    min-height: 38px;
    padding: 0 14px;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    background: transparent;
    color: var(--tv-text-secondary);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.admin-shell .integ-tab.active {
    color: var(--tv-color-primary);
    border-bottom-color: var(--tv-color-primary);
}

.admin-shell .integ-tab:hover:not(.active) {
    color: var(--tv-text-primary);
    background: var(--tv-bg-muted);
    border-radius: 6px 6px 0 0;
}

/* Integration list card */
.admin-shell .integ-list-card {
    overflow: hidden;
    border: 1px solid var(--tv-border-soft);
    border-radius: var(--tv-radius-card);
    background: #fff;
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .integ-list-group-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--tv-bg-muted);
    border-bottom: 1px solid var(--tv-border-soft);
    color: var(--tv-text-secondary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.admin-shell .integ-list-row {
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .integ-list-row:last-child {
    border-bottom: 0;
}

.admin-shell .integ-list-row-summary {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto auto auto 20px;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    list-style: none;
    transition: background 0.12s;
}

.admin-shell .integ-list-row-summary::-webkit-details-marker {
    display: none;
}

.admin-shell .integ-list-row[open] .integ-list-row-summary,
.admin-shell .integ-list-row-summary:hover {
    background: #f9fbfa;
}

.admin-shell .integ-list-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 40px;
}

.admin-shell .integ-list-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 800;
}

.admin-shell .integ-list-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.admin-shell .integ-list-copy strong {
    font-size: 13px;
    font-weight: 600;
    color: var(--tv-text-primary);
}

.admin-shell .integ-list-copy span {
    font-size: 12px;
    color: var(--tv-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-shell .integ-list-meta {
    font-size: 12px;
    color: var(--tv-text-secondary);
    white-space: nowrap;
}

.admin-shell .integ-list-chevron {
    font-size: 18px;
    color: var(--tv-text-muted);
    line-height: 1;
    transition: transform 0.18s;
    user-select: none;
}

.admin-shell .integ-list-row[open] .integ-list-chevron {
    transform: rotate(90deg);
}

.admin-shell .integ-list-detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 16px 16px 88px;
    background: var(--tv-bg-muted);
    border-top: 1px solid var(--tv-border-soft);
}

.admin-shell .integ-detail-info {
    display: grid;
    gap: 6px;
}

.admin-shell .integ-detail-info p {
    margin: 0;
    font-size: 12px;
    color: var(--tv-text-secondary);
}

.admin-shell .integ-detail-info p strong {
    color: var(--tv-text-primary);
    font-weight: 600;
}

/* Right panel */
.admin-shell .integ-health-panel {
    overflow: hidden;
    border: 1px solid var(--tv-border-soft);
    border-radius: var(--tv-radius-card);
    background: #fff;
    box-shadow: var(--tv-shadow-subtle);
}

.admin-shell .integ-health-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .integ-health-head h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--tv-text-primary);
}

.admin-shell .integ-donut-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px 16px 16px;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .integ-donut-legend {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.admin-shell .integ-donut-legend span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--tv-text-secondary);
}

.admin-shell .dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.admin-shell .dot--success {
    background: var(--tv-color-success);
}

.admin-shell .dot--danger {
    background: var(--tv-color-danger);
}

.admin-shell .dot--warning {
    background: var(--tv-color-warning);
}

.admin-shell .integ-health-section {
    padding: 12px 16px;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .integ-health-section:last-child {
    border-bottom: 0;
}

.admin-shell .integ-health-section h3 {
    margin: 0 0 10px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--tv-text-secondary);
}

.admin-shell .integ-health-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid var(--tv-border-soft);
}

.admin-shell .integ-health-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.admin-shell .integ-health-item>div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.admin-shell .integ-health-item strong {
    font-size: 12px;
    font-weight: 600;
    color: var(--tv-text-primary);
}

.admin-shell .integ-health-item span:not(.ui-status-badge) {
    font-size: 11px;
    color: var(--tv-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-shell .integ-health-empty {
    margin: 0;
    font-size: 12px;
    color: var(--tv-text-muted);
    font-style: italic;
}

.admin-shell .ui-status-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}

@media (max-width: 1100px) {
    .admin-shell .integ-hub-layout {
        grid-template-columns: 1fr;
    }

    .admin-shell .integ-health-panel {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }

    .admin-shell .integ-kpi-strip {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {
    .admin-shell .integ-list-row-summary {
        grid-template-columns: 48px minmax(0, 1fr) 20px;
    }

    .admin-shell .integ-list-meta,
    .admin-shell .integ-list-row-summary .ui-status-badge,
    .admin-shell .integ-list-row-summary .button {
        display: none;
    }

    .admin-shell .integ-list-detail .button {
        display: inline-flex;
    }
}

/* Webhook rows */
.admin-shell .integ-webhook-notice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 16px;
    background: #fffbeb;
    border-bottom: 1px solid #fde68a;
    font-size: 12px;
    color: #92400e;
}

.admin-shell .integ-webhook-notice svg {
    flex-shrink: 0;
    margin-top: 1px;
}

.admin-shell .integ-webhook-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--tv-border);
}

.admin-shell .integ-webhook-row:last-child {
    border-bottom: none;
}

.admin-shell .integ-webhook-url-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.admin-shell .integ-webhook-url {
    flex: 1;
    min-width: 0;
    padding: 5px 10px;
    font-size: 12px;
    font-family: ui-monospace, 'Cascadia Code', monospace;
    color: var(--tv-text-secondary);
    background: var(--tv-bg-subtle);
    border: 1px solid var(--tv-border);
    border-radius: 6px;
    cursor: text;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-shell .integ-webhook-url:focus {
    outline: 2px solid var(--tv-color-primary);
    outline-offset: -1px;
}

.admin-shell .integ-webhook-copy {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--tv-border);
    border-radius: 6px;
    cursor: pointer;
    color: var(--tv-text-muted);
    transition: background .15s, color .15s, border-color .15s;
}

.admin-shell .integ-webhook-copy:hover {
    background: var(--tv-bg-subtle);
    color: var(--tv-color-primary);
    border-color: var(--tv-color-primary);
}

.admin-shell .integ-webhook-copy.copied {
    background: #ecfdf5;
    color: #16845b;
    border-color: #16845b;
}

.admin-shell .integ-tab svg {
    width: 13px;
    height: 13px;
    vertical-align: -2px;
}

@media (max-width: 760px) {
    .admin-shell .integ-webhook-row {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .admin-shell .integ-webhook-url-wrap,
    .admin-shell .integ-webhook-row .ui-status-badge {
        display: none;
    }
}

/* ============================================================
   Tabela Comercial (Visualizar) — padrão Terravia (sem glass)
   ============================================================ */
.admin-shell .tabela-comercial-page .tc-breadcrumb {
    margin-bottom: 6px;
    font-size: 12.5px;
    color: #667085;
}

.admin-shell .tabela-comercial-page .tc-page-title {
    margin: 0 0 4px;
    font-size: 28px;
    letter-spacing: -0.01em;
}

.admin-shell .tabela-comercial-page .tc-page-meta {
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
    color: #667085;
}

.admin-shell .tabela-comercial-page .tc-meta-sep {
    color: #98a2b3;
}

.admin-shell .tabela-comercial-page .tc-page-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.admin-shell .tabela-comercial-page .tc-page-actions .button {
    font-size: 13px;
}

.admin-shell .tabela-comercial-page .tc-status {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
    border: 1px solid transparent;
}

.admin-shell .tabela-comercial-page .tc-status-vigente {
    background: #ecfdf3;
    border-color: #abefc6;
    color: #067647;
}

.admin-shell .tabela-comercial-page .tc-status-pendente {
    background: #fffaeb;
    border-color: #fedf89;
    color: #b54708;
}

.admin-shell .tabela-comercial-page .tc-status-expirada {
    background: #fef3f2;
    border-color: #fecccb;
    color: #b42318;
}

.admin-shell .tabela-comercial-page .tc-alert-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid;
    margin: 18px 0 18px;
}

.admin-shell .tabela-comercial-page .tc-alert-box__icon {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.admin-shell .tabela-comercial-page .tc-alert-box__title {
    font-size: 13px;
    font-weight: 800;
    color: #172033;
}

.admin-shell .tabela-comercial-page .tc-alert-box__body {
    margin-top: 2px;
    font-size: 12px;
    color: #526173;
}

.admin-shell .tabela-comercial-page .tc-alert-box__sep {
    margin: 0 8px;
    color: #98a2b3;
}

.admin-shell .tabela-comercial-page .tc-alert-box--warn {
    background: #fffaeb;
    border-color: #fedf89;
}

.admin-shell .tabela-comercial-page .tc-alert-box--warn .tc-alert-box__icon {
    background: #fef0c7;
    color: #dc6803;
}

.admin-shell .tabela-comercial-page .tc-alert-box--ok {
    background: #ecfdf3;
    border-color: #abefc6;
}

.admin-shell .tabela-comercial-page .tc-alert-box--ok .tc-alert-box__icon {
    background: #d1fadf;
    color: #079455;
}

.admin-shell .tabela-comercial-page .tc-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.admin-shell .tabela-comercial-page .tc-kpi-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 14px;
    border-radius: 12px;
    border: 1px solid #e4e7ec;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06);
    min-width: 0;
}

.admin-shell .tabela-comercial-page .tc-kpi-card__icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.admin-shell .tabela-comercial-page .tc-kpi-card__value {
    font-size: 19px;
    font-weight: 850;
    color: #101828;
    line-height: 1.05;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.admin-shell .tabela-comercial-page .tc-kpi-card__value--text {
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-shell .tabela-comercial-page .tc-kpi-card__label {
    margin-top: 2px;
    font-size: 11.5px;
    font-weight: 650;
    color: #667085;
}

.admin-shell .tabela-comercial-page .tc-kpi-card--blue {
    border-color: #b2ddff;
    background: #f0f9ff;
}

.admin-shell .tabela-comercial-page .tc-kpi-card--blue .tc-kpi-card__icon {
    background: #d1e9ff;
    color: #175cd3;
}

.admin-shell .tabela-comercial-page .tc-kpi-card--green {
    border-color: #abefc6;
    background: #ecfdf3;
}

.admin-shell .tabela-comercial-page .tc-kpi-card--green .tc-kpi-card__icon {
    background: #d1fadf;
    color: #067647;
}

.admin-shell .tabela-comercial-page .tc-kpi-card--purple {
    border-color: #d6bbfb;
    background: #f4f3ff;
}

.admin-shell .tabela-comercial-page .tc-kpi-card--purple .tc-kpi-card__icon {
    background: #ebe9fe;
    color: #5925dc;
}

.admin-shell .tabela-comercial-page .tc-kpi-card--orange {
    border-color: #fedf89;
    background: #fffaeb;
}

.admin-shell .tabela-comercial-page .tc-kpi-card--orange .tc-kpi-card__icon {
    background: #fef0c7;
    color: #dc6803;
}

.admin-shell .tabela-comercial-page .tc-section-card {
    padding: 0;
    margin-bottom: 20px;
    overflow: hidden;
}

.admin-shell .tabela-comercial-page .tc-section-card__head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    border-bottom: 1px solid #eaecf0;
}

.admin-shell .tabela-comercial-page .tc-section-card__icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #eef4ff;
    color: #175cd3;
}

.admin-shell .tabela-comercial-page .tc-section-card__icon--green {
    background: #ecfdf3;
    color: #067647;
}

.admin-shell .tabela-comercial-page .tc-section-card__icon--orange {
    background: #fffaeb;
    color: #b54708;
}

.admin-shell .tabela-comercial-page .tc-section-card__icon--blue {
    background: #f0f9ff;
    color: #175cd3;
}

.admin-shell .tabela-comercial-page .tc-section-card__title {
    margin: 0;
    font-size: 16px;
    font-weight: 850;
    color: #101828;
}

.admin-shell .tabela-comercial-page .tc-section-card__subtitle {
    margin: 2px 0 0;
    font-size: 12.5px;
    color: #667085;
}

.admin-shell .tabela-comercial-page .tc-section-card__body {
    padding: 12px 12px 14px;
}

.admin-shell .tabela-comercial-page .tc-notes-body {
    padding: 16px 18px 18px;
    font-size: 13px;
    color: #667085;
    line-height: 1.6;
    white-space: pre-wrap;
}

.admin-shell .tabela-comercial-page .tc-table-scroll {
    overflow-x: auto;
}

.admin-shell .tabela-comercial-page .tc-data-table {
    font-size: 13px;
}

.admin-shell .tabela-comercial-page .tc-data-table th,
.admin-shell .tabela-comercial-page .tc-data-table td {
    border-bottom: 1px solid #eaecf0 !important;
}

.admin-shell .tabela-comercial-page .tc-data-table thead th {
    background: #f8fafc !important;
}

.admin-shell .tabela-comercial-page .tc-data-table tbody tr:nth-child(even) td {
    background: #fcfcfd;
}

.admin-shell .tabela-comercial-page .tc-data-table tbody tr:hover td {
    background: #f2f4f7;
}

.admin-shell .tabela-comercial-page .tc-unit-sub {
    margin-top: 2px;
    font-size: 11px;
    color: #98a2b3;
}

.admin-shell .tabela-comercial-page .tc-muted {
    color: #667085;
}

.admin-shell .tabela-comercial-page .tc-num {
    text-align: right !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.admin-shell .tabela-comercial-page .tc-num--highlight-green {
    color: #067647;
    font-weight: 750;
}

.admin-shell .tabela-comercial-page .tc-num--highlight-blue {
    color: #175cd3;
    font-weight: 750;
}

.admin-shell .tabela-comercial-page .tc-center {
    text-align: center !important;
    white-space: nowrap;
}

.admin-shell .tabela-comercial-page .tc-actions-col {
    text-align: right !important;
    white-space: nowrap;
}

.admin-shell .tabela-comercial-page .tc-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 8px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 750;
    border: 1px solid transparent;
    white-space: nowrap;
}

.admin-shell .tabela-comercial-page .tc-badge--warning {
    background: #fffaeb;
    border-color: #fedf89;
    color: #b54708;
}

.admin-shell .tabela-comercial-page .tc-badge--muted {
    background: #f2f4f7;
    border-color: #eaecf0;
    color: #667085;
}

.admin-shell .tabela-comercial-page .tc-plan-pill {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    background: #f2f4f7;
    border: 1px solid #eaecf0;
    color: #344054;
    font-size: 12px;
    font-weight: 750;
}

.admin-shell .tabela-comercial-page .tc-row-action-button {
    padding: 5px 10px;
    background: #ffffff;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 650;
    color: #344054;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}

.admin-shell .tabela-comercial-page .tc-row-action-button:hover {
    background: #f9fafb;
    border-color: #98a2b3;
}

.admin-shell .tabela-comercial-page .tc-caret svg {
    width: 14px;
    height: 14px;
}

.admin-shell .tabela-comercial-page .tc-dropdown {
    position: relative;
    display: inline-block;
}

.admin-shell .tabela-comercial-page .tc-dropdown-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    background: #ffffff;
    border: 1px solid #eaecf0;
    border-radius: 12px;
    padding: 6px;
    z-index: 240;
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.12);
    display: none;
    min-width: 220px;
}

.admin-shell .tabela-comercial-page .tc-dropdown-menu.show {
    display: block;
}

.admin-shell .tabela-comercial-page .tc-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    text-decoration: none;
    color: #344054;
    font-size: 13px;
}

.admin-shell .tabela-comercial-page .tc-dropdown-item:hover {
    background: #f2f4f7;
}

.admin-shell .tabela-comercial-page .tc-pdf-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 750;
}

.admin-shell .tabela-comercial-page .tc-pdf-status--sim {
    color: #067647;
}

.admin-shell .tabela-comercial-page .tc-pdf-status--nao {
    color: #667085;
}

@media (max-width: 1280px) {
    .admin-shell .tabela-comercial-page .tc-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .admin-shell .tabela-comercial-page .tc-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .admin-shell .tabela-comercial-page .tc-kpi-grid { grid-template-columns: 1fr; }
}

/* Broker commercial cockpit final overrides */
.dashboard-corretor .topbar {
    min-height: 74px;
    grid-template-columns: auto auto minmax(320px, 520px) auto !important;
    gap: 22px;
    background: linear-gradient(135deg, #063719, #0b4a25);
    border-radius: 0 0 22px 22px;
    padding: 10px 26px;
}

.dashboard-corretor .dashboard-content {
    grid-template-columns: 252px minmax(0, 1fr) !important;
    gap: 0;
    padding: 0;
    border: 0;
    background: #f6f8f5;
}

.dashboard-corretor .dashboard-main--broker {
    padding: 24px 26px 28px;
}

.dashboard-corretor .sidebar {
    padding: 18px;
    min-height: calc(100vh - 74px);
    border-right: 1px solid #e1e7df;
    background: #fff;
}

.dashboard-corretor .sidebar-link.is-current {
    color: #fff;
    background: linear-gradient(135deg, #147a3a, #006b37);
}

.dashboard-corretor .broker-global-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    height: 44px;
    padding: 0 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.dashboard-corretor .broker-global-search input {
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
}

.dashboard-corretor .broker-global-search input::placeholder {
    color: rgba(255, 255, 255, 0.74);
}

.dashboard-corretor .broker-global-search kbd {
    color: #fff;
    background: rgba(0, 0, 0, 0.28);
    border-radius: 7px;
    padding: 4px 7px;
    font-size: 0.72rem;
}

.dashboard-corretor .broker-page-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: -56px;
}

.dashboard-corretor .kpi-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 16px;
}

.dashboard-corretor .kpi-card {
    min-height: 126px;
    border-radius: 14px;
    border: 1px solid #e1e7df;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.dashboard-corretor .broker-commercial-grid--top {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
    gap: 18px;
}

.dashboard-corretor .broker-commercial-grid--middle {
    display: grid;
    grid-template-columns: minmax(280px, 0.86fr) minmax(360px, 1.1fr) minmax(300px, 0.9fr);
    gap: 18px;
}

.dashboard-corretor .panel {
    border-radius: 14px;
    border: 1px solid #e1e7df;
    background: #fff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.dashboard-corretor .featured-list {
    max-height: none !important;
    overflow: visible !important;
}

.dashboard-corretor .broker-shortcut-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(230px, 0.85fr);
    gap: 10px;
}

@media (max-width: 1380px) {
    .dashboard-corretor .kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .dashboard-corretor .broker-commercial-grid--top,
    .dashboard-corretor .broker-commercial-grid--middle,
    .dashboard-corretor .broker-shortcut-strip { grid-template-columns: 1fr; }
}

@media (max-width: 1060px) {
    .dashboard-corretor .topbar,
    .dashboard-corretor .dashboard-content { grid-template-columns: 1fr !important; }
    .dashboard-corretor .broker-page-toolbar { margin-top: 0; justify-content: flex-start; }
}

@media (max-width: 720px) {
    .dashboard-corretor .kpi-grid,
    .dashboard-corretor .broker-wallet-cards,
    .dashboard-corretor .featured-card { grid-template-columns: 1fr !important; }
}

/* Broker cockpit visual corrections after QA */
.dashboard-corretor .dashboard-shell {
    width: 100% !important;
    max-width: none !important;
}

.dashboard-corretor .topbar {
    border-radius: 0 !important;
}

.dashboard-corretor .dashboard-content {
    width: 100% !important;
}

.dashboard-corretor .dashboard-hero--broker {
    margin-bottom: 8px;
}

.dashboard-corretor .hero-actions--broker {
    align-self: start;
    justify-content: flex-end;
    gap: 10px;
}

.dashboard-corretor .broker-page-toolbar {
    display: none !important;
}

.dashboard-corretor .broker-period-filter {
    height: 40px;
    max-width: 340px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.dashboard-corretor .broker-period-filter select {
    max-width: 230px;
    font-size: 0.9rem;
}

.dashboard-corretor .kpi-card {
    min-height: 118px !important;
    padding: 14px 16px !important;
}

.dashboard-corretor .kpi-value {
    font-size: 1.36rem !important;
    overflow-wrap: anywhere;
}

.dashboard-corretor .broker-chart {
    height: 205px !important;
    overflow: hidden;
}

.dashboard-corretor .broker-chart__bar {
    min-height: 0 !important;
    border-radius: 8px 8px 0 0 !important;
}

.dashboard-corretor .broker-chart__bar[style*="height: 0%"] {
    display: none;
}

.dashboard-corretor .broker-chart__bar--vgv {
    bottom: 36px !important;
    border-radius: 8px 8px 0 0 !important;
}

.dashboard-corretor .featured-card {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    align-items: center !important;
    padding: 10px !important;
    border: 1px solid #e1e7df !important;
    border-radius: 12px !important;
}

.dashboard-corretor .featured-card__copy {
    grid-column: 2;
}

.dashboard-corretor .featured-actions {
    grid-column: 2 !important;
    justify-self: start !important;
    align-self: start !important;
    min-width: 0;
}

.dashboard-corretor .featured-actions .table-action {
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    white-space: nowrap;
    max-width: 100%;
}

.dashboard-corretor .featured-card__thumb {
    grid-row: span 2;
    width: 88px;
    height: 72px;
}

.dashboard-corretor .broker-map-preview {
    height: 260px !important;
}

.dashboard-corretor .broker-shortcut-card,
.dashboard-corretor .broker-help-card {
    min-width: 0;
}

@media (min-width: 1381px) {
    .dashboard-corretor .broker-commercial-grid--middle {
        grid-template-columns: minmax(320px, 0.88fr) minmax(360px, 1.08fr) minmax(310px, 0.9fr) !important;
    }
}

/* Broker cockpit density pass */
.dashboard-corretor .dashboard-main--broker {
    padding: 22px 30px 22px !important;
    gap: 12px !important;
}

.dashboard-corretor .dashboard-hero--broker {
    align-items: center !important;
    margin-bottom: 4px !important;
}

.dashboard-corretor .dashboard-hero h1 {
    font-size: 1.78rem !important;
    margin-bottom: 3px !important;
}

.dashboard-corretor .dashboard-subtitle {
    font-size: 0.9rem !important;
}

.dashboard-corretor .kpi-grid {
    gap: 12px !important;
}

.dashboard-corretor .kpi-card {
    min-height: 108px !important;
    padding: 12px 14px !important;
}

.dashboard-corretor .kpi-card__top {
    margin-bottom: 8px !important;
}

.dashboard-corretor .kpi-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
}

.dashboard-corretor .kpi-label {
    font-size: 0.78rem !important;
    margin-bottom: 4px !important;
}

.dashboard-corretor .kpi-value {
    font-size: 1.28rem !important;
    margin-bottom: 4px !important;
}

.dashboard-corretor .kpi-note {
    font-size: 0.74rem !important;
}

.dashboard-corretor .panel {
    padding: 14px 16px !important;
}

.dashboard-corretor .panel-head {
    margin-bottom: 8px !important;
}

.dashboard-corretor .broker-commercial-grid--top,
.dashboard-corretor .broker-commercial-grid--middle {
    gap: 14px !important;
}

.dashboard-corretor .broker-commercial-grid--top {
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr) !important;
}

.dashboard-corretor .broker-chart {
    height: 164px !important;
    padding-top: 10px !important;
}

.dashboard-corretor .broker-chart__bar--vgv {
    bottom: 34px !important;
}

.dashboard-corretor .broker-wallet-cards {
    gap: 9px !important;
}

.dashboard-corretor .broker-wallet-cards div {
    padding: 10px 12px !important;
}

.dashboard-corretor .broker-wallet-cards strong {
    font-size: 1.2rem !important;
}

.dashboard-corretor .broker-goal-bar {
    margin-top: 12px !important;
}

.dashboard-corretor .featured-list {
    gap: 10px !important;
}

.dashboard-corretor .featured-card {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    padding: 8px !important;
    gap: 10px !important;
}

.dashboard-corretor .featured-card__thumb {
    width: 72px !important;
    height: 58px !important;
}

.dashboard-corretor .featured-card__row--header {
    align-items: flex-start !important;
}

.dashboard-corretor .featured-card__row--header strong {
    font-size: 0.9rem !important;
}

.dashboard-corretor .featured-card__row--meta span,
.dashboard-corretor .featured-card__row--prices span {
    font-size: 0.74rem !important;
}

.dashboard-corretor .featured-actions .table-action {
    min-height: 26px !important;
    padding: 4px 10px !important;
    font-size: 0.76rem !important;
}

.dashboard-corretor .broker-map-preview {
    height: 218px !important;
}

.dashboard-corretor .broker-activity-item {
    min-height: 52px !important;
    padding: 8px 0 !important;
}

.dashboard-corretor .broker-activity-icon {
    width: 30px !important;
    height: 30px !important;
}

.dashboard-corretor .broker-shortcut-strip {
    gap: 8px !important;
}

.dashboard-corretor .broker-shortcut-card,
.dashboard-corretor .broker-help-card {
    min-height: 66px !important;
    padding: 12px !important;
}

.dashboard-corretor .broker-shortcut-card small,
.dashboard-corretor .broker-help-card span {
    font-size: 0.72rem !important;
}

/* Broker shell: full width and implemented navigation only */
main.dashboard-page.dashboard-corretor,
.dashboard-corretor.dashboard-page {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dashboard-corretor .dashboard-shell {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
}

.dashboard-corretor .topbar {
    margin: 0 !important;
    width: 100% !important;
}

.dashboard-corretor .dashboard-content {
    width: 100vw !important;
    max-width: none !important;
}

.dashboard-corretor .sidebar {
    border-radius: 0 !important;
    box-shadow: none !important;
}

.dashboard-corretor .sidebar-link {
    gap: 0 !important;
    padding-left: 14px !important;
}

.dashboard-corretor .sidebar-dot {
    display: none !important;
}

.dashboard-corretor .sidebar-title + .sidebar-nav {
    margin-bottom: 10px;
}

/* Perfil comercial do corretor */
.profile-commercial-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 8% 0%, rgba(11, 74, 37, 0.08), transparent 30%),
        linear-gradient(180deg, #f6f8f5 0%, #eef3ef 100%);
    color: #0f172a;
    font-family: var(--font-body, Inter, sans-serif);
    padding: 28px 20px 42px;
}

.profile-commercial-shell {
    display: grid;
    gap: 18px;
    max-width: 1320px;
    margin: 0 auto;
}

.profile-commercial-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.profile-breadcrumb {
    color: #0b6b3a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.profile-commercial-header h1 {
    color: #0b2f20;
    font-family: var(--font-heading, Inter, sans-serif);
    font-size: 30px;
    line-height: 1.1;
    margin: 0 0 8px;
}

.profile-commercial-header p {
    color: #667085;
    font-size: 14px;
    margin: 0;
}

.profile-header-actions,
.profile-section-actions,
.profile-upload-actions,
.profile-unsaved-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.profile-button {
    align-items: center;
    border: 1px solid #d9e3dc;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    text-decoration: none;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.profile-button:hover {
    border-color: #b7c8bd;
    transform: translateY(-1px);
}

.profile-button--primary {
    background: #0b6b3a;
    border-color: #0b6b3a;
    color: #fff;
    box-shadow: 0 12px 24px rgba(11, 107, 58, 0.16);
}

.profile-button--ghost {
    background: #fff;
}

.profile-button--soft {
    background: #eaf7ef;
    border-color: #cfe8d7;
    color: #075c35;
}

.profile-button--danger {
    background: #fff7f7;
    border-color: #ffd7d7;
    color: #b42318;
}

.profile-button--small {
    min-height: 34px;
    padding: 0 12px;
}

.profile-button input,
.profile-avatar-action input,
.profile-upload-card input {
    display: none;
}

.profile-toast {
    border: 1px solid #d9e3dc;
    border-radius: 14px;
    background: #fff;
    color: #0f172a;
    font-weight: 700;
    padding: 13px 16px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.profile-toast--success {
    border-color: #bfe7cb;
    background: #effaf3;
    color: #08703d;
}

.profile-toast--error {
    border-color: #ffd4d4;
    background: #fff4f4;
    color: #b42318;
}

.profile-commercial-grid {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: 340px minmax(0, 1fr);
}

.profile-summary-card,
.profile-form-card {
    background: #fff;
    border: 1px solid #e1e7df;
    border-radius: 18px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
}

.profile-summary-card {
    display: grid;
    gap: 18px;
    padding: 26px 22px;
    position: sticky;
    top: 20px;
}

.profile-avatar-zone {
    display: grid;
    justify-items: center;
    text-align: center;
}

.profile-avatar-wrap {
    height: 132px;
    position: relative;
    width: 132px;
}

.profile-avatar-ring {
    align-items: center;
    background: #eaf7ef;
    border: 3px solid #22a35a;
    border-radius: 999px;
    color: #075c35;
    display: flex;
    font-size: 38px;
    font-weight: 900;
    height: 122px;
    justify-content: center;
    overflow: hidden;
    width: 122px;
}

.profile-avatar-ring img,
.profile-photo-preview img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.profile-avatar-action {
    align-items: center;
    background: #0b6b3a;
    border: 3px solid #fff;
    border-radius: 999px;
    bottom: 8px;
    box-shadow: 0 8px 18px rgba(11, 107, 58, 0.24);
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 11px;
    font-weight: 900;
    height: 36px;
    justify-content: center;
    position: absolute;
    right: -10px;
    padding: 0 10px;
    width: 42px;
    width: auto;
}

.profile-summary-title {
    display: grid;
    justify-items: center;
    text-align: center;
}

.profile-summary-title h2,
.profile-identity h2 {
    font-size: 22px;
    margin: 10px 0 4px;
}

.profile-summary-title span,
.profile-identity p {
    color: #667085;
    margin: 0 0 8px;
}

.profile-summary-title strong,
.profile-status {
    background: #dcf7e6;
    border-radius: 999px;
    color: #08703d;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 12px;
}

.profile-quick-list,
.profile-manager-card {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 11px;
    padding-top: 16px;
}

.profile-quick-list span,
.profile-manager-info span {
    color: #667085;
    font-size: 12px;
}

.profile-quick-list strong,
.profile-manager-info strong {
    color: #172033;
    font-size: 13px;
}

.profile-quick-list div,
.profile-manager-main {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 78px minmax(0, 1fr);
}

.profile-quick-list span {
    overflow-wrap: normal;
    word-break: normal;
}

.profile-quick-list strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.profile-completion {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 9px;
    padding-top: 16px;
}

.profile-completion > div,
.profile-completion-row {
    align-items: center;
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 800;
}

.profile-completion i,
.profile-progress {
    background: #e5e7eb;
    border-radius: 999px;
    display: block;
    height: 8px;
    overflow: hidden;
}

.profile-completion i b,
.profile-progress span {
    background: linear-gradient(90deg, #0b6b3a, #22a35a);
    display: block;
    height: 100%;
}

.profile-alert-soft {
    align-items: flex-start;
    background: #effaf3;
    border: 1px solid #d9efdf;
    border-radius: 14px;
    color: #244033;
    display: grid;
    font-size: 12px;
    gap: 10px;
    grid-template-columns: 22px minmax(0, 1fr);
    line-height: 1.45;
    padding: 13px;
}

.profile-alert-box {
    background: #effaf3;
    border: 1px solid #d9efdf;
    border-radius: 14px;
    color: #244033;
    font-size: 12px;
    line-height: 1.45;
    padding: 14px 16px;
}

.profile-manager-card > span,
.profile-linked-projects > span {
    color: #344054;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.profile-manager-card small {
    color: #667085;
}

.profile-manager-card a {
    color: #08703d;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.profile-manager-avatar {
    align-items: center;
    background: #eaf7ef;
    border-radius: 999px;
    color: #075c35;
    display: flex;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    overflow: hidden;
    width: 42px;
}

.profile-manager-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.profile-manager-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.profile-icon-button {
    align-items: center;
    background: #eaf7ef;
    border: 1px solid #cfe8d7;
    border-radius: 999px;
    color: #075c35;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    text-decoration: none;
    width: 34px;
}

.profile-linked-projects {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 10px;
    padding-top: 16px;
}

.profile-linked-projects > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.profile-linked-projects strong,
.profile-linked-projects em,
.profile-manager-card h3 {
    background: #eaf7ef;
    border-radius: 999px;
    color: #08703d;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    margin: 0;
    padding: 6px 10px;
}

.profile-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.profile-chip {
    background: #eaf7ef;
    border-radius: 999px;
    color: #08703d;
    font-size: 11px;
    font-weight: 800;
    padding: 6px 10px;
}

.profile-form-card {
    overflow: hidden;
}

.profile-form-head {
    align-items: flex-start;
    border-bottom: 1px solid #e1e7df;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 24px 26px;
}

.profile-form-head h2 {
    color: #0b2f20;
    font-size: 28px;
    margin: 0 0 6px;
}

.profile-form-head p {
    color: #667085;
    margin: 0;
}

.profile-tabs {
    border-bottom: 1px solid #e1e7df;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 12px 18px 0;
}

.profile-tabs button {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    color: #667085;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    min-height: 48px;
    padding: 0 14px;
    white-space: nowrap;
}

.profile-tabs button.is-active {
    border-color: #0b6b3a;
    color: #0b6b3a;
}

.profile-tab-panel {
    display: none;
    padding: 24px 26px 28px;
}

.profile-tab-panel.is-active {
    display: block;
}

.profile-section-head,
.profile-section-title {
    margin-bottom: 18px;
}

.profile-section-head h2,
.profile-section-title h3 {
    font-size: 16px;
    margin: 0 0 5px;
}

.profile-section-head p,
.profile-section-title p {
    color: #667085;
    font-size: 13px;
    margin: 0;
}

.profile-form-grid {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-field {
    align-content: start;
    display: grid;
    gap: 7px;
}

.profile-field label,
.profile-field > span {
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.profile-field em {
    color: #d92d20;
    font-style: normal;
}

.profile-field input,
.profile-field select,
.profile-field textarea {
    background: #fff;
    border: 1px solid #d6dfd8;
    border-radius: 11px;
    color: #0f172a;
    font: inherit;
    min-height: 44px;
    outline: none;
    padding: 10px 12px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    width: 100%;
}

.profile-field input:focus,
.profile-field select:focus,
.profile-field textarea:focus {
    border-color: #0b6b3a;
    box-shadow: 0 0 0 4px rgba(11, 107, 58, 0.1);
}

.profile-field textarea {
    min-height: 126px;
    resize: vertical;
}

.profile-field input[readonly] {
    background: #f8faf8;
    color: #667085;
}

.profile-field--wide,
.profile-photo-uploader,
.profile-preferences-block {
    grid-column: 1 / -1;
}

.profile-field-note,
.profile-char-counter {
    color: #667085;
    font-size: 12px;
}

.profile-char-counter {
    justify-self: end;
}

.profile-photo-uploader {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) 170px;
    margin-top: 6px;
    padding-top: 22px;
}

.profile-upload-card {
    align-items: center;
    border: 1px dashed #bfd2c3;
    border-radius: 14px;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 140px minmax(0, 1fr);
    padding: 14px;
}

.profile-upload-card span {
    color: #0f172a;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;
}

.profile-upload-card small {
    color: #667085;
    font-size: 12px;
}

.profile-photo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.profile-upload-thumb {
    align-items: center;
    background: #eaf7ef;
    border-radius: 14px;
    color: #075c35;
    display: flex;
    font-weight: 900;
    height: 52px;
    justify-content: center;
    overflow: hidden;
    width: 52px;
}

.profile-upload-thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.profile-upload-title {
    color: #0f172a;
    font-size: 13px;
    font-weight: 900;
}

.profile-upload-meta {
    color: #667085;
    font-size: 12px;
}

.profile-photo-preview,
.profile-preview-card {
    align-items: center;
    border: 1px solid #e1e7df;
    border-radius: 14px;
    display: grid;
    justify-items: center;
    padding: 16px 12px;
    text-align: center;
}

.profile-photo-preview > span,
.profile-preview-card strong {
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 14px;
}

.profile-photo-preview > div {
    align-items: center;
    background: #eaf7ef;
    border: 2px solid #bfe7cb;
    border-radius: 999px;
    color: #075c35;
    display: flex;
    font-size: 28px;
    font-weight: 900;
    height: 96px;
    justify-content: center;
    overflow: hidden;
    width: 96px;
}

.profile-photo-preview > div img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.profile-photo-preview small,
.profile-preview-card span {
    color: #667085;
    font-size: 12px;
    margin-top: 12px;
}

.profile-readonly-panel {
    background: #f8faf8;
    border: 1px solid #e1e7df;
    border-radius: 14px;
    color: #475467;
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding: 14px;
}

.profile-readonly-panel strong {
    color: #0f172a;
}

.profile-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-chip-row span {
    background: #eaf7ef;
    border-radius: 999px;
    color: #08703d;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
}

.profile-preference-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-toggle {
    align-items: center;
    border: 1px solid #e1e7df;
    border-radius: 12px;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 18px minmax(0, 1fr);
    padding: 12px;
}

.profile-toggle input {
    accent-color: #0b6b3a;
}

.profile-toggle strong {
    display: block;
    font-size: 13px;
}

.profile-toggle span {
    color: #667085;
    display: block;
    font-size: 12px;
    margin-top: 2px;
}

.profile-password-meter {
    background: #e5e7eb;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.profile-password-meter span {
    background: #d92d20;
    display: block;
    height: 100%;
    transition: width 0.18s ease, background 0.18s ease;
    width: 0;
}

.profile-security-meter {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.profile-security-meter span,
.profile-security-meter strong {
    color: #667085;
    font-size: 12px;
}

.profile-security-meter i {
    background: #e5e7eb;
    border-radius: 999px;
    display: block;
    height: 8px;
    overflow: hidden;
}

.profile-security-meter i b {
    background: #d92d20;
    display: block;
    height: 100%;
    width: 0;
}

.profile-empty-text {
    color: #667085;
    font-size: 13px;
    margin: 0;
}

.profile-unsaved-bar {
    align-items: center;
    background: #0b2f20;
    border-radius: 16px;
    bottom: 16px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.22);
    color: #fff;
    display: none;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 760px;
    padding: 12px 14px 12px 18px;
    position: sticky;
    z-index: 10;
}

.profile-unsaved-bar.is-visible {
    display: flex;
}

.profile-unsaved-bar strong {
    font-size: 13px;
}

@media (max-width: 980px) {
    .profile-commercial-grid,
    .profile-photo-uploader {
        grid-template-columns: 1fr;
    }

    .profile-summary-card {
        position: static;
    }

    .profile-form-head,
    .profile-commercial-header {
        flex-direction: column;
    }

    .profile-section-actions,
    .profile-header-actions {
        width: 100%;
    }
}

@media (max-width: 680px) {
    .profile-commercial-page {
        padding: 18px 12px 30px;
    }

    .profile-form-grid,
    .profile-preference-grid {
        grid-template-columns: 1fr;
    }

    .profile-button,
    .profile-section-actions,
    .profile-header-actions,
    .profile-unsaved-bar,
    .profile-unsaved-actions {
        width: 100%;
    }

    .profile-unsaved-bar {
        align-items: stretch;
        flex-direction: column;
    }
}

/* ============================================================
   Perfil — versao dentro do admin shell
   ============================================================ */
.admin-shell .profile-admin-grid {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.admin-shell .profile-admin-summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
    padding: 24px 20px;
}

.admin-shell .profile-admin-avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--tv-color-primary, #15396b);
    background: #eaf7ef;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 700;
    color: var(--tv-color-primary, #15396b);
    flex-shrink: 0;
    margin-bottom: 14px;
}

.admin-shell .profile-admin-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-shell .profile-admin-identity {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin-bottom: 16px;
}

.admin-shell .profile-admin-identity h2 {
    font-size: 15px;
    font-weight: 600;
    margin: 0;
    color: var(--tv-ink);
}

.admin-shell .profile-admin-identity p {
    font-size: 12px;
    color: var(--tv-text-muted, #667085);
    margin: 0;
}

.admin-shell .profile-admin-dl {
    width: 100%;
    border-top: 1px solid var(--tv-border, #e5e9ef);
    padding-top: 14px;
    margin: 0 0 16px;
    display: grid;
    gap: 10px;
    text-align: left;
}

.admin-shell .profile-admin-dl div {
    display: grid;
    gap: 2px;
}

.admin-shell .profile-admin-dl dt {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: var(--tv-text-muted, #667085);
    font-weight: 500;
}

.admin-shell .profile-admin-dl dt svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.admin-shell .profile-admin-dl dd {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--tv-ink, #111827);
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-shell .profile-admin-form {
    overflow: hidden;
    padding: 0;
}

@media (max-width: 960px) {
    .admin-shell .profile-admin-grid {
        grid-template-columns: 1fr;
    }
    .admin-shell .profile-admin-summary {
        flex-direction: row;
        text-align: left;
        flex-wrap: wrap;
        gap: 16px;
    }
    .admin-shell .profile-admin-avatar {
        margin-bottom: 0;
    }
}

/* Perfil dentro do admin shell — overrides */
.admin-shell .settings-page .generic-profile-grid {
    margin-top: 20px;
}

.admin-shell .settings-page .generic-profile-card,
.admin-shell .settings-page .generic-profile-form {
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
}

/* Perfil por tipo de usuario */
.generic-profile-page {
    min-height: 100vh;
    background: #f6f8f5;
    padding: 32px 20px;
}

.generic-profile-shell {
    display: grid;
    gap: 18px;
    margin: 0 auto;
    max-width: 1120px;
}

.generic-profile-header {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.generic-profile-header p {
    color: #0b6b3a;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    margin: 0 0 6px;
}

.generic-profile-header h1 {
    color: #0b2f20;
    font-size: 30px;
    margin: 0 0 6px;
}

.generic-profile-header span {
    color: #667085;
}

.generic-profile-header > div:last-child {
    display: flex;
    gap: 10px;
}

.generic-profile-grid {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: 310px minmax(0, 1fr);
}

.generic-profile-card,
.generic-profile-form {
    background: #fff;
    border: 1px solid #e1e7df;
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .08);
}

.generic-profile-card {
    display: grid;
    gap: 14px;
    justify-items: center;
    padding: 24px;
    text-align: center;
}

.generic-profile-avatar {
    align-items: center;
    background: #eaf7ef;
    border: 3px solid #22a35a;
    border-radius: 999px;
    color: #075c35;
    display: flex;
    font-size: 32px;
    font-weight: 900;
    height: 118px;
    justify-content: center;
    overflow: hidden;
    width: 118px;
}

.generic-profile-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.generic-profile-card h2 {
    margin: 6px 0 0;
}

.generic-profile-card p {
    color: #667085;
    margin: 0;
}

.generic-profile-card > strong {
    background: #dcf7e6;
    border-radius: 999px;
    color: #08703d;
    font-size: 12px;
    padding: 5px 12px;
}

.generic-profile-card dl {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 10px;
    margin: 8px 0 0;
    padding-top: 16px;
    text-align: left;
    width: 100%;
}

.generic-profile-card dl div {
    display: grid;
    gap: 8px;
    grid-template-columns: 84px minmax(0, 1fr);
}

.generic-profile-card dt {
    color: #667085;
    font-size: 12px;
}

.generic-profile-card dd {
    color: #172033;
    font-size: 13px;
    font-weight: 800;
    margin: 0;
    overflow-wrap: anywhere;
}

.generic-profile-form {
    overflow: hidden;
}

/* Perfil comercial do corretor - prototipo aprovado */
.broker-profile-page {
    min-height: 100vh;
    background: #f6f8f5;
    color: #0f172a;
    font-family: var(--font-body, Inter, sans-serif);
}

.broker-profile-topbar {
    align-items: center;
    background: linear-gradient(90deg, #04351f 0%, #07532e 100%);
    color: #fff;
    display: grid;
    grid-template-columns: 220px 44px auto 1fr 38px 38px auto auto;
    height: 68px;
    padding: 0 26px;
}

.broker-profile-brand {
    align-items: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
}

.broker-profile-brand img {
    max-height: 50px;
    max-width: 155px;
    object-fit: contain;
}

.broker-profile-brand strong {
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    line-height: .8;
    text-transform: uppercase;
}

.broker-profile-brand span {
    font-size: 11px;
    opacity: .8;
}

.broker-profile-menu-icon {
    border-left: 1px solid rgba(255, 255, 255, .18);
    height: 68px;
    position: relative;
}

.broker-profile-menu-icon::after {
    color: #fff;
    content: "☰";
    font-size: 24px;
    left: 28px;
    position: absolute;
    top: 20px;
}

.broker-profile-top-title {
    font-size: 16px;
    font-weight: 800;
    padding-left: 28px;
}

.broker-profile-top-spacer {
    min-width: 20px;
}

.broker-profile-top-icon,
.broker-profile-help,
.broker-profile-logout {
    align-items: center;
    background: transparent;
    border: 0;
    color: #fff;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    position: relative;
    text-decoration: none;
    width: 38px;
}

.broker-profile-top-icon::before {
    content: "◔";
    font-size: 23px;
}

.broker-profile-top-icon span {
    align-items: center;
    background: #ef4444;
    border-radius: 999px;
    display: flex;
    font-size: 10px;
    font-weight: 900;
    height: 17px;
    justify-content: center;
    position: absolute;
    right: 4px;
    top: 5px;
    width: 17px;
}

.broker-profile-help::before {
    content: "?";
    border: 2px solid #fff;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    height: 20px;
    line-height: 17px;
    text-align: center;
    width: 20px;
}

.broker-profile-user {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr);
    margin-left: 14px;
}

.broker-profile-user img,
.broker-profile-user > span {
    align-items: center;
    background: #d9b875;
    border-radius: 999px;
    display: flex;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    object-fit: cover;
    width: 42px;
}

.broker-profile-user strong {
    display: block;
    font-size: 14px;
    line-height: 1.1;
    white-space: nowrap;
}

.broker-profile-user small {
    display: block;
    opacity: .85;
}

.broker-profile-logout {
    background: #fff;
    border-radius: 999px;
    color: #475467;
    font-weight: 900;
    margin-left: 12px;
    min-width: 58px;
    width: auto;
}

.broker-profile-layout {
    display: grid;
    grid-template-columns: 218px minmax(0, 1fr);
}

.broker-profile-sidebar {
    background: #fff;
    border-right: 1px solid #e1e7df;
    min-height: calc(100vh - 68px);
    padding: 24px 12px 20px;
}

.broker-profile-sidebar nav {
    display: grid;
    gap: 4px;
}

.broker-profile-sidebar nav a {
    align-items: center;
    border-radius: 9px;
    color: #344054;
    display: grid;
    font-size: 14px;
    font-weight: 700;
    gap: 10px;
    grid-template-columns: 24px minmax(0, 1fr);
    min-height: 42px;
    padding: 0 12px;
    text-decoration: none;
}

.broker-profile-sidebar nav a.is-active {
    background: #eaf7ef;
    color: #08703d;
}

[data-profile-icon] {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

[data-profile-icon]::before {
    border: 1.8px solid currentColor;
    border-radius: 5px;
    content: "";
    height: 16px;
    width: 16px;
}

[data-profile-icon="phone"]::before { border-radius: 999px 999px 999px 2px; transform: rotate(-35deg); }
[data-profile-icon="whatsapp"]::before { border-radius: 999px; }
[data-profile-icon="mail"]::before { border-radius: 3px; }
[data-profile-icon="person"]::before { border-radius: 999px 999px 4px 4px; }
[data-profile-icon="lock"]::before { border-radius: 4px; }
[data-profile-icon="coin"]::before { border-radius: 999px; }
[data-profile-icon="star"]::before { border-radius: 999px; }
[data-profile-icon="gear"]::before { border-radius: 999px; }

.broker-profile-support {
    border: 1px solid #d9e3dc;
    border-radius: 10px;
    display: grid;
    gap: 10px;
    margin-top: 74px;
    padding: 18px 16px;
}

.broker-profile-support strong {
    color: #075c35;
}

.broker-profile-support span {
    color: #667085;
    font-size: 13px;
}

.broker-profile-support a {
    align-items: center;
    border: 1px solid #0b6b3a;
    border-radius: 8px;
    color: #075c35;
    display: flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
    min-height: 38px;
    text-decoration: none;
}

.broker-profile-content {
    padding: 28px 34px 34px;
}

.broker-profile-workspace {
    display: grid;
    gap: 24px;
    grid-template-columns: 300px minmax(0, 1fr);
    margin: 0 auto;
    max-width: 1320px;
}

.broker-profile-summary,
.broker-profile-card {
    background: #fff;
    border: 1px solid #dde6df;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.broker-profile-summary {
    align-self: start;
    display: grid;
    gap: 16px;
    justify-items: center;
    padding: 28px 24px;
}

.broker-profile-avatar {
    height: 132px;
    position: relative;
    width: 132px;
}

.broker-profile-avatar > div {
    align-items: center;
    background: #eaf7ef;
    border: 3px solid #22a35a;
    border-radius: 999px;
    color: #075c35;
    display: flex;
    font-size: 34px;
    font-weight: 900;
    height: 132px;
    justify-content: center;
    overflow: hidden;
    width: 132px;
}

.broker-profile-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.broker-profile-avatar label {
    align-items: center;
    background: #0b6b3a;
    border: 3px solid #fff;
    border-radius: 999px;
    bottom: 2px;
    box-shadow: 0 8px 18px rgba(11, 107, 58, .24);
    color: #fff;
    cursor: pointer;
    display: flex;
    height: 38px;
    justify-content: center;
    position: absolute;
    right: 4px;
    width: 38px;
}

.broker-profile-avatar label::before {
    content: "●";
    font-size: 14px;
}

.broker-profile-summary h2 {
    font-size: 22px;
    margin: 0;
}

.broker-profile-summary > p {
    color: #667085;
    margin: -10px 0 0;
}

.broker-profile-summary > strong {
    background: #dcf7e6;
    border-radius: 999px;
    color: #08703d;
    font-size: 12px;
    padding: 5px 12px;
}

.broker-profile-facts {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 12px;
    margin: 4px 0 0;
    padding-top: 18px;
    width: 100%;
}

.broker-profile-facts div {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 20px minmax(0, 1fr);
}

.broker-profile-facts dt {
    color: #667085;
}

.broker-profile-facts dd {
    color: #475467;
    font-size: 13px;
    margin: 0;
    overflow-wrap: anywhere;
}

.broker-profile-completion {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 10px;
    padding-top: 16px;
    width: 100%;
}

.broker-profile-completion div {
    display: flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: space-between;
}

.broker-profile-completion i {
    background: #e5e7eb;
    border-radius: 999px;
    display: block;
    height: 7px;
    overflow: hidden;
}

.broker-profile-completion i b {
    background: #0b6b3a;
    display: block;
    height: 100%;
}

.broker-profile-note {
    align-items: start;
    background: #effaf3;
    border-radius: 10px;
    color: #244033;
    display: grid;
    gap: 12px;
    grid-template-columns: 24px 1fr;
    line-height: 1.45;
    padding: 14px;
    width: 100%;
}

.broker-profile-manager,
.broker-profile-linked {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 12px;
    padding-top: 16px;
    width: 100%;
}

.broker-profile-manager h3,
.broker-profile-linked h3 {
    color: #344054;
    font-size: 13px;
    margin: 0;
}

.broker-profile-manager > div {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) 32px 32px;
}

.broker-profile-manager > div > span {
    align-items: center;
    background: #d9b875;
    border-radius: 999px;
    display: flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.broker-profile-manager p {
    display: grid;
    gap: 2px;
    margin: 0;
}

.broker-profile-manager small {
    color: #667085;
}

.broker-profile-manager a {
    align-items: center;
    background: #dcf7e6;
    border-radius: 999px;
    color: #08703d;
    display: flex;
    height: 32px;
    justify-content: center;
    text-decoration: none;
    width: 32px;
}

.broker-profile-linked div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.broker-profile-linked span {
    background: #eaf7ef;
    border-radius: 999px;
    color: #08703d;
    font-size: 11px;
    font-weight: 800;
    padding: 6px 10px;
}

.broker-profile-card {
    overflow: hidden;
}

.broker-profile-card > header {
    align-items: center;
    border-bottom: 1px solid #e1e7df;
    display: flex;
    justify-content: space-between;
    padding: 26px 28px;
}

.broker-profile-card > header h1 {
    color: #0b2f20;
    font-size: 30px;
    margin: 0 0 8px;
}

.broker-profile-card > header p {
    color: #667085;
    margin: 0;
}

.broker-profile-card > header > div:last-child {
    display: flex;
    gap: 10px;
}

.broker-profile-tabs {
    border-bottom: 1px solid #e1e7df;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 0 18px;
}

.broker-profile-tabs button {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    color: #667085;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    gap: 9px;
    justify-content: center;
    min-height: 64px;
}

.broker-profile-tabs button.is-active {
    border-color: #0b6b3a;
    color: #08703d;
}

.broker-profile-panel {
    display: none;
    padding: 28px;
}

.broker-profile-panel.is-active {
    display: block;
}

.broker-profile-section-title {
    margin-bottom: 20px;
}

.broker-profile-section-title h2 {
    font-size: 16px;
    margin: 0 0 8px;
}

.broker-profile-section-title p {
    color: #667085;
    margin: 0;
}

.broker-profile-form-grid {
    display: grid;
    gap: 20px 26px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.broker-profile-form-grid label {
    display: grid;
    gap: 9px;
}

.broker-profile-form-grid label > span {
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

.broker-profile-form-grid em {
    color: #d92d20;
    font-style: normal;
}

.broker-profile-form-grid input,
.broker-profile-form-grid select,
.broker-profile-form-grid textarea {
    background: #fff;
    border: 1px solid #d6dfd8;
    border-radius: 8px;
    color: #0f172a;
    font: inherit;
    min-height: 48px;
    outline: none;
    padding: 10px 12px;
    width: 100%;
}

.broker-profile-form-grid input:focus,
.broker-profile-form-grid select:focus,
.broker-profile-form-grid textarea:focus {
    border-color: #0b6b3a;
    box-shadow: 0 0 0 4px rgba(11, 107, 58, .1);
}

.broker-profile-form-grid input[readonly] {
    background: #f8faf8;
    color: #667085;
}

.broker-profile-form-grid textarea {
    min-height: 132px;
    resize: vertical;
}

.broker-profile-form-grid .is-textarea small {
    color: #667085;
    justify-self: end;
}

.broker-profile-photo-block {
    border-top: 1px solid #edf1ee;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1fr) 154px;
    margin-top: 20px;
    padding-top: 22px;
}

.broker-profile-photo-block h2 {
    font-size: 18px;
    margin: 0 0 8px;
}

.broker-profile-photo-block p {
    color: #667085;
    margin: 0 0 14px;
}

.broker-profile-file-card {
    align-items: center;
    border: 1px solid #d6dfd8;
    border-radius: 9px;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 52px minmax(0, 1fr);
    max-width: 260px;
    min-height: 68px;
    padding: 10px;
}

.broker-profile-file-card input {
    display: none;
}

.broker-profile-file-thumb {
    align-items: center;
    background: #eaf7ef;
    border-radius: 10px;
    color: #075c35;
    display: flex;
    font-weight: 900;
    height: 48px;
    justify-content: center;
    overflow: hidden;
    width: 48px;
}

.broker-profile-file-thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.broker-profile-file-card strong,
.broker-profile-file-card small {
    display: block;
}

.broker-profile-file-card small,
.broker-profile-photo-block > div > small {
    color: #667085;
    font-size: 12px;
}

.broker-profile-photo-actions {
    display: flex;
    gap: 10px;
    margin: 12px 0 10px;
}

.broker-profile-photo-block aside {
    align-items: center;
    border: 1px solid #e1e7df;
    border-radius: 12px;
    display: grid;
    justify-items: center;
    padding: 18px 12px;
    text-align: center;
}

.broker-profile-photo-block aside > div {
    align-items: center;
    background: #eaf7ef;
    border: 2px solid #bfe7cb;
    border-radius: 999px;
    color: #075c35;
    display: flex;
    font-weight: 900;
    height: 96px;
    justify-content: center;
    margin: 14px 0;
    overflow: hidden;
    width: 96px;
}

.broker-profile-photo-block aside img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.broker-profile-photo-block aside small {
    color: #667085;
    font-size: 12px;
}

@media (max-width: 1180px) {
    .broker-profile-workspace,
    .generic-profile-grid {
        grid-template-columns: 1fr;
    }

    .broker-profile-sidebar {
        display: none;
    }

    .broker-profile-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .broker-profile-topbar {
        grid-template-columns: 160px 1fr auto;
        height: auto;
        padding: 12px 16px;
    }

    .broker-profile-menu-icon,
    .broker-profile-top-title,
    .broker-profile-top-spacer,
    .broker-profile-top-icon,
    .broker-profile-help {
        display: none;
    }

    .broker-profile-user {
        justify-self: end;
    }

    .broker-profile-content {
        padding: 18px 12px;
    }

    .broker-profile-card > header,
    .generic-profile-header {
        align-items: stretch;
        flex-direction: column;
    }

    .broker-profile-tabs {
        display: flex;
        overflow-x: auto;
    }

    .broker-profile-tabs button {
        min-width: 160px;
    }

    .broker-profile-form-grid,
    .broker-profile-photo-block {
        grid-template-columns: 1fr;
    }
}


/* =============================================================================
   SITE PÚBLICO — PORTAL DO CLIENTE / CADASTRO DE CORRETOR
   ============================================================================= */

.site-page {
    background: #f8fafc;
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
}

/* ── Navegação ──────────────────────────────────────────────── */
.site-nav {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e8edf0;
    display: flex;
    gap: 16px;
    height: 68px;
    padding: 0 40px;
    position: sticky;
    top: 0;
    z-index: 100;
}

.site-nav-brand {
    align-items: center;
    color: var(--navy, #0d1f39);
    display: flex;
    font-size: 18px;
    font-weight: 800;
    gap: 10px;
    letter-spacing: -.02em;
    text-decoration: none;
}

.site-nav-brand img {
    height: 36px;
    object-fit: contain;
}

.site-nav-brand sub {
    color: var(--muted, #667482);
    font-size: 12px;
    font-weight: 500;
}

.site-nav-spacer { flex: 1; }

.site-nav-links {
    align-items: center;
    display: flex;
    gap: 8px;
}

.site-nav-link {
    border-radius: 999px;
    color: var(--muted, #667482);
    font-size: 14px;
    font-weight: 600;
    padding: 8px 16px;
    text-decoration: none;
    transition: background .15s, color .15s;
}

.site-nav-link:hover {
    background: #f1f5f9;
    color: var(--navy, #0d1f39);
}

/* ── Hero ───────────────────────────────────────────────────── */
.site-hero {
    background: linear-gradient(140deg, #0b1f3b 0%, #0e3a5c 55%, #0d3854 100%);
    color: #fff;
    padding: 96px 40px;
    text-align: center;
}

.site-hero-inner {
    margin: 0 auto;
    max-width: 800px;
}

.site-hero-kicker {
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    color: rgba(255, 255, 255, .9);
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    margin-bottom: 28px;
    padding: 6px 18px;
    text-transform: uppercase;
}

.site-hero h1 {
    font-size: clamp(2rem, 5vw, 3.4rem);
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.1;
    margin: 0 0 20px;
}

.site-hero p {
    color: rgba(255, 255, 255, .78);
    font-size: 1.1rem;
    line-height: 1.7;
    margin: 0 auto 40px;
    max-width: 56ch;
}

.site-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

/* ── Botões site ────────────────────────────────────────────── */
.site-btn {
    align-items: center;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    font-weight: 700;
    gap: 8px;
    min-height: 50px;
    padding: 0 26px;
    text-decoration: none;
    transition: opacity .15s, transform .12s;
}

.site-btn:hover { opacity: .9; transform: translateY(-1px); }

.site-btn--primary { background: var(--brand-secondary, #22c55e); color: #fff; }
.site-btn--ghost { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); color: #fff; }
.site-btn--outline { background: #fff; color: var(--navy, #0d1f39); }
.site-btn--dark { background: var(--navy, #0d1f39); color: #fff; }

/* ── Seção genérica ─────────────────────────────────────────── */
.site-section { padding: 72px 40px; }

.site-section-inner { margin: 0 auto; max-width: 1100px; }

.site-section-label {
    color: var(--brand-primary, #15396b);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.site-section h2 {
    color: var(--navy, #0d1f39);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 900;
    letter-spacing: -.02em;
    margin: 0 0 10px;
}

.site-section-subtitle {
    color: var(--muted, #667482);
    font-size: 1rem;
    margin: 0 0 48px;
    max-width: 60ch;
}

/* ── Cards de portal ────────────────────────────────────────── */
.site-portal-cards {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.site-portal-card {
    background: #fff;
    border: 1px solid #e2e8ef;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .2s, transform .18s;
}

.site-portal-card:hover {
    box-shadow: 0 12px 40px rgba(15, 23, 42, .1);
    transform: translateY(-3px);
}

.site-portal-card-stripe { background: linear-gradient(90deg, #0f2747, #1e4a7a); height: 5px; }
.site-portal-card-stripe--green { background: linear-gradient(90deg, #0b6b3a, #22a35a); }
.site-portal-card-stripe--amber { background: linear-gradient(90deg, #92400e, #d97706); }

.site-portal-card-body { flex: 1; padding: 28px; }

.site-portal-card-icon {
    align-items: center;
    background: #eff6ff;
    border-radius: 12px;
    color: #1d4ed8;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    margin-bottom: 18px;
    width: 48px;
}

.site-portal-card-icon--green { background: #f0fdf4; color: #15803d; }
.site-portal-card-icon--amber { background: #fffbeb; color: #b45309; }

.site-portal-card h3 {
    color: var(--navy, #0d1f39);
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 8px;
}

.site-portal-card p { color: var(--muted, #667482); font-size: 13.5px; line-height: 1.65; margin: 0; }

.site-portal-card ul {
    color: var(--muted, #667482);
    font-size: 13px;
    line-height: 1.9;
    margin: 14px 0 0;
    padding-left: 18px;
}

.site-portal-card-footer { border-top: 1px solid #f1f5f9; padding: 16px 28px; }

.site-portal-card-link {
    color: var(--brand-primary, #15396b);
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 4px;
    text-decoration: none;
}

.site-portal-card-link:hover { text-decoration: underline; }

/* ── CTA de corretor ────────────────────────────────────────── */
.site-broker-cta {
    align-items: center;
    background: linear-gradient(140deg, #0b1f3b, #0e3a5c);
    border-radius: 24px;
    color: #fff;
    display: grid;
    gap: 40px;
    grid-template-columns: 1fr auto;
    margin-top: 48px;
    padding: 40px 48px;
}

.site-broker-cta h3 { font-size: 1.4rem; font-weight: 800; margin: 0 0 10px; }

.site-broker-cta p { color: rgba(255, 255, 255, .72); font-size: 15px; margin: 0; max-width: 55ch; }

/* ── Footer ─────────────────────────────────────────────────── */
.site-footer { background: #fff; border-top: 1px solid #e8edf0; padding: 28px 40px; }

.site-footer-inner {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1100px;
}

.site-footer-brand { color: var(--navy, #0d1f39); font-size: 15px; font-weight: 800; text-decoration: none; }
.site-footer-links { align-items: center; display: flex; gap: 24px; }
.site-footer-link { color: var(--muted, #667482); font-size: 13px; text-decoration: none; }
.site-footer-link:hover { color: var(--navy, #0d1f39); }
.site-footer-copy { color: var(--muted, #667482); font-size: 13px; }

/* ── Cadastro corretor ──────────────────────────────────────── */
.auth-register-list {
    display: grid;
    gap: 14px;
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
}

.auth-register-list li {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.auth-register-check {
    background: rgba(255, 255, 255, .15);
    border-radius: 999px;
    color: #fff;
    flex: 0 0 22px;
    font-size: 11px;
    font-weight: 900;
    height: 22px;
    line-height: 22px;
    margin-top: 1px;
    text-align: center;
    width: 22px;
}

.auth-register-list span {
    color: rgba(255, 255, 255, .85);
    font-size: 14px;
    line-height: 1.55;
}

.auth-register-note {
    background: rgba(255, 255, 255, .08);
    border-radius: 12px;
    color: rgba(255, 255, 255, .7);
    font-size: 13px;
    line-height: 1.6;
    margin-top: 24px;
    padding: 14px 16px;
}

.auth-form-footer {
    border-top: 1px solid #f1f5f9;
    color: var(--muted, #667482);
    font-size: 13px;
    margin-top: 4px;
    padding-top: 16px;
    text-align: center;
}

.auth-form-footer a {
    color: var(--brand-primary, #15396b);
    font-weight: 700;
    text-decoration: none;
}

.auth-form-footer a:hover { text-decoration: underline; }

.auth-success {
    background: #dcf7e6;
    border-radius: 10px;
    color: #08703d;
    font-size: 14px;
    font-weight: 600;
    justify-self: stretch;
    padding: 12px 16px;
}

/* ── Responsivo (legacy) ─────────────────────────────────────── */
@media (max-width: 768px) {
    .site-nav { padding: 0 20px; }
    .site-nav-links .site-nav-link:not(:last-child) { display: none; }
    .site-hero { padding: 64px 20px; }
    .site-section { padding: 48px 20px; }
    .site-broker-cta { grid-template-columns: 1fr; padding: 32px 24px; }
    .site-footer { padding: 24px 20px; }
    .site-footer-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
    .site-footer-links { flex-wrap: wrap; gap: 16px; }
}

/* ── Admin sidebar badge ─────────────────────────────────────── */
.admin-sideitem {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-start;
}
.admin-sideitem span:first-of-type { flex: 1; }
.admin-sideitem-badge {
    background: #f97316;
    border-radius: 99px;
    color: #fff;
    display: inline-block;
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    min-width: 18px;
    padding: 3px 6px;
    text-align: center;
}

/* ── Dashboard corretor pending alert ───────────────────────── */
.dashboard-corretor-alert {
    align-items: center;
    background: #fff8f1;
    border: 1px solid #fed7aa;
    border-left: 4px solid #f97316;
    border-radius: 12px;
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    padding: 16px 20px;
}
.dashboard-corretor-alert__icon {
    align-items: center;
    background: #ffedd5;
    border-radius: 10px;
    color: #ea580c;
    display: flex;
    flex-shrink: 0;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.dashboard-corretor-alert__body { flex: 1; }
.dashboard-corretor-alert__body strong {
    color: #9a3412;
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 2px;
}
.dashboard-corretor-alert__body p {
    color: #c2410c;
    font-size: 13px;
    margin: 0;
}
.dashboard-corretor-alert .button.primary {
    flex-shrink: 0;
    white-space: nowrap;
}

/* ════════════════════════════════════════════════════════════════
   SITE PUBLIC — PREMIUM v2
   ════════════════════════════════════════════════════════════════ */

/* ── Nav v2 ─────────────────────────────────────────────────── */
.site-nav {
    align-items: center;
    background: var(--brand-primary);
    border-bottom: 1px solid rgba(255,255,255,.07);
    box-sizing: border-box;
    display: flex;
    height: 64px;
    left: 0;
    padding: 0 40px;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 100;
}
.site-nav-brand {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 18px;
    font-weight: 900;
    gap: 8px;
    letter-spacing: -.3px;
    text-decoration: none;
}
.site-nav-brand img { height: 34px; object-fit: contain; }
.site-nav-brand sub { color: rgba(255,255,255,.45); font-size: 11px; font-weight: 500; vertical-align: baseline; }
.site-nav-spacer { flex: 1; }
.site-nav-links { align-items: center; display: flex; gap: 6px; }
.site-nav-link {
    border-radius: 8px;
    color: rgba(255,255,255,.7);
    font-size: 14px;
    font-weight: 500;
    padding: 8px 14px;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.site-nav-link:hover { background: rgba(255,255,255,.08); color: #fff; }

/* ── Buttons v2 ─────────────────────────────────────────────── */
.site-btn {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
    padding: 12px 24px;
    text-decoration: none;
    transition: background .15s, box-shadow .15s, border-color .15s;
    white-space: nowrap;
}
.site-btn--primary {
    background: var(--brand-secondary);
    border: 2px solid transparent;
    color: #fff;
}
.site-btn--primary:hover { background: color-mix(in srgb, var(--brand-secondary) 82%, #000); box-shadow: 0 4px 16px color-mix(in srgb, var(--brand-secondary) 40%, transparent); }
.site-btn--ghost {
    background: transparent;
    border: 2px solid rgba(255,255,255,.25);
    color: rgba(255,255,255,.85);
}
.site-btn--ghost:hover { border-color: rgba(255,255,255,.6); color: #fff; }
.site-btn--dark {
    background: rgba(255,255,255,.1);
    border: 2px solid rgba(255,255,255,.15);
    color: #fff;
}
.site-btn--dark:hover { background: rgba(255,255,255,.18); }
.site-btn--white {
    background: #fff;
    border: 2px solid transparent;
    color: #0f1d2c;
}
.site-btn--white:hover { background: #f0f4f8; box-shadow: 0 4px 16px rgba(0,0,0,.15); }
.site-btn--outline-white {
    background: transparent;
    border: 2px solid rgba(255,255,255,.3);
    color: rgba(255,255,255,.85);
}
.site-btn--outline-white:hover { border-color: rgba(255,255,255,.65); color: #fff; }
.site-btn--green-outline {
    background: transparent;
    border: 2px solid var(--brand-primary);
    color: var(--brand-primary);
}
.site-btn--green-outline:hover { background: color-mix(in srgb, var(--brand-primary) 8%, #fff); }

/* ── Hero two-column ─────────────────────────────────────────── */
.site-hero { background: var(--brand-primary); padding: 0; }
.site-hero-inner {
    align-items: center;
    box-sizing: border-box;
    display: grid;
    gap: 64px;
    grid-template-columns: 1fr 1fr;
    margin: 0 auto;
    max-width: 1200px;
    min-height: 560px;
    padding: 80px 40px;
}
.site-hero-text { display: flex; flex-direction: column; gap: 20px; }
.site-hero-kicker {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 100px;
    color: rgba(255,255,255,.8);
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    padding: 5px 14px;
    text-transform: uppercase;
    width: fit-content;
}
.site-hero-text h1 {
    color: #fff;
    font-size: clamp(1.9rem, 3.2vw, 2.9rem);
    font-weight: 900;
    letter-spacing: -.5px;
    line-height: 1.1;
    margin: 0;
}
.site-hero-text h1 em { color: var(--brand-secondary); font-style: normal; }
.site-hero-text > p {
    color: rgba(255,255,255,.65);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
    max-width: 420px;
}
.site-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.site-hero-visual { align-items: center; display: flex; justify-content: center; }

/* ── Hero Mockup (fake dashboard) ───────────────────────────── */
.site-hero-mockup {
    background: color-mix(in srgb, var(--brand-primary) 78%, #000);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    box-shadow: 0 28px 80px rgba(0,0,0,.55), 0 4px 16px rgba(0,0,0,.3);
    overflow: hidden;
    width: 100%;
    max-width: 440px;
}
.shm-bar {
    align-items: center;
    background: color-mix(in srgb, var(--brand-primary) 72%, #000);
    border-bottom: 1px solid rgba(255,255,255,.06);
    display: flex;
    gap: 6px;
    padding: 10px 16px;
}
.shm-dot { border-radius: 50%; height: 9px; width: 9px; }
.shm-dot:nth-child(1) { background: #ff5f57; }
.shm-dot:nth-child(2) { background: #febc2e; }
.shm-dot:nth-child(3) { background: #28c840; }
.shm-url {
    background: rgba(255,255,255,.06);
    border-radius: 6px;
    color: rgba(255,255,255,.35);
    flex: 1;
    font-size: 11px;
    margin-left: 10px;
    padding: 3px 10px;
    text-align: center;
}
.shm-body { display: flex; flex-direction: column; gap: 14px; padding: 18px; }
.shm-stats { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); }
.shm-stat {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 12px 10px;
}
.shm-stat-val { color: #fff; font-size: 15px; font-weight: 800; letter-spacing: -.3px; }
.shm-stat-lbl { color: rgba(255,255,255,.4); font-size: 10px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; }
.shm-progress-block {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 10px;
    padding: 14px 14px;
}
.shm-progress-header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 10px; }
.shm-progress-title { color: rgba(255,255,255,.6); font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.shm-progress-pct { color: var(--brand-secondary); font-size: 12px; font-weight: 700; }
.shm-progress-track { background: rgba(255,255,255,.1); border-radius: 99px; height: 6px; overflow: hidden; }
.shm-progress-fill { background: linear-gradient(90deg, color-mix(in srgb, var(--brand-secondary) 70%, #000), var(--brand-secondary)); border-radius: 99px; height: 100%; }
.shm-items { display: flex; flex-direction: column; gap: 8px; }
.shm-item {
    align-items: center;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 8px;
    display: flex;
    gap: 10px;
    padding: 9px 12px;
}
.shm-item-dot { background: var(--brand-secondary); border-radius: 50%; flex-shrink: 0; height: 7px; width: 7px; }
.shm-item-dot--amber { background: #f59e0b; }
.shm-item-label { color: rgba(255,255,255,.55); flex: 1; font-size: 12px; }
.shm-item-val { color: #fff; font-size: 12px; font-weight: 700; }

/* ── Feature strip ──────────────────────────────────────────── */
.site-features {
    background: color-mix(in srgb, var(--brand-primary) 88%, #000);
    border-bottom: 1px solid rgba(255,255,255,.05);
    border-top: 1px solid rgba(255,255,255,.05);
    padding: 44px 40px;
}
.site-features-inner {
    display: grid;
    gap: 40px;
    grid-template-columns: repeat(4, 1fr);
    margin: 0 auto;
    max-width: 1200px;
}
.site-feature { align-items: flex-start; display: flex; flex-direction: column; gap: 10px; }
.site-feature-icon {
    align-items: center;
    background: color-mix(in srgb, var(--brand-secondary) 18%, transparent);
    border-radius: 10px;
    color: var(--brand-secondary);
    display: flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.site-feature-icon svg { height: 18px; width: 18px; }
.site-feature h4 { color: #fff; font-size: 14px; font-weight: 700; letter-spacing: -.1px; margin: 0; }
.site-feature p { color: rgba(255,255,255,.48); font-size: 13px; line-height: 1.55; margin: 0; }

/* ── Access cards section ───────────────────────────────────── */
.site-access { background: #f8fafc; padding: 80px 40px; }
.site-access-inner { margin: 0 auto; max-width: 1200px; }
.site-access-header { margin-bottom: 48px; max-width: 560px; }
.site-access-label {
    color: var(--brand-primary);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.site-access-header h2 {
    color: #0f1d2c;
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    font-weight: 900;
    letter-spacing: -.4px;
    line-height: 1.15;
    margin: 0 0 12px;
}
.site-access-header p { color: #64748b; font-size: 16px; line-height: 1.6; margin: 0; }
.site-access-cards { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); }
.site-access-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(15,29,44,.05);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
}
.site-access-card:hover { box-shadow: 0 8px 32px rgba(15,29,44,.12); transform: translateY(-2px); }
.site-access-card-top { padding: 28px 28px 20px; }
.site-access-card-icon {
    align-items: center;
    border-radius: 12px;
    display: flex;
    height: 44px;
    justify-content: center;
    margin-bottom: 16px;
    width: 44px;
}
.site-access-card-icon--blue { background: #dbeafe; color: #1d4ed8; }
.site-access-card-icon--amber { background: #fef3c7; color: #b45309; }
.site-access-card-icon--green { background: color-mix(in srgb, var(--brand-secondary) 15%, #fff); color: color-mix(in srgb, var(--brand-secondary) 80%, #000); }
.site-access-card-icon svg { height: 20px; width: 20px; }
.site-access-card-top h3 { color: #0f1d2c; font-size: 18px; font-weight: 800; letter-spacing: -.2px; margin: 0 0 8px; }
.site-access-card-top p { color: #64748b; font-size: 14px; line-height: 1.6; margin: 0; }
.site-access-card-list {
    border-top: 1px solid #f1f5f9;
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 20px 28px;
}
.site-access-card-list li {
    align-items: flex-start;
    color: #374151;
    display: flex;
    font-size: 13px;
    gap: 8px;
    line-height: 1.45;
}
.site-access-card-list li::before {
    background: color-mix(in srgb, var(--brand-secondary) 80%, #000);
    border-radius: 50%;
    content: '';
    flex-shrink: 0;
    height: 6px;
    margin-top: 5px;
    width: 6px;
}
.site-access-card-list li.col-amber::before { background: #b45309; }
.site-access-card-list li.col-blue::before { background: #1d4ed8; }
.site-access-card-foot { border-top: 1px solid #f1f5f9; padding: 16px 28px; }
.site-access-card-cta {
    align-items: center;
    color: var(--brand-primary);
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 6px;
    text-decoration: none;
    transition: gap .15s;
}
.site-access-card-cta:hover { gap: 10px; }

/* ── CTA band ───────────────────────────────────────────────── */
.site-cta-band { background: var(--brand-primary); padding: 64px 40px; }
.site-cta-band-inner {
    align-items: center;
    display: flex;
    gap: 48px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1200px;
}
.site-cta-band-text h3 {
    color: #fff;
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    font-weight: 900;
    letter-spacing: -.3px;
    line-height: 1.2;
    margin: 0 0 10px;
}
.site-cta-band-text p { color: rgba(255,255,255,.55); font-size: 15px; line-height: 1.65; margin: 0; max-width: 560px; }

/* ── Footer dark ─────────────────────────────────────────────── */
.site-footer-dark { background: color-mix(in srgb, var(--brand-primary) 65%, #000); border-top: 1px solid rgba(255,255,255,.05); padding: 56px 40px 32px; }
.site-footer-dark-inner {
    display: grid;
    gap: 48px;
    grid-template-columns: 1.6fr 1fr 1fr;
    margin: 0 auto;
    max-width: 1200px;
}
.site-footer-brand-name {
    color: #fff;
    display: block;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -.2px;
    margin: 0 0 10px;
    text-decoration: none;
}
.site-footer-brand-name img { height: 28px; object-fit: contain; }
.site-footer-tagline { color: rgba(255,255,255,.35); font-size: 13px; line-height: 1.6; margin: 0; max-width: 260px; }
.site-footer-col-title {
    color: rgba(255,255,255,.45);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0 0 16px;
    text-transform: uppercase;
}
.site-footer-col-links { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0; padding: 0; }
.site-footer-col-links a { color: rgba(255,255,255,.55); font-size: 14px; text-decoration: none; transition: color .15s; }
.site-footer-col-links a:hover { color: #fff; }
.site-footer-bottom {
    align-items: center;
    border-top: 1px solid rgba(255,255,255,.06);
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    margin: 36px auto 0;
    max-width: 1200px;
    padding-top: 24px;
}
.site-footer-copy { color: rgba(255,255,255,.28); font-size: 13px; }

/* ════════════════════════════════════════════════════════════════
   REGISTER CORRETOR — PREMIUM v2
   ════════════════════════════════════════════════════════════════ */

.reg-page { background: #f1f5f9; display: flex; flex-direction: column; min-height: 100vh; }

/* ── Topbar ─────────────────────────────────────────────────── */
.reg-topbar {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    box-sizing: border-box;
    display: flex;
    gap: 16px;
    height: 56px;
    padding: 0 32px;
    width: 100%;
}
.reg-topbar-brand { align-items: center; color: #0f1d2c; display: flex; font-size: 16px; font-weight: 900; gap: 8px; text-decoration: none; }
.reg-topbar-brand img { height: 28px; object-fit: contain; }
.reg-topbar-spacer { flex: 1; }
.reg-topbar-links { align-items: center; display: flex; gap: 20px; }
.reg-topbar-link { color: #64748b; font-size: 13px; font-weight: 500; text-decoration: none; transition: color .15s; }
.reg-topbar-link:hover { color: #0f1d2c; }
.reg-topbar-login {
    background: var(--brand-primary);
    border-radius: 8px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 7px 16px;
    text-decoration: none;
    transition: background .15s;
}
.reg-topbar-login:hover { background: color-mix(in srgb, var(--brand-primary) 82%, #000); }

/* ── Main area ───────────────────────────────────────────────── */
.reg-main { align-items: flex-start; display: flex; flex: 1; justify-content: center; padding: 40px 24px; }
.reg-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(15,29,44,.08);
    display: grid;
    grid-template-columns: 42% 58%;
    max-width: 980px;
    overflow: hidden;
    width: 100%;
}

/* ── Left panel ─────────────────────────────────────────────── */
.reg-panel { background: var(--brand-primary); display: flex; flex-direction: column; padding: 40px 36px; }
.reg-panel-logo { display: inline-block; margin-bottom: 28px; text-decoration: none; }
.reg-panel-logo img { height: 34px; object-fit: contain; }
.reg-panel-logo-text { color: #fff; font-size: 20px; font-weight: 900; }
.reg-panel-kicker {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 100px;
    color: rgba(255,255,255,.7);
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin-bottom: 14px;
    padding: 4px 12px;
    text-transform: uppercase;
    width: fit-content;
}
.reg-panel h2 { color: #fff; font-size: clamp(1.15rem, 1.8vw, 1.45rem); font-weight: 900; letter-spacing: -.3px; line-height: 1.2; margin: 0 0 10px; }
.reg-panel > p { color: rgba(255,255,255,.6); font-size: 13px; line-height: 1.6; margin: 0 0 28px; }
.reg-benefits { display: flex; flex-direction: column; gap: 13px; list-style: none; margin: 0; padding: 0; }
.reg-benefit { align-items: flex-start; display: flex; gap: 12px; }
.reg-benefit-icon {
    align-items: center;
    background: rgba(255,255,255,.12);
    border-radius: 8px;
    color: color-mix(in srgb, var(--brand-secondary) 60%, #fff);
    display: flex;
    flex-shrink: 0;
    height: 30px;
    justify-content: center;
    width: 30px;
}
.reg-benefit-icon svg { height: 14px; width: 14px; }
.reg-benefit-text { color: rgba(255,255,255,.75); font-size: 13px; line-height: 1.5; padding-top: 6px; }
.reg-panel-note {
    background: rgba(0,0,0,.2);
    border-radius: 10px;
    color: rgba(255,255,255,.5);
    font-size: 12px;
    line-height: 1.6;
    margin-top: auto;
    padding: 12px 14px;
    padding-top: 20px;
}

/* ── Right form ──────────────────────────────────────────────── */
.reg-form-wrap { display: flex; flex-direction: column; overflow-y: auto; padding: 36px 36px 32px; }
.reg-form-header { margin-bottom: 24px; }
.reg-form-header h3 { color: #0f1d2c; font-size: 20px; font-weight: 800; letter-spacing: -.3px; margin: 0 0 4px; }
.reg-form-header p { color: #64748b; font-size: 14px; margin: 0; }
.reg-form-body { display: flex; flex-direction: column; gap: 14px; }
.reg-form-grid { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.reg-form-full { grid-column: 1 / -1; }
.reg-section-label {
    border-bottom: 1px solid #f1f5f9;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 700;
    grid-column: 1 / -1;
    letter-spacing: 1.2px;
    padding-bottom: 6px;
    text-transform: uppercase;
}
.reg-submit-row { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.reg-submit-btn {
    align-items: center;
    background: var(--brand-primary);
    border: none;
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 15px;
    font-weight: 700;
    justify-content: center;
    padding: 13px 24px;
    transition: background .15s, box-shadow .15s;
    width: 100%;
}
.reg-submit-btn:hover { background: color-mix(in srgb, var(--brand-primary) 82%, #000); box-shadow: 0 4px 16px color-mix(in srgb, var(--brand-primary) 35%, transparent); }
.reg-form-terms { color: #94a3b8; font-size: 12px; line-height: 1.5; text-align: center; }
.reg-form-terms a { color: var(--brand-primary); text-decoration: none; }
.reg-form-terms a:hover { text-decoration: underline; }

/* ── Success screen ─────────────────────────────────────────── */
.reg-success-screen { align-items: center; display: flex; flex: 1; flex-direction: column; gap: 20px; justify-content: center; padding: 48px 24px; text-align: center; }
.reg-success-icon { align-items: center; background: #dcfce7; border-radius: 50%; color: #15803d; display: flex; height: 72px; justify-content: center; width: 72px; }
.reg-success-icon svg { height: 36px; width: 36px; }
.reg-success-screen h3 { color: #0f1d2c; font-size: 22px; font-weight: 900; letter-spacing: -.3px; margin: 0; }
.reg-success-screen p { color: #64748b; font-size: 15px; line-height: 1.65; margin: 0; max-width: 340px; }
.reg-success-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 8px; }

/* ── Strength meter (reg) ───────────────────────────────────── */
.reg-strength { display: flex; flex-direction: column; gap: 5px; }
.reg-strength-label { color: #94a3b8; font-size: 12px; }
.reg-strength-bars { display: flex; gap: 4px; }
.reg-strength-bar { background: #e2e8f0; border-radius: 99px; flex: 1; height: 4px; transition: background .25s; }

/* ── Security strip ──────────────────────────────────────────── */
.reg-security { background: #fff; border-top: 1px solid #e2e8f0; padding: 14px 32px; }
.reg-security-inner { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; justify-content: center; margin: 0 auto; max-width: 760px; }
.reg-security-item { align-items: center; color: #94a3b8; display: flex; font-size: 12px; gap: 7px; }
.reg-security-item svg { color: #64748b; flex-shrink: 0; height: 15px; width: 15px; }

/* ── Error banner (reg) ─────────────────────────────────────── */
.reg-error-banner {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 8px;
    color: #be123c;
    font-size: 13px;
    font-weight: 500;
    padding: 10px 14px;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 900px) {
    .site-hero-inner { gap: 40px; grid-template-columns: 1fr; min-height: auto; padding: 56px 32px; }
    .site-hero-text h1 { font-size: 2rem; }
    .site-hero-visual { display: none; }
    .site-features-inner { gap: 24px; grid-template-columns: repeat(2, 1fr); padding: 0; }
    .site-access-cards { grid-template-columns: 1fr; gap: 20px; }
    .site-cta-band-inner { flex-direction: column; gap: 24px; }
    .site-footer-dark-inner { gap: 32px; grid-template-columns: 1fr 1fr; }
    .reg-card { grid-template-columns: 1fr; }
    .reg-panel { padding: 32px 28px; }
    .reg-form-wrap { padding: 32px 28px; }
}
@media (max-width: 640px) {
    .site-nav { padding: 0 20px; }
    .site-nav-links .site-nav-link:not(.site-btn) { display: none; }
    .site-hero-inner { padding: 48px 20px; }
    .site-features { padding: 32px 20px; }
    .site-features-inner { grid-template-columns: 1fr; }
    .site-access { padding: 48px 20px; }
    .site-cta-band { padding: 48px 20px; }
    .site-footer-dark { padding: 40px 20px 24px; }
    .site-footer-dark-inner { grid-template-columns: 1fr; }
    .reg-topbar { padding: 0 20px; }
    .reg-topbar-links .reg-topbar-link { display: none; }
    .reg-main { padding: 20px 12px; }
    .reg-form-grid { grid-template-columns: 1fr; }
    .reg-security { padding: 14px 20px; }
}

/* =================================================================
   APROVACAO DE CORRETORES  — premium approval workflow UI
   ================================================================= */

/* Page shell */
.aprov-page {
    display: flex;
    flex-direction: column;
    gap: 28px;
    max-width: 1100px;
    padding: 32px 36px 64px;
}

/* Header */
.aprov-header { display: flex; flex-direction: column; gap: 20px; }

.aprov-breadcrumb {
    align-items: center;
    color: #94a3b8;
    display: flex;
    font-size: 13px;
    gap: 6px;
}
.aprov-breadcrumb a { color: #64748b; text-decoration: none; }
.aprov-breadcrumb a:hover { color: var(--brand-primary); }
.aprov-breadcrumb-sep { color: #cbd5e1; }

.aprov-title {
    color: #0f1d2c;
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -.4px;
    margin: 4px 0 2px;
}
.aprov-subtitle { color: #64748b; font-size: 14px; line-height: 1.55; margin: 0; }

/* Stats strip */
.aprov-stats { display: flex; flex-wrap: wrap; gap: 12px; }

.aprov-stat {
    align-items: flex-start;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 140px;
    padding: 14px 20px;
}
.aprov-stat--warning { border-left: 3px solid #f97316; background: #fff8f1; }
.aprov-stat--success { border-left: 3px solid #22c55e; background: #f0fdf4; }
.aprov-stat--neutral { border-left: 3px solid #94a3b8; }

.aprov-stat-value {
    color: #0f1d2c;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -.5px;
    line-height: 1;
}
.aprov-stat--warning .aprov-stat-value { color: #c2410c; }
.aprov-stat--success .aprov-stat-value { color: #15803d; }
.aprov-stat-label { color: #64748b; font-size: 12px; font-weight: 500; }

/* Toast messages */
.aprov-toast {
    align-items: center;
    border-radius: 10px;
    display: flex;
    font-size: 14px;
    font-weight: 500;
    gap: 10px;
    padding: 12px 16px;
}
.aprov-toast svg { flex-shrink: 0; height: 18px; width: 18px; }
.aprov-toast--success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.aprov-toast--error   { background: #fff1f2; border: 1px solid #fecdd3; color: #be123c; }

/* Section wrapper */
.aprov-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
}

/* Section head */
.aprov-section-head {
    align-items: center;
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    justify-content: space-between;
    padding: 20px 24px;
}
.aprov-section-head-left { align-items: center; display: flex; gap: 14px; }

.aprov-section-icon {
    align-items: center;
    border-radius: 10px;
    display: flex;
    flex-shrink: 0;
    height: 38px;
    justify-content: center;
    width: 38px;
}
.aprov-section-icon svg { height: 20px; width: 20px; }
.aprov-section-icon--warning { background: #fff7ed; color: #f97316; }
.aprov-section-icon--neutral  { background: #f1f5f9; color: #64748b; }

.aprov-section-title { color: #0f1d2c; font-size: 16px; font-weight: 800; margin: 0 0 2px; }
.aprov-section-desc  { color: #94a3b8; font-size: 13px; margin: 0; }

.aprov-badge { border-radius: 99px; font-size: 12px; font-weight: 700; padding: 4px 12px; }
.aprov-badge--warning { background: #fff7ed; border: 1px solid #fed7aa; color: #c2410c; }

/* Empty state */
.aprov-empty {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 56px 24px;
    text-align: center;
}
.aprov-empty-icon {
    align-items: center;
    background: #dcfce7;
    border-radius: 50%;
    color: #15803d;
    display: flex;
    height: 56px;
    justify-content: center;
    width: 56px;
}
.aprov-empty-icon svg { height: 32px; width: 32px; }
.aprov-empty-title { color: #0f1d2c; font-size: 16px; font-weight: 700; margin: 0; }
.aprov-empty-desc  { color: #94a3b8; font-size: 13px; margin: 0; }

/* Pending cards */
.aprov-cards { display: flex; flex-direction: column; }

.aprov-card {
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    padding: 20px 24px;
    transition: background .12s;
}
.aprov-card:last-child { border-bottom: none; }
.aprov-card:hover { background: #fafafa; }

.aprov-card-main { align-items: flex-start; display: flex; gap: 16px; }

/* Avatar */
.aprov-avatar {
    align-items: center;
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 800;
    height: 44px;
    justify-content: center;
    letter-spacing: .5px;
    width: 44px;
}
.aprov-avatar--pending  { background: linear-gradient(135deg,#f97316,#fb923c); }
.aprov-avatar--active   { background: linear-gradient(135deg,#22c55e,#4ade80); }
.aprov-avatar--inactive { background: linear-gradient(135deg,#94a3b8,#cbd5e1); }
.aprov-avatar--sm { font-size: 11px; height: 34px; width: 34px; }

/* Identity */
.aprov-card-identity { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.aprov-card-name  { color: #0f1d2c; font-size: 15px; font-weight: 700; }
.aprov-card-email { color: #6366f1; font-size: 13px; text-decoration: none; width: fit-content; }
.aprov-card-email:hover { text-decoration: underline; }

.aprov-card-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.aprov-meta-chip {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    color: #475569;
    display: inline-flex;
    font-size: 12px;
    gap: 5px;
    padding: 3px 8px;
}
.aprov-meta-chip svg { height: 12px; opacity: .65; width: 12px; }

/* Contacts column */
.aprov-card-contacts {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 6px;
    min-width: 180px;
}
.aprov-contact-item {
    align-items: center;
    color: #475569;
    display: flex;
    font-size: 13px;
    gap: 7px;
    text-decoration: none;
}
.aprov-contact-item svg { flex-shrink: 0; height: 14px; opacity: .5; width: 14px; }
.aprov-contact-item--wa { color: #15803d; font-weight: 500; }
.aprov-contact-item--wa svg { opacity: 1; }
.aprov-contact-item--wa:hover { text-decoration: underline; }
.aprov-contact-date { color: #94a3b8; font-size: 12px; margin-top: 4px; }

/* Observation box */
.aprov-card-obs {
    align-items: flex-start;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    color: #78350f;
    display: flex;
    font-size: 13px;
    gap: 8px;
    line-height: 1.55;
    margin-top: 14px;
    padding: 10px 14px;
}
.aprov-card-obs svg { flex-shrink: 0; height: 14px; margin-top: 2px; opacity: .6; width: 14px; }

/* Action buttons row */
.aprov-card-actions {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-top: 16px;
    padding-left: 60px;
}

.aprov-btn {
    align-items: center;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 6px;
    padding: 8px 18px;
    transition: background .15s, box-shadow .15s, transform .1s;
}
.aprov-btn svg { height: 15px; width: 15px; }
.aprov-btn:active { transform: scale(.97); }

.aprov-btn--config {
    background: #fff;
    border: 1px solid #cbd5e1;
    color: #334155;
}
.aprov-btn--config:hover { background: #f8fafc; border-color: #94a3b8; }

.aprov-btn--approve {
    background: #22c55e;
    box-shadow: 0 1px 4px rgba(34,197,94,.25);
    color: #fff;
}
.aprov-btn--approve:hover {
    background: #16a34a;
    box-shadow: 0 4px 12px rgba(34,197,94,.35);
}

.aprov-btn--reject {
    background: #fff;
    border: 1px solid #fca5a5;
    color: #dc2626;
}
.aprov-btn--reject:hover { background: #fff1f2; border-color: #f87171; }

/* History table */
.aprov-history-table-wrap { overflow-x: auto; }

.aprov-history-table {
    border-collapse: collapse;
    font-size: 14px;
    width: 100%;
}
.aprov-history-table thead tr { background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.aprov-history-table th {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    padding: 11px 20px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}
.aprov-th-action { width: 90px; }

.aprov-history-row { border-bottom: 1px solid #f1f5f9; transition: background .1s; }
.aprov-history-row:last-child { border-bottom: none; }
.aprov-history-row:hover { background: #fafafa; }
.aprov-history-table td { padding: 13px 20px; vertical-align: middle; }

.aprov-history-corretor { align-items: center; display: flex; gap: 10px; }
.aprov-history-corretor strong { color: #0f1d2c; }
.aprov-history-muted { color: #64748b; }

/* Status badges */
.aprov-status-badge {
    align-items: center;
    border-radius: 99px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 600;
    gap: 6px;
    padding: 3px 10px;
}
.aprov-status-dot { border-radius: 50%; display: inline-block; height: 6px; width: 6px; }
.aprov-status-badge--ativo   { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.aprov-status-badge--ativo .aprov-status-dot   { background: #22c55e; }
.aprov-status-badge--inativo { background: #f8fafc; border: 1px solid #e2e8f0; color: #64748b; }
.aprov-status-badge--inativo .aprov-status-dot { background: #94a3b8; }

/* History inline actions */
.aprov-history-action {
    background: none;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    color: #475569;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px;
    transition: background .12s, border-color .12s, color .12s;
    white-space: nowrap;
}
.aprov-history-action:hover                     { background: #f1f5f9; border-color: #cbd5e1; }
.aprov-history-action--revoke:hover             { background: #fff1f2; border-color: #fca5a5; color: #dc2626; }
.aprov-history-action--reactivate:hover         { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }

/* Responsive */
@media (max-width: 860px) {
    .aprov-page { padding: 20px 16px 48px; }
    .aprov-card-main { flex-wrap: wrap; }
    .aprov-card-contacts { flex-direction: row; flex-wrap: wrap; gap: 12px; min-width: 0; padding-left: 60px; width: 100%; }
    .aprov-card-actions { padding-left: 0; }
}
@media (max-width: 600px) {
    .aprov-stats { flex-direction: column; }
    .aprov-stat { flex-direction: row; gap: 10px; min-width: 0; }
    .aprov-card-contacts { padding-left: 0; }
    .aprov-section-head { flex-wrap: wrap; gap: 12px; }
    .aprov-title { font-size: 21px; }
}

/* Investor Portal */
.investor-portal-page {
    background: #f6f8f5;
    color: #0f172a;
    font-family: var(--font-body, Inter, Arial, sans-serif);
    margin: 0;
    min-height: 100vh;
}
.investor-topbar {
    align-items: center;
    background: var(--brand-primary, #06452c);
    box-shadow: 0 8px 20px rgba(6, 69, 44, .16);
    color: #fff;
    display: flex;
    gap: 24px;
    height: 66px;
    padding: 0 28px;
}
.investor-brand {
    align-items: center;
    color: #fff;
    display: inline-flex;
    gap: 10px;
    min-width: 250px;
    text-decoration: none;
}
.investor-brand-logo { display: block; max-height: 42px; max-width: 190px; object-fit: contain; }
.investor-wordmark strong { display: block; font-family: var(--font-heading, Manrope, sans-serif); font-size: 22px; letter-spacing: 2.5px; line-height: 1; text-transform: uppercase; }
.investor-wordmark small { display: block; font-size: 10px; letter-spacing: 3px; margin-top: 4px; opacity: .88; text-transform: lowercase; }
.investor-topnav {
    align-items: center;
    display: flex;
    flex: 1;
    gap: 6px;
}
.investor-topnav a {
    border-bottom: 3px solid transparent;
    color: rgba(255,255,255,.9);
    font-size: 14px;
    font-weight: 700;
    padding: 24px 16px 19px;
    text-decoration: none;
}
.investor-topnav a.active { border-bottom-color: #d7eadf; color: #fff; }
.investor-user {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 250px;
}
.investor-user strong, .investor-user small { display: block; line-height: 1.15; }
.investor-user small { opacity: .82; }
.investor-avatar {
    align-items: center;
    background: #eaf2ff;
    border-radius: 999px;
    color: #06452c;
    display: inline-flex;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    width: 42px;
}
.investor-avatar.large { font-size: 20px; height: 58px; width: 58px; }
.investor-user button,
.investor-hero-actions button {
    background: #fff;
    border: 0;
    border-radius: 8px;
    color: #06452c;
    cursor: pointer;
    font-weight: 800;
    padding: 12px 22px;
}
.investor-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    min-height: calc(100vh - 66px);
}
.investor-sidebar {
    background: #fff;
    border-right: 1px solid #e4e9e2;
    padding: 28px 18px;
}
.investor-mini-card,
.investor-menu-card {
    background: #fff;
    border: 1px solid #e4e9e2;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    margin-bottom: 20px;
    padding: 16px;
}
.investor-menu-card p {
    color: #536178;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    margin: 0 0 12px;
    text-transform: uppercase;
}
.investor-sidebar a {
    align-items: center;
    border-radius: 10px;
    color: #101827;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    min-height: 42px;
    padding: 0 14px;
    text-decoration: none;
}
.investor-sidebar a.active {
    background: #eaf7ef;
    color: #05603a;
}
.investor-main {
    padding: 28px 28px 36px;
}
.investor-alert {
    border-radius: 10px;
    font-weight: 800;
    margin-bottom: 14px;
    padding: 12px 16px;
}
.investor-alert.success { background: #eaf7ef; color: #05603a; }
.investor-alert.danger { background: #fdecec; color: #b42318; }
.investor-hero {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 26px;
}
.investor-hero h1 { font-size: 29px; line-height: 1.1; margin: 0 0 6px; }
.investor-hero p { color: #5d6a80; margin: 0; }
.investor-hero-actions { align-items: center; display: flex; gap: 14px; }
.investor-hero-actions span {
    background: #eaf2ff;
    border: 1px solid #cfe1ff;
    border-radius: 8px;
    color: #075cc5;
    font-size: 13px;
    font-weight: 800;
    padding: 12px 18px;
}
.investor-hero-actions button { background: #007a4d; color: #fff; }
.investor-kpis {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 18px;
}
.investor-kpi {
    align-items: center;
    background: #fff;
    border: 1px solid #e4e9e2;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    display: flex;
    gap: 16px;
    min-height: 104px;
    padding: 16px 18px;
}
.investor-kpi-icon {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    flex: 0 0 48px;
    font-size: 18px;
    font-weight: 800;
    height: 48px;
    justify-content: center;
}
.investor-kpi p { color: #334155; font-size: 13px; font-weight: 700; margin: 0 0 8px; }
.investor-kpi strong { display: block; font-size: 20px; margin-bottom: 4px; }
.investor-kpi small { color: #475569; font-size: 12px; }
.investor-kpi-green .investor-kpi-icon { background: #eaf7ef; color: #087443; }
.investor-kpi-blue .investor-kpi-icon { background: #eaf2ff; color: #0b62ce; }
.investor-kpi-gold .investor-kpi-icon { background: #fff3db; color: #b96800; }
.investor-kpi-purple .investor-kpi-icon { background: #f4edff; color: #7e22ce; }
.investor-grid { display: grid; gap: 18px; margin-bottom: 18px; }
.investor-grid-main { grid-template-columns: 1fr 1.08fr; }
.investor-grid-bottom { grid-template-columns: 1.05fr 1fr; }
.investor-panel {
    background: #fff;
    border: 1px solid #e4e9e2;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    padding: 20px 22px;
}
.investor-panel-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
}
.investor-panel-head h2,
.investor-summary h2 { font-size: 17px; margin: 0; }
.investor-panel-head a,
.investor-list-row,
.investor-summary a { color: #006b43; font-size: 13px; font-weight: 800; text-decoration: none; }
.investor-line-chart {
    display: grid;
    gap: 12px;
    grid-template-columns: 64px 1fr;
    min-height: 210px;
}
.investor-chart-axis {
    color: #536178;
    display: flex;
    flex-direction: column;
    font-size: 12px;
    justify-content: space-between;
    padding: 12px 0 28px;
}
.investor-chart-bars {
    align-items: end;
    background: repeating-linear-gradient(to top, #eef2f7 0, #eef2f7 1px, transparent 1px, transparent 52px);
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(6, 1fr);
    min-height: 205px;
    padding-top: 10px;
}
.investor-chart-month {
    align-items: center;
    display: grid;
    grid-template-columns: repeat(3, 8px);
    justify-content: center;
    position: relative;
}
.investor-chart-month .line { align-self: end; border-radius: 999px 999px 0 0; display: block; width: 8px; }
.investor-chart-month .capital { background: #11874f; }
.investor-chart-month .retorno { background: #1463d8; }
.investor-chart-month .saldo { background: #f59e0b; }
.investor-chart-month small {
    bottom: -24px;
    color: #536178;
    font-size: 12px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
}
.investor-legend {
    align-items: center;
    color: #536178;
    display: flex;
    font-size: 12px;
    gap: 10px;
    justify-content: center;
    margin-top: 10px;
}
.investor-legend span { border-radius: 999px; display: inline-flex; height: 8px; width: 8px; }
.investor-legend .green { background: #11874f; }
.investor-legend .blue { background: #1463d8; }
.investor-legend .orange { background: #f59e0b; }
.investor-projects {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.investor-project-card {
    border: 1px solid #e4e9e2;
    border-radius: 10px;
    padding: 16px;
}
.investor-project-icon {
    align-items: center;
    background: #eaf7ef;
    border-radius: 8px;
    color: #087443;
    display: inline-flex;
    font-weight: 900;
    height: 36px;
    justify-content: center;
    margin-bottom: 10px;
    width: 36px;
}
.investor-project-card h3 { font-size: 14px; margin: 0 0 5px; }
.investor-project-card p { color: #475569; font-size: 12px; margin: 0 0 14px; }
.investor-project-card dl { display: grid; gap: 9px; grid-template-columns: 1fr auto; margin: 0; }
.investor-project-card dt { color: #0f172a; font-size: 12px; }
.investor-project-card dd { font-size: 12px; font-weight: 800; margin: 0; text-align: right; }
.investor-project-card dd span,
.investor-status {
    background: #eaf7ef;
    border-radius: 6px;
    color: #087443;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    padding: 4px 9px;
}
.investor-status.warning { background: #fff6db; color: #b96800; }
.investor-status.danger { background: #fdecec; color: #b42318; }
.investor-status.info { background: #eaf2ff; color: #075cc5; }
.investor-table { border-collapse: collapse; width: 100%; }
.investor-table th {
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
    padding: 10px;
    text-align: left;
}
.investor-table td {
    border-top: 1px solid #edf1ef;
    color: #0f172a;
    font-size: 12px;
    padding: 10px;
}
.investor-table td small { color: #64748b; display: block; margin-top: 3px; }
.investor-list { display: grid; gap: 0; }
.investor-list-row {
    align-items: center;
    border-bottom: 1px solid #edf1ef;
    display: grid;
    gap: 12px;
    grid-template-columns: 34px 1fr 130px 90px;
    padding: 11px 0;
}
.investor-list-row span {
    align-items: center;
    background: #eaf7ef;
    border-radius: 8px;
    color: #087443;
    display: inline-flex;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    width: 30px;
}
.investor-list-row strong { color: #0f172a; font-size: 13px; }
.investor-list-row small,
.investor-list-row em { color: #64748b; font-size: 12px; font-style: normal; }
.investor-summary > div {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 16px;
}
.investor-summary article {
    align-items: center;
    border-right: 1px solid #e4e9e2;
    display: grid;
    gap: 3px 14px;
    grid-template-columns: 46px 1fr;
    padding: 6px 24px;
}
.investor-summary article:last-child { border-right: 0; }
.investor-summary span {
    border-radius: 10px;
    display: block;
    height: 42px;
    grid-row: span 2;
    width: 42px;
}
.investor-summary span.green { background: #eaf7ef; }
.investor-summary span.blue { background: #eaf2ff; }
.investor-summary span.gold { background: #fff3db; }
.investor-summary span.purple { background: #f4edff; }
.investor-summary p { color: #475569; font-size: 13px; margin: 0; }
.investor-summary strong { font-size: 18px; }
.investor-empty {
    align-items: center;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    color: #64748b;
    display: flex;
    font-size: 13px;
    justify-content: center;
    min-height: 120px;
    padding: 18px;
    text-align: center;
}
.investor-profile-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: 320px 1fr;
}
.investor-profile-grid article {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #edf1ef;
    border-radius: 12px;
    display: flex;
    gap: 14px;
    padding: 16px;
}
.investor-profile-grid h3 { font-size: 18px; margin: 0 0 3px; }
.investor-profile-grid p { color: #64748b; margin: 0 0 8px; }
.investor-profile-grid strong {
    background: #eaf7ef;
    border-radius: 999px;
    color: #05603a;
    display: inline-flex;
    font-size: 12px;
    padding: 5px 10px;
}
.investor-profile-grid dl {
    border: 1px solid #edf1ef;
    border-radius: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}
.investor-profile-grid dl div { padding: 14px 16px; }
.investor-profile-grid dt { color: #64748b; font-size: 12px; margin-bottom: 4px; }
.investor-profile-grid dd { color: #0f172a; font-weight: 700; margin: 0; }
.investor-profile-note { color: #64748b; margin: 18px 0 0; }
@media (max-width: 1280px) {
    .investor-kpis { grid-template-columns: repeat(3, 1fr); }
    .investor-grid-main,
    .investor-grid-bottom { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .investor-topbar { align-items: flex-start; flex-direction: column; height: auto; padding: 18px; }
    .investor-topnav { flex-wrap: wrap; }
    .investor-topnav a { padding: 8px 10px; }
    .investor-shell { grid-template-columns: 1fr; }
    .investor-sidebar { display: none; }
    .investor-hero { align-items: flex-start; flex-direction: column; gap: 14px; }
    .investor-kpis,
    .investor-projects,
    .investor-summary > div { grid-template-columns: 1fr; }
    .investor-summary article { border-right: 0; border-bottom: 1px solid #e4e9e2; }
    .investor-profile-grid { grid-template-columns: 1fr; }
    .investor-profile-grid dl { grid-template-columns: 1fr; }
}

/* Admin Investors Dashboard */
.admin-investors-page { padding: 26px 28px 38px; }
.admin-investor-kpis {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(230px, 1fr));
    margin: 18px 0;
}
.admin-investor-kpi,
.admin-investor-card {
    background: var(--tv-bg-card, #fff);
    border: 1px solid var(--tv-border-soft, #e5e9ef);
    border-radius: var(--tv-radius-card, 14px);
    box-shadow: var(--tv-shadow-card, 0 8px 24px rgba(15, 23, 42, .06));
}
.admin-investor-kpi {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: 52px minmax(0, 1fr);
    min-height: 108px;
    overflow: hidden;
    padding: 16px 18px;
}
.admin-investor-kpi__icon {
    align-items: center;
    border-radius: 12px;
    color: #087443;
    display: inline-flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}
.admin-investor-kpi__body { min-width: 0; }
.admin-investor-kpi p {
    color: #1f2937;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 7px;
}
.admin-investor-kpi strong {
    color: #0f172a;
    display: block;
    font-size: clamp(18px, 1.25vw, 22px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.12;
    white-space: nowrap;
}
.admin-investor-kpi small {
    color: #667085;
    display: block;
    font-size: 12px;
    line-height: 1.25;
    margin-top: 7px;
}
.admin-investor-kpi.green .admin-investor-kpi__icon { background: #e8f6ee; color: #087443; }
.admin-investor-kpi.blue .admin-investor-kpi__icon { background: #eaf2ff; color: #1463d8; }
.admin-investor-kpi.gold .admin-investor-kpi__icon { background: #fff4d6; color: #b96b00; }
.admin-investor-kpi.purple .admin-investor-kpi__icon { background: #f1e8ff; color: #7c2dc2; }
.admin-investor-kpi.teal .admin-investor-kpi__icon { background: #e5f7f8; color: #0f8f9b; }
.admin-investor-kpi.orange .admin-investor-kpi__icon { background: #ffedd5; color: #ea580c; }
.admin-investor-kpi.red .admin-investor-kpi__icon { background: #fee2e2; color: #dc2626; }
.admin-investor-grid {
    display: grid;
    gap: 14px;
    margin-bottom: 14px;
}
.admin-investor-grid.top { grid-template-columns: minmax(0, 1.18fr) minmax(420px, .95fr); }
.admin-investor-grid.middle { grid-template-columns: minmax(0, 1.48fr) minmax(360px, .72fr); }
.admin-investor-grid.bottom { grid-template-columns: 1fr 1fr; }
.admin-investor-card { padding: 18px 20px; }
.admin-investor-card h2 {
    color: #0f172a;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0;
    margin: 0 0 14px;
}
.admin-investor-line-chart {
    min-height: 270px;
    overflow: hidden;
}
.admin-investor-line-svg {
    display: block;
    height: 270px;
    width: 100%;
}
.admin-investor-line-svg .grid { stroke: #e8edf3; stroke-width: 1; }
.admin-investor-line-svg .axis { stroke: #d7dee8; stroke-width: 1; }
.admin-investor-line-svg .axis-label,
.admin-investor-line-svg .month-label {
    fill: #667085;
    font-size: 11px;
}
.admin-investor-line-svg .month-label { text-anchor: middle; }
.admin-investor-line-svg .area.aportes { fill: rgba(8, 116, 67, .10); }
.admin-investor-line-svg .series {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.8;
}
.admin-investor-line-svg .series.aportes,
.admin-investor-line-svg .point.aportes { stroke: #087443; }
.admin-investor-line-svg .series.pagos,
.admin-investor-line-svg .point.pagos { stroke: #1463d8; }
.admin-investor-line-svg .series.saldo,
.admin-investor-line-svg .point.saldo { stroke: #f59e0b; }
.admin-investor-line-svg .point { fill: #fff; stroke-width: 2; }
.admin-investor-legend {
    align-items: center;
    color: #536178;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 10px;
    justify-content: center;
    margin: 10px 0 0;
}
.admin-investor-legend span {
    border-radius: 99px;
    display: inline-flex;
    height: 4px;
    width: 24px;
}
.admin-investor-legend .aportes { background: #087443; }
.admin-investor-legend .pagos { background: #1463d8; }
.admin-investor-legend .saldo { background: #f59e0b; }
.admin-investor-distribution {
    align-items: center;
    display: grid;
    gap: 24px;
    grid-template-columns: 200px minmax(0, 1fr);
}
.admin-investor-donut {
    align-items: center;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    height: 190px;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    width: 190px;
}
.admin-investor-donut::before {
    background: #fff;
    border-radius: 50%;
    content: "";
    inset: 50px;
    position: absolute;
}
.admin-investor-donut strong,
.admin-investor-donut span { position: relative; z-index: 1; }
.admin-investor-donut strong { color: #536178; font-size: 12px; font-weight: 800; }
.admin-investor-donut span { color: #0f172a; font-size: 15px; font-weight: 900; line-height: 1.15; text-align: center; }
.admin-investor-dist-list {
    border: 1px solid #e5e9ef;
    border-radius: 12px;
    overflow: hidden;
}
.admin-investor-dist-list div {
    align-items: center;
    border-bottom: 1px solid #edf1f5;
    display: grid;
    gap: 10px;
    grid-template-columns: 10px minmax(0, 1fr) 118px 58px;
    min-height: 52px;
    padding: 12px 14px;
}
.admin-investor-dist-list div:last-child { border-bottom: 0; }
.admin-investor-dist-list span { border-radius: 50%; height: 8px; width: 8px; }
.admin-investor-dist-list span.green { background: #087443; }
.admin-investor-dist-list span.blue { background: #1463d8; }
.admin-investor-dist-list span.orange { background: #f97316; }
.admin-investor-dist-list span.gold { background: #d97706; }
.admin-investor-dist-list p,
.admin-investor-dist-list strong,
.admin-investor-dist-list em { font-size: 12px; margin: 0; }
.admin-investor-dist-list p { color: #243044; font-weight: 700; }
.admin-investor-dist-list strong { color: #0f172a; text-align: right; white-space: nowrap; }
.admin-investor-dist-list em { color: #536178; font-style: normal; text-align: right; }
.admin-investor-table {
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    width: 100%;
}
.admin-investor-table th {
    background: #f6f8fb;
    color: #334155;
    font-size: 12px;
    font-weight: 900;
    padding: 10px 12px;
    text-align: left;
}
.admin-investor-table th:first-child { border-radius: 10px 0 0 0; }
.admin-investor-table th:last-child { border-radius: 0 10px 0 0; }
.admin-investor-table td {
    border-top: 1px solid #edf1f5;
    color: #0f172a;
    padding: 10px 12px;
    vertical-align: middle;
}
.admin-investor-table tbody tr:nth-child(even) td { background: #fbfcfd; }
.admin-investor-table .is-money { text-align: right; white-space: nowrap; }
.admin-investor-table .is-action { text-align: center; width: 44px; }
.admin-investor-table .is-action a {
    align-items: center;
    border: 1px solid #d9e1ea;
    border-radius: 8px;
    color: #334155;
    display: inline-flex;
    height: 28px;
    justify-content: center;
    width: 28px;
}
.admin-investor-roi {
    background: #eaf7ef;
    border-radius: 999px;
    color: #087443;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    padding: 4px 9px;
}
.admin-investor-link {
    color: #006b43;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    margin-top: 13px;
    text-decoration: none;
}
.admin-investor-alerts { display: grid; gap: 0; }
.admin-investor-alerts a {
    align-items: center;
    border-bottom: 1px solid #edf1f5;
    color: #0f172a;
    display: grid;
    font-size: 13px;
    gap: 12px;
    grid-template-columns: 32px 1fr 18px;
    min-height: 50px;
    text-decoration: none;
}
.admin-investor-alerts a:last-child { border-bottom: 0; }
.admin-investor-alerts span {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    width: 32px;
}
.admin-investor-alerts span.orange { background: #ffedd5; color: #ea580c; }
.admin-investor-alerts span.red { background: #fee2e2; color: #dc2626; }
.admin-investor-alerts span.gold { background: #fef3c7; color: #b45309; }
.admin-investor-alerts span.blue { background: #dbeafe; color: #1463d8; }
.admin-investor-alerts strong { font-size: 13px; font-weight: 750; }
.admin-investor-alerts em { color: #64748b; font-style: normal; }
.admin-investor-timeline { display: grid; gap: 16px; }
.admin-investor-timeline div {
    border-left: 2px solid #e5e9ef;
    min-height: 48px;
    padding-left: 18px;
    position: relative;
}
.admin-investor-timeline span {
    background: #087443;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px #d7dee8;
    height: 12px;
    left: -7px;
    position: absolute;
    top: 3px;
    width: 12px;
}
.admin-investor-timeline div:nth-child(2) span { background: #1463d8; }
.admin-investor-timeline div:nth-child(3) span { background: #f97316; }
.admin-investor-timeline time {
    color: #087443;
    display: block;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 2px;
}
.admin-investor-timeline strong { color: #0f172a; display: block; font-size: 13px; }
.admin-investor-timeline p { color: #536178; font-size: 12px; margin: 3px 0 0; }
.admin-investor-empty {
    align-items: center;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    color: #64748b;
    display: flex;
    min-height: 190px;
    justify-content: center;
    padding: 22px;
    text-align: center;
}
@media (max-width: 1440px) {
    .admin-investor-kpis { grid-template-columns: repeat(4, minmax(210px, 1fr)); }
    .admin-investor-grid.top,
    .admin-investor-grid.middle,
    .admin-investor-grid.bottom { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
    .admin-investor-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-investor-distribution { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .admin-investors-page { padding: 18px 14px 28px; }
    .admin-investor-kpis { grid-template-columns: 1fr; }
    .admin-investor-card { overflow-x: auto; }
}

.checkout-page { min-height: 100vh; padding: 32px clamp(18px, 4vw, 48px); background: #f4f7f5; color: #162033; }
.checkout-header { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; margin: 0 auto 22px; max-width: 1320px; }
.checkout-header h1 { margin: 5px 0 7px; font: 700 clamp(24px, 3vw, 30px)/1.2 var(--font-heading); }
.checkout-header p:not(.checkout-kicker) { margin: 0; color: #64748b; }
.checkout-kicker { margin: 0; color: #23613f; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.checkout-header__actions { display: flex; gap: 12px; align-items: center; }
.checkout-status { display: inline-flex; border-radius: 999px; background: #e6f4eb; border: 1px solid #c2dfcc; color: #25643f; padding: 6px 12px; font-size: 12px; font-weight: 700; text-transform: capitalize; }
.checkout-alert { max-width: 1320px; margin: 0 auto 18px; border: 1px solid #f4c688; background: #fff4e5; color: #8a4b06; border-radius: 10px; padding: 13px 16px; font-size: 14px; }
.checkout-alert--success { background: #eaf7ee; border-color: #b9ddc4; color: #1f6339; }
.checkout-alert--error { background: #fff0ec; border-color: #f3c0b3; color: #9a3412; }
.checkout-steps { max-width: 1320px; margin: 0 auto 20px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.checkout-steps span { padding: 11px 8px; text-align: center; border-radius: 8px; background: #fff; border: 1px solid #e2e8f0; color: #475569; font-size: 13px; font-weight: 600; }
.checkout-grid { max-width: 1320px; margin: 0 auto 20px; display: grid; grid-template-columns: minmax(420px, 1fr) minmax(300px, 420px); gap: 20px; }
.checkout-card { max-width: 1320px; margin: 0 auto 20px; border-radius: 12px; border: 1px solid #dfe7e3; background: #fff; box-shadow: 0 3px 10px rgba(22, 32, 51, .04); padding: 20px; }
.checkout-grid .checkout-card { margin: 0; }
.checkout-card h2 { margin: 0 0 16px; font: 700 17px/1.2 var(--font-heading); }
.checkout-form { display: grid; gap: 14px; margin-bottom: 18px; }
.checkout-form label { display: grid; gap: 6px; }
.checkout-form label span { color: #32455e; font-size: 13px; font-weight: 600; }
.checkout-form select, .checkout-form input, .checkout-cancel input { min-height: 42px; border: 1px solid #d1dbe6; border-radius: 8px; padding: 8px 12px; background: #fff; font: 14px var(--font-body); }
.checkout-values { margin: 4px 0 0; display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: 13px; }
.checkout-values dt { color: #64748b; font-size: 12px; }
.checkout-values dd { margin: 5px 0 0; font-size: 15px; font-weight: 700; }
.checkout-actions form:not(.checkout-cancel) { margin-bottom: 20px; }
.checkout-cancel { border-top: 1px solid #eef2f6; display: grid; gap: 10px; padding-top: 18px; }
.checkout-table-wrap { overflow-x: auto; }
.checkout-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.checkout-table th { background: #f5f7f8; color: #32455e; font-weight: 700; text-align: left; }
.checkout-table td, .checkout-table th { border-bottom: 1px solid #edf1f4; padding: 12px 14px; white-space: nowrap; }
.checkout-table tbody tr:nth-child(even) { background: #fbfcfc; }
.checkout-admin-kpis { max-width: 1320px; margin: 0 auto 20px; grid-template-columns: repeat(7, minmax(130px, 1fr)); }
.checkout-admin-kpis div { border: 1px solid #dfe7e3; border-radius: 10px; background: #fff; padding: 14px; }
.checkout-admin-kpis div.is-attention { border-color: #f2c14e; background: #fff8df; }
.checkout-approval-queue { border-color: #edc86b; }
.checkout-approval-queue > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.checkout-approval-queue > header h2 { margin: 0; }
.checkout-approval-queue > header p { margin: 4px 0 0; }
.checkout-approval-queue > header > span { border-radius: 999px; background: #fff1bf; color: #7a5200; padding: 7px 12px; font-weight: 800; white-space: nowrap; }
.checkout-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.checkout-filters input, .checkout-filters select { min-height: 40px; padding: 0 12px; border: 1px solid #d5ddd7; border-radius: 8px; background: #fff; }
.checkout-admin-page { padding: 0; }
.checkout-admin-page .checkout-admin-kpis,
.checkout-admin-page .checkout-card { max-width: none; }
.checkout-admin-page .checkout-card { box-shadow: var(--tv-shadow-card, 0 8px 24px rgba(15, 23, 42, .06)); }
.admin-topbar-alert--urgent { background: #9f2d20 !important; border-color: #d24b3c !important; color: #fff !important; animation: admin-alert-pulse 1.8s ease-in-out infinite; }
@keyframes admin-alert-pulse { 50% { box-shadow: 0 0 0 5px rgba(210, 75, 60, .18); } }
.admin-critical-action-alert { align-items: center; background: #fff2ef; border: 1px solid #ef9c8e; border-left: 5px solid #c23b2a; border-radius: 12px; color: #6e2118; display: grid; gap: 14px; grid-template-columns: 46px minmax(0, 1fr) auto; margin-bottom: 18px; padding: 15px 18px; text-decoration: none; box-shadow: 0 8px 22px rgba(154, 52, 18, .10); }
.admin-critical-action-alert__icon { align-items: center; background: #c23b2a; border-radius: 50%; color: #fff; display: inline-flex; height: 42px; justify-content: center; width: 42px; }
.admin-critical-action-alert__body { display: grid; gap: 3px; }
.admin-critical-action-alert__body strong { font-size: 15px; }
.admin-critical-action-alert__body small { color: #88473e; font-size: 12px; }
.admin-critical-action-alert__cta { align-items: center; background: #9f2d20; border-radius: 8px; color: #fff; display: inline-flex; font-size: 12px; font-weight: 900; gap: 7px; padding: 10px 13px; white-space: nowrap; }
.admin-action-alert-center { display: grid; gap: 9px; }
.admin-action-alert { align-items: center; border: 1px solid #e4e9ef; border-radius: 10px; color: #172033; display: grid; gap: 10px; grid-template-columns: 34px minmax(0, 1fr) auto; padding: 10px; text-decoration: none; transition: border-color .15s, transform .15s; }
.admin-action-alert:hover { border-color: #b9c7d6; transform: translateY(-1px); }
.admin-action-alert__icon { align-items: center; border-radius: 8px; display: inline-flex; height: 32px; justify-content: center; width: 32px; }
.admin-action-alert--danger .admin-action-alert__icon { background: #fee7e3; color: #b83223; }
.admin-action-alert--warning .admin-action-alert__icon { background: #fff3cf; color: #9a6500; }
.admin-action-alert__copy { display: grid; gap: 2px; min-width: 0; }
.admin-action-alert__copy strong { font-size: 12px; }
.admin-action-alert__copy small { color: #667085; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-action-alert__action { align-items: center; color: #087443; display: inline-flex; font-size: 11px; font-weight: 900; gap: 4px; white-space: nowrap; }
@media (max-width: 900px) {
    .checkout-grid, .checkout-steps { grid-template-columns: 1fr; }
    .checkout-header { flex-direction: column; }
    .checkout-values, .checkout-admin-kpis { grid-template-columns: repeat(2, 1fr); }
    .admin-critical-action-alert { grid-template-columns: 42px 1fr; }
    .admin-critical-action-alert__cta { grid-column: 1 / -1; justify-content: center; }
}

.checkout-page--sales { --checkout-green: #004426; --checkout-green-2: #0b6b3d; --checkout-soft: #eaf6ed; --checkout-line: #dce5df; --checkout-muted: #667085; padding: 0; background: #f5f7f5; color: #0f172a; }
.checkout-page--embedded { background: transparent; }
.checkout-dashboard-main .checkout-shell { width: 100%; max-width: 1680px; padding: 28px clamp(18px, 3vw, 38px) 42px; }
.checkout-shell { width: min(1680px, 100%); margin: 0 auto; padding: 28px clamp(18px, 3vw, 46px) 42px; }
.checkout-hero { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; margin-bottom: 22px; }
.checkout-hero h1 { margin: 6px 0 8px; font: 800 clamp(27px, 3vw, 38px)/1.1 var(--font-heading); letter-spacing: -.03em; }
.checkout-hero p:not(.checkout-kicker) { margin: 0; color: #536273; font-size: 18px; }
.checkout-hero p strong { color: var(--checkout-green-2); }
.checkout-back-button { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 18px; border: 1px solid #94a3b8; border-radius: 10px; background: #fff; color: #111827; font-weight: 800; text-decoration: none; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.checkout-back-button svg { transform: rotate(180deg); }
.checkout-status { min-height: 31px; align-items: center; gap: 7px; border-color: #f5d38a; background: #fff2cf; color: #5f4000; text-transform: none; }
.checkout-status:before { content: ""; width: 8px; height: 8px; border-radius: 99px; background: #d59600; }
.checkout-status--condicao-definida, .checkout-status--venda-concluida { background: #e9f8ef; border-color: #b8e2c6; color: #075b32; }
.checkout-status--condicao-definida:before, .checkout-status--venda-concluida:before { background: #0b7a43; }
.checkout-status--cancelado { background: #fff0f0; border-color: #ffc7c7; color: #a01818; }
.checkout-status--cancelado:before { background: #e11d48; }
.checkout-alert { max-width: none; border-radius: 12px; margin: 0 0 18px; }
.checkout-stepper { display: grid; grid-template-columns: repeat(6, 1fr); align-items: start; margin: 18px 28px 22px; }
.checkout-step { position: relative; display: grid; justify-items: center; gap: 8px; min-width: 120px; color: #64748b; font-size: 13px; font-weight: 800; text-align: center; }
.checkout-step__line { position: absolute; top: 23px; left: calc(-50% + 24px); width: calc(100% - 48px); height: 3px; background: #d7dce0; }
.checkout-step:first-child .checkout-step__line { display: none; }
.checkout-step__circle { position: relative; z-index: 1; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 999px; border: 1px solid #d5dbe0; background: #e9eaec; color: #7b8490; box-shadow: 0 2px 5px rgba(15,23,42,.08); }
.checkout-step--done .checkout-step__circle, .checkout-step--current .checkout-step__circle { border-color: var(--checkout-green); background: var(--checkout-green); color: #fff; }
.checkout-step--done .checkout-step__line, .checkout-step--current .checkout-step__line { background: var(--checkout-green); }
.checkout-step--current .checkout-step__circle { width: 58px; height: 58px; margin-top: -4px; border: 5px solid #d5efdd; box-shadow: 0 0 0 2px var(--checkout-green); }
.checkout-step--current strong { color: var(--checkout-green-2); }
.checkout-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 26px; align-items: start; }
.checkout-main-column { min-width: 0; }
.checkout-card { max-width: none; margin: 0 0 14px; border: 1px solid var(--checkout-line); border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgba(15, 23, 42, .07); padding: 24px; }
.checkout-card h2 { margin: 0 0 7px; font-size: 22px; letter-spacing: -.02em; }
.checkout-card__head p, .next-action-panel > p { margin: 0 0 18px; color: var(--checkout-muted); }
.checkout-info-strip { display: flex; gap: 12px; align-items: center; padding: 13px 16px; margin: 18px 0; border: 1px solid #d8eadc; border-radius: 8px; background: #edf7ef; color: #1d3a2b; font-size: 14px; }
.checkout-info-strip svg { color: var(--checkout-green-2); }
.checkout-condition-form { gap: 16px; margin: 0; }
.checkout-custom-request { display: none; gap: 14px; border: 1px solid #e2bd55; border-radius: 10px; background: #fff9e8; padding: 16px; }
.checkout-custom-request.is-visible { display: grid; }
.checkout-custom-request p { margin: 4px 0 0; color: #5e6470; }
.checkout-custom-request label { display: grid; gap: 6px; font-size: 13px; font-weight: 800; color: #1f2a3a; }
.checkout-custom-request input, .checkout-custom-request textarea { width: 100%; border: 1px solid #cfd8e3; border-radius: 8px; background: #fff; padding: 10px 12px; color: #111827; font: 14px var(--font-body); }
.checkout-custom-request__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.checkout-approval-pending { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; border: 1px solid #edc86b; border-radius: 10px; background: #fff8df; padding: 14px; color: #694b00; }
.checkout-approval-pending p { margin: 4px 0 0; }
.checkout-values--custom-request { margin-top: 12px; border-color: #edc86b; background: #fffdf5; }
.checkout-alert--warning { background: #fff8df; border-color: #edc86b; color: #694b00; }
@media (max-width: 760px) {
    .checkout-custom-request__grid { grid-template-columns: 1fr; }
}
.checkout-select-field span, .cancel-checkout-panel label span, .checkout-next-forms label span { font-size: 13px; font-weight: 800; color: #1f2a3a; }
.checkout-select-field select, .checkout-next-forms input, .cancel-checkout-panel input { width: 100%; min-height: 44px; border: 1px solid #cfd8e3; border-radius: 8px; background: #fff; padding: 0 14px; color: #111827; font: 14px var(--font-body); }
.payment-option-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.payment-option-card { position: relative; min-height: 106px; border: 1px solid #dce3e8; border-radius: 10px; background: #fff; padding: 18px 48px 16px 72px; color: inherit; cursor: pointer; font: inherit; text-align: left; }
.payment-option-card:hover { border-color: #9fcab0; box-shadow: 0 8px 18px rgba(15, 23, 42, .06); }
.payment-option-card.is-selected { border-color: var(--checkout-green-2); background: #f0faf3; box-shadow: inset 0 0 0 1px rgba(11,107,61,.14); }
.payment-option-card__icon { position: absolute; left: 18px; top: 22px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 999px; background: #dff4e4; color: var(--checkout-green-2); }
.payment-option-card.is-selected .payment-option-card__icon { background: var(--checkout-green-2); color: #fff; }
.payment-option-card__check { position: absolute; right: 18px; top: 18px; width: 20px; height: 20px; border: 1px solid #cbd5df; border-radius: 999px; background: #fff; }
.payment-option-card.is-selected .payment-option-card__check { border: 5px solid var(--checkout-green-2); }
.payment-option-card h3 { margin: 0 0 6px; font-size: 17px; }
.payment-option-card p { margin: 0 0 6px; color: #475569; font-size: 14px; }
.payment-option-card strong { font-size: 17px; }
.payment-option-card__split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.payment-option-card__split span { color: #64748b; border-left: 1px solid #d7dde3; padding-left: 16px; }
.payment-option-card__split span:first-child { border-left: 0; padding-left: 0; }
.payment-option-card__split strong { display: block; color: #0f172a; margin-top: 4px; }
.financial-summary-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #dce3e8; border-radius: 10px; background: #fff; overflow: hidden; }
.financial-summary-strip div { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-left: 1px solid #e5ebef; }
.financial-summary-strip div:first-child { border-left: 0; }
.financial-summary-strip svg { width: 46px; height: 46px; padding: 12px; border-radius: 999px; background: #dff4e4; color: var(--checkout-green-2); }
.financial-summary-strip span { color: #64748b; font-size: 13px; }
.financial-summary-strip strong { display: block; margin-top: 4px; color: #0f172a; font-size: 15px; }
.financial-summary-strip small { color: #475569; }
.checkout-action-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 2px; }
.checkout-primary-button, .checkout-secondary-button, .checkout-danger-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 8px; padding: 0 22px; font-weight: 800; font-size: 15px; cursor: pointer; }
.checkout-primary-button { border: 1px solid var(--checkout-green); background: linear-gradient(180deg, #006237, #003f25); color: #fff; box-shadow: 0 8px 16px rgba(0,68,38,.16); }
.checkout-secondary-button { border: 1px solid #bcc8d3; background: #fff; color: #1f2937; }
.checkout-danger-button { width: 100%; border: 1px solid #ff6262; background: #fff; color: #e01818; }
.checkout-sidebar { display: grid; gap: 14px; }
.next-action-timeline { display: grid; gap: 0; margin: 14px 0 18px; }
.next-action-timeline div { position: relative; display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; padding: 10px 12px; color: #334155; }
.next-action-timeline div:before { content: ""; position: absolute; left: 26px; top: 0; bottom: 0; width: 1px; background: #d9e0e5; }
.next-action-timeline div:first-child:before { top: 50%; }
.next-action-timeline div:last-child:before { bottom: 50%; }
.next-action-timeline span { position: relative; z-index: 1; width: 20px; height: 20px; border: 1px solid #cbd5df; border-radius: 999px; background: #fff; }
.next-action-timeline .is-active { border-radius: 8px; background: #edf7ef; color: #0b5d34; }
.next-action-timeline .is-active span { border: 5px solid #0b6b3d; }
.next-action-timeline em { justify-self: end; border-radius: 8px; background: #cfeecd; color: #0b5d34; padding: 5px 9px; font-size: 12px; font-style: normal; font-weight: 800; }
.checkout-warning-box { display: flex; gap: 12px; align-items: flex-start; border: 1px solid #f1c747; border-radius: 8px; background: #fff8df; color: #4f3900; padding: 13px 14px; }
.checkout-warning-box strong { display: block; margin-bottom: 3px; }
.checkout-next-forms { display: grid; gap: 12px; margin-top: 16px; }
.checkout-next-forms form { display: grid; gap: 10px; }
.sale-summary-panel div { display: grid; grid-template-columns: 22px minmax(90px, .7fr) 1fr; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid #edf1f4; color: #64748b; font-size: 14px; }
.sale-summary-panel div:first-of-type { border-top: 0; }
.sale-summary-panel strong { color: #111827; text-align: right; }
.cancel-checkout-panel form { display: grid; gap: 12px; }
.checkout-guidance-card { padding-bottom: 18px; }
.checkout-guidance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.checkout-guidance-grid article { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: start; border-left: 1px solid #e3e8ed; padding-left: 22px; }
.checkout-guidance-grid article:first-child { border-left: 0; padding-left: 0; }
.checkout-guidance-grid svg { width: 48px; height: 48px; padding: 12px; border-radius: 999px; background: #dff4e4; color: var(--checkout-green-2); }
.checkout-guidance-grid strong { display: block; margin-bottom: 6px; }
.checkout-guidance-grid p { margin: 0; color: #475569; line-height: 1.45; }
.checkout-values--frozen { margin-top: 18px; padding: 18px; border: 1px solid #dce3e8; border-radius: 10px; background: #fbfdfb; }
@media (max-width: 1180px) {
    .checkout-content-grid { grid-template-columns: 1fr; }
    .checkout-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .next-action-panel { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .checkout-hero { flex-direction: column; }
    .checkout-stepper { overflow-x: auto; margin-left: 0; margin-right: 0; padding-bottom: 8px; }
    .checkout-stepper { grid-template-columns: repeat(6, 130px); }
    .payment-option-grid, .financial-summary-strip, .checkout-guidance-grid, .checkout-sidebar { grid-template-columns: 1fr; }
    .financial-summary-strip div, .checkout-guidance-grid article { border-left: 0; border-top: 1px solid #e3e8ed; }
    .financial-summary-strip div:first-child, .checkout-guidance-grid article:first-child { border-top: 0; }
}
