:root {
    --bg: var(--color-background);
    --panel: var(--color-surface);
    --ink: var(--color-text);
    --muted: var(--color-text-muted);
    --line: var(--color-border);
    --border: var(--color-border);
    --surface-soft: var(--color-surface-secondary);
    --brand: var(--color-primary);
    --brand-2: var(--atlas-gold);
    --accent: var(--color-accent);
    --danger: var(--color-danger);
    --warning: var(--color-warning);
    --radius: var(--radius-medium);
    --shadow: var(--shadow-surface);
    --rail-width: 68px;
    --module-panel-width: 280px;
    --rail-bg: #071E42;
    --module-panel-bg: var(--atlas-navy);
}

* { box-sizing: border-box; }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
    box-shadow: var(--valcrena-focus-ring);
}

body {
    margin: 0;
    min-height: 100vh;
    display: grid;
    grid-template-columns: var(--rail-width) minmax(0, 1fr);
    background: var(--bg);
    color: var(--ink);
    font-family: var(--valcrena-font-family);
    font-size: var(--valcrena-font-size-body);
    overflow-x: hidden;
}

body.module-panel-is-visible { grid-template-columns: var(--rail-width) var(--module-panel-width) minmax(0, 1fr); }

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible { border-radius: var(--radius-small); }

.workspace-rail {
    min-height: 100vh;
    background: var(--rail-bg);
    color: white;
    padding: 12px 8px;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    border-right: 1px solid rgba(255,255,255,.10);
    z-index: 40;
}

[hidden]:not([hidden="until-found"]) { display: none !important; }

.workspace-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    width: 48px;
    height: 48px;
}

.workspace-brand:hover { text-decoration: none; }

.brand-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    color: var(--atlas-gold);
    font-family: var(--valcrena-font-display);
    font-size: 36px;
    font-weight: 700;
}

.workspace-rail-nav {
    flex: 1 1 auto;
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

.workspace-rail-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 44px;
    border-radius: var(--radius-medium);
    color: rgba(255,255,255,.72);
    transition: background var(--valcrena-transition-fast), color var(--valcrena-transition-fast), transform var(--valcrena-transition-fast);
}

.workspace-rail-item:hover,
.workspace-rail-item:focus-visible {
    background: rgba(255,255,255,.10);
    color: white;
    text-decoration: none;
}

.workspace-rail-item.active {
    color: white;
    background: rgba(255,255,255,.13);
    box-shadow: inset 3px 0 0 var(--atlas-gold);
}

.nav-icon {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 0;
    color: rgba(255,255,255,.78);
}

.workspace-rail-item.active .nav-icon,
.workspace-rail-item:hover .nav-icon { color: white; }

.workspace-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    padding: 7px 9px;
    border-radius: var(--radius-small);
    background: #101828;
    color: white;
    font-size: 12px;
    font-weight: var(--valcrena-font-weight-semibold);
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--valcrena-transition-fast);
    z-index: 80;
}

[data-tooltip]:hover::after,
[data-tooltip]:focus-visible::after { opacity: 1; }

.module-panel {
    min-height: 100vh;
    background: var(--module-panel-bg);
    color: white;
    padding: 20px 14px;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-right: 1px solid rgba(13,43,92,.20);
    box-shadow: 10px 0 26px rgba(13,43,92,.08);
    z-index: 30;
    max-height: 100vh;
    overflow-y: auto;
}

.module-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 0 4px 12px;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.module-panel-header div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.module-panel-header span {
    color: rgba(255,255,255,.58);
    font-size: 10px;
    font-weight: var(--valcrena-font-weight-bold);
    text-transform: uppercase;
}

.module-panel-header strong {
    overflow-wrap: anywhere;
    white-space: normal;
    font-size: 17px;
    font-weight: var(--valcrena-font-weight-bold);
}

.module-panel-header .atlas-product-name {
    color: white;
    font-family: var(--valcrena-font-display);
    font-size: 27px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0;
}
.module-panel-header .atlas-product-name:hover { text-decoration: none; }
.module-panel-header .atlas-product-name + span { text-transform: none; font-size: 11px; font-weight: 400; }
.module-panel-header .atlas-product-name ~ strong { margin-top: 10px; }
.auth-brand { display: grid; justify-items: start; gap: 12px; margin-bottom: 24px; }
.auth-brand img { width: 180px; height: auto; object-fit: contain; }
.auth-brand strong { font-family: var(--valcrena-font-display); font-size: 30px; color: var(--atlas-navy); }

.module-panel-toggle {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-medium);
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.78);
    cursor: pointer;
    font: inherit;
}

.module-panel-toggle:hover {
    color: white;
    background: rgba(255,255,255,.12);
}

.module-panel-pin {
    position: fixed;
    left: calc(var(--rail-width) + 8px);
    top: 14px;
    margin: 0;
    z-index: 35;
}

.module-panel-pin .module-panel-toggle {
    background: var(--atlas-navy);
    color: white;
    box-shadow: var(--shadow-surface);
}

.module-nav {
    display: grid;
    gap: 4px;
}

.nav-item-row {
    display: block;
    border-radius: var(--radius-medium);
}

.nav-item-row a {
    color: rgba(255,255,255,.82);
    padding: 11px 10px;
    border-radius: var(--radius-medium);
    font-weight: var(--valcrena-font-weight-medium);
    min-width: 0;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.15;
}

.nav-item-row a:hover,
.nav-item-row a:focus-visible {
    background: rgba(255,255,255,.10);
    color: white;
    text-decoration: none;
}

.nav-item-row.active a {
    color: white;
    background: rgba(255,255,255,.12);
    box-shadow: inset 3px 0 0 var(--atlas-gold);
    font-weight: var(--valcrena-font-weight-bold);
}

.nav-label {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
}

.module-favorites {
    display: grid;
    gap: 6px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.10);
}

.module-favorites strong {
    color: rgba(255,255,255,.58);
    font-size: 10px;
    text-transform: uppercase;
}

.module-favorites a {
    color: rgba(255,255,255,.78);
    font-size: var(--valcrena-font-size-secondary);
    overflow-wrap: anywhere;
    white-space: normal;
}

.rail-session {
    width: 48px;
    display: grid;
    gap: 8px;
}

.rail-session details { position: relative; }

.user-menu summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-menu summary::-webkit-details-marker { display: none; }

.avatar {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.18);
    color: white;
    font-weight: 750;
    overflow: hidden;
}

.avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.user-menu-text {
    display: none;
    min-width: 0;
}

.user-menu-text strong,
.user-menu-text small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu-text small { color: rgba(255,255,255,.62); margin-top: 2px; }

.user-menu-actions {
    position: absolute;
    left: calc(100% + 10px);
    bottom: 0;
    min-width: 220px;
    display: grid;
    gap: 2px;
    padding: 8px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);
    background: var(--color-surface);
    box-shadow: var(--shadow-floating);
    z-index: 90;
}

.user-menu-actions a,
.user-menu-actions button,
.rail-session > a,
.rail-session button {
    width: 100%;
    text-align: left;
    color: var(--ink);
    background: transparent;
    border: 0;
    border-radius: var(--radius-medium);
    padding: 9px 10px;
    font: inherit;
    cursor: pointer;
}

.user-menu-actions a:hover,
.user-menu-actions button:hover,
.rail-session > a:hover,
.rail-session button:hover {
    color: var(--atlas-navy);
    background: var(--color-primary-soft);
    text-decoration: none;
}

.user-menu-actions form { margin: 0; }

.main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: var(--valcrena-space-8);
}

.page-header,
.detail-hero,
.entity-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--valcrena-space-6);
    margin-bottom: var(--valcrena-space-6);
    min-width: 0;
}

.eyebrow {
    margin: 0 0 7px;
    color: var(--brand-2);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

h1, h2 {
    margin: 0;
    line-height: 1.15;
    letter-spacing: 0;
}

h1 { font-family: var(--valcrena-font-display); font-size: 38px; font-weight: 700; }
h2 { font-size: var(--valcrena-font-size-card-title); margin-bottom: 16px; }

.entity-context-bar {
    display: flex;
    align-items: flex-start;
    gap: var(--valcrena-space-4);
    margin: calc(var(--valcrena-space-3) * -1) 0 var(--valcrena-space-6);
    padding: var(--valcrena-space-3) 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.next-action-card {
    margin: 0 0 var(--valcrena-space-5);
    padding: 16px 18px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--valcrena-radius-md);
    background: rgba(255,255,255,.72);
    box-shadow: var(--valcrena-shadow-surface);
}

.next-action-card div {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.next-action-card span {
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-tertiary);
    font-weight: 700;
    text-transform: uppercase;
}

.next-action-card strong {
    font-size: var(--valcrena-font-size-section);
}

.entity-context-label {
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.entity-context-items {
    display: flex;
    flex-wrap: wrap;
    gap: var(--valcrena-space-2);
    min-width: 0;
}

.entity-context-item {
    display: inline-grid;
    gap: 2px;
    min-width: 160px;
    max-width: 260px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius-small);
    color: var(--ink);
    background: var(--surface-soft);
}

.entity-context-item:hover {
    text-decoration: none;
    border-color: var(--accent);
}

.entity-context-item span,
.entity-context-item small {
    color: var(--muted);
    font-size: 12px;
}

.entity-context-item strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-subtitle {
    margin: 8px 0 0;
    color: var(--muted);
    max-width: 860px;
    line-height: 1.45;
}

.breadcrumb,
.breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--muted);
    font-size: var(--valcrena-font-size-secondary);
    font-weight: var(--valcrena-font-weight-semibold);
}

.context-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.context-navigation .breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; margin: 0; }
.context-navigation .breadcrumbs a { color: inherit; }

.action-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.parent-context-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: var(--valcrena-space-4);
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--color-surface-elevated);
    color: var(--muted);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: var(--control-height-md);
    padding: 9px 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--ink);
    font-weight: var(--valcrena-font-weight-semibold);
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--valcrena-transition-fast), border-color var(--valcrena-transition-fast), color var(--valcrena-transition-fast), transform var(--valcrena-transition-fast);
}
.btn:hover { text-decoration: none; border-color: var(--accent); transform: translateY(-1px); }
.btn.primary { background: var(--brand); color: white; border-color: var(--brand); }
.btn.primary:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.btn.secondary { background: var(--color-primary-soft); border-color: rgba(200, 162, 90, .32); color: var(--brand); }
.btn.ghost { background: transparent; border-color: transparent; color: var(--muted); }
.btn.link { min-height: auto; padding: 0; border: 0; background: transparent; color: var(--accent); }
.btn.small { min-height: var(--control-height-sm); padding: 6px 10px; font-size: var(--valcrena-font-size-secondary); }
.btn.large { min-height: var(--control-height-lg); padding: 11px 18px; }
.btn.danger { color: var(--danger); border-color: #e3b7b5; }
.btn.danger:hover { background: var(--color-danger-soft); border-color: rgba(180, 35, 24, .28); }
.btn.disabled,
.btn:disabled,
button:disabled {
    opacity: .48;
    cursor: not-allowed;
    transform: none;
}

.icon,
.btn-icon {
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: currentColor;
    font-style: normal;
    line-height: 1;
}

.btn-icon-only {
    width: var(--control-height-md);
    min-width: var(--control-height-md);
    padding-inline: 0;
}

[data-icon]::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border: 1.7px solid currentColor;
    border-radius: 3px;
    opacity: .82;
}

.metric-grid, .content-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.crm-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 18px;
}

.crm-stack .panel {
    min-width: 0;
}

.metric, .panel, .form-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    min-width: 0;
}

.metric { padding: 22px; }
.metric span { display: block; color: var(--muted); margin-bottom: 10px; }
.metric strong { font-size: 32px; }
.metric.warning strong { color: var(--danger); }

.panel, .form-card { padding: 22px; }
.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.panel-header h2 {
    margin-bottom: 0;
}

.panel-header > div {
    min-width: 0;
}

.table-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    border-radius: var(--radius);
    -webkit-overflow-scrolling: touch;
}
table {
    width: 100%;
    border-collapse: collapse;
}
th, td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}
th {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: 0;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}
td small { display: block; color: var(--muted); margin-top: 4px; }

.badge, .priority {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: var(--color-neutral-soft);
    color: var(--brand);
    font-size: var(--valcrena-font-size-secondary);
    font-weight: var(--valcrena-font-weight-semibold);
    line-height: 1.2;
}
.badge.success,
.badge.activo,
.badge.aprobado,
.badge.formalizado { background: var(--color-success-soft); color: var(--color-success); }
.badge.info,
.badge.en-proceso,
.badge.en-revision { background: var(--color-info-soft); color: var(--color-info); }
.badge.warning,
.badge.pendiente,
.badge.borrador { background: var(--color-warning-soft); color: var(--color-warning); }
.badge.danger,
.badge.inactivo,
.badge.cancelado { background: var(--color-danger-soft); color: var(--color-danger); }
.priority.alta { background: var(--color-danger-soft); color: var(--danger); }
.priority.critica { background: var(--danger); color: #fff; }
.priority.media { background: var(--color-warning-soft); color: var(--warning); }
.priority.baja { background: var(--color-success-soft); color: var(--accent); }

.stack-list { display: grid; gap: 10px; }
.list-row {
    display: block;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
}
.list-row strong, .list-row span { display: block; }
.list-row span { color: var(--muted); margin-top: 4px; }
.compact .list-row { padding: 10px 0; border-width: 0 0 1px; border-radius: 0; }

.row-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.inline-action {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 10px 0 0;
}
.row-actions .inline-action { margin: 0; }

.inline-action .form-control {
    width: auto;
    max-width: 260px;
}

.collapsible-form {
    margin: 16px 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfaf7;
}

.collapsible-form[hidden] {
    display: none;
}

.status-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 16px;
}

.status-chips a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--ink);
    font-weight: 650;
}

.status-chips a.active {
    border-color: var(--brand);
    background: #eef4f2;
    color: var(--brand);
}

.section-subtitle {
    margin: 16px 0 12px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: 0;
    text-transform: uppercase;
}

.timeline-relations {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    color: var(--muted);
}

.panel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
    color: var(--muted);
}

.result-count {
    color: var(--muted);
    font-size: 13px;
}

.task-table th,
.task-table td {
    font-size: 14px;
}

.task-table {
    min-width: 1080px;
}

.crm-stack .task-manager-panel table {
    table-layout: fixed;
}

.crm-stack .task-manager-panel th:nth-child(1),
.crm-stack .task-manager-panel td:nth-child(1) {
    width: 105px;
}

.crm-stack .task-manager-panel th:nth-child(2),
.crm-stack .task-manager-panel td:nth-child(2) {
    width: 30%;
}

.crm-stack .task-manager-panel th:nth-child(3),
.crm-stack .task-manager-panel td:nth-child(3) {
    width: 14%;
}

.crm-stack .task-manager-panel th:nth-child(4),
.crm-stack .task-manager-panel td:nth-child(4),
.crm-stack .task-manager-panel th:nth-child(5),
.crm-stack .task-manager-panel td:nth-child(5) {
    width: 110px;
}

.crm-stack .task-manager-panel th:nth-child(6),
.crm-stack .task-manager-panel td:nth-child(6) {
    width: 17%;
}

.crm-stack .task-manager-panel th:nth-child(7),
.crm-stack .task-manager-panel td:nth-child(7) {
    width: 170px;
}

.crm-stack .task-manager-panel td {
    overflow-wrap: anywhere;
}

.crm-stack .task-manager-panel td:nth-child(2) small {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.crm-stack .task-manager-panel .row-actions {
    align-items: flex-start;
    margin-top: 0;
}

.crm-stack .task-manager-panel .row-actions .btn {
    white-space: nowrap;
}

.task-overdue td {
    background: #fffafa;
}

.task-indicator {
    display: inline-flex;
    margin-top: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
}

.task-indicator.overdue {
    background: #fdecec;
    color: var(--danger);
}

.task-indicator.today {
    background: #fff4df;
    color: var(--warning);
}

.task-indicator.upcoming {
    background: #eaf4f1;
    color: var(--accent);
}

.task-progress-panel {
    margin-bottom: 16px;
}

.task-progress-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.task-progress-grid > div {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.task-progress-grid strong {
    font-size: 20px;
}

.progress-meter {
    width: 100%;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf1ef;
}

.progress-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--brand);
}

.task-inline-form {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.checklist-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.kanban-board {
    display: grid;
    grid-template-columns: repeat(5, minmax(220px, 1fr));
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.kanban-column {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 220px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fbfaf7;
}

.kanban-column h3 {
    margin: 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 7px;
}

.kanban-stage-marker { width: 8px; height: 8px; border-radius: 50%; background: var(--stage-color); }
.kanban-column h3 small { margin-left: auto; color: var(--muted); }
.kanban-card-list { display: grid; align-content: start; gap: 10px; min-height: 72px; }
.kanban-card-list.is-drop-target { outline: 2px solid var(--stage-color); outline-offset: 3px; }

.kanban-card {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
}

.kanban-card.is-dragging { opacity: .45; }
.kanban-card-meta, .kanban-card-footer { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.kanban-card-footer { justify-content: space-between; }
.kanban-card-meta.is-overdue { color: var(--color-danger); font-weight: 700; }
.task-avatar { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--brand); color: #fff; font-weight: 700; }
.kanban-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.kanban-tags span { border-left: 3px solid var(--stage-color); padding: 2px 5px; background: var(--surface-subtle); font-size: 11px; }
.kanban-quick-create summary { cursor: pointer; color: var(--brand); font-weight: 700; font-size: 12px; }
.kanban-quick-create form { display: grid; gap: 8px; padding-top: 8px; }
.kanban-quick-create label { display: grid; gap: 4px; font-size: 11px; font-weight: 700; }

.kanban-card.is-blocked {
    border-color: var(--color-warning);
    background: #fffaf0;
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.page-number,
.page-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 9px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--ink);
    font-weight: 650;
}

.page-number.active {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}

.discreet-warning {
    width: fit-content;
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff4df;
    color: var(--warning) !important;
    font-size: 12px;
    font-weight: 650;
}

.warning-panel {
    border-color: #e0b36e;
    background: #fffaf0;
}
.inline-panel {
    padding: 14px;
    margin: 14px 0;
    border: 1px solid #e0b36e;
    border-radius: var(--radius);
}

.data-note {
    margin: 14px 0 0;
    padding: 12px;
    border-left: 3px solid var(--warning);
    background: #fff8e8;
    color: var(--ink);
}

.choice-list {
    display: grid;
    gap: 10px;
}

.choice-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    font-weight: 650;
}

.choice-row input {
    width: auto;
    min-height: auto;
}

.choice-row small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-weight: 400;
}

.choice-row.disabled {
    opacity: .56;
    cursor: not-allowed;
}

.parcel-tools {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 260px;
    gap: 12px;
    margin: 16px 0;
}

.parcel-tools label {
    display: grid;
    gap: 7px;
}

.parcel-row.is-hidden {
    display: none;
}

.pagination-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 14px;
}

.pagination-controls button:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.status-list { display: grid; gap: 10px; }
.status-list div {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
}

.filters,
.filter-bar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 220px 220px auto;
    gap: 12px;
    margin-bottom: 18px;
    align-items: end;
}

.task-filters {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(150px, 1fr));
    gap: 12px;
    align-items: end;
}

.filters label,
.filter-bar label,
.task-filters label,
.master-filters label,
.inventory-filters label,
.access-filters label,
.report-filters label,
.dashboard-filters label {
    display: grid;
    gap: 7px;
}

.master-filters {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 220px auto;
    gap: 12px;
    align-items: end;
}

.filter-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.config-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.config-section + .config-section {
    margin-top: 32px;
}

.config-section-header {
    margin-bottom: 14px;
}

.config-section-header h2 {
    margin: 2px 0 0;
}

.config-card {
    display: grid;
    gap: 18px;
    align-content: space-between;
}

.config-card p {
    margin: 0;
    color: var(--muted);
}

.config-counts,
.master-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--muted);
}

.config-counts span,
.master-summary {
    font-weight: 650;
}

.master-table td {
    vertical-align: middle;
}

.scope-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.scope-chips span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #edf2f2;
    color: var(--brand);
    font-size: 12px;
    font-weight: 650;
}

.access-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 14px;
    align-items: end;
}

.access-filters label,
.access-wizard label,
.security-actions {
    display: grid;
    gap: 6px;
}

.access-filters label span,
.access-wizard label span {
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-tertiary);
    font-weight: 650;
}

.access-table {
    min-width: 980px;
}

.access-table th {
    white-space: nowrap;
}

.access-table td {
    vertical-align: middle;
}

.access-wizard {
    display: grid;
    gap: 18px;
}

.permission-matrix {
    display: grid;
    gap: 18px;
}

.permission-row {
    display: grid;
    grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 14px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--valcrena-radius-md);
    background: rgba(255,255,255,.66);
}

.permission-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.permission-cell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    min-height: 86px;
    padding: 10px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--valcrena-radius-sm);
    background: #fff;
}

.permission-cell select {
    grid-column: 1 / -1;
    width: 100%;
}

.permission-cell small {
    display: block;
    color: var(--color-attention);
    font-weight: 700;
}

.permission-cell.sensitive {
    border-color: rgba(183, 121, 31, .42);
    background: rgba(183, 121, 31, .05);
}

.permission-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin: 3px;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--valcrena-surface-muted);
    color: var(--muted);
    font-size: 12px;
    font-weight: 650;
}

.permission-pill.enabled {
    background: rgba(31, 107, 87, .10);
    color: var(--brand);
}

.security-actions {
    margin-top: 14px;
}

.access-admin-forms {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.access-admin-forms .mini-form {
    padding: 14px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--valcrena-radius-md);
    background: rgba(255,255,255,.66);
}

.audit-metadata {
    max-height: 420px;
    overflow: auto;
    padding: 14px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--valcrena-radius-md);
    background: var(--valcrena-surface-muted);
    white-space: pre-wrap;
}

.access-denied {
    max-width: 760px;
}

.order-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.form-errors {
    padding: 10px 12px;
    border: 1px solid #e3b7b5;
    border-radius: var(--radius);
    background: #fff5f5;
    color: var(--danger);
}

.creation-methods {
    display: grid;
    gap: 16px;
    margin-bottom: 18px;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.method-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.method-card {
    min-height: 92px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--ink);
    text-align: left;
    font: inherit;
}

.method-card strong,
.method-card span {
    display: block;
}

.method-card span {
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
}

.method-card.active {
    border-color: var(--brand);
    background: #eef4f2;
}

.method-card.disabled {
    opacity: .58;
    cursor: not-allowed;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.form-grid label, .mini-form p { display: grid; gap: 7px; margin: 0; }
.form-grid label[hidden], .form-field[hidden] { display: none !important; }
.mini-form { display: grid; gap: 14px; }
.span-2 { grid-column: span 2; }
.form-row,
.dropzone-field {
    display: grid;
    gap: 7px;
    min-width: 0;
}
.form-row label,
.dropzone-field label {
    color: var(--muted);
    font-weight: var(--valcrena-font-weight-semibold);
}
.form-row small,
.dropzone-field small {
    color: var(--muted);
    font-size: var(--valcrena-font-size-secondary);
}
.field-error {
    color: var(--danger);
    font-style: normal;
    font-size: var(--valcrena-font-size-secondary);
}
.document-intake {
    display: grid;
    gap: 14px;
    min-width: 0;
}
.document-intake-mode {
    display: grid;
    gap: 8px;
}
.document-intake-panel {
    display: grid;
    gap: 12px;
    min-width: 0;
}
.document-intake-panel[hidden] {
    display: none !important;
}
.document-dropzone {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 112px;
    padding: 18px;
    border: 1px dashed var(--color-border-strong);
    border-radius: var(--radius);
    background: var(--color-surface-muted);
}
.document-dropzone.is-dragging {
    border-color: var(--brand);
    background: var(--color-primary-soft);
}
.document-dropzone strong,
.document-dropzone span,
.document-intake-state {
    min-width: 0;
    overflow-wrap: anywhere;
}
[data-document-ready] .document-dropzone input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    min-width: 1px;
    min-height: 1px;
    max-width: 1px;
    max-height: 1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
[data-document-state="error"] .document-dropzone {
    border-color: var(--danger);
}
.document-intake-state {
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: var(--valcrena-font-size-secondary);
}
.document-dropzone [data-document-retry] {
    justify-self: start;
}
.compact-grid {
    gap: 12px;
}
.document-preview {
    width: 100%;
    min-height: 520px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
}
@media (max-width: 720px) {
    .document-dropzone {
        grid-template-columns: minmax(0, 1fr);
    }
    .document-dropzone [data-document-browse],
    .document-dropzone [data-document-retry] {
        justify-self: start;
    }
}
.formalization-form {
    display: grid;
    gap: 22px;
}
.form-section {
    display: grid;
    gap: 14px;
}
.form-section + .form-section {
    padding-top: 18px;
    border-top: 1px solid var(--line);
}
.form-section-header {
    display: grid;
    gap: 4px;
}
.form-section-header h2 {
    margin: 0;
    color: var(--ink);
    font-size: 17px;
}
.form-section-header p {
    margin: 0;
    color: var(--muted);
    font-size: var(--valcrena-font-size-secondary);
}
.step-kicker { color: var(--accent); font-weight: 700; }
.issued-invoice-form { display: grid; gap: 16px; }
.issued-invoice-form > .panel { margin: 0; }
.invoice-kind-options { max-width: 520px; }
.invoice-line-editor { display: grid; gap: 10px; }
.invoice-line-row {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(6, minmax(92px, .7fr)) minmax(110px, .8fr) auto;
    align-items: end;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}
.invoice-line-total output { min-height: var(--control-height-md); display: flex; align-items: center; font-weight: 700; }
.invoice-line-delete { align-self: center; }
.invoice-live-totals { margin-left: auto; width: min(420px, 100%); display: grid; gap: 7px; padding-top: 12px; }
.invoice-live-totals div { display: flex; justify-content: space-between; gap: 16px; }
.invoice-live-totals div:last-child { padding-top: 8px; border-top: 1px solid var(--line); font-size: 17px; }
.sticky-form-actions { position: sticky; bottom: 0; z-index: 4; display: flex; justify-content: flex-end; gap: 10px; padding: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.96); }
@media (max-width: 1200px) {
    .invoice-line-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .invoice-line-concept { grid-column: span 4; }
}
@media (max-width: 720px) {
    .invoice-line-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .invoice-line-concept { grid-column: span 2; }
    .context-navigation { align-items: flex-start; }
}
.form-field {
    min-width: 0;
}
.form-control:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]), select, textarea {
    width: 100%;
    min-height: var(--control-height-md);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius);
    padding: 9px 11px;
    color: var(--ink);
    background: #fff;
    font: inherit;
    transition: border-color var(--valcrena-transition-fast), box-shadow var(--valcrena-transition-fast), background var(--valcrena-transition-fast);
}
.form-control:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--accent);
    box-shadow: var(--valcrena-focus-ring);
    outline: 0;
}
textarea { min-height: 98px; resize: vertical; }
input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    width: 18px;
    min-width: 18px;
    max-width: 18px;
    height: 18px;
    min-height: 18px;
    max-height: 18px;
    flex: 0 0 18px;
    align-self: center;
    justify-self: start;
    padding: 0;
    margin: 0;
    accent-color: var(--accent);
    cursor: pointer;
}
label:has(> input[type="checkbox"]), label:has(> input[type="radio"]) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
}
label[for]:has(+ input[type="checkbox"]), label[for]:has(+ input[type="radio"]) {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    margin-right: 8px;
    cursor: pointer;
}
.boolean-options { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.boolean-options label { min-height: 40px; }
.workflow-status { display: inline-block; }
input[type="checkbox"][role="switch"] {
    appearance: none;
    position: relative;
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    height: 20px;
    min-height: 20px;
    max-height: 20px;
    flex-basis: 36px;
    border: 1px solid var(--color-border-strong);
    border-radius: 10px;
    background: var(--muted);
}
input[type="checkbox"][role="switch"]::after {
    content: "";
    position: absolute;
    left: 2px;
    top: 2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: white;
    transition: transform var(--valcrena-transition-fast);
}
input[type="checkbox"][role="switch"]:checked { background: var(--accent); border-color: var(--accent); }
input[type="checkbox"][role="switch"]:checked::after { left: 2px; transform: translateX(16px); }
input[type="checkbox"]:disabled, input[type="radio"]:disabled { opacity: .55; cursor: not-allowed; }
label span, .mini-form label { color: var(--muted); font-weight: var(--valcrena-font-weight-semibold); }
label em { color: var(--danger); font-style: normal; }
.client-type-block {
    display: grid;
    gap: 8px;
}
.field-label {
    color: var(--muted);
    font-weight: var(--valcrena-font-weight-semibold);
}
.segmented-options {
    display: inline-grid;
    grid-auto-flow: column;
    gap: 4px;
    width: fit-content;
    max-width: 100%;
    padding: 4px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--color-surface-muted);
}
.segmented-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: calc(var(--radius) - 2px);
    color: var(--muted);
    cursor: pointer;
    white-space: nowrap;
}
.segmented-option input {
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
}
.segmented-option:has(input:checked) {
    background: #fff;
    color: var(--ink);
    box-shadow: var(--shadow-soft);
}
.field-help,
.helptext {
    color: var(--muted);
    font-size: var(--valcrena-font-size-secondary);
    line-height: 1.4;
}
.entity-autocomplete {
    display: block;
    min-width: 0;
    position: relative;
    min-width: 0;
}
.entity-autocomplete input[type="hidden"] {
    display: none;
}
.entity-autocomplete-results {
    position: absolute;
    z-index: 30;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow);
}
.entity-autocomplete-option,
.entity-autocomplete-empty {
    display: grid;
    width: 100%;
    gap: 3px;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    text-align: left;
    font: inherit;
}
.entity-autocomplete-option {
    cursor: pointer;
}
.entity-autocomplete-option:hover,
.entity-autocomplete-option:focus {
    background: var(--color-primary-soft);
    outline: 0;
}
.entity-autocomplete-option strong,
.entity-autocomplete-option span,
.entity-autocomplete-option small {
    min-width: 0;
    overflow-wrap: anywhere;
}
.entity-autocomplete-option span,
.entity-autocomplete-option small,
.entity-autocomplete-empty {
    color: var(--muted);
    font-size: var(--valcrena-font-size-secondary);
}
.checkbox-line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    color: var(--ink);
    font-weight: 650;
    white-space: normal;
}
.checkbox-line input[type="checkbox"]:not([role="switch"]) {
    flex: 0 0 auto;
    width: 18px;
    min-height: 0;
    height: 18px;
    padding: 0;
    margin: 0;
}
.form-section {
    display: grid;
    gap: 14px;
}
.form-section + .form-section {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}
.relation-checkboxes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px 16px;
    padding: 10px 0 0;
}
.relation-checkboxes > div,
.relation-checkboxes > div > div {
    display: contents;
}
.relation-group > span {
    display: block;
    color: var(--muted);
    font-weight: 650;
}
.relation-group em {
    color: var(--danger);
    font-style: normal;
}
.relation-checkboxes label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ink);
    font-weight: 500;
}
.relation-checkboxes input {
    width: 18px;
    height: 18px;
    min-height: auto;
    margin: 0;
}
.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
}

.detail-hero {
    align-items: center;
    padding: 28px;
    border-radius: var(--radius);
    background: var(--brand);
    color: white;
    box-shadow: var(--shadow);
}
.detail-hero p { color: rgba(255,255,255,.76); margin: 8px 0 0; }
.hero-facts {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}
.hero-facts span, .hero-facts strong {
    background: rgba(255,255,255,.12);
    color: white;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: var(--radius);
    padding: 10px 12px;
}
.hero-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border: 0;
    padding: 10px 12px;
    border-radius: var(--radius);
    background: #fff;
    color: var(--brand);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.hero-action:hover { text-decoration: none; }

.hero-side {
    display: grid;
    justify-items: end;
    gap: 12px;
}

.hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.back-link {
    display: inline-flex;
    margin-bottom: 14px;
    font-weight: 700;
}

.section-actions {
    margin: -6px 0 18px;
}

.summary-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
}
.summary-strip div { background: #fff; padding: 15px; }
.summary-strip span { display: block; color: var(--muted); margin-bottom: 6px; }
.summary-strip strong { overflow-wrap: anywhere; }

.kyc-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(135px, 1fr));
    gap: 1px;
    margin: 14px 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
}

.kyc-summary-grid div {
    padding: 12px;
    background: #fff;
}

.kyc-summary-grid span {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.kyc-blockers {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid rgba(180, 35, 24, .22);
    border-radius: var(--radius);
    background: var(--color-danger-soft);
    color: var(--color-danger);
}

.kyc-blockers ul {
    margin: 0;
    padding-left: 18px;
}

.status-ok {
    margin: 12px 0 0;
    color: var(--color-success);
    font-weight: 750;
}

.kyc-case-row {
    align-items: stretch;
    gap: 12px;
}

.kyc-case-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.kyc-evidence-list {
    display: grid;
    gap: 8px;
}

.kyc-evidence-item {
    display: grid;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
}

.kyc-inline-form {
    margin-top: 10px;
}

.kyc-inline-form summary {
    cursor: pointer;
    color: var(--brand);
    font-weight: 700;
}

.kyc-inline-form .mini-form {
    margin-top: 10px;
}

.kyc-link-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 8px;
    margin-top: 8px;
}

.inventory-kpis,
.pricing-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 1px;
    margin: 16px 0;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
}

.inventory-kpis div,
.pricing-kpis div {
    padding: 14px;
    background: #fff;
}

.inventory-kpis span,
.pricing-kpis span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.inventory-kpis strong,
.pricing-kpis strong {
    font-size: 20px;
}

.inventory-filters,
.bulk-price-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(145px, 1fr)) auto;
    gap: 12px;
    align-items: end;
    margin: 16px 0;
}

.bulk-price-grid {
    grid-template-columns: repeat(3, minmax(140px, 1fr)) minmax(150px, .8fr) minmax(180px, 1fr) minmax(180px, 1fr) auto;
}

.inventory-filters label,
.bulk-price-grid label {
    display: grid;
    gap: 7px;
}

.bulk-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}

.inventory-table th,
.inventory-table td {
    font-size: 13px;
}

.inline-chip {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    margin: 2px 6px 2px 0;
    padding: 4px 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    font-weight: 650;
}

.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.tabs a {
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--ink);
    font-weight: 650;
}
.tabs a.active {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}
.tabs a:hover { text-decoration: none; }

.data-list { display: grid; gap: 14px; margin: 0; }
.data-list div { display: grid; grid-template-columns: 170px 1fr; gap: 16px; }
.data-list dt { color: var(--muted); font-weight: 650; }
.data-list dd { margin: 0; }
.lookup-diagnostic {
    display: grid;
    gap: 14px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}
.lookup-diagnostic h3 {
    margin: 0;
    font-size: 15px;
}
.compact-data-list {
    gap: 8px;
}

.timeline { display: grid; gap: 14px; }
.timeline div {
    padding-left: 14px;
    border-left: 3px solid var(--accent);
}
.timeline span { color: var(--muted); font-size: 13px; }
.timeline strong { display: block; margin: 4px 0; }
.timeline p { margin: 0; }

.messages { margin-bottom: 18px; }
.message {
    padding: 12px 14px;
    border: 1px solid #a9d2c7;
    border-radius: var(--radius);
    background: #edf8f4;
}
.alert,
.message {
    line-height: 1.45;
}
.alert.success,
.message.success {
    border-color: rgba(31, 107, 87, .28);
    background: var(--color-success-soft);
    color: var(--color-success);
}
.alert.warning,
.message.warning {
    border-color: rgba(183, 121, 31, .32);
    background: var(--color-warning-soft);
    color: var(--color-warning);
}
.alert.danger,
.message.error,
.message.danger {
    border-color: rgba(180, 35, 24, .30);
    background: var(--color-danger-soft);
    color: var(--color-danger);
}
.empty,
.empty-cell,
.empty-state { color: var(--muted); }
.empty-state {
    display: grid;
    gap: 8px;
    padding: 26px 18px;
    border: 1px dashed var(--line);
    border-radius: var(--radius);
    background: var(--surface-soft);
}
.empty-state h3,
.empty-state p {
    margin: 0;
}
.empty-cell { text-align: center; padding: 26px; }
.pending-module { text-align: center; padding: 48px 24px; }
.pending-module p { color: var(--muted); }
.compact-empty { padding: 26px 18px; text-align: left; }
.compact-empty h3 { margin: 0; font-size: 16px; }
.urban-panel { display: grid; gap: 18px; }
.urban-panel h3 { margin: 10px 0 0; font-size: 16px; }
.urban-section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.urban-section { border: 1px solid var(--border); border-radius: 8px; padding: 14px; background: var(--surface-soft); }
.urban-section h4 { margin: 0 0 10px; font-size: 14px; }
.evidence-detail { border-top: 1px solid var(--border); padding: 10px 0; }
.evidence-detail:first-of-type { border-top: 0; }
.evidence-detail summary { cursor: pointer; display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.evidence-detail summary strong { color: var(--accent); white-space: nowrap; }
.muted { color: var(--muted); }
.note-list { display: grid; gap: 12px; }
.note-card {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 15px;
    background: #fff;
}
.note-card-header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}
.note-card-header strong,
.note-card-header span { display: block; }
.note-card-header span { color: var(--muted); font-size: 13px; margin-top: 4px; }
.note-card p { margin: 12px 0; }
.note-full summary { cursor: pointer; color: var(--brand); font-weight: 650; }

.dashboard-header {
    align-items: center;
    margin-bottom: var(--valcrena-space-6);
}

.form-step-tabs button {
    appearance: none;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--valcrena-tertiary);
    cursor: pointer;
    font: inherit;
    font-weight: 680;
    padding: 10px 12px;
    white-space: nowrap;
}

.form-step-tabs button.active {
    border-bottom-color: var(--accent);
    color: var(--brand);
}

.dashboard-shell {
    display: grid;
    gap: var(--valcrena-space-5);
}

.dashboard-shell .panel,
.dashboard-shell .form-card {
    border-color: var(--valcrena-line);
    border-radius: var(--valcrena-radius-lg);
    box-shadow: var(--valcrena-shadow-subtle);
}

.dashboard-shell .panel {
    padding: 24px;
}

.dashboard-shell .panel-header {
    margin-bottom: 16px;
}

.dashboard-shell .panel-header h2 {
    margin-bottom: 0;
    font-size: var(--valcrena-font-size-section);
    font-weight: 680;
}

.dashboard-shell .panel-header a {
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
    font-weight: 650;
}

.dashboard-shell .panel-header a:hover {
    color: var(--brand);
}

.dashboard-preferences-shell,
.dashboard-preferences-form {
    display: grid;
    gap: var(--valcrena-space-5);
}

.dashboard-preference-layout {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(440px, 1.15fr);
    gap: var(--valcrena-space-5);
    align-items: start;
}

.preference-section .panel-header {
    margin-bottom: 16px;
}

.preference-section .panel-header p {
    margin: 5px 0 0;
    line-height: 1.4;
}

.preference-field-grid,
.preference-filter-grid {
    display: grid;
    gap: 14px;
}

.preference-field-grid {
    grid-template-columns: repeat(2, minmax(170px, 1fr));
}

.preference-filter-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.preference-field {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.preference-field span {
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-tertiary);
    font-weight: 650;
}

.preference-widget-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(210px, 1fr));
    gap: 10px;
}

.preference-map-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 10px;
}

.preference-choice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-height: 74px;
    padding: 12px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--radius);
    background: #fff;
    cursor: pointer;
    transition: border-color var(--valcrena-transition-fast), background var(--valcrena-transition-fast), box-shadow var(--valcrena-transition-fast);
}

.preference-choice:hover,
.preference-choice:focus-within {
    border-color: var(--valcrena-line-heavy);
    background: var(--valcrena-surface-muted);
}

.preference-choice input {
    width: 16px;
    height: 16px;
    min-height: 0;
    margin: 2px 0 0;
    padding: 0;
}

.preference-choice strong,
.preference-choice small {
    display: block;
}

.preference-choice strong {
    color: var(--ink);
    font-weight: 680;
}

.preference-choice small {
    margin-top: 4px;
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
    line-height: 1.35;
}

.preference-choice-compact {
    min-height: 64px;
}

.preference-note {
    margin: 14px 0 0;
}

.preference-actions {
    justify-content: flex-end;
    margin-top: 0;
    padding: 16px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--radius);
    background: var(--valcrena-surface-raised);
}

.data-freshness {
    margin: 8px 0 0;
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
}

.dashboard-filter-panel {
    margin-bottom: 0;
    padding: 0 !important;
    background: var(--valcrena-surface-raised);
}

.dashboard-filter-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    min-height: 54px;
    padding: 12px 18px;
    cursor: pointer;
    list-style: none;
}

.dashboard-filter-summary::-webkit-details-marker { display: none; }
.dashboard-filter-summary span:first-child { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.dashboard-filter-summary strong { color: var(--ink); font-size: var(--valcrena-font-size-secondary); }
.dashboard-filter-summary small { color: var(--valcrena-tertiary); white-space: nowrap; }
.dashboard-filter-summary-action { color: var(--brand); font-size: var(--valcrena-font-size-secondary); font-weight: 680; }
.dashboard-filter-panel[open] .dashboard-filter-summary { border-bottom: 1px solid var(--valcrena-line); }
.dashboard-filter-panel[open] .dashboard-filter-summary-action::after { content: " -"; }
.dashboard-filter-panel:not([open]) .dashboard-filter-summary-action::after { content: " +"; }
.dashboard-filter-body { padding: 18px; }

.dashboard-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    gap: 14px;
    align-items: end;
}

.dashboard-header .row-actions {
    justify-content: flex-end;
    max-width: min(100%, 680px);
}

.dashboard-filters label {
    display: grid;
    gap: 6px;
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-tertiary);
    font-weight: 650;
}

.dashboard-demo-toggle {
    align-self: center;
    margin-top: 22px;
}

.dashboard-company-filter {
    grid-column: span 2;
}

.dashboard-company-filter select {
    min-height: 112px;
}

.dashboard-company-filter small {
    color: var(--valcrena-tertiary);
    font-weight: 400;
}

.dashboard-command-center {
    display: grid;
    gap: 18px;
    padding: 24px;
    border: 1px solid #243e4a;
    border-radius: var(--valcrena-radius-lg);
    background: #102932;
    color: #f5f7f4;
    box-shadow: 0 16px 34px rgba(13, 34, 40, .16);
}

.dashboard-command-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.dashboard-command-heading h2 {
    margin: 3px 0 0;
    color: #fff;
    font-size: 22px;
}

.dashboard-command-heading > span {
    color: #b8c7c8;
    font-size: var(--valcrena-font-size-secondary);
}

.dashboard-command-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, .13);
}

.dashboard-command-kpis a {
    display: grid;
    min-height: 112px;
    align-content: space-between;
    gap: 8px;
    padding: 17px;
    background: #17343e;
    color: #fff;
}

.dashboard-command-kpis a:hover {
    background: #1c3e49;
    text-decoration: none;
}

.dashboard-command-kpis span,
.dashboard-command-kpis small {
    color: #b8c7c8;
    font-size: var(--valcrena-font-size-secondary);
}

.dashboard-command-kpis strong {
    color: #fff;
    font-size: 24px;
    line-height: 1.1;
}

.treasury-filter-panel {
    padding: 16px 18px;
}

.treasury-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 12px;
    align-items: end;
}

.treasury-filters label {
    display: grid;
    gap: 6px;
}

.treasury-filters label:nth-child(5) {
    grid-column: span 2;
}

.treasury-position,
.treasury-account-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.treasury-position > div,
.treasury-account-grid > a {
    display: grid;
    min-height: 104px;
    align-content: space-between;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--radius);
    background: var(--valcrena-surface-raised);
    color: var(--ink);
}

.treasury-position span,
.treasury-position small,
.treasury-account-grid span,
.treasury-account-grid small {
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
}

.treasury-position strong,
.treasury-account-grid strong {
    color: var(--brand);
    font-size: 21px;
}

.treasury-account-grid > a:hover {
    border-color: var(--valcrena-line-heavy);
    text-decoration: none;
}

.dashboard-filter-chips,
.dashboard-coverage,
.dashboard-mini-kpis {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.dashboard-filter-chips span,
.dashboard-coverage span,
.dashboard-mini-kpis span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: var(--valcrena-surface-muted);
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-tertiary);
}

.dashboard-segmented {
    display: inline-grid;
    grid-auto-flow: column;
    gap: 3px;
    width: fit-content;
    max-width: 100%;
    overflow-x: auto;
    padding: 4px;
    border: 1px solid var(--valcrena-line);
    border-radius: 999px;
    background: rgba(24, 59, 59, .055);
    box-shadow: inset 0 1px 1px rgba(24, 59, 59, .04);
}

.dashboard-segmented::-webkit-scrollbar {
    display: none;
}

.dashboard-segmented a {
    min-height: 34px;
    padding: 8px 16px;
    border-radius: 999px;
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
    font-weight: 700;
    white-space: nowrap;
    transition: background var(--valcrena-transition-fast), color var(--valcrena-transition-fast), box-shadow var(--valcrena-transition-fast);
}

.dashboard-segmented a:hover {
    color: var(--brand);
    text-decoration: none;
}

.dashboard-segmented a.active {
    background: #fff;
    color: var(--brand);
    box-shadow: 0 1px 2px rgba(24, 59, 59, .08), 0 6px 18px rgba(24, 59, 59, .08);
}

.dashboard-segmented a:focus-visible,
.dashboard-kpi:focus-visible,
.dashboard-task-row:focus-visible,
.dashboard-alert-list .list-row:focus-visible {
    outline: 2px solid rgba(24, 59, 59, .35);
    outline-offset: 3px;
}

.dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 0;
}

.dashboard-kpi {
    position: relative;
    display: grid;
    grid-column: span 3;
    min-height: 118px;
    align-content: space-between;
    gap: 10px;
    padding: 18px;
    border: 1px solid rgba(24, 59, 59, .08);
    border-radius: var(--valcrena-radius-lg);
    background: rgba(255, 255, 255, .9);
    color: var(--ink);
    box-shadow: var(--valcrena-shadow-subtle);
    transition: transform var(--valcrena-transition-fast), box-shadow var(--valcrena-transition-fast), border-color var(--valcrena-transition-fast);
}

.dashboard-kpi.kpi-primary {
    grid-column: span 4;
    min-height: 154px;
    padding: 22px;
}

.dashboard-kpi.kpi-secondary {
    background: rgba(255,255,255,.68);
    box-shadow: none;
}

.dashboard-kpi:hover {
    transform: translateY(-2px);
    text-decoration: none;
    border-color: rgba(24, 59, 59, .18);
    box-shadow: var(--valcrena-shadow-floating);
}

.kpi-accent {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 0 0 4px rgba(24, 59, 59, .06);
}

.kpi-label {
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
    font-weight: 650;
}

.kpi-value {
    color: var(--ink);
    font-size: var(--valcrena-font-size-kpi);
    font-weight: 720;
    line-height: 1.1;
    letter-spacing: 0;
}

.kpi-primary .kpi-value {
    font-size: 36px;
}

.kpi-meta {
    width: fit-content;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--valcrena-surface-muted);
    color: var(--valcrena-tertiary);
    font-size: 11px;
    font-weight: 650;
}

.kpi-basis {
    color: var(--valcrena-tertiary);
    font-style: normal;
    font-size: var(--valcrena-font-size-tertiary);
}

.color-opportunity .kpi-accent { background: var(--color-opportunity); }
.color-offer .kpi-accent { background: var(--color-offer); }
.color-dd .kpi-accent { background: var(--color-dd); }
.color-formalized .kpi-accent { background: var(--color-formalized); }
.color-sale .kpi-accent { background: var(--color-sale); }
.color-portfolio .kpi-accent { background: var(--color-portfolio); }
.color-promotion .kpi-accent { background: var(--color-promotion); }
.color-inventory .kpi-accent { background: var(--color-inventory); }
.color-critical .kpi-accent { background: var(--color-critical); }

.dashboard-grid-wide {
    align-items: start;
    gap: 20px;
}

.dashboard-grid-wide > .panel {
    min-width: 0;
}

.dashboard-grid-wide > .panel:only-child {
    grid-column: 1 / -1;
}

@media (max-width: 1180px) {
    :root { --module-panel-width: 252px; }
    .dashboard-kpi { grid-column: span 4; }
    .dashboard-kpi.kpi-primary { grid-column: span 6; }
}

@media (max-width: 900px) {
    .dashboard-grid-wide { grid-template-columns: 1fr; }
    .dashboard-kpi,
    .dashboard-kpi.kpi-primary { grid-column: span 6; }
}

@media (max-width: 560px) {
    .dashboard-kpi,
    .dashboard-kpi.kpi-primary { grid-column: 1 / -1; min-height: 112px; }
}

.chart-box {
    display: grid;
    gap: 9px;
    min-height: 220px;
}

.chart-row {
    display: grid;
    grid-template-columns: minmax(120px, .95fr) minmax(140px, 2fr) minmax(74px, auto);
    gap: 12px;
    align-items: center;
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
}

.chart-track {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(24, 59, 59, .075);
}

.chart-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.chart-row strong {
    text-align: right;
    color: var(--ink);
    font-weight: 680;
}

.chart-row.is-negative strong {
    color: var(--valcrena-orange);
}

.line-chart {
    width: 100%;
    min-height: 220px;
}

.line-chart circle {
    fill: #fff;
    stroke: currentColor;
}

.dashboard-finance-list {
    margin-top: 16px;
}

.dashboard-task-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
}

.dashboard-task-summary strong {
    color: var(--ink);
    margin-right: 4px;
    font-weight: 680;
}

.task-summary-link {
    color: var(--brand);
    font-weight: 650;
}

.task-summary-link.is-tertiary {
    color: var(--valcrena-tertiary);
    font-weight: 600;
}

.dashboard-task-row,
.dashboard-alert-list .list-row {
    display: grid;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-width: 0 0 1px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.dashboard-task-row {
    grid-template-columns: minmax(0, 1fr) auto;
}

.dashboard-task-row:hover,
.dashboard-alert-list .list-row:hover {
    text-decoration: none;
    background: rgba(24, 59, 59, .035);
}

.dashboard-density-compact .panel,
.dashboard-density-compact .dashboard-kpi {
    padding: 14px;
}

.dashboard-density-compact .dashboard-kpi {
    min-height: 128px;
}

.dashboard-map-panel {
    margin-top: 18px;
}

.dashboard-map-controls {
    display: grid;
    grid-template-columns: repeat(4, auto) minmax(220px, 1fr);
    gap: 12px;
    align-items: center;
    margin: 14px 0;
}

.dashboard-map-canvas {
    min-height: 430px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--valcrena-radius-lg);
    background:
        linear-gradient(90deg, rgba(31, 107, 87, .035) 1px, transparent 1px),
        linear-gradient(rgba(31, 107, 87, .035) 1px, transparent 1px),
        #fff;
    background-size: 42px 42px;
    overflow: hidden;
}

.dashboard-map-svg {
    display: block;
    width: 100%;
    height: 430px;
}

.dashboard-map-svg rect {
    fill: rgba(255,255,255,.72);
    stroke: var(--line);
}

.map-footnote,
.map-attribution {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.dashboard-alert-list .list-row {
    grid-template-columns: 10px minmax(0, 1fr) auto;
    border-left: 0;
}

.alert-indicator {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--color-muted);
}

.alert-content {
    min-width: 0;
}

.alert-content strong {
    display: block;
    color: var(--ink);
    font-weight: 680;
}

.alert-content span,
.alert-meta {
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
}

.alert-meta {
    white-space: nowrap;
}

.alert-critical .alert-indicator {
    background: var(--color-critical);
    box-shadow: 0 0 0 4px rgba(180, 35, 24, .08);
}

.alert-high .alert-indicator {
    background: var(--valcrena-orange);
    box-shadow: 0 0 0 4px rgba(198, 95, 45, .08);
}

.alert-attention .alert-indicator {
    background: var(--color-attention);
    box-shadow: 0 0 0 4px rgba(183, 121, 31, .08);
}

.alert-medium .alert-indicator {
    background: var(--color-attention);
    box-shadow: 0 0 0 4px rgba(183, 121, 31, .08);
}

.alert-low .alert-indicator,
.alert-info .alert-indicator {
    background: var(--color-muted);
    box-shadow: 0 0 0 4px rgba(71, 84, 103, .08);
}

.priority-pill {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--valcrena-surface-muted);
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-tertiary);
    font-weight: 700;
}

.priority-alta {
    background: rgba(180, 35, 24, .08);
    color: var(--color-critical);
}

.priority-media {
    background: rgba(183, 121, 31, .10);
    color: var(--color-attention);
}

.priority-baja {
    background: rgba(31, 107, 87, .08);
    color: var(--brand);
}

.dashboard-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border-radius: var(--valcrena-radius-md);
    -webkit-overflow-scrolling: touch;
}

.dashboard-table {
    min-width: 760px;
    table-layout: auto;
}

.dashboard-promotions-table {
    min-width: 780px;
    table-layout: fixed;
}

.dashboard-brokers-table,
.dashboard-priority-table {
    min-width: 920px;
}

.dashboard-table th,
.dashboard-table td {
    padding: 12px 10px;
    white-space: normal;
    line-height: 1.35;
    overflow-wrap: break-word;
}

.dashboard-table th {
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.dashboard-promotions-table th:nth-child(1),
.dashboard-promotions-table td:nth-child(1) {
    width: 30%;
}

.dashboard-promotions-table th:nth-child(2),
.dashboard-promotions-table td:nth-child(2) {
    width: 18%;
}

.dashboard-promotions-table th:nth-child(3),
.dashboard-promotions-table td:nth-child(3),
.dashboard-promotions-table th:nth-child(4),
.dashboard-promotions-table td:nth-child(4),
.dashboard-promotions-table th:nth-child(5),
.dashboard-promotions-table td:nth-child(5),
.dashboard-promotions-table th:nth-child(6),
.dashboard-promotions-table td:nth-child(6) {
    width: 10%;
    text-align: right;
}

.dashboard-promotions-table th:nth-child(7),
.dashboard-promotions-table td:nth-child(7) {
    width: 12%;
    text-align: right;
}

.report-shell {
    gap: var(--valcrena-space-5);
}

.report-library-panel {
    display: grid;
    gap: 24px;
}

.report-category {
    display: grid;
    gap: 10px;
}

.report-link-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.report-link-card,
.report-saved-list a {
    display: grid;
    gap: 7px;
    min-height: 104px;
    padding: 16px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--valcrena-radius-md);
    background: rgba(255,255,255,.76);
    color: var(--ink);
    box-shadow: 0 1px 2px rgba(24, 59, 59, .04);
}

.report-link-card:hover,
.report-saved-list a:hover {
    border-color: rgba(24, 59, 59, .18);
    text-decoration: none;
    transform: translateY(-1px);
}

.report-link-card strong,
.report-saved-list strong {
    font-weight: 700;
}

.report-link-card span,
.report-saved-list span {
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-secondary);
    line-height: 1.4;
}

.report-saved-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.report-saved-list a {
    min-height: 78px;
}

.report-kpi-grid .dashboard-kpi {
    min-height: 116px;
}

.report-filter-panel {
    overflow: visible;
}

.report-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    gap: 14px;
    align-items: end;
}

.report-filters label,
.report-save-form label {
    display: grid;
    gap: 6px;
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-tertiary);
    font-weight: 650;
}

.report-filter-actions {
    margin-top: 0;
}

.report-drawer {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--valcrena-radius-md);
    background: rgba(255,255,255,.62);
}

.report-drawer[hidden] {
    display: none;
}

.report-columns-panel {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    align-items: start;
}

.report-checkbox,
.report-columns-panel .checkbox-line {
    align-self: center;
    color: var(--ink);
}

.report-save-form {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.report-export-actions {
    justify-content: flex-end;
}

.report-table {
    min-width: 1040px;
}

.report-table th {
    white-space: nowrap;
}

.report-table th a {
    color: var(--valcrena-tertiary);
}

.report-table td.cell-money,
.report-table td.cell-decimal,
.report-table td.cell-percent,
.report-table td.cell-integer {
    text-align: right;
    white-space: nowrap;
}

.report-table td {
    max-width: 280px;
}

.media-gallery-panel {
    display: grid;
    gap: 18px;
}

.media-upload-form,
.media-edit-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.media-upload-form .span-2,
.media-edit-form .span-2 {
    grid-column: 1 / -1;
}

.media-upload-form label,
.media-edit-form label,
.media-filter-bar label,
.media-library-filters label {
    display: grid;
    gap: 6px;
    color: var(--valcrena-tertiary);
    font-size: var(--valcrena-font-size-tertiary);
    font-weight: 650;
}

.media-drop-input {
    min-height: 96px;
    padding: 30px 18px;
    border: 1px dashed var(--valcrena-line-heavy);
    background: var(--valcrena-surface-muted);
}

.media-filter-bar,
.media-bulk-bar,
.media-visibility {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}

.media-filter-bar {
    padding-top: 4px;
}

.media-bulk-bar {
    padding: 12px;
    border: 1px solid var(--valcrena-line);
    border-radius: var(--radius);
    background: var(--valcrena-surface-raised);
}

.media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 14px;
}

.media-card {
    position: relative;
    display: grid;
    grid-template-rows: 180px minmax(0, auto);
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 1px 2px rgba(24, 59, 59, .04);
}

.media-card.is-cover {
    border-color: rgba(31, 107, 87, .44);
    box-shadow: 0 0 0 3px rgba(31, 107, 87, .08);
}

.media-select {
    position: absolute;
    z-index: 2;
    top: 10px;
    left: 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.88);
    color: var(--ink);
    font-size: 12px;
    font-weight: 650;
    box-shadow: 0 1px 4px rgba(24, 59, 59, .12);
}

.media-thumb {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    background: #f3f4f0;
    cursor: pointer;
}

.media-thumb img,
.media-thumb video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-card-body {
    display: grid;
    gap: 10px;
    padding: 12px;
}

.media-card-body strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.media-card-body span {
    color: var(--muted);
    font-size: var(--valcrena-font-size-secondary);
    line-height: 1.35;
}

.media-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.media-meta summary {
    cursor: pointer;
    color: var(--accent);
    font-weight: 650;
}

.media-empty {
    grid-column: 1 / -1;
}

.media-lightbox {
    width: min(1100px, calc(100vw - 40px));
    border: 0;
    border-radius: var(--radius);
    padding: 16px;
    background: #fff;
    box-shadow: var(--valcrena-shadow-floating);
}

.media-lightbox::backdrop {
    background: rgba(8, 18, 18, .72);
}

.media-lightbox img,
.media-lightbox video {
    width: 100%;
    max-height: 78vh;
    object-fit: contain;
    background: #101818;
}

.media-lightbox strong {
    display: block;
    margin-top: 10px;
}

@media (max-width: 1180px) {
    .preference-field-grid {
        grid-template-columns: 1fr;
    }

    .preference-widget-grid {
        grid-template-columns: repeat(2, minmax(210px, 1fr));
    }

    .dashboard-command-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .treasury-filters,
    .treasury-position,
    .treasury-account-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .dashboard-company-filter {
        grid-column: auto;
    }
    .dashboard-command-center {
        padding: 18px;
    }
    .dashboard-command-heading,
    .dashboard-command-kpis {
        display: grid;
        grid-template-columns: 1fr;
    }
    .treasury-filters,
    .treasury-position,
    .treasury-account-grid {
        grid-template-columns: 1fr;
    }
    .treasury-filters label:nth-child(5) {
        grid-column: auto;
    }
    .panel-header, .note-card-header {
        display: grid;
        justify-content: stretch;
    }
    .btn {
        width: 100%;
        white-space: normal;
    }
    .row-actions,
    .filter-actions,
    .form-actions,
    .action-bar {
        width: 100%;
    }
    .pagination {
        justify-content: center;
    }
}

@media (max-width: 980px) {
    body,
    body.module-panel-is-visible,
    body.module-panel-is-collapsed { grid-template-columns: 1fr; }
    body.workspace-shell { align-content: start; }
    .workspace-rail {
        min-height: 64px;
        height: 64px;
        position: sticky;
        top: 0;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
        padding: 8px 12px;
    }
    .workspace-rail-nav {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        scrollbar-width: none;
        width: auto;
        max-width: calc(100vw - 88px);
    }
    .workspace-rail-nav::-webkit-scrollbar { display: none; }
    .workspace-rail-item {
        flex: 0 0 auto;
        width: auto;
        min-width: max-content;
        height: 42px;
        gap: 7px;
        padding: 0 11px;
    }
    .workspace-label {
        position: static;
        width: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        clip: auto;
        color: inherit;
        font-size: 12px;
        font-weight: var(--valcrena-font-weight-semibold);
        white-space: nowrap;
    }
    [data-tooltip]::after { display: none; }
    .module-panel {
        position: static;
        left: 0;
        top: auto;
        width: 100%;
        min-height: 0;
        height: auto;
        max-height: min(42vh, 360px);
        overflow-y: auto;
        padding: 14px;
    }
    .module-nav {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    .module-panel-pin {
        left: auto;
        right: 14px;
        top: 72px;
    }
    .user-menu-actions {
        left: auto;
        right: 0;
        bottom: auto;
        top: calc(100% + 8px);
    }
    .main { padding: 20px; }
    .metric-grid, .content-grid, .summary-strip, .kyc-summary-grid, .kyc-link-form, .form-grid, .filters, .filter-bar, .task-filters, .master-filters, .config-grid, .method-grid, .parcel-tools { grid-template-columns: 1fr; }
    .span-2 { grid-column: span 1; }
    .page-header, .detail-hero, .entity-header { flex-direction: column; }
    .hero-side { justify-items: start; }
    .hero-facts, .hero-actions { justify-content: flex-start; }
    .inventory-filters, .bulk-price-grid { grid-template-columns: 1fr; }
    .dashboard-filters, .dashboard-kpi-grid, .dashboard-map-controls, .report-filters, .report-drawer, .report-columns-panel, .report-save-form, .report-link-grid, .report-saved-list, .access-filters, .permission-row, .access-admin-forms, .media-upload-form, .media-edit-form { grid-template-columns: 1fr; }
    .media-upload-form .span-2,
    .media-edit-form .span-2 {
        grid-column: span 1;
    }
    .media-grid {
        grid-template-columns: 1fr;
    }
    .dashboard-segmented { width: 100%; grid-auto-columns: max-content; scrollbar-width: none; }
    .dashboard-kpi, .dashboard-kpi.kpi-primary { grid-column: span 1; min-height: 132px; }
    .dashboard-promotions-table { min-width: 720px; }
    .report-table { min-width: 900px; }
    .chart-row { grid-template-columns: 1fr; }
    .chart-row strong { text-align: left; }
    .dashboard-preference-layout,
    .preference-field-grid,
    .preference-filter-grid,
    .preference-widget-grid,
    .preference-map-grid {
        grid-template-columns: 1fr;
    }
    .preference-actions {
        align-items: stretch;
    }
}
.navigation-builder-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
}

.navigation-builder-header .page-actions {
    justify-content: flex-start;
}

.navigation-builder {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
}

.navigation-builder > * {
    min-width: 0;
}

.navigation-builder-toolbox,
.navigation-builder-inspector,
.navigation-workspace-stack,
.navigation-group-stack,
.navigation-destination-list,
.navigation-version-stack,
.navigation-preview-shell {
    display: grid;
    gap: 14px;
}

.navigation-builder-toolbox,
.navigation-builder-inspector {
    grid-column: 1 / -1;
    position: static;
}

.navigation-builder-canvas {
    display: grid;
    gap: 18px;
}

.navigation-builder-canvas > .panel-header-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.navigation-workspace-card,
.navigation-group-card,
.navigation-item-list > li,
.navigation-destination-card,
.navigation-version-row {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface-soft);
}

.navigation-workspace-card {
    padding: 14px;
}

.navigation-group-card {
    padding: 12px;
    background: var(--panel);
}

.navigation-item-list > li,
.navigation-destination-card,
.navigation-version-row,
.navigation-node-header,
.navigation-inline-form,
.navigation-destination-targets,
.navigation-node-main,
.panel-header-row {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.navigation-item-list {
    display: grid;
    gap: 10px;
    min-height: 56px;
    padding: 0;
    margin: 12px 0 0;
    list-style: none;
}

.navigation-item-list > li {
    padding: 10px;
    cursor: grab;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-content: stretch;
}

.navigation-item-list > li > .navigation-properties-inline {
    grid-column: 1 / -1;
}

.navigation-item-list > li:active {
    cursor: grabbing;
}

.navigation-item-list > li.is-dragging {
    opacity: 0.55;
}

.navigation-workspace-card.is-selected,
.navigation-group-card.is-selected,
.navigation-item-list > li.is-selected {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);
}

.navigation-node-title {
    display: flex;
    gap: 10px;
    align-items: center;
    min-width: 0;
}

.navigation-builder .navigation-inline-form,
.navigation-builder .navigation-destination-targets,
.navigation-builder .panel-header-row,
.navigation-builder .navigation-node-main {
    justify-content: flex-start;
}

.navigation-builder .navigation-inline-form input,
.navigation-builder .navigation-inline-form select {
    max-width: 100%;
}

.navigation-node-title > div,
.navigation-node-main > div,
.navigation-node-header > div {
    min-width: 0;
}

.navigation-node-title h3,
.navigation-node-main strong,
.navigation-node-header strong {
    overflow-wrap: anywhere;
}

.navigation-properties-inline {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
}

.navigation-properties-inline > summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--accent);
    list-style: none;
}

.navigation-properties-inline > summary::-webkit-details-marker {
    display: none;
}

.navigation-properties-inline > .navigation-inline-form {
    margin-top: 10px;
}

.navigation-add-group {
    padding: 10px;
    border: 1px dashed var(--line-strong);
    border-radius: 8px;
}

.navigation-inline-form input,
.navigation-inline-form select,
.navigation-destination-card select,
.compact-input,
.stacked-form textarea,
.stacked-form input {
    min-height: 36px;
}

.navigation-inline-form input[type="text"],
.navigation-search input {
    min-width: 180px;
    flex: 1 1 180px;
}

.navigation-destination-card {
    align-items: stretch;
    padding: 12px;
}

.navigation-destination-card > div:first-child {
    min-width: 0;
}

.navigation-destination-card span,
.navigation-version-row span {
    display: block;
    color: var(--muted);
    font-size: 0.85rem;
    overflow-wrap: anywhere;
}

.navigation-destination-targets {
    justify-content: flex-start;
}

.navigation-version-row {
    padding: 10px;
}

.navigation-preview-workspace {
    border-left: 3px solid var(--accent);
    padding-left: 10px;
}

.navigation-preview-workspace span {
    display: inline-block;
    margin: 4px 6px 0 0;
    padding: 4px 8px;
    border-radius: 6px;
    background: var(--surface-soft);
    font-size: 0.85rem;
}

.advanced-list-filters {
    grid-template-columns: minmax(220px, 1.5fr) repeat(auto-fit, minmax(150px, 1fr)) auto;
    align-items: start;
}

.advanced-list-filters select[multiple] {
    min-height: 88px;
    overflow: auto;
}

.compact-number {
    max-width: 150px;
}

.filter-popover,
.navigation-node-menu,
.technical-details {
    position: relative;
}

.filter-popover > summary,
.navigation-node-menu > summary,
.technical-details > summary {
    cursor: pointer;
    list-style: none;
}

.filter-popover > summary::-webkit-details-marker,
.navigation-node-menu > summary::-webkit-details-marker,
.technical-details > summary::-webkit-details-marker {
    display: none;
}

.filter-popover-body,
.saved-view-form,
.field-picker-panel {
    display: grid;
    gap: 8px;
    min-width: 220px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: var(--shadow-soft);
}

.list-view-strip {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 14px;
}

.saved-view-pills,
.saved-view-pill,
.scope-chips {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.saved-view-pill {
    min-height: 34px;
    padding: 4px 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface-soft);
}

.saved-view-pill.active {
    border-color: var(--accent);
    background: var(--color-primary-soft);
}

.saved-view-pill form {
    display: inline-flex;
}

.compact-checkbox {
    min-height: 28px;
    font-size: 0.92rem;
}

.chip-button {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface-soft);
    color: var(--ink);
    padding: 5px 8px;
    cursor: pointer;
}

.technical-details {
    color: var(--muted);
    font-size: 0.82rem;
}

.navigation-node-menu > summary {
    display: inline-grid;
    min-width: 34px;
    min-height: 30px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--panel);
    color: var(--ink);
}

.navigation-node-menu[open] .row-actions {
    position: absolute;
    right: 0;
    z-index: 12;
    min-width: 190px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: var(--shadow-soft);
}

.autosave-status {
    color: var(--muted);
    font-size: 0.85rem;
    overflow-wrap: anywhere;
}

.row-actions {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.row-actions button,
.icon-button {
    min-width: 36px;
    min-height: 32px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--panel);
}

.toggle-line {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    white-space: nowrap;
}

.module-nav-group {
    margin: 12px 10px 4px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

@media (min-width: 1500px) {
    .navigation-builder {
        grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.45fr);
    }

    .navigation-builder-toolbox {
        grid-column: auto;
        position: sticky;
        top: 18px;
    }
}

@media (min-width: 1800px) {
    .navigation-builder {
        grid-template-columns: minmax(260px, 0.75fr) minmax(420px, 1.4fr) minmax(300px, 0.8fr);
    }

    .navigation-builder-inspector {
        grid-column: auto;
        position: sticky;
        top: 18px;
    }
}

@media (max-width: 980px) {
    .navigation-builder {
        grid-template-columns: 1fr;
    }

    .navigation-item-list > li {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .navigation-item-list > li > .navigation-properties-inline {
        grid-column: 1 / -1;
    }

    .navigation-builder-toolbox,
    .navigation-builder-inspector {
        position: static;
    }
}
.counterparty-role {
    display: inline-flex;
    align-items: center;
    min-height: 1.5rem;
    padding: 0.1rem 0.45rem;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    color: #334155;
    background: #f8fafc;
    font-size: 0.75rem;
    font-weight: 700;
}

.counterparty-role.role-vendedor,
.counterparty-role.role-arrendador {
    border-color: #86b89a;
    color: #17603a;
    background: #edf8f1;
}

.counterparty-role.role-comprador,
.counterparty-role.role-arrendatario {
    border-color: #d99a9a;
    color: #8b2525;
    background: #fff1f1;
}
.entity-primary-media {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border: 1px solid var(--border-color, #d8dee8);
    background: #fff;
}

.offer-line-breakdown {
    display: grid;
    gap: 2px;
    margin-top: 6px;
    color: var(--text-muted, #64748b);
    font-size: 0.78rem;
}

.offer-signal {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 700;
}

.offer-signal-green { color: #17603a; background: #edf8f1; border-color: #86b89a; }
.offer-signal-amber { color: #7a4b00; background: #fff8e5; border-color: #d8b45c; }
.offer-signal-red { color: #8b2525; background: #fff1f1; border-color: #d99a9a; }
.detail-tabs {
    display: flex;
    gap: 4px;
    margin: 0 0 20px;
    padding: 4px;
    overflow-x: auto;
    border-bottom: 1px solid var(--border, #d9e0ea);
}
.detail-tabs a {
    padding: 10px 12px;
    color: var(--text-muted, #5d6d86);
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
}
.detail-tabs a.active { color: var(--navy, #123568); border-bottom-color: var(--gold, #b28a3d); font-weight: 700; }
.company-logo-preview { display: block; max-width: 240px; max-height: 100px; margin: 0 0 20px; object-fit: contain; }
.color-swatch { display: inline-block; width: 18px; height: 18px; margin-right: 8px; border: 1px solid #cbd4e1; vertical-align: middle; }
@media (max-width: 768px) {
    .detail-tabs { margin-inline: -4px; }
    .detail-tabs a { padding: 9px 10px; }
}
