:root {
    --navy: #08233f;
    --navy-2: #123b5f;
    --green: #2f7d4b;
    --green-soft: #e8f4eb;
    --blue-soft: #edf4f8;
    --ink: #142536;
    --muted: #607184;
    --line: #d6e1e8;
    --surface: #ffffff;
    --background: #f3f7f9;
    --danger: #a42a2a;
    --danger-soft: #fbeded;
    --warning: #7b5c12;
    --warning-soft: #fff7dd;
    --shadow: 0 18px 48px rgba(8, 35, 63, 0.09);
}

* { box-sizing: border-box; }

html { min-width: 320px; background: var(--background); }

body {
    margin: 0;
    color: var(--ink);
    background: var(--background);
    font-family: Inter, Montserrat, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
}

button, input, select, textarea { font: inherit; letter-spacing: 0; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.auth-page { min-height: 100vh; background: #fff; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr); }
.auth-brand { padding: clamp(32px, 6vw, 88px); color: #fff; background: var(--navy); display: flex; flex-direction: column; justify-content: space-between; gap: 42px; position: relative; overflow: hidden; }
.auth-brand::after { content: ""; position: absolute; inset: auto -9% -20% 34%; height: 52%; background: rgba(47,125,75,.2); transform: skewY(-7deg); }
.auth-brand > * { position: relative; z-index: 1; }
.auth-logo { width: min(330px, 76%); height: auto; filter: brightness(0) invert(1); }
.auth-brand h1 { max-width: 720px; margin: 8px 0 18px; font-size: clamp(2.25rem, 4.8vw, 4.65rem); line-height: 1.02; }
.auth-brand p { max-width: 600px; margin: 0; color: #d7e5ee; font-size: 1.08rem; }
.auth-home { width: fit-content; color: #d7e5ee; text-decoration: none; font-weight: 700; }
.auth-trust { font-size: .9rem !important; }
.auth-form-panel { display: grid; place-items: center; padding: clamp(26px, 5vw, 72px); }
.auth-form { width: min(100%, 480px); display: grid; gap: 20px; }
.auth-form h2 { margin: 4px 0 4px; color: var(--navy); font-size: 2.25rem; }
.auth-form header > p:last-child { color: var(--muted); margin: 0; }
.eyebrow { color: var(--green) !important; text-transform: uppercase; font-size: .78rem !important; font-weight: 800; letter-spacing: .08em !important; }
.field { display: grid; gap: 8px; font-weight: 750; color: var(--navy); }
.field input, .field select, .field textarea, .filter-bar input, .filter-bar select {
    width: 100%; min-height: 48px; padding: 11px 13px; color: var(--ink); background: #fff; border: 1px solid #bfced8; border-radius: 6px; outline: none;
}
.field textarea { min-height: 116px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, .filter-bar input:focus, .filter-bar select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(47,125,75,.14); }
.field-help { margin: -2px 0 0; color: var(--muted); font-size: .86rem; font-weight: 500; }
.password-control { display: grid; grid-template-columns: minmax(0, 1fr) 48px; }
.password-control input { border-radius: 6px 0 0 6px; }
.icon-button { min-width: 44px; min-height: 44px; border: 1px solid #bfced8; background: var(--blue-soft); color: var(--navy); border-radius: 6px; cursor: pointer; font-weight: 800; }
.password-control .icon-button { border-left: 0; border-radius: 0 6px 6px 0; }
.check-row { display: flex; align-items: center; gap: 10px; color: var(--muted); }
.check-row input { width: 18px; height: 18px; accent-color: var(--green); }
.auth-options { display: flex; justify-content: flex-end; margin-top: -8px; }
.auth-options a { color: var(--navy-2); font-weight: 750; text-decoration: none; }
.auth-options a:hover { text-decoration: underline; }
.button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border: 1px solid transparent; border-radius: 6px; text-decoration: none; cursor: pointer; font-weight: 800; line-height: 1.2; }
.button-primary { color: #fff; background: var(--navy); }
.button-primary:hover { background: var(--navy-2); }
.button-secondary { color: var(--navy); background: #fff; border-color: #b9cad5; }
.button-success { color: #fff; background: var(--green); }
.button-danger { color: var(--danger); background: var(--danger-soft); border-color: #f1cccc; }
.button-ghost { color: var(--navy); background: transparent; border-color: transparent; }
.button-small { min-height: 36px; padding: 7px 11px; font-size: .86rem; }
.form-validation-summary{display:grid;gap:6px;margin:0 0 18px;padding:16px 18px;max-width:760px}.form-validation-summary strong{font-size:1rem}.form-validation-summary span,.form-validation-summary small{display:block}.form-validation-summary span{font-size:.9rem}.form-validation-summary ul{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0;padding:0;list-style:none}.form-validation-summary li{margin:0}.form-validation-summary li button{appearance:none;padding:6px 10px;border:1px solid #e5b4b4;background:#fff;color:var(--danger);border-radius:4px;font:inherit;font-size:.78rem;font-weight:800;line-height:1.2;cursor:pointer}.form-validation-summary li button:hover,.form-validation-summary li button:focus-visible{border-color:var(--danger);outline:2px solid rgba(174,36,36,.18);outline-offset:1px}.form-validation-summary small{font-size:.7rem;line-height:1.3}.form-field.is-invalid,.role-selection.is-invalid{border-color:var(--danger)!important;background:var(--danger-soft)}.field-required-conditional>.field-label-title:after,.field-required-conditional>span[data-required="1"]:after{content:" *";color:var(--danger)}.conditional-field-note{display:block;margin-top:6px;color:var(--muted);font-size:.72rem;font-weight:700}.field-required-conditional .conditional-field-note{color:var(--danger)}
.button-wide { width: 100%; }
.form-footnote { color: var(--muted); font-size: .82rem; text-align: center; }
.alert { padding: 13px 15px; border-radius: 6px; border: 1px solid var(--line); font-weight: 650; }
.alert-danger { color: var(--danger); background: var(--danger-soft); border-color: #f0caca; }
.alert-info { color: var(--navy-2); background: var(--blue-soft); }
.alert-success { color: #155f35; background: var(--green-soft); border-color: #bfe0c8; }
.alert-warning { color: var(--warning); background: var(--warning-soft); border-color: #ebdca7; }
.muted { color: var(--muted); }

.installer-page { min-height: 100vh; padding: clamp(20px, 4vw, 64px); }
.installer-shell { width: min(1120px, 100%); margin: 0 auto; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.installer-header { display: flex; align-items: center; gap: 24px; padding: 28px 34px; border-bottom: 1px solid var(--line); }
.installer-header img { width: 220px; height: auto; }
.installer-header h1 { margin: 2px 0 0; color: var(--navy); }
.installer-grid { display: grid; grid-template-columns: .9fr 1.1fr; }
.installer-grid > * { padding: clamp(24px, 4vw, 48px); }
.installer-grid > * + * { border-left: 1px solid var(--line); }
.check-list { list-style: none; padding: 0; margin: 24px 0; display: grid; gap: 10px; }
.check-list li { display: flex; gap: 10px; align-items: center; }
.check-list span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; font-weight: 900; }
.check-list .is-ok span { color: #fff; background: var(--green); }
.check-list .is-error span { color: #fff; background: var(--danger); }
.form-section { display: grid; gap: 18px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 264px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; color: #fff; background: var(--navy); display: flex; flex-direction: column; overflow-y: auto; z-index: 20; }
.sidebar-brand { padding: 26px 24px 22px; border-bottom: 1px solid rgba(255,255,255,.13); }
.sidebar-brand img { display: block; width: 190px; height: auto; filter: brightness(0) invert(1); }
.sidebar-brand span { display: block; margin-top: 10px; color: #b8cfdd; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.sidebar-nav { padding: 18px 12px; display: grid; gap: 3px; }
.sidebar-section { border-bottom: 1px solid rgba(255,255,255,.08); }
.sidebar-section summary { padding: 12px; color: #8eb0c3; cursor: pointer; list-style: none; font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.sidebar-section summary::-webkit-details-marker { display: none; }
.sidebar-section summary::after { content: "+"; float: right; color: #bfd2dc; font-size: .9rem; }
.sidebar-section[open] summary::after { content: "−"; }
.sidebar-section-links { display: grid; gap: 2px; padding: 0 0 8px; }
.sidebar-section-links .sidebar-link { min-height: 38px; padding-block: 8px; font-size: .88rem; }
.sidebar-label { margin: 15px 12px 6px; color: #86a8bc; font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.sidebar-link { display: flex; min-height: 43px; align-items: center; gap: 11px; padding: 10px 12px; color: #dce9f0; border-radius: 5px; text-decoration: none; font-weight: 700; }
.sidebar-link:hover, .sidebar-link.is-active { color: #fff; background: rgba(255,255,255,.11); }
.sidebar-icon { display: grid; width: 24px; text-align: center; font-size: .84rem; }
.sidebar-icon svg { width: 20px; height: 20px; fill: currentColor; }
.sidebar-foot { margin-top: auto; padding: 18px 20px; border-top: 1px solid rgba(255,255,255,.13); }
.sidebar-foot strong { display: block; }
.sidebar-foot span { display: block; color: #9fbbc9; font-size: .82rem; }
.logout-button { width: 100%; margin-top: 12px; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.3); }
.app-main { min-width: 0; }
.topbar { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px clamp(20px, 4vw, 52px); background: #fff; border-bottom: 1px solid var(--line); }
.topbar h1 { margin: 0; color: var(--navy); font-size: 1.25rem; }
.topbar p { margin: 2px 0 0; color: var(--muted); font-size: .84rem; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.mobile-menu { display: none; }
.content { width: min(1600px, 100%); margin: 0 auto; padding: clamp(22px, 3vw, 46px); }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.page-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.page-heading h2 { margin: 4px 0 4px; color: var(--navy); font-size: clamp(1.75rem, 3vw, 2.65rem); line-height: 1.1; }
.page-heading p { margin: 0; color: var(--muted); }
.heading-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.metrics-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 28px; background: #fff; border: 1px solid var(--line); }
.metric { min-width: 0; padding: 20px 22px; }
.metric + .metric { border-left: 1px solid var(--line); }
.metric strong { display: block; color: var(--navy); font-size: clamp(1.65rem, 2.5vw, 2.5rem); line-height: 1.1; overflow-wrap: anywhere; }
.metric span { display: block; margin-top: 6px; color: var(--muted); font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .38fr); gap: 24px; align-items: start; }
.content-grid.equal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.panel { min-width: 0; background: #fff; border: 1px solid var(--line); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.panel-header h3 { margin: 0; color: var(--navy); font-size: 1.25rem; }
.panel-header p { margin: 4px 0 0; color: var(--muted); font-size: .9rem; }
.panel-body { padding: 24px; }
.panel-body.flush { padding: 0; }
.stack { display: grid; gap: 18px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid .full { grid-column: 1 / -1; }
.workspace-form { width: min(1120px, 100%); margin: 0 auto; background: #fff; border: 1px solid var(--line); }
.form-block { padding: 28px 32px; border-bottom: 1px solid var(--line); }
.form-block:last-of-type { border-bottom: 0; }
.form-block-header { margin-bottom: 22px; }
.form-block-header h3 { margin: 0; color: var(--navy); font-size: 1.2rem; }
.form-block-header p { margin: 5px 0 0; color: var(--muted); }
.form-actions { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 16px 32px; background: rgba(255,255,255,.96); border-top: 1px solid var(--line); box-shadow: 0 -10px 24px rgba(8,35,63,.06); z-index: 5; }
.permission-groups { display: grid; gap: 24px; }
.permission-group { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.permission-group:last-child { border-bottom: 0; }
.permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin-top: 12px; }
.detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--line); }
.detail-list div { padding: 16px 18px; border-bottom: 1px solid var(--line); }
.detail-list div:nth-child(odd) { border-right: 1px solid var(--line); }
.detail-list dt { color: var(--muted); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.detail-list dd { margin: 4px 0 0; color: var(--navy); font-weight: 750; overflow-wrap: anywhere; }

.delivery-point-form { display: grid; gap: 20px; }
.delivery-point-form .section-card { margin: 0; }
.compact-filter-grid { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(260px, 1.5fr) minmax(150px, .6fr) auto; gap: 16px; align-items: end; padding: 20px; }
.compact-filter-grid .filter-actions { display: flex; gap: 8px; align-items: center; }
.schedule-fieldset { border: 0; padding: 0; margin: 20px 0; }
.schedule-fieldset legend { color: var(--navy); font-weight: 800; margin-bottom: 10px; }
.weekday-selector { display: grid; grid-template-columns: repeat(7, minmax(90px, 1fr)); gap: 8px; }
.weekday-selector label { position: relative; }
.weekday-selector input { position: absolute; opacity: 0; }
.weekday-selector span { display: grid; place-items: center; min-height: 46px; border: 1px solid var(--line); background: #fff; color: var(--navy); font-weight: 750; cursor: pointer; }
.weekday-selector input:checked + span { border-color: var(--green); background: #eaf6ee; color: #17693a; }
.context-action-bar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 22px; margin: 0 0 20px; border: 1px solid var(--line); background: #fff; }
.context-action-bar div { display: grid; gap: 4px; }
.context-action-bar span { color: var(--muted); }
.stat-card-link { text-decoration: none; }
.prose-value { white-space: normal; line-height: 1.6; }
.inherited-field input[readonly] { background: #f1f5f7; color: var(--navy); font-weight: 800; cursor: not-allowed; }
body[data-page="delivery-point-detail"] .detail-list { border: 0; }
body[data-page="delivery-point-detail"] .detail-list div { min-width: 0; padding: 18px 22px; }
body[data-page="delivery-point-detail"] .detail-list dd { line-height: 1.45; word-break: normal; overflow-wrap: anywhere; }
body[data-page="delivery-point-detail"] .record-section-grid { align-items: stretch; }
body[data-page="delivery-point-detail"] .section-card { overflow: hidden; }
.timeline-list { display: grid; padding: 0 22px 20px; }
.timeline-list article { position: relative; display: grid; grid-template-columns: minmax(220px,.7fr) minmax(260px,1fr); gap: 8px 22px; padding: 18px 0 18px 26px; border-bottom: 1px solid var(--line); }
.timeline-list article:before { content:""; position:absolute; left:3px; top:24px; width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px #e7f4eb; }
.timeline-list article:after { content:""; position:absolute; left:7px; top:37px; bottom:-7px; width:1px; background:var(--line); }
.timeline-list article:last-child:after { display:none; }
.timeline-list article strong { color:var(--navy); font-size:.86rem; text-transform:uppercase; }
.timeline-list article span { color:var(--muted); font-size:.82rem; }
.timeline-list article p { grid-column:1/-1; margin:0; color:var(--navy); }
@media (max-width: 1050px) { .compact-filter-grid { grid-template-columns: 1fr 1fr; } .weekday-selector { grid-template-columns: repeat(4, minmax(90px, 1fr)); } }
@media (max-width: 680px) { .compact-filter-grid, .weekday-selector { grid-template-columns: 1fr; } .context-action-bar { align-items: stretch; flex-direction: column; } }
.filter-bar { display: grid; grid-template-columns: minmax(180px, 1fr) auto; gap: 10px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.table-wrap { width: 100%; overflow-x: auto; }
.table-shell { width:100%; max-width:100%; min-width:0; overflow-x:auto; }
.table-shell > table { width:100%; min-width:760px; border-collapse:collapse; }
.table-shell > table th { padding:12px 16px; color:#53677a; background:#f7fafb; border-bottom:1px solid var(--line); text-align:left; font-size:.72rem; text-transform:uppercase; white-space:nowrap; }
.table-shell > table td { padding:14px 16px; border-bottom:1px solid #e6edf1; vertical-align:top; }
.table-shell > table td small { display:block; margin-top:3px; color:var(--muted); }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th { padding: 12px 16px; color: #53677a; background: #f7fafb; border-bottom: 1px solid var(--line); text-align: left; font-size: .72rem; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 14px 16px; border-bottom: 1px solid #e6edf1; vertical-align: top; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #f9fbfc; }
.cell-title { color: var(--navy); font-weight: 800; }
.cell-meta { display: block; margin-top: 3px; color: var(--muted); font-size: .82rem; }
.actions { display: flex; flex-wrap: wrap; gap: 7px; }
.status { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 8px; border-radius: 4px; font-size: .72rem; font-weight: 900; text-transform: uppercase; overflow-wrap: normal; white-space: nowrap; }
.status-active, .status-approved, .status-confirmed, .status-passed, .status-current, .status-technically-closed, .status-regularized, .status-pass { color: #17623a; background: var(--green-soft); }
.status-pending, .status-pending-confirmation, .status-requested, .status-under-analysis, .status-in-testing, .status-draft, .status-scheduled { color: #36596f; background: var(--blue-soft); }
.status-blocked, .status-failed, .status-rejected, .status-inactive, .status-cancelled { color: var(--danger); background: var(--danger-soft); }
.status-linking, .status-pending-validation { color: #36596f; background: var(--blue-soft); }
.status-enabled, .status-valid { color: #17623a; background: var(--green-soft); }
.status-expired { color: var(--danger); background: var(--danger-soft); }
.status-warning, .status-needs-correction, .status-approved-change, .status-implemented { color: var(--warning); background: var(--warning-soft); }
.empty-state { padding: 48px 24px; text-align: center; color: var(--muted); }
.empty-state strong { display: block; margin-bottom: 6px; color: var(--navy); font-size: 1.15rem; }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { position: relative; padding: 0 0 22px 28px; }
.timeline li::before { content: ""; position: absolute; left: 5px; top: 8px; bottom: -4px; border-left: 1px solid #b8cad5; }
.timeline li:last-child::before { display: none; }
.timeline li::after { content: ""; position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border: 3px solid #fff; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 1px var(--green); }
.timeline strong { color: var(--navy); }
.timeline p { margin: 4px 0; color: var(--muted); }
.timeline time { color: #7d8d9b; font-size: .78rem; }
.gate-list { display: grid; gap: 10px; }
.summary-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:24px; background:#fff; border:1px solid var(--line); }
.summary-strip > div { min-width:0; padding:17px 20px; }
.summary-strip > div + div { border-left:1px solid var(--line); }
.summary-strip span,.kpi-card span { display:block; color:var(--muted); font-size:.72rem; font-weight:850; text-transform:uppercase; }
.summary-strip strong { display:block; margin-top:4px; color:var(--navy); overflow-wrap:anywhere; }
.kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.kpi-card { padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:6px; }
.kpi-card strong { display:block; margin-top:6px; color:var(--navy); font-size:1.8rem; }
.gate-row { display:grid; grid-template-columns:110px minmax(140px,.35fr) minmax(0,1fr); align-items:center; gap:16px; padding:14px 20px; border-bottom:1px solid var(--line); }
.gate-row:last-child { border-bottom:0; }
.gate-row > strong { color:var(--navy); }
.gate-row > span:last-child { color:var(--muted); }
.order-summary-strip { grid-template-columns:repeat(5,minmax(0,1fr)); }
.order-gate-row { grid-template-columns:110px minmax(140px,.28fr) minmax(280px,1fr) auto; }
.order-gate-row .button { min-width:170px; justify-self:end; white-space:nowrap; }
.order-submit-blocked { border-color:#e4aaa7; background:#fff8f7; }
.order-submit-blocked > div strong { color:var(--danger); }
.context-action-bar button[disabled] { cursor:not-allowed; opacity:.55; }
.notice { display:grid; gap:4px; padding:16px 18px; margin-bottom:20px; border:1px solid var(--line); }
.notice-warning { color:var(--warning); background:var(--warning-soft); border-color:#ebdca7; }
.gate-rule { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; padding: 12px 14px; background: #f7fafb; border-left: 4px solid #9fb2bf; }
.gate-rule.is-pass { border-left-color: var(--green); }
.gate-rule.is-fail { border-left-color: var(--danger); }
.gate-rule strong { color: var(--navy); }
.gate-rule p { margin: 2px 0 0; color: var(--muted); font-size: .86rem; }
.source-note { padding: 14px 16px; color: #40596b; background: var(--blue-soft); border-left: 4px solid var(--navy-2); font-size: .9rem; }
.code { font-family: Consolas, "Courier New", monospace; font-size: .88em; }
.subnav { display: flex; gap: 4px; margin: -10px 0 26px; padding-bottom: 10px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.subnav a { flex: 0 0 auto; padding: 8px 11px; color: var(--navy-2); text-decoration: none; font-size: .86rem; font-weight: 800; }
.subnav a:hover { color: var(--green); background: var(--green-soft); }
.module-directory-body { display: grid; }
.module-directory-group { display: grid; grid-template-columns: minmax(190px, .28fr) minmax(0, 1fr); gap: 20px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.module-directory-group:last-child { border-bottom: 0; }
.module-directory-group h4 { margin: 7px 0 0; color: var(--navy); font-size: .92rem; }
.module-link-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.module-link-list a { min-width: 0; padding: 12px 14px; background: #fff; text-decoration: none; }
.module-link-list a:hover { background: var(--blue-soft); }
.module-link-list strong { display: block; color: var(--navy); overflow-wrap: anywhere; }
.module-link-list span { display: block; margin-top: 2px; color: var(--muted); font-size: .76rem; }
.prepared-module { min-height: 260px; display: grid; place-items: center; }
.hierarchy-note { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: -10px 0 24px; padding: 13px 16px; color: var(--navy); background: #fff; border-left: 4px solid var(--green); }
.hierarchy-note span { color: var(--green); font-weight: 900; }
.access-editor { margin-bottom: 26px; }
.access-matrix { display: grid; }
.access-module { border-bottom: 1px solid var(--line); }
.access-module:last-child { border-bottom: 0; }
.access-module h4 { margin: 0; padding: 14px 24px; color: var(--navy); background: #f7fafb; font-size: .9rem; }
.access-module .data-table { min-width: 900px; }
.status-allow, .status-superadmin { color: #17623a; background: var(--green-soft); }
.status-deny { color: var(--danger); background: var(--danger-soft); }
.status-inherited { color: var(--navy-2); background: var(--blue-soft); }
.status-none, .status-revoked, .status-superseded { color: #5f6e79; background: #eef1f3; }

.module-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 18px; }
.module-card { min-width: 0; display: flex; min-height: 330px; flex-direction: column; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.module-card-header { display: flex; align-items: center; gap: 14px; }
.module-card-header h3 { margin: 0; color: var(--navy); font-size: 1.15rem; }
.module-card-icon, .module-heading-icon { display: grid; flex: 0 0 auto; place-items: center; color: #fff; background: var(--navy); border-radius: 6px; }
.module-card-icon { width: 46px; height: 46px; }
.module-card-icon svg { width: 24px; height: 24px; fill: currentColor; }
.module-card > p { min-height: 46px; margin: 18px 0 14px; color: var(--muted); }
.module-function-list { display: grid; gap: 7px; margin: 0; padding: 0; color: #3d5365; list-style: none; font-size: .88rem; }
.module-function-list li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 9px 2px 0; background: var(--green); border-radius: 50%; }
.module-function-list .module-function-more { color: var(--muted); }
.module-card footer { margin-top: auto; padding-top: 22px; }
.module-card footer .button { width: 100%; }
.breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; color: var(--muted); font-size: .88rem; }
.breadcrumb a { color: var(--navy-2); font-weight: 800; text-decoration: none; }
.module-heading { display: flex; align-items: center; gap: 20px; margin-bottom: 26px; padding: 24px 28px; background: #fff; border: 1px solid var(--line); }
.module-heading-icon { width: 58px; height: 58px; }
.module-heading-icon svg { width: 30px; height: 30px; fill: currentColor; }
.module-heading h2 { margin: 2px 0 4px; color: var(--navy); font-size: 2rem; }
.module-heading p { margin: 0; color: var(--muted); }
.submodule-workspace { background: #fff; border: 1px solid var(--line); }
.submodule-workspace > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.submodule-workspace > header h3 { margin: 0; color: var(--navy); }
.submodule-workspace > header span { color: var(--muted); font-size: .82rem; font-weight: 800; }
.submodule-list { display: grid; }
.submodule-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 22px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.submodule-row:last-child { border-bottom: 0; }
.submodule-row h4 { margin: 0; color: var(--navy); }
.submodule-row p { margin: 4px 0 0; color: var(--muted); font-size: .87rem; }

.error-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #fff; }
.error-shell { width: min(620px, 100%); text-align: center; }
.error-shell img { width: 230px; }
.error-code { margin: 28px 0 0; color: var(--green); font-size: 4rem; font-weight: 900; line-height: 1; }
.error-shell h1 { margin: 12px 0 8px; color: var(--navy); }
.error-shell > p:not(.error-code) { color: var(--muted); }
.debug-message { padding: 14px; text-align: left; overflow: auto; background: #f4f6f7; }

@media (max-width: 1120px) {
    .metrics-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .metric:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
    .metric:nth-child(4) { border-top: 1px solid var(--line); }
    .content-grid, .content-grid.equal { grid-template-columns: 1fr; }
    .module-link-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 840px) {
    .auth-shell { grid-template-columns: 1fr; }
    .auth-brand { min-height: 340px; padding: 30px; gap: 24px; }
    .auth-brand h1 { font-size: 2.5rem; }
    .auth-form-panel { padding: 36px 24px 54px; }
    .installer-grid { grid-template-columns: 1fr; }
    .installer-grid > * + * { border-left: 0; border-top: 1px solid var(--line); }
    .app-shell { grid-template-columns: 1fr; }
    .sidebar { position: fixed; left: 0; width: min(300px, 88vw); transform: translateX(-102%); transition: transform .2s ease; box-shadow: 18px 0 50px rgba(0,0,0,.2); }
    .sidebar.is-open { transform: translateX(0); }
    .mobile-menu { display: inline-grid; place-items: center; }
    .topbar { padding: 12px 18px; }
    .page-heading { align-items: flex-start; flex-direction: column; }
    .page-heading-actions { width: 100%; justify-content: flex-start; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .full { grid-column: auto; }
    .permission-grid, .detail-list { grid-template-columns: 1fr; }
    .detail-list div:nth-child(odd) { border-right: 0; }
    .module-directory-group { grid-template-columns: 1fr; }
    .summary-strip,.kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .summary-strip > div:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
    .summary-strip > div:nth-child(4) { border-top:1px solid var(--line); }
    .gate-row { grid-template-columns:1fr; gap:7px; }
    .order-summary-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .order-summary-strip > div:nth-child(n) { border-left:0; border-top:1px solid var(--line); }
    .order-summary-strip > div:nth-child(-n+2) { border-top:0; }
    .order-summary-strip > div:nth-child(even) { border-left:1px solid var(--line); }
    .order-gate-row .button { justify-self:start; min-width:0; }
}

@media (max-width: 560px) {
    .content { padding: 20px 14px 36px; }
    .topbar h1 { font-size: 1rem; }
    .topbar-actions .button { padding-inline: 11px; }
    .metrics-strip { grid-template-columns: 1fr; }
    .metric + .metric, .metric:nth-child(3), .metric:nth-child(4) { border-left: 0; border-top: 1px solid var(--line); }
    .panel-header, .panel-body { padding: 18px; }
    .form-block { padding: 22px 18px; }
    .form-actions { padding: 14px 18px; }
    .filter-bar { grid-template-columns: 1fr; }
    .heading-actions { width: 100%; }
    .heading-actions .button { flex: 1; }
    .installer-page { padding: 0; }
    .installer-shell { border: 0; }
    .installer-header { align-items: flex-start; flex-direction: column; }
    .module-link-list { grid-template-columns: 1fr; }
    .module-card-grid { grid-template-columns: 1fr; }
    .module-card { min-height: 0; padding: 20px; }
    .module-card > p { min-height: 0; }
    .module-heading { align-items: flex-start; padding: 20px; }
    .module-heading h2 { font-size: 1.55rem; }
    .submodule-row { grid-template-columns: 1fr; padding: 18px; }
    .submodule-row .button { width: 100%; }
    .summary-strip,.kpi-grid { grid-template-columns:1fr; }
    .summary-strip > div + div,.summary-strip > div:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
    .order-summary-strip { grid-template-columns:1fr; }
    .order-summary-strip > div:nth-child(n) { border-left:0; border-top:1px solid var(--line); }
    .order-summary-strip > div:first-child { border-top:0; }
}

/* Navegación modular empresarial */
.application-page { min-width: 320px; min-height: 100vh; overflow-x: hidden; background: #f4f7f9; }
.application-frame { min-height: 100vh; }
.application-topbar { position: sticky; top: 0; z-index: 60; height: 68px; background: #fff; border-bottom: 1px solid #dce5ea; box-shadow: 0 2px 10px rgba(8,35,63,.035); }
.application-topbar-inner { width: min(1500px, 100%); height: 100%; margin: 0 auto; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.application-brand-area { min-width: 0; display: flex; align-items: center; gap: 18px; }
.application-brand { min-width: 0; display: flex; align-items: center; gap: 14px; color: var(--navy); text-decoration: none; }
.application-brand img { display: block; width: 158px; height: 46px; object-fit: contain; }
.application-brand > span { display: grid; line-height: 1.05; text-transform: uppercase; }
.application-brand strong { font-size: .82rem; }
.application-brand small { margin-top: 4px; color: var(--green); font-size: .66rem; font-weight: 850; }
.topbar-module-name { min-width: 0; padding-left: 18px; color: #526679; border-left: 1px solid var(--line); font-size: .84rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar-menu-button { display: none; width: 40px; height: 40px; place-items: center; padding: 0; color: var(--navy); background: #fff; border: 1px solid var(--line); border-radius: 5px; cursor: pointer; }
.topbar-menu-button svg { width: 21px; height: 21px; }

.user-menu { position: relative; flex: 0 0 auto; }
.user-menu summary { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 5px 8px; border: 1px solid transparent; border-radius: 6px; cursor: pointer; list-style: none; }
.user-menu summary::-webkit-details-marker { display: none; }
.user-menu summary:hover, .user-menu[open] summary { background: #f5f8fa; border-color: var(--line); }
.user-avatar { display: grid; width: 34px; height: 34px; place-items: center; color: #fff; background: var(--navy); border-radius: 50%; font-size: .72rem; font-weight: 900; }
.user-menu-copy { display: grid; max-width: 210px; line-height: 1.15; }
.user-menu-copy strong { overflow: hidden; color: var(--navy); font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.user-menu-copy small { margin-top: 4px; color: var(--muted); font-size: .7rem; }
.user-menu summary > svg { width: 17px; height: 17px; color: #6a7d8e; }
.user-menu-panel { position: absolute; top: calc(100% + 8px); right: 0; width: 250px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 18px 38px rgba(8,35,63,.13); }
.user-menu-identity { display: none; padding: 10px 12px 12px; border-bottom: 1px solid var(--line); }
.user-menu-identity strong, .user-menu-identity span { display: block; }
.user-menu-identity strong { color: var(--navy); }
.user-menu-identity span { margin-top: 3px; color: var(--muted); font-size: .75rem; }
.user-menu-panel a, .user-menu-panel button { width: 100%; min-height: 40px; display: flex; align-items: center; gap: 10px; padding: 9px 10px; color: var(--ink); background: transparent; border: 0; border-radius: 4px; text-align: left; text-decoration: none; font-size: .84rem; font-weight: 700; cursor: pointer; }
.user-menu-panel a:hover, .user-menu-panel button:hover { color: var(--navy); background: var(--blue-soft); }
.user-menu-panel svg { width: 18px; height: 18px; flex: 0 0 auto; }
.user-menu-panel form { margin: 4px 0 0; padding-top: 4px; border-top: 1px solid var(--line); }

.app-shell.app-shell-wide { min-height: calc(100vh - 68px); display: grid; grid-template-columns: minmax(0, 1fr); }
.app-shell.has-context-sidebar { min-height: calc(100vh - 68px); display: grid; grid-template-columns: 238px minmax(0, 1fr); }
.app-shell .app-main { min-width: 0; }
.app-content { width: min(1500px, 100%); margin: 0 auto; padding: 28px 36px 48px; }
.launcher-content { padding-top: 28px; }

.context-sidebar { position: sticky; top: 68px; height: calc(100vh - 68px); overflow-y: auto; padding: 20px 14px; color: #dce8ef; background: var(--navy); z-index: 45; }
.context-back { display: flex; align-items: center; gap: 9px; min-height: 38px; padding: 8px 10px; color: #c2d4de; text-decoration: none; font-size: .78rem; font-weight: 750; }
.context-back:hover { color: #fff; }
.context-back svg { width: 17px; height: 17px; }
.context-module-title { display: flex; align-items: center; gap: 11px; margin: 14px 0 18px; padding: 13px 10px 17px; border-bottom: 1px solid rgba(255,255,255,.14); }
.context-module-title > span { display: grid; width: 36px; height: 36px; place-items: center; color: #fff; background: rgba(255,255,255,.11); border-radius: 5px; }
.context-module-title svg { width: 21px; height: 21px; }
.context-module-title div { min-width: 0; display: grid; }
.context-module-title small { color: #92afbf; font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.context-module-title strong { overflow: hidden; margin-top: 3px; color: #fff; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.context-navigation { display: grid; gap: 3px; }
.context-link { min-height: 39px; display: flex; align-items: center; padding: 8px 11px; color: #d7e4eb; border-left: 3px solid transparent; border-radius: 0 4px 4px 0; text-decoration: none; font-size: .82rem; font-weight: 700; }
.context-link:hover { color: #fff; background: rgba(255,255,255,.08); }
.context-link.is-active { color: #fff; background: rgba(255,255,255,.11); border-left-color: #65aa78; }
.context-link.is-disabled { color: #7893a3; cursor: not-allowed; }
.sidebar-backdrop { display: none; }

.app-breadcrumb { min-width: 0; display: flex; align-items: center; gap: 8px; margin: 0 0 22px; color: #708292; font-size: .78rem; }
.app-breadcrumb a { color: #405a6f; font-weight: 750; text-decoration: none; }
.app-breadcrumb a:hover { color: var(--green); }
.app-breadcrumb svg { width: 14px; height: 14px; flex: 0 0 auto; }
.app-breadcrumb span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.launcher-heading { margin-bottom: 20px; }
.launcher-kicker { margin: 0 0 7px; color: var(--green); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.launcher-heading h1 { margin: 0; color: var(--navy); font-size: 2rem; line-height: 1.15; }
.launcher-heading > p:not(.launcher-kicker) { margin: 8px 0 0; color: #3f5568; font-size: 1rem; }
.launcher-heading > span { display: block; margin-top: 3px; color: var(--muted); font-size: .86rem; }
.launcher-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.launcher-card { min-width: 0; min-height: 205px; display: grid; grid-template-rows: auto auto 1fr auto; align-content: start; padding: 16px; color: var(--ink); background: #fff; border: 1px solid #dbe4e9; border-radius: 7px; box-shadow: 0 4px 14px rgba(8,35,63,.035); text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.launcher-card:hover { border-color: #8aa99a; box-shadow: 0 10px 24px rgba(8,35,63,.085); transform: translateY(-2px); }
.launcher-card:focus-visible { outline: 3px solid rgba(47,125,75,.28); outline-offset: 2px; border-color: var(--green); }
.launcher-card-icon { display: grid; width: 40px; height: 40px; place-items: center; color: var(--navy); background: #edf3f6; border-radius: 6px; }
.launcher-card-icon svg { width: 24px; height: 24px; }
.launcher-card-copy { min-width: 0; display: grid; margin-top: 12px; }
.launcher-card-copy strong { color: var(--navy); font-size: 1rem; text-transform: uppercase; }
.launcher-card-copy > span { min-height: 36px; margin-top: 5px; color: #536779; font-size: .81rem; line-height: 1.4; }
.launcher-card-functions { align-self: end; margin-top: 10px; color: #718291; font-size: .7rem; line-height: 1.35; }
.launcher-card-action { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 11px; padding-top: 9px; color: var(--green); border-top: 1px solid #e7edf0; font-size: .77rem; font-weight: 850; }
.launcher-card-action svg { width: 17px; height: 17px; transition: transform .18s ease; }
.launcher-card:hover .launcher-card-action svg { transform: translateX(3px); }

.module-overview { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; padding: 21px 24px; background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.module-overview-icon { display: grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; color: #fff; background: var(--navy); border-radius: 6px; }
.module-overview-icon svg { width: 26px; height: 26px; }
.module-overview h1 { margin: 2px 0 3px; color: var(--navy); font-size: 1.65rem; }
.module-overview p { margin: 0; color: var(--muted); }
.module-tools { background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.module-tools-header { padding: 18px 22px; border-bottom: 1px solid var(--line); }
.module-tools-header h2 { margin: 0; color: var(--navy); font-size: 1.08rem; }
.module-tools-header p { margin: 3px 0 0; color: var(--muted); font-size: .82rem; }
.module-tools-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 18px; }
.module-tool-card { min-width: 0; min-height: 118px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px; color: var(--ink); background: #fff; border: 1px solid #dde6eb; border-radius: 6px; text-decoration: none; transition: border-color .16s ease, background .16s ease; }
.module-tool-card:hover { background: #f8fbf9; border-color: #86aa96; }
.module-tool-card:focus-visible { outline: 3px solid rgba(47,125,75,.25); outline-offset: 2px; }
.module-tool-card > span { min-width: 0; display: grid; }
.module-tool-card strong { color: var(--navy); font-size: .92rem; }
.module-tool-card small { margin-top: 5px; color: var(--muted); font-size: .77rem; line-height: 1.4; }
.module-tool-card > svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--green); }
.module-tool-card em { width: fit-content; margin-top: 8px; padding: 3px 6px; color: #738493; background: #edf1f3; border-radius: 3px; font-size: .65rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.module-tool-card.is-disabled { color: #7c8b96; background: #f7f9fa; border-style: dashed; }
.module-tool-card.is-disabled strong { color: #617280; }

.compact-heading { margin-bottom: 20px; }
.compact-heading h1 { margin: 2px 0 3px; color: var(--navy); font-size: 1.8rem; }
.profile-workspace { width: min(880px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.profile-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.profile-avatar { display: grid; width: 46px; height: 46px; place-items: center; color: #fff; background: var(--navy); border-radius: 50%; }
.profile-avatar svg { width: 24px; height: 24px; }
.profile-summary h2 { margin: 0; color: var(--navy); font-size: 1.1rem; }
.profile-summary p { margin: 3px 0 0; color: var(--muted); font-size: .84rem; }
.profile-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.profile-details div { min-width: 0; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.profile-details div:nth-child(odd) { border-right: 1px solid var(--line); }
.profile-details dt { color: var(--muted); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.profile-details dd { margin: 4px 0 0; color: var(--navy); font-weight: 750; overflow-wrap: anywhere; }
.profile-actions { display: flex; justify-content: flex-end; padding: 16px 24px; }
.profile-actions .button { display: inline-flex; align-items: center; gap: 8px; }
.profile-actions svg { width: 18px; height: 18px; }

/* Expediente maestro de clientes */
.page-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:20px; padding:24px 26px; background:var(--surface); border:1px solid var(--line); border-radius:7px; }
.page-title { margin:3px 0 4px; color:var(--navy); font-size:clamp(1.55rem,2.4vw,2.15rem); line-height:1.15; }
.page-description { max-width:760px; margin:0; color:var(--muted); line-height:1.5; }
.page-actions,.action-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.section-card { min-width:0; margin-bottom:16px; background:#fff; border:1px solid var(--line); border-radius:7px; box-shadow:0 3px 12px rgba(8,35,63,.025); }
.section-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 22px; border-bottom:1px solid var(--line); }
.section-card-header h2 { margin:0; color:var(--navy); font-size:1.04rem; }
.section-card-header p { margin:4px 0 0; color:var(--muted); font-size:.82rem; }
.section-card-body { padding:20px 22px; }
.form-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.form-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.form-span-2 { grid-column:span 2; }
.form-span-3 { grid-column:span 3; }
.form-span-full { grid-column:1 / -1; }
.form-field { min-width:0; display:grid; align-content:start; gap:7px; color:var(--navy); font-size:.79rem; font-weight:800; }
.form-field > span small { color:var(--muted); font-size:.68rem; font-weight:600; }
.form-field input,.form-field select,.form-field textarea { width:100%; min-height:46px; padding:10px 12px; color:var(--ink); background:#fff; border:1px solid #cbd8e0; border-radius:5px; font:inherit; font-weight:500; }
.form-field select,.field select,.filter-bar select { min-height:50px; padding:11px 42px 11px 14px; font-size:.94rem; line-height:1.4; }
.form-field select option,.field select option,.filter-bar select option { color:var(--ink); font-size:.94rem; line-height:1.45; }
.form-field textarea { min-height:92px; resize:vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:0; border-color:var(--green); box-shadow:0 0 0 3px rgba(47,125,75,.13); }
.form-field input[readonly],.form-field textarea[readonly] { color:#526575; background:#f3f6f8; }
.field-label-title { display:flex; align-items:center; gap:7px; min-width:0; }
.field-help-control { position:relative; display:inline-grid; flex:0 0 auto; place-items:center; }
.field-help-trigger { width:19px; height:19px; display:grid; place-items:center; color:#fff; background:var(--navy); border:1px solid var(--navy); border-radius:50%; font-family:Arial,sans-serif; font-size:.7rem; font-weight:800; line-height:1; cursor:help; user-select:none; }
.field-help-trigger:hover,.field-help-trigger:focus-visible { color:var(--navy); background:#fff; outline:2px solid rgba(47,125,75,.24); outline-offset:2px; }
.field-help-tooltip { position:absolute; z-index:80; left:50%; bottom:calc(100% + 10px); width:min(300px,calc(100vw - 34px)); display:none; grid-template-columns:1fr; gap:4px; padding:13px 14px; color:#fff; background:var(--navy); border-radius:5px; box-shadow:0 12px 28px rgba(5,30,52,.24); font-size:.76rem; font-weight:500; line-height:1.42; transform:translateX(-50%); }
.field-help-tooltip::after { content:""; position:absolute; top:100%; left:50%; border:7px solid transparent; border-top-color:var(--navy); transform:translateX(-50%); }
.field-help-tooltip strong { margin-top:4px; color:#9ed9b0; font-size:.69rem; text-transform:uppercase; }
.field-help-control:hover .field-help-tooltip,.field-help-control:focus-within .field-help-tooltip,.field-help-control.is-open .field-help-tooltip { display:grid; }
.state-dialog { width:min(540px,calc(100vw - 28px)); padding:0; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:7px; box-shadow:0 24px 70px rgba(5,30,52,.28); }
.state-dialog::backdrop { background:rgba(5,30,52,.55); backdrop-filter:blur(2px); }
.state-dialog-form { display:grid; gap:16px; padding:22px; }
.state-dialog-form > header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.state-dialog-form h2,.state-dialog-form p { margin:0; }
.state-dialog-form p { color:var(--muted); }
.state-dialog-form footer { display:flex; justify-content:flex-end; gap:8px; padding-top:4px; }
.dialog-close { width:34px; height:34px; display:grid; place-items:center; color:var(--muted); background:transparent; border:1px solid var(--line); border-radius:4px; font-size:1.35rem; cursor:pointer; }
.dependency-alert { display:grid; gap:4px; padding:13px 14px; color:#75480b; background:#fff6e8; border:1px solid #f2d4a5; border-radius:5px; }
.dependency-alert span { font-size:.82rem; }
.field-message { min-height:14px; color:var(--muted); font-size:.69rem; font-weight:500; }
.autocomplete-field { position:relative; }
.autocomplete-results { position:absolute; z-index:25; top:76px; left:0; right:0; max-height:280px; overflow:auto; padding:6px; background:#fff; border:1px solid var(--line); border-radius:5px; box-shadow:0 16px 34px rgba(8,35,63,.14); }
.autocomplete-results button,.autocomplete-results span { width:100%; display:block; padding:10px 11px; color:var(--ink); background:transparent; border:0; border-radius:4px; text-align:left; font-size:.77rem; line-height:1.4; }
.autocomplete-results button { cursor:pointer; }
.autocomplete-results button:hover,.autocomplete-results button:focus { color:var(--navy); background:var(--blue-soft); outline:0; }
.sticky-form-actions { position:sticky; bottom:0; z-index:20; margin-top:18px; background:rgba(255,255,255,.97); border:1px solid var(--line); box-shadow:0 -8px 24px rgba(8,35,63,.06); }

/* Patrón maestro: formularios empresariales amplios por secciones */
.client-form-header { width:100%; max-width:1500px; margin-inline:auto; }
.client-master-form { width:100%; max-width:1500px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:18px; align-items:start; background:transparent; border:0; }
.client-master-form > .section-card { height:100%; margin:0; border-radius:8px; box-shadow:0 4px 16px rgba(8,35,63,.04); }
.client-master-form > .section-card:nth-of-type(1),
.client-master-form > .section-card:nth-of-type(2),
.client-master-form > .section-card:nth-of-type(5) { grid-column:1 / -1; }
.client-master-form > .section-card { grid-column:1 / -1; }
.client-master-form > .section-card:nth-of-type(4) .section-card-body,
.client-master-form > .section-card:nth-of-type(5) .section-card-body,
.client-master-form > .section-card:nth-of-type(6) .section-card-body { grid-template-columns:repeat(4,minmax(0,1fr)); }
.client-master-form > .form-actions { grid-column:1 / -1; width:100%; margin-top:0; }
.client-master-form .section-card-header { justify-content:flex-start; min-height:76px; padding:17px 22px; }
.client-master-form .section-card-body { padding:20px 22px 22px; }
.section-card-icon { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; color:var(--green); background:var(--green-soft); border-radius:7px; }
.section-card-icon svg { width:21px; height:21px; fill:currentColor; }
.client-master-form .form-field { font-size:.82rem; }
.client-master-form .form-field input,.client-master-form .form-field select { min-height:44px; border-radius:7px; }
.client-master-form .form-field textarea { min-height:88px; border-radius:7px; }
.catalog-stat-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.stat-card { min-width:0; padding:18px; background:#fff; border:1px solid var(--line); border-radius:6px; }
.stat-card strong { display:block; color:var(--navy); font-size:1.55rem; overflow-wrap:anywhere; }
.stat-card span { display:block; margin-top:4px; color:var(--muted); font-size:.75rem; font-weight:800; }
.client-filter-grid { display:grid; grid-template-columns:repeat(5,minmax(140px,1fr)); align-items:end; gap:12px; margin-bottom:20px; padding:20px; }
.client-filter-grid .client-filter-search { grid-column:1 / -1; }
.client-filter-grid .button { min-height: 46px; }
.client-table-wrap { scrollbar-gutter:stable; }
.clients-table { min-width:1420px; table-layout:fixed; }
.clients-table .client-col-name { width:210px; }
.clients-table .client-col-id { width:145px; }
.clients-table .client-col-city { width:150px; }
.clients-table .client-col-sector { width:135px; }
.clients-table .client-col-contact { width:270px; }
.clients-table .client-col-count { width:90px; }
.clients-table .client-col-status { width:145px; }
.clients-table .client-col-actions { width:150px; }
.clients-table td { overflow-wrap:break-word; }
.clients-table td:nth-child(6),.clients-table td:nth-child(7),.clients-table td:nth-child(8) { text-align:center; font-variant-numeric:tabular-nums; }
.clients-table th:nth-child(6),.clients-table th:nth-child(7),.clients-table th:nth-child(8) { text-align:center; }
.clients-table .status { white-space:nowrap; overflow-wrap:normal; }
.clients-table .table-actions { flex-wrap:nowrap; }
body[data-page="client-contacts"] .table-wrap,
body[data-page="client-legal-representative"] .table-wrap { scrollbar-gutter:stable; }
body[data-page="client-contacts"] .data-table { min-width:1240px; table-layout:fixed; }
body[data-page="client-contacts"] .data-table th:nth-child(1) { width:240px; }
body[data-page="client-contacts"] .data-table th:nth-child(2) { width:150px; }
body[data-page="client-contacts"] .data-table th:nth-child(3) { width:160px; }
body[data-page="client-contacts"] .data-table th:nth-child(4) { width:275px; }
body[data-page="client-contacts"] .data-table th:nth-child(5) { width:135px; }
body[data-page="client-contacts"] .data-table th:nth-child(6) { width:100px; }
body[data-page="client-contacts"] .data-table th:nth-child(7) { width:95px; }
body[data-page="client-contacts"] .data-table th:nth-child(8) { width:105px; }
body[data-page="client-contacts"] .data-table td { overflow-wrap:break-word; }
body[data-page="client-contacts"] .data-table td:nth-child(5),
body[data-page="client-contacts"] .data-table td:nth-child(6),
body[data-page="client-contacts"] .data-table td:nth-child(7) { white-space:nowrap; }
body[data-page="client-legal-representative"] .data-table { min-width:1120px; table-layout:fixed; }
body[data-page="client-legal-representative"] .data-table th:nth-child(1) { width:300px; }
body[data-page="client-legal-representative"] .data-table th:nth-child(2) { width:210px; }
body[data-page="client-legal-representative"] .data-table th:nth-child(3) { width:280px; }
body[data-page="client-legal-representative"] .data-table th:nth-child(4),
body[data-page="client-legal-representative"] .data-table th:nth-child(5) { width:130px; }
body[data-page="client-legal-representative"] .data-table th:nth-child(6) { width:120px; }
body[data-page="client-legal-representative"] .data-table td { overflow-wrap:break-word; }
body[data-page="client-legal-representative"] .data-table td:nth-child(4),
body[data-page="client-legal-representative"] .data-table td:nth-child(5),
body[data-page="client-legal-representative"] .data-table td:nth-child(6) { white-space:nowrap; }
.document-filter-grid { display:grid; grid-template-columns:minmax(240px,2fr) repeat(4,minmax(130px,1fr)) auto auto; align-items:end; gap:12px; padding:18px 20px; }
.document-filter-grid .form-field { min-width:0; }
.document-filter-grid .button { min-height:46px; white-space:nowrap; }
.table-actions, .record-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.client-record-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 26px 28px; border: 1px solid var(--line); background: #fff; }
.client-record-header h2 { margin: 4px 0 8px; color: var(--navy); font-size: clamp(1.7rem, 3vw, 2.45rem); }
.client-record-header p { margin: 0; color: var(--muted); }
.record-actions { padding: 16px 0 20px; }
.record-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:12px; border:0; background:transparent; }
.record-metrics div { min-width:0; min-height:100px; padding:18px; background:#fff; border:1px solid var(--line); border-radius:6px; }
.record-metrics strong { display: block; color: var(--navy); font-size: clamp(1.25rem, 2vw, 1.75rem); overflow-wrap: anywhere; }
.record-metrics span { display: block; margin-top: 4px; color: var(--muted); font-size: .78rem; font-weight: 800; }
.record-section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.status-dimension-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--line); background:#fff; }
.status-dimension-grid > div { min-width:0; padding:16px; border-right:1px solid var(--line); }
.status-dimension-grid > div:last-child { border-right:0; }
.status-dimension-grid span { display:block; color:var(--muted); font-size:.76rem; font-weight:800; text-transform:uppercase; }
.status-dimension-grid strong { display:block; margin-top:6px; overflow-wrap:anywhere; }
.health-list { border-top:1px solid var(--line); }
.health-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:13px 4px; border-bottom:1px solid var(--line); }
.health-list > div > span { font-weight:700; }
.record-section { min-width: 0; border: 1px solid var(--line); background: #fff; }
.record-section header { padding: 16px 20px; border-bottom: 1px solid var(--line); }
.record-section h3 { margin: 0; color: var(--navy); font-size: 1rem; }
.record-section dl { margin: 0; padding: 8px 20px 14px; }
.record-section dl div { display: grid; grid-template-columns: minmax(120px, .75fr) minmax(0, 1.25fr); gap: 14px; padding: 9px 0; border-bottom: 1px solid #edf2f5; }
.record-section dl div:last-child { border-bottom: 0; }
.record-section dt { color: var(--muted); font-size: .76rem; font-weight: 800; }
.record-section dd { margin: 0; overflow-wrap: anywhere; }
.client-status-panel { margin-top: 20px; }
.inline-action-form { display: grid; grid-template-columns: minmax(240px, 1fr) auto; align-items: end; gap: 14px; margin-top: 16px; }
.compact-workspace-form { margin-bottom: 20px; }
.mini-form { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mini-form input, .mini-form select { min-height: 34px; width: 138px; padding: 6px 8px; border: 1px solid var(--line); }
.timeline { display: grid; gap: 0; }
.timeline-item { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.timeline-marker { width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: var(--orange); }
.timeline-item header { display: flex; justify-content: space-between; gap: 16px; }
.timeline-item p { margin: 6px 0; color: var(--muted); }
.timeline-item small, .timeline-item time { color: var(--muted); font-size: .76rem; }

@media (max-width: 1280px) {
    .launcher-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .client-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .client-filter-search { grid-column: span 2; }
    .document-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .document-filter-grid .document-filter-search { grid-column:span 2; }
    .catalog-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 960px) {
    .launcher-grid, .module-tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .application-topbar-inner { padding-inline: 24px; }
    .app-content { padding-inline: 28px; }
    .record-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .form-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .form-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .client-master-form { grid-template-columns:1fr; }
    .client-master-form > .section-card { grid-column:1; }
    .client-master-form > .section-card:nth-of-type(4) .section-card-body,
    .client-master-form > .section-card:nth-of-type(5) .section-card-body,
    .client-master-form > .section-card:nth-of-type(6) .section-card-body { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 860px) {
    .app-shell.has-context-sidebar { grid-template-columns: minmax(0, 1fr); }
    .context-sidebar { position: fixed; top: 68px; left: 0; width: min(280px, 86vw); transform: translateX(-102%); transition: transform .2s ease; box-shadow: 16px 0 32px rgba(0,0,0,.18); }
    .context-sidebar.is-open { transform: translateX(0); }
    .topbar-menu-button { display: grid; }
    .sidebar-backdrop { position: fixed; inset: 68px 0 0; z-index: 40; background: rgba(5,24,42,.42); border: 0; }
    .context-sidebar.is-open + .sidebar-backdrop { display: block; }
}

@media (max-width: 640px) {
    .application-topbar { height: 62px; }
    .application-topbar-inner { padding-inline: 14px; gap: 10px; }
    .application-brand-area { gap: 9px; }
    .application-brand { gap: 8px; }
    .application-brand img { width: 112px; height: 38px; }
    .application-brand > span, .topbar-module-name, .user-menu-copy { display: none; }
    .user-menu-identity { display: block; }
    .user-menu summary { padding: 3px; }
    .user-menu summary > svg { display: none; }
    .user-menu-panel { position: fixed; top: 58px; right: 12px; width: min(270px, calc(100vw - 24px)); }
    .app-shell.app-shell-wide, .app-shell.has-context-sidebar { min-height: calc(100vh - 62px); }
    .context-sidebar { top: 62px; height: calc(100vh - 62px); }
    .sidebar-backdrop { inset: 62px 0 0; }
    .app-content { padding: 22px 14px 36px; }
    .launcher-content { padding-top: 26px; }
    .launcher-heading { margin-bottom: 22px; }
    .launcher-heading h1 { font-size: 1.6rem; }
    .launcher-grid, .module-tools-grid { grid-template-columns: 1fr; }
    .launcher-card { min-height: 0; padding: 18px; }
    .launcher-card-copy > span { min-height: 0; }
    .module-overview { align-items: flex-start; padding: 18px; }
    .module-overview h1 { font-size: 1.4rem; }
    .module-tools-grid { padding: 12px; }
    .module-tool-card { min-height: 104px; }
    .profile-summary { grid-template-columns: auto minmax(0, 1fr); padding: 18px; }
    .profile-summary .status { grid-column: 2; width: fit-content; }
    .profile-details { grid-template-columns: 1fr; }
    .profile-details div:nth-child(odd) { border-right: 0; }
    .profile-details div { padding: 16px 18px; }
    .profile-actions { padding: 14px 18px; }
    .profile-actions .button { width: 100%; }
    .client-filter-grid, .document-filter-grid, .record-section-grid, .inline-action-form,.form-grid-2,.form-grid-3,.form-grid-4,.catalog-stat-grid,.status-dimension-grid { grid-template-columns: 1fr; }
    .status-dimension-grid > div { border-right:0; border-bottom:1px solid var(--line); }
    .client-master-form > .section-card:nth-of-type(4) .section-card-body,
    .client-master-form > .section-card:nth-of-type(5) .section-card-body,
    .client-master-form > .section-card:nth-of-type(6) .section-card-body { grid-template-columns:1fr; }
    .form-span-2,.form-span-3,.form-span-full { grid-column:auto; }
    .page-header { flex-direction:column; padding:19px; }
    .page-actions,.page-actions .button { width:100%; }
    .section-card-header,.section-card-body { padding-inline:18px; }
    .client-filter-search { grid-column: auto; }
    .document-filter-grid .document-filter-search { grid-column:auto; }
    .client-record-header { padding: 20px; flex-direction: column; }
    .record-actions .button { width: 100%; }
    .record-metrics { grid-template-columns: 1fr 1fr; }
    .record-section dl div { grid-template-columns: 1fr; gap: 3px; }
    .timeline-item header { flex-direction: column; gap: 3px; }
    .field-help-tooltip { position:fixed; left:14px; right:14px; bottom:18px; width:auto; transform:none; }
    .field-help-tooltip::after { display:none; }
    .state-dialog-form footer { flex-direction:column-reverse; }
    .state-dialog-form footer .button { width:100%; }
}

@media print {
    .field-help-control { display:none; }
}

/* Centros de consumo · patrón operativo reutilizable */
.center-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.center-stat-grid .stat-card { min-width:0; padding:17px 18px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.center-stat-grid .stat-card strong { display:block; color:var(--navy); font-size:1.45rem; }
.center-stat-grid .stat-card span { display:block; margin-top:4px; color:var(--muted); font-size:.78rem; font-weight:800; }
.center-filter-panel { padding:18px 20px; }
.center-filter-grid { display:grid; grid-template-columns:minmax(260px,2fr) repeat(3,minmax(145px,1fr)); gap:12px; align-items:end; }
.center-filter-search { grid-column:span 2; }
.filter-actions { display:flex; gap:8px; align-items:end; flex-wrap:wrap; }
.center-master-form { width:100%; max-width:1500px; margin-inline:auto; background:transparent; border:0; }
.workflow-actions-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.workflow-action-card { display:flex; flex-direction:column; min-height:138px; gap:7px; padding:18px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--navy); text-decoration:none; transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease; }
.workflow-action-card:hover,.workflow-action-card:focus-visible { border-color:var(--green); transform:translateY(-1px); box-shadow:0 8px 18px rgba(8,35,63,.08); }
.workflow-action-card strong { font-size:.98rem; }
.workflow-action-card span { color:var(--muted); font-size:.83rem; line-height:1.45; }
.process-callout { padding:18px 20px; border:1px solid #cfe3d5; border-left:4px solid var(--green); border-radius:8px; background:#f8fcf9; }
.process-callout h3 { margin:0 0 6px; color:var(--navy); }
.process-callout p { margin:0; color:var(--muted); }
.gate-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.gate-rule-grid { display:grid; gap:8px; margin-top:12px; }
.gate-rule { display:grid; grid-template-columns:minmax(160px,.55fr) auto minmax(0,1fr); gap:12px; align-items:center; padding:11px 12px; border-bottom:1px solid #edf2f5; }
.check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 14px; margin-bottom:18px; }
.check-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.check-row { display:flex; gap:9px; align-items:flex-start; font-weight:650; color:var(--navy); }
.check-row input { margin-top:3px; }
.role-selection { min-width:0; margin:0; padding:0; border:0; }
.role-selection legend { margin-bottom:12px; color:var(--navy); font-size:.88rem; font-weight:800; }
.role-selection .check-grid { grid-template-columns:repeat(2,minmax(300px,1fr)); gap:12px; margin-bottom:0; padding:16px; border:1px solid var(--line); background:#f8fafb; }
.role-selection .check-row { display:grid; grid-template-columns:22px minmax(0,1fr); gap:12px; align-items:start; min-width:0; min-height:94px; padding:14px; border:1px solid #d7e1e7; border-radius:6px; background:#fff; cursor:pointer; }
.form-field.role-selection .check-row input[type="checkbox"] { width:20px; height:20px; min-height:20px; margin:2px 0 0; padding:0; accent-color:var(--green); }
.role-selection .check-row > span,.role-selection .check-row > .field-label-title { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; align-items:start; min-width:0; }
.role-selection .check-row strong { grid-column:1; grid-row:1; display:block; color:var(--navy); font-size:.85rem; line-height:1.35; overflow-wrap:normal; word-break:normal; }
.role-selection .check-row small { grid-column:1 / -1; grid-row:2; display:block; margin:0; color:var(--muted); font-size:.76rem; font-weight:600; line-height:1.45; overflow-wrap:normal; word-break:normal; }
.role-selection .check-row .field-help-control { grid-column:2; grid-row:1; align-self:start; }
.role-selection .check-row:has(input:checked) { border-color:var(--green); background:#f4fbf6; box-shadow:0 0 0 2px rgba(47,125,75,.1); }
@media(max-width:900px){.role-selection .check-grid{grid-template-columns:1fr}.role-selection .check-row{min-height:0}}
@media(max-width:520px){.role-selection .check-grid{padding:10px}.role-selection .check-row{padding:12px}.form-field select,.field select,.filter-bar select{font-size:.9rem}}
.logistics-second-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.evidence-card { min-width:0; padding:18px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.evidence-card-icon { display:grid; place-items:center; width:38px; height:38px; margin-bottom:10px; border-radius:8px; background:#eef7f1; color:var(--green); font-weight:900; }
.evidence-card h3 { margin:0 0 6px; color:var(--navy); font-size:.98rem; }
.evidence-card p,.evidence-card small { color:var(--muted); }
.card-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.danger-zone { margin-top:20px; border-color:#efc8c8; background:#fffafa; }
.inline-details summary { cursor:pointer; color:var(--navy); font-weight:750; }
.compact-action-form { display:grid; gap:8px; min-width:230px; padding:10px 0; }
.compact-action-form input { min-height:38px; padding:8px 10px; border:1px solid var(--line); border-radius:6px; }
.button-small { min-height:34px; padding:7px 10px; font-size:.78rem; }
@media (max-width:1100px){ .center-stat-grid,.workflow-actions-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .center-filter-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .center-filter-search {grid-column:span 2;} .evidence-grid {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .center-stat-grid,.workflow-actions-grid,.center-filter-grid,.evidence-grid,.check-grid,.logistics-second-grid {grid-template-columns:1fr;} .center-filter-search {grid-column:auto;} .gate-summary {align-items:flex-start;flex-direction:column;} .gate-rule {grid-template-columns:1fr;} }

.state-action-list { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }

/* Instalador · diagnóstico y actualización controlada */
.installer-status-panel{margin:1.25rem 0;padding:1.25rem;border:1px solid #dce4ea;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(8,35,63,.06)}
.installer-status-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.installer-status-heading h2{margin:.2rem 0 .35rem}
.installer-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.installer-metrics article{padding:1rem;border:1px solid #e5ebef;border-radius:14px;background:#f8fafb;min-width:0}
.installer-metrics span{display:block;font-size:.78rem;color:#607080;margin-bottom:.35rem}
.installer-metrics strong{display:block;font-size:1rem;color:#08233f;overflow-wrap:anywhere}
.installer-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.installer-readiness{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border-radius:14px;border:1px solid #e1e8ec}
.installer-readiness>span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;font-weight:800;flex:0 0 auto}
.installer-readiness strong,.installer-readiness small{display:block}.installer-readiness small{margin-top:.25rem;color:#607080;line-height:1.4}
.installer-readiness.is-ready{background:#f4fbf7;border-color:#cce9d7}.installer-readiness.is-ready>span{background:#d9f2e2;color:#166534}
.installer-readiness.is-pending{background:#fff9ee;border-color:#f3ddad}.installer-readiness.is-pending>span{background:#ffecc3;color:#8a5700}
.installer-runtime{display:flex;flex-wrap:wrap;gap:.6rem 1rem;padding:.75rem 0;border-top:1px solid #edf1f3;border-bottom:1px solid #edf1f3;color:#536474;font-size:.84rem}
.installer-pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.installer-pending-grid>div{border:1px solid #e5ebef;border-radius:14px;padding:1rem}.installer-pending-grid h3{margin:0 0 .65rem;font-size:.98rem}
.installer-file-list{margin:0;padding-left:1.15rem;max-height:260px;overflow:auto}.installer-file-list li{padding:.18rem 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;color:#334b60}
.installer-applied{margin-top:1rem;padding-top:1rem;border-top:1px solid #edf1f3}.installer-applied h3{margin:0 0 .65rem;font-size:.95rem}.installer-chip{display:inline-block;margin:.18rem .3rem .18rem 0;padding:.35rem .55rem;border-radius:999px;background:#eef7f1;color:#23633d;font-size:.78rem}
.installer-current{margin-top:1rem}.installer-page button[disabled]{opacity:.55;cursor:not-allowed}
@media (max-width:900px){.installer-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.installer-readiness-grid,.installer-pending-grid{grid-template-columns:1fr}}
@media (max-width:560px){.installer-status-heading{flex-direction:column}.installer-metrics{grid-template-columns:1fr}.installer-status-panel{padding:1rem}}

/* Refinamiento visual transversal · 2026-08-26 */
.form-field [title] { text-decoration:none; }
.field-hint { display:block; margin-top:2px; color:var(--muted); font-size:.7rem; font-weight:550; line-height:1.35; }

/* Centros: cabecera compacta con información útil en lugar de espacio vacío */
.center-page-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr); gap:28px; align-items:stretch; margin-bottom:20px; padding:28px 30px; background:linear-gradient(135deg,#ffffff 0%,#f7faf8 100%); border:1px solid var(--line); border-radius:12px; box-shadow:0 8px 28px rgba(8,35,63,.045); }
.center-page-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; }
.center-page-copy h1 { margin:6px 0 10px; color:var(--navy); font-size:clamp(1.9rem,3vw,2.65rem); line-height:1.05; }
.center-page-copy > p:not(.eyebrow) { max-width:720px; margin:0; color:var(--muted); font-size:1rem; line-height:1.55; }
.center-hero-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:22px; }
.center-hero-note { color:var(--muted); font-size:.78rem; font-weight:650; }
.center-hero-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.center-hero-stats > div { min-width:0; display:flex; flex-direction:column; justify-content:center; min-height:96px; padding:16px 18px; background:#fff; border:1px solid #dce7e1; border-radius:9px; }
.center-hero-stats span { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.center-hero-stats strong { margin-top:5px; color:var(--navy); font-size:1.65rem; line-height:1; }

.center-filter-panel { padding:0; overflow:hidden; }
.center-filter-panel::before { content:"Filtros de búsqueda"; display:block; padding:14px 20px; color:var(--navy); background:#f8fafb; border-bottom:1px solid var(--line); font-size:.82rem; font-weight:850; }
.center-filter-grid { padding:18px 20px 20px; }
.center-filter-grid .filter-actions { display:flex; gap:8px; align-items:end; }

/* Guardado progresivo y código controlado */
.draft-notice { display:flex; align-items:center; gap:12px; padding:14px 16px; color:#174f2d; background:#eef8f1; border:1px solid #cfe6d6; border-radius:9px; }
.draft-notice-icon { flex:0 0 32px; width:32px; height:32px; display:grid; place-items:center; color:#fff; background:var(--green); border-radius:50%; font-weight:900; }
.draft-notice > div:last-child { display:grid; gap:2px; }
.draft-notice strong { color:var(--navy); font-size:.82rem; }
.draft-notice span { color:#4b6656; font-size:.75rem; }
.system-code-field { min-width:0; display:grid; align-content:start; gap:7px; }
.system-code-field > span { color:var(--navy); font-size:.79rem; font-weight:800; }
.system-code-field strong { min-height:46px; display:flex; align-items:center; padding:10px 12px; color:var(--navy); background:#f3f7f5; border:1px dashed #b8cec0; border-radius:7px; font-size:.83rem; }
.system-code-field small { color:var(--muted); font-size:.68rem; }
.form-save-copy { margin-right:auto; display:grid; gap:2px; }
.form-save-copy strong { color:var(--navy); font-size:.78rem; }
.form-save-copy span { color:var(--muted); font-size:.7rem; }

/* Actividad económica: herencia explícita y excepción controlada */
.activity-source-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.choice-card { position:relative; display:flex; align-items:flex-start; gap:10px; padding:15px 16px; background:#fff; border:1px solid var(--line); border-radius:8px; cursor:pointer; }
.choice-card:has(input:checked) { background:#f1f8f3; border-color:#9fc8aa; box-shadow:0 0 0 2px rgba(47,125,75,.08); }
.choice-card input { width:17px; height:17px; margin-top:2px; accent-color:var(--green); }
.choice-card > span { display:grid; gap:3px; }
.choice-card strong { color:var(--navy); font-size:.8rem; }
.choice-card small { color:var(--muted); font-size:.7rem; line-height:1.35; }
.activity-inherited { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 18px; align-items:center; padding:15px 17px; background:linear-gradient(90deg,#08233f 0,#103b5c 100%); border-radius:8px; }
.activity-inherited .activity-kicker { grid-column:1/-1; color:#a9d9b7; font-size:.65rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.activity-inherited strong { min-width:0; color:#fff; font-size:.82rem; overflow-wrap:anywhere; }
.activity-inherited small { color:#d8e3eb; font-size:.7rem; white-space:nowrap; }
.activity-inherited b { color:#fff; }
.activity-specific-fields { margin-top:16px; }
.activity-specific-fields[hidden] { display:none !important; }

/* Días y horario estructurados */
.day-selector { display:grid; grid-template-columns:repeat(7,minmax(48px,1fr)); gap:7px; }
.day-selector label { position:relative; }
.day-selector input { position:absolute; opacity:0; pointer-events:none; }
.day-selector span { min-height:42px; display:grid; place-items:center; color:#526575; background:#fff; border:1px solid #cbd8e0; border-radius:7px; font-size:.72rem; font-weight:800; cursor:pointer; transition:.15s ease; }
.day-selector input:checked + span { color:#fff; background:var(--green); border-color:var(--green); box-shadow:0 4px 12px rgba(47,125,75,.16); }
.day-selector input:focus-visible + span { outline:3px solid rgba(47,125,75,.18); outline-offset:2px; }
.schedule-selector { display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.schedule-selector > label:not(.schedule-24) { display:grid; gap:5px; min-width:150px; }
.schedule-selector small { color:var(--muted); font-size:.68rem; font-weight:750; }
.schedule-selector input[type=time] { min-height:44px; padding:8px 10px; color:var(--ink); background:#fff; border:1px solid #cbd8e0; border-radius:7px; font:inherit; }
.schedule-separator { padding-bottom:12px; color:var(--muted); font-size:.75rem; font-weight:800; }
.schedule-24 { min-height:44px; display:flex; align-items:center; gap:8px; margin-left:8px; padding:0 12px; color:var(--navy); background:#f5f8f6; border:1px solid var(--line); border-radius:7px; font-size:.73rem; font-weight:800; }
.schedule-24 input { accent-color:var(--green); }

/* Expediente: panel de salud integrado con identidad Regional */
.record-health-panel { margin:18px 0; overflow:hidden; background:#fff; border:1px solid #d8e3e8; border-radius:11px; box-shadow:0 7px 24px rgba(8,35,63,.04); }
.record-health-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 24px 18px; background:linear-gradient(135deg,#fff 0%,#f7faf8 100%); }
.record-health-header h2 { margin:3px 0 4px; color:var(--navy); font-size:1.25rem; }
.record-health-header p:not(.eyebrow) { margin:0; color:var(--muted); font-size:.78rem; }
.record-health-score { flex:0 0 auto; display:grid; justify-items:end; gap:2px; }
.record-health-score strong { color:var(--green); font-size:1.65rem; line-height:1; }
.record-health-score span { color:var(--muted); font-size:.68rem; font-weight:700; }
.record-progress { height:5px; background:#e8efeb; }
.record-progress > span { display:block; height:100%; background:linear-gradient(90deg,var(--green),#59a870); border-radius:0 4px 4px 0; }
.record-health-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.record-health-item { min-width:0; display:flex; align-items:center; gap:10px; padding:16px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.record-health-item:nth-child(4n) { border-right:0; }
.record-health-dot { flex:0 0 10px; width:10px; height:10px; border-radius:50%; background:#a7b3bc; box-shadow:0 0 0 4px #f0f3f5; }
.record-health-item > div { min-width:0; display:grid; gap:3px; }
.record-health-item strong { color:var(--navy); font-size:.76rem; overflow-wrap:anywhere; }
.record-health-item small { color:var(--muted); font-size:.68rem; font-weight:700; }
.record-health-item.is-success .record-health-dot { background:var(--green); box-shadow:0 0 0 4px #e8f5ec; }
.record-health-item.is-warning .record-health-dot { background:#d99a1d; box-shadow:0 0 0 4px #fff3d8; }
.record-health-item.is-danger .record-health-dot { background:#bb2f2f; box-shadow:0 0 0 4px #fdeaea; }
.record-readiness-panel .record-health-header { background:linear-gradient(135deg,#fff 0%,#f3f7fa 100%); }

/* Estado del cliente: acción administrativa integrada, sin caja incrustada */
.client-state-control { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(520px,1.2fr); gap:30px; align-items:end; margin:30px 0 8px; padding:24px 4px 4px; border-top:2px solid #dbe5e9; }
.client-state-copy h2 { margin:4px 0 6px; color:var(--navy); font-size:1.15rem; }
.client-state-copy p:not(.eyebrow) { margin:0; color:var(--muted); font-size:.76rem; line-height:1.45; }
.client-state-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
.client-state-form .button { min-height:46px; white-space:nowrap; }

@media (max-width:1100px) {
    .center-page-hero { grid-template-columns:1fr; }
    .center-hero-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .record-health-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .record-health-item:nth-child(4n) { border-right:1px solid var(--line); }
    .record-health-item:nth-child(2n) { border-right:0; }
    .client-state-control { grid-template-columns:1fr; gap:18px; }
}
@media (max-width:720px) {
    .center-page-hero { padding:22px 18px; border-radius:9px; }
    .center-hero-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .center-hero-actions { align-items:stretch; flex-direction:column; }
    .center-hero-actions .button { width:100%; }
    .activity-source-switch { grid-template-columns:1fr; }
    .activity-inherited { grid-template-columns:1fr; }
    .activity-inherited small { white-space:normal; }
    .day-selector { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .record-health-header { align-items:flex-start; flex-direction:column; gap:12px; }
    .record-health-score { justify-items:start; }
    .record-health-grid { grid-template-columns:1fr; }
    .record-health-item,.record-health-item:nth-child(2n),.record-health-item:nth-child(4n) { border-right:0; }
    .client-state-form { grid-template-columns:1fr; }
    .client-state-form .button { width:100%; }
    .form-save-copy { width:100%; margin-bottom:6px; }
}

/* Refinamiento visual de filtros, acciones, historial y horario */
.client-filter-grid,
.center-filter-grid {
    align-items:end;
}
.client-filter-actions,
.center-filter-actions {
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding-top:4px;
}
.client-filter-actions .button,
.center-filter-actions .button {
    min-width:132px;
}
.center-filter-grid .filter-actions { align-items:center; }

.record-actions-toolbar {
    padding:14px 0 20px;
    border-bottom:1px solid var(--line);
}
.record-actions-toolbar .button {
    min-height:42px;
}
.record-actions-toolbar .record-create-action {
    margin-left:auto;
}

.schedule-24 {
    min-height:38px;
    margin-left:2px;
    padding:6px 10px;
    gap:7px;
    border-radius:999px;
    font-size:.7rem;
    line-height:1.1;
    background:#f3f8f4;
}
.schedule-24 input[type="checkbox"] {
    flex:0 0 16px;
    width:16px;
    height:16px;
    margin:0;
    padding:0;
    accent-color:var(--green);
}
.schedule-24 span { white-space:nowrap; }

.history-page-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:18px;
    padding:26px 28px;
    background:linear-gradient(135deg,#ffffff 0%,#f4f9f6 100%);
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:0 8px 28px rgba(8,35,63,.045);
}
.history-page-hero h1 {
    margin:5px 0 8px;
    color:var(--navy);
    font-size:clamp(1.9rem,3vw,2.55rem);
    line-height:1.08;
}
.history-page-hero > div:first-child > p:last-child {
    max-width:760px;
    margin:0;
    color:var(--muted);
    font-size:.94rem;
}
.history-page-actions {
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:12px;
}
.history-count {
    min-width:112px;
    display:grid;
    justify-items:end;
    gap:2px;
}
.history-count strong {
    color:var(--green);
    font-size:1.65rem;
    line-height:1;
}
.history-count span {
    color:var(--muted);
    font-size:.68rem;
    font-weight:750;
}
.history-panel {
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:0 8px 28px rgba(8,35,63,.04);
}
.history-panel-header {
    padding:18px 22px;
    background:#f8faf9;
    border-bottom:1px solid var(--line);
}
.history-panel-header h2 {
    margin:0 0 3px;
    color:var(--navy);
    font-size:1rem;
}
.history-panel-header p {
    margin:0;
    color:var(--muted);
    font-size:.74rem;
}
.history-timeline {
    position:relative;
    padding:8px 22px 12px;
}
.history-event {
    position:relative;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:12px;
    padding:16px 0;
}
.history-event:not(:last-child)::after {
    content:"";
    position:absolute;
    left:13px;
    top:34px;
    bottom:-3px;
    width:1px;
    background:#dfe8e3;
}
.history-event-marker {
    position:relative;
    z-index:1;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    background:#edf7f0;
    border:1px solid #cce4d3;
    border-radius:50%;
}
.history-event-marker span {
    width:8px;
    height:8px;
    background:var(--green);
    border-radius:50%;
}
.history-event-body {
    min-width:0;
    padding:15px 17px;
    background:#fff;
    border:1px solid #e0e8ec;
    border-radius:9px;
}
.history-event-body header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}
.history-event-body header > div {
    min-width:0;
    display:grid;
    gap:2px;
}
.history-event-body strong {
    color:var(--navy);
    font-size:.84rem;
}
.history-event-body header span,
.history-event-body time {
    color:var(--muted);
    font-size:.68rem;
}
.history-event-body p {
    margin:9px 0 11px;
    color:#4f6271;
    font-size:.78rem;
}
.history-event-body footer {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    color:var(--muted);
    font-size:.64rem;
}
.history-event-body code {
    max-width:100%;
    padding:3px 6px;
    overflow-wrap:anywhere;
    color:#45606f;
    background:#f5f8fa;
    border-radius:4px;
    font-size:.63rem;
}
.history-empty { margin:18px 0; }

@media (max-width: 960px) {
    .record-actions-toolbar .record-create-action { margin-left:0; }
    .history-page-hero { align-items:flex-start; flex-direction:column; }
    .history-page-actions { width:100%; justify-content:space-between; }
    .history-count { justify-items:start; }
}

@media (max-width: 640px) {
    .client-filter-actions,
    .center-filter-actions {
        justify-content:stretch;
    }
    .client-filter-actions .button,
    .center-filter-actions .button {
        flex:1 1 0;
        min-width:0;
    }
    .record-actions-toolbar { display:grid; grid-template-columns:1fr; }
    .record-actions-toolbar .button { width:100%; }
    .history-page-hero { padding:20px 18px; }
    .history-page-actions { align-items:stretch; flex-direction:column; }
    .history-page-actions .button { width:100%; }
    .history-timeline { padding-inline:14px; }
    .history-event { grid-template-columns:22px minmax(0,1fr); gap:9px; }
    .history-event-marker { width:22px; height:22px; }
    .history-event:not(:last-child)::after { left:10px; top:29px; }
    .history-event-body { padding:13px 14px; }
    .history-event-body header { flex-direction:column; gap:5px; }
    .schedule-selector { gap:8px; }
    .schedule-24 { width:auto; }
}

.client-filter-actions,
.center-filter-actions { flex-wrap:nowrap; }
.schedule-24 input[type="checkbox"] {
    min-width:16px !important;
    min-height:16px !important;
    max-width:16px;
    max-height:16px;
}
.client-filter-actions .button,
.center-filter-actions .button {
    white-space:nowrap;
    min-height:44px;
    padding-inline:14px;
    font-size:.84rem;
}
@media (max-width:640px) {
    .schedule-selector {
        display:grid;
        grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);
        align-items:end;
        gap:8px;
    }
    .schedule-selector > label:not(.schedule-24) { min-width:0; }
    .schedule-selector input[type=time] { width:100%; min-width:0; }
    .schedule-separator { padding-bottom:12px; text-align:center; }
    .schedule-24 { grid-column:1 / -1; justify-self:start; margin-left:0; }
}
.center-form-actions {
    position:static;
    margin-top:18px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:9px;
    box-shadow:none;
}

/* Registro progresivo de clientes */
.registration-progress-card {
    width:100%; max-width:1500px; margin:0 auto 18px; padding:18px 20px;
    display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,320px); gap:24px; align-items:center;
    border:1px solid #cfe2d7; border-radius:14px; background:linear-gradient(135deg,#f7fbf8 0%,#f2f7f5 100%);
}
.registration-progress-copy { display:grid; gap:5px; }
.registration-progress-kicker { font-size:.7rem; letter-spacing:.12em; font-weight:800; color:var(--green); }
.registration-progress-copy strong { font-size:1.05rem; color:var(--navy); }
.registration-progress-copy > span:last-child { color:#587080; font-size:.88rem; line-height:1.5; }
.registration-progress-meter { display:grid; gap:8px; }
.registration-progress-value { display:flex; align-items:baseline; justify-content:space-between; color:#657c89; font-size:.76rem; }
.registration-progress-value strong { font-size:1.2rem; color:var(--navy); }
.registration-progress-track { height:7px; overflow:hidden; border-radius:999px; background:#dfe9e4; }
.registration-progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--green),#69a978); }
.client-registration-actions { position:static; margin-top:18px; justify-content:flex-end; gap:10px; background:transparent; border:0; box-shadow:none; padding:8px 0 0; }

.drafts-strip { margin:0 0 18px; padding:18px; border:1px solid #d6e3dd; border-radius:14px; background:#f8fbf9; }
.drafts-strip-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:14px; }
.drafts-strip-head h2 { margin:2px 0 4px; font-size:1.05rem; color:var(--navy); }
.drafts-strip-head p { margin:0; color:#607785; font-size:.85rem; }
.drafts-count { min-width:34px; height:34px; display:grid; place-items:center; border-radius:999px; background:#e5f2ea; color:var(--green); font-weight:800; }
.drafts-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; }
.draft-card { display:grid; gap:7px; padding:14px 15px; text-decoration:none; background:#fff; border:1px solid #dbe5e0; border-radius:11px; transition:.16s ease; color:inherit; }
.draft-card:hover { transform:translateY(-1px); border-color:#a9cdbc; box-shadow:0 6px 18px rgba(8,35,63,.06); }
.draft-card-title { font-weight:800; color:var(--navy); }
.draft-card-meta { color:#708591; font-size:.72rem; }
.draft-card-progress { display:block; height:5px; overflow:hidden; border-radius:999px; background:#edf2ef; }
.draft-card-progress i { display:block; height:100%; background:var(--green); border-radius:inherit; }
.draft-card-foot { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#5c7280; font-size:.76rem; }
.draft-card-foot strong { color:var(--green); }

@media (max-width:760px){
    .registration-progress-card { grid-template-columns:1fr; gap:14px; padding:16px; }
    .client-registration-actions { display:grid; grid-template-columns:1fr; }
    .client-registration-actions .button { width:100%; }
    .drafts-strip-head { align-items:center; }
    .drafts-grid { grid-template-columns:1fr; }
}

/* Centro de consumo · expediente visual refinado */
.center-record-hero {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:18px;
    padding:24px 26px;
    border:1px solid var(--line);
    border-radius:10px;
    background:linear-gradient(135deg,#ffffff 0%,#f8fbfc 100%);
    box-shadow:0 8px 24px rgba(8,35,63,.045);
}
.center-record-identity { min-width:0; }
.center-record-identity h1 { margin:5px 0 8px; color:var(--navy); font-size:clamp(2rem,4vw,3rem); line-height:1.05; }
.center-record-meta { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 13px; color:var(--muted); font-size:.95rem; }
.center-record-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.center-record-actions .button { white-space:nowrap; }
.center-overview-grid { align-items:stretch; }
.center-summary-card { overflow:hidden; margin-bottom:0; border-radius:10px; box-shadow:0 7px 22px rgba(8,35,63,.045); }
.center-summary-header { min-height:118px; border-bottom:0; background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%); }
.center-summary-header h2 { margin-top:2px; font-size:1.22rem; }
.center-summary-header p:last-child { max-width:600px; margin-top:7px; line-height:1.5; }
.section-kicker { margin:0 0 2px !important; color:var(--green) !important; font-size:.68rem !important; font-weight:900 !important; letter-spacing:.08em; text-transform:uppercase; }
.center-detail-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    padding:0;
    border-top:1px solid var(--line);
}
.center-detail-item {
    min-width:0;
    min-height:92px;
    padding:18px 20px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:#fff;
}
.center-detail-item:nth-child(2n) { border-right:0; }
.center-detail-item-wide { grid-column:1 / -1; border-right:0; }
.center-detail-label { display:block; margin-bottom:7px; color:var(--muted); font-size:.72rem; font-weight:850; letter-spacing:.035em; text-transform:uppercase; }
.center-detail-value { display:block; color:var(--navy); font-size:1rem; line-height:1.35; overflow-wrap:anywhere; }
.center-detail-pending {
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:5px 10px;
    border:1px solid #ecdca8;
    border-radius:999px;
    color:#765810;
    background:var(--warning-soft);
    font-size:.76rem;
    font-weight:850;
    line-height:1.15;
}
.center-detail-map { padding:15px 20px 18px; background:#fbfcfd; }
.center-detail-map .text-link { color:var(--green); font-weight:800; text-decoration:none; }
.center-detail-map .text-link:hover { text-decoration:underline; }
.center-stat-grid .stat-card { box-shadow:0 5px 16px rgba(8,35,63,.035); }
.center-stat-grid .stat-card strong { line-height:1; }

@media (max-width: 900px) {
    .center-record-hero { align-items:flex-start; flex-direction:column; }
    .center-record-actions { width:100%; justify-content:flex-start; }
}

@media (max-width: 640px) {
    .center-record-hero { padding:20px 18px; border-radius:8px; }
    .center-record-identity h1 { font-size:1.9rem; }
    .center-record-actions { display:grid; grid-template-columns:1fr; }
    .center-record-actions .button { width:100%; }
    .center-detail-list { grid-template-columns:1fr; }
    .center-detail-item,
    .center-detail-item:nth-child(2n),
    .center-detail-item-wide { grid-column:auto; border-right:0; }
    .center-summary-header { min-height:auto; }
}


/* Refinamiento financiero y evaluación logística */
.financial-account-grid { margin-bottom: 22px; }
.financial-notes-grid textarea { min-height: 118px; }
.logistics-hero {
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); gap:28px;
  align-items:stretch; margin:0 0 26px; padding:28px 30px; border:1px solid #d8e3ea;
  border-radius:20px; background:linear-gradient(135deg,#ffffff 0%,#f7fafc 100%);
  box-shadow:0 12px 30px rgba(8,35,63,.06);
}
.logistics-hero-main { display:flex; flex-direction:column; justify-content:center; min-width:0; }
.logistics-hero h1 { margin:8px 0 10px; color:var(--navy); font-size:clamp(2rem,4vw,3rem); line-height:1.04; }
.logistics-hero-main>p:not(.eyebrow) { margin:0; max-width:760px; color:var(--muted); font-size:1.04rem; line-height:1.55; }
.logistics-hero-actions { margin-top:20px; }
.logistics-hero-summary { display:grid; grid-template-columns:1fr 1fr; gap:1px; overflow:hidden; border:1px solid #d8e3ea; border-radius:16px; background:#d8e3ea; }
.logistics-hero-summary>div { min-width:0; padding:18px; background:#fff; }
.logistics-hero-summary span { display:block; margin-bottom:5px; color:#60748a; font-size:.72rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.logistics-hero-summary strong { display:block; color:var(--navy); font-size:.94rem; line-height:1.35; overflow-wrap:anywhere; }
@media (max-width:900px){
  .logistics-hero { grid-template-columns:1fr; padding:22px; }
  .logistics-hero-summary { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .financial-account-grid,.financial-notes-grid { grid-template-columns:1fr !important; }
  .logistics-hero { padding:18px; border-radius:16px; gap:18px; }
  .logistics-hero-summary { grid-template-columns:1fr; }
  .logistics-hero-actions .button { width:100%; }
}

/* Guided document filing */
.document-upload-shell{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px;align-items:start}.document-upload-main .section-card{margin:0}.document-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-guidance-panel{position:sticky;top:18px;background:linear-gradient(160deg,#08233f 0%,#0c3d59 100%);color:#fff;border-radius:10px;padding:22px;box-shadow:0 12px 30px rgba(8,35,63,.12);min-height:100%}.document-guidance-kicker{display:block;color:#7bc694;font-weight:800;font-size:.7rem;letter-spacing:.12em;margin-bottom:8px}.document-guidance-heading h2{margin:0;font-size:1.08rem}.document-guidance-heading p{margin:8px 0 0;color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.45}.document-guidance-list{display:grid;gap:8px;margin-top:18px}.document-guidance-item{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.055)}.document-guidance-item strong{display:block;font-size:.84rem;line-height:1.25}.document-guidance-item small{display:block;margin-top:3px;color:rgba(255,255,255,.68);font-size:.72rem}.document-guidance-status{flex:0 0 8px;width:8px;height:8px;border-radius:50%;margin-top:5px;background:#9eafbd}.document-guidance-status.is-required{background:#89d29c;box-shadow:0 0 0 3px rgba(137,210,156,.12)}.document-guidance-empty{padding:16px;border:1px dashed rgba(255,255,255,.18);border-radius:8px;color:rgba(255,255,255,.68);font-size:.8rem;line-height:1.45}.document-guidance-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:.7rem;color:rgba(255,255,255,.7)}.document-guidance-legend span{display:flex;align-items:center;gap:6px}.document-dot{width:7px;height:7px;border-radius:50%;background:#9eafbd}.document-dot-required{background:#89d29c}.field-emphasis span{color:var(--green)}

.document-config-callout{background:linear-gradient(90deg,rgba(8,35,63,.035),rgba(38,128,78,.045));border:1px solid var(--line);border-radius:8px;padding:0 18px}.document-config-callout .workspace-section-header{border:0;margin:0;padding:18px 0}.document-rule-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.document-rule-summary>div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 18px}.document-rule-summary strong{display:block;color:var(--navy);font-size:1.55rem}.document-rule-summary span{display:block;margin-top:4px;color:var(--muted);font-size:.8rem}.document-rule-create .section-card-body{display:grid;grid-template-columns:1.2fr 1.2fr .45fr 1.4fr auto;gap:12px;align-items:end}.document-rule-flags{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;min-height:46px}.document-rule-flags label,.document-rule-inline-form label{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--navy);white-space:nowrap}.document-rule-groups{display:grid;gap:14px}.document-rule-category{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.document-rule-category>header{padding:15px 18px;background:#f7fafb;border-bottom:1px solid var(--line)}.document-rule-category h3{margin:2px 0 0;color:var(--navy);font-size:1rem}.document-rule-list{display:grid}.document-rule-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line)}.document-rule-row:last-child{border-bottom:0}.document-rule-row.is-inactive{opacity:.58;background:#fafbfc}.document-rule-name strong{display:block;color:var(--navy);font-size:.86rem}.document-rule-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.document-rule-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.document-rule-order{width:64px;min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:6px}.document-rule-status-form{margin:0}

@media(max-width:980px){.document-upload-shell{grid-template-columns:1fr}.document-guidance-panel{position:static;min-height:0}.document-rule-create .section-card-body{grid-template-columns:repeat(2,minmax(0,1fr))}.document-rule-row{grid-template-columns:1fr}.document-rule-inline-form{justify-content:flex-start}.document-rule-status-form{justify-self:start}}
@media(max-width:680px){.document-upload-grid{grid-template-columns:1fr}.document-upload-grid .form-span-2{grid-column:auto}.document-rule-summary{grid-template-columns:1fr}.document-rule-create .section-card-body{grid-template-columns:1fr}.document-guidance-panel{padding:18px}.document-rule-row{padding:13px 14px}.document-rule-inline-form{display:grid;grid-template-columns:1fr 1fr;align-items:center}.document-rule-inline-form .button{grid-column:1/-1}.document-rule-order{width:100%}}
@media(max-width:680px){
  .document-upload-shell{display:block!important;}
  .document-upload-main,.document-guidance-panel{width:100%!important;max-width:none!important;}
  .document-guidance-panel{position:relative!important;top:auto!important;margin-top:14px!important;min-height:0!important;}
  .client-document-form .form-actions{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .client-document-form .form-actions .button{width:100%!important;}
  .document-rule-row{display:block!important;}
  .document-rule-inline-form{margin-top:12px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .document-rule-status-form{margin-top:8px!important;}
}
.client-document-form > .form-actions,
.center-master-form[data-center-document-guidance] > .form-actions{
  position:static!important;
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:none;
}

/* Control de vencimientos documental */
.document-upload-shell-single{display:block!important}.document-upload-shell-single .document-upload-main{width:100%;max-width:none}
.document-archive-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;margin:0 0 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted)}
.document-archive-summary-copy{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.88rem}.document-archive-summary-copy strong{color:var(--navy);font-size:1rem}.document-expiry-mini-status{font-size:.78rem;font-weight:700;color:var(--green);white-space:nowrap}
.document-expiry-control{margin:0 0 18px;padding:20px;border:1px solid #d8e3eb;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);box-shadow:0 10px 28px rgba(8,35,63,.045)}
.document-expiry-control-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.document-expiry-control-header h2{margin:2px 0 4px;color:var(--navy);font-size:1.2rem}.document-expiry-control-header p{margin:0;color:var(--muted);font-size:.88rem}.document-expiry-warning{align-self:center;padding:8px 12px;border-radius:999px;background:#eef7f1;color:#17733f;font-size:.76rem;font-weight:800;white-space:nowrap}
.document-expiry-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.document-expiry-status{position:relative;display:grid;gap:4px;min-height:104px;padding:14px 15px;border:1px solid #dce5eb;border-radius:12px;background:#fff;text-decoration:none;color:inherit;overflow:hidden;transition:.16s ease}.document-expiry-status:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#9aaaba}.document-expiry-status:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(8,35,63,.06)}.document-expiry-status span{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.025em;color:#586b7a}.document-expiry-status strong{font-size:1.7rem;line-height:1;color:var(--navy)}.document-expiry-status small{color:var(--muted);font-size:.72rem;line-height:1.3}.document-expiry-status.is-current:before{background:#2d8b57}.document-expiry-status.is-expiring:before{background:#d99a11}.document-expiry-status.is-expired:before{background:#c93832}.document-expiry-status.is-no-expiry:before{background:#788b9b}
.document-expiry-attention{margin-top:14px;border-top:1px solid #e4ebef;padding-top:14px}.document-expiry-attention-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.document-expiry-attention-title strong{color:var(--navy);font-size:.9rem}.document-expiry-attention-title span{color:var(--muted);font-size:.75rem}.document-expiry-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.document-expiry-attention-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e3e9ed;border-radius:10px;background:#fff;text-decoration:none;color:inherit}.document-expiry-attention-item strong{display:block;color:var(--navy);font-size:.82rem}.document-expiry-attention-item span{display:block;margin-top:2px;color:var(--muted);font-size:.7rem}.document-expiry-attention-date{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:800}.document-expiry-attention-date.is-expiring{background:#fff5d9;color:#8a6100}.document-expiry-attention-date.is-expired{background:#fde8e7;color:#a5221d}
.expiry-inline{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}.expiry-inline-current{background:#e8f5ed;color:#176c3b}.expiry-inline-expiring{background:#fff4d6;color:#8a6100}.expiry-inline-expired{background:#fde7e6;color:#a4241f}.expiry-inline-no_expiry{background:#edf2f5;color:#5d6d78}
@media(max-width:980px){.document-expiry-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-expiry-attention-list{grid-template-columns:1fr}}
@media(max-width:680px){.document-archive-summary,.document-expiry-control-header{align-items:flex-start;flex-direction:column}.document-expiry-mini-status,.document-expiry-warning{white-space:normal}.document-expiry-control{padding:15px}.document-expiry-status-grid{grid-template-columns:1fr 1fr;gap:8px}.document-expiry-status{min-height:96px;padding:12px}.document-expiry-attention-item{align-items:flex-start;flex-direction:column}.document-expiry-attention-date{align-self:flex-start}}

/* Central document expiry control */
.page-heading-balanced{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-heading-summary{min-width:150px;padding:14px 18px;border:1px solid #dce5eb;border-radius:14px;background:#fff;text-align:right}.page-heading-summary strong{display:block;color:var(--navy);font-size:1.8rem;line-height:1}.page-heading-summary span{display:block;margin-top:5px;color:var(--muted);font-size:.76rem;font-weight:700}
.document-expiry-overview{margin:0 0 22px}.compact-filter-panel{margin-bottom:18px}.document-validity-filters{display:grid;grid-template-columns:minmax(320px,1.7fr) minmax(180px,.6fr) minmax(230px,.75fr) auto;gap:14px;align-items:end;padding:18px 20px}.form-field-grow{min-width:0}.filter-actions-inline{display:flex;gap:8px;align-items:center;white-space:nowrap}
.document-alert-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;margin-bottom:20px}.document-alert-hero-main,.document-alert-hero-split{border:1px solid #dce5eb;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(8,35,63,.04)}.document-alert-hero-main{position:relative;padding:22px 24px;overflow:hidden}.document-alert-hero-main:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--green)}.document-alert-hero-main>span{display:block;color:#587080;font-size:.78rem;font-weight:800;text-transform:uppercase}.document-alert-hero-main>strong{display:block;margin:8px 0 4px;color:var(--navy);font-size:2.3rem;line-height:1}.document-alert-hero-main p{margin:0;color:var(--muted)}.document-alert-hero-split{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.document-alert-hero-split div{padding:22px;border-right:1px solid #e1e8ed}.document-alert-hero-split div:last-child{border-right:0}.document-alert-hero-split span{display:block;color:#607282;font-size:.78rem;font-weight:800;text-transform:uppercase}.document-alert-hero-split strong{display:block;margin-top:8px;color:var(--navy);font-size:2rem}.document-alert-hero-split div:first-child strong{color:#a5221d}.document-alert-hero-split div:last-child strong{color:#8a6100}
.document-alert-list{display:grid;gap:10px}.document-alert-card{display:grid;grid-template-columns:180px minmax(0,1fr) 190px;align-items:center;gap:20px;padding:16px 18px;border:1px solid #dce5eb;border-left-width:5px;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(8,35,63,.035)}.document-alert-card.is-expired{border-left-color:#c93832}.document-alert-card.is-expiring{border-left-color:#d99a11}.document-alert-card-status span{display:block;font-size:.73rem;font-weight:800;text-transform:uppercase}.document-alert-card.is-expired .document-alert-card-status span{color:#a5221d}.document-alert-card.is-expiring .document-alert-card-status span{color:#8a6100}.document-alert-card-status strong{display:block;margin-top:4px;color:var(--navy);font-size:.92rem}.document-alert-card-body h3{margin:0;color:var(--navy);font-size:1rem}.document-alert-card-body p{margin:4px 0 10px;color:var(--muted);font-size:.79rem}.document-alert-owner{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.document-alert-owner strong{font-size:.78rem;color:var(--navy)}.document-alert-owner span{font-size:.72rem;color:var(--muted)}.document-alert-card-action{display:flex;align-items:center;justify-content:flex-end;gap:12px}.document-alert-days{font-size:.74rem;font-weight:800;color:#5f7180}.document-alert-empty{padding:34px;border:1px solid #dce5eb;border-radius:14px;background:#fff}
.dashboard-document-alerts{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin:0 0 28px;padding:22px 24px;border:1px solid #dce5eb;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#f7fbf8 100%);box-shadow:0 10px 28px rgba(8,35,63,.045)}.dashboard-document-alerts-copy h3{margin:4px 0 6px;color:var(--navy);font-size:1.15rem}.dashboard-document-alerts-copy>p:last-of-type{margin:0;color:var(--muted)}.dashboard-document-alerts-actions{display:flex;gap:8px;margin-top:14px}.dashboard-document-alerts-metrics{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dfe7ec;border-radius:13px;background:#fff;overflow:hidden}.dashboard-document-alerts-metrics div{padding:18px;border-right:1px solid #e4ebef}.dashboard-document-alerts-metrics div:last-child{border-right:0}.dashboard-document-alerts-metrics span{display:block;color:#607282;font-size:.72rem;font-weight:800;text-transform:uppercase}.dashboard-document-alerts-metrics strong{display:block;margin-top:7px;font-size:1.8rem;line-height:1}.dashboard-document-alerts-metrics .is-expired strong{color:#a5221d}.dashboard-document-alerts-metrics .is-expiring strong{color:#8a6100}
@media(max-width:1050px){.document-validity-filters{grid-template-columns:1fr 1fr}.filter-actions-inline{justify-content:flex-end}.document-alert-hero,.dashboard-document-alerts{grid-template-columns:1fr}.document-alert-card{grid-template-columns:150px minmax(0,1fr) 170px}}
@media(max-width:680px){.page-heading-balanced{align-items:flex-start;flex-direction:column}.page-heading-summary{width:100%;text-align:left}.document-validity-filters{grid-template-columns:1fr;padding:15px}.filter-actions-inline{justify-content:flex-start;flex-wrap:wrap}.document-alert-hero-split{grid-template-columns:1fr 1fr}.document-alert-card{grid-template-columns:1fr;gap:10px}.document-alert-card-action{justify-content:space-between}.dashboard-document-alerts{padding:17px}.dashboard-document-alerts-actions{flex-wrap:wrap}.dashboard-document-alerts-metrics{grid-template-columns:1fr 1fr}}
/* Shared document-control standard: compact, readable and responsive. */
.document-control-table table{table-layout:fixed;width:100%}
.document-control-table th:nth-child(1){width:22%}.document-control-table th:nth-child(2){width:22%}.document-control-table th:nth-child(3){width:13%}.document-control-table th:nth-child(4){width:14%}.document-control-table th:nth-child(5){width:14%}.document-control-table th:nth-child(6){width:15%}
.document-control-table td{vertical-align:top;overflow-wrap:anywhere}.document-control-table .cell-meta{display:block;margin-top:.3rem;color:var(--text-muted,#64748b);font-size:.78rem}
.document-upload-grid{display:grid;grid-template-columns:minmax(14rem,2fr) minmax(18rem,3fr);gap:1rem 1.25rem}.document-upload-grid .form-span-2{grid-column:1/-1}.document-upload-grid input[type=date]{max-width:15rem}
.action-menu{position:relative}.action-menu>summary{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;list-style:none;font-weight:800}.action-menu>div{position:absolute;right:0;z-index:10;width:min(22rem,80vw);padding:.8rem;background:#fff;border:1px solid #cbd5e1;box-shadow:0 12px 30px #0b29451f}.action-menu form{display:grid;gap:.5rem}.action-menu textarea{min-height:4.5rem}
.field-help-icon{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;margin-left:.3rem;border:1px solid currentColor;border-radius:50%;font-size:.7rem;cursor:help}
@media(max-width:900px){.document-upload-grid{grid-template-columns:1fr 1fr}.document-control-table table,.document-control-table tbody,.document-control-table tr,.document-control-table td{display:block}.document-control-table thead{display:none}.document-control-table tr{padding:1rem;border-bottom:1px solid #dbe4ee}.document-control-table td{padding:.35rem 0}.document-control-table td:before{content:attr(data-label);display:block;color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase}}
@media(max-width:600px){.document-upload-grid{grid-template-columns:1fr}.document-upload-grid .form-span-2{grid-column:auto}.document-upload-grid input[type=date]{max-width:none}}
.center-list-table table{table-layout:fixed;min-width:1240px}.center-list-table th:nth-child(1){width:170px}.center-list-table th:nth-child(2){width:260px}.center-list-table th:nth-child(3){width:170px}.center-list-table th:nth-child(4){width:145px}.center-list-table th:nth-child(5){width:150px}.center-list-table th:nth-child(6){width:120px}.center-list-table th:nth-child(7){width:105px}.center-list-table th:nth-child(8){width:120px}.center-list-table td{overflow-wrap:normal;word-break:normal;vertical-align:top}.center-list-table .cell-title,.center-list-table .cell-meta{word-break:normal;overflow-wrap:normal}.center-list-table .status{max-width:100%;white-space:normal;word-break:normal}.center-list-table .table-actions{align-items:stretch;flex-direction:column;min-width:0}.center-list-table .button{width:100%;max-width:none;justify-content:center;white-space:nowrap}.center-files-cell .cell-meta{margin-top:7px;font-size:.7rem}
.document-row-actions{display:grid;gap:6px;align-content:start}.document-row-actions .button{width:100%;white-space:nowrap;padding-inline:9px}

/* Risk review and document-control refinement */
.risk-table table{table-layout:fixed;width:100%}.risk-table th:nth-child(1){width:9%}.risk-table th:nth-child(2){width:14%}.risk-table th:nth-child(3){width:13%}.risk-table th:nth-child(4){width:20%}.risk-table th:nth-child(5){width:13%}.risk-table th:nth-child(6){width:16%}.risk-table th:nth-child(7){width:15%}.risk-table td{vertical-align:top;overflow-wrap:break-word}.risk-values{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:.84rem}.risk-actions{display:grid;gap:7px}.risk-actions .button{width:100%;white-space:normal}.risk-detail-summary,.risk-review-trace{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;border:1px solid var(--line);background:#fff}.risk-detail-summary>div,.risk-review-trace>div{display:grid;gap:6px;padding:18px;border-right:1px solid var(--line)}.risk-detail-summary>div:last-child,.risk-review-trace>div:last-child{border-right:0}.risk-detail-summary span,.risk-review-trace span,.risk-detail-grid span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.risk-determinants{margin-bottom:18px;padding:18px 22px;border-left:5px solid var(--danger);background:#fff4f3}.risk-determinants h2{margin:0 0 8px;font-size:1rem}.risk-determinants ul{margin:0;padding-left:20px}.risk-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.risk-detail-grid>div{display:grid;gap:6px;padding:16px;background:#fff}.risk-review-trace{grid-template-columns:1fr 1fr}.gate-summary-clean>div{display:grid;gap:4px}.gate-result{color:var(--navy);font-size:1.35rem}.document-control-table th:nth-child(2){width:25%}.document-control-table th:nth-child(4){width:16%}.document-control-table th:nth-child(5){width:15%}.document-control-table th:nth-child(6){width:10%}.document-control-table .status{max-width:100%;white-space:normal;line-height:1.15}.document-control-table td:nth-child(5){overflow-wrap:normal;word-break:normal}.document-detail-summary>div{min-width:0}.document-detail-summary small{overflow-wrap:break-word}
@media(max-width:1024px){.risk-table table,.risk-table tbody,.risk-table tr,.risk-table td{display:block}.risk-table thead{display:none}.risk-table tr{padding:14px;border-bottom:1px solid var(--line)}.risk-table td{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:7px 0}.risk-table td:before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.risk-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.risk-table td{grid-template-columns:1fr;gap:4px}.risk-values,.risk-detail-grid,.risk-detail-summary,.risk-review-trace{grid-template-columns:1fr}.risk-detail-summary>div,.risk-review-trace>div{border-right:0;border-bottom:1px solid var(--line)}.risk-actions{grid-template-columns:1fr}.document-detail-header .page-actions{width:100%}.document-detail-header .page-actions .button{width:100%}}
.row-action-menu{position:relative}.row-action-menu summary{display:grid;place-items:center;min-height:36px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--navy);font-size:1.25rem;font-weight:800;cursor:pointer;list-style:none}.row-action-menu summary::-webkit-details-marker{display:none}.row-action-menu>div{position:absolute;z-index:30;right:0;top:calc(100% + 5px);display:grid;min-width:150px;padding:6px;border:1px solid var(--line);border-radius:5px;background:#fff;box-shadow:0 12px 28px rgba(5,30,52,.18)}.row-action-menu a{padding:9px 10px;color:var(--navy);font-size:.82rem;font-weight:750;text-decoration:none}.row-action-menu a:hover{background:#f2f6f8}
.document-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.document-detail-summary>div{min-width:0;padding:17px 18px;border-right:1px solid var(--line)}.document-detail-summary>div:last-child{border-right:0}.document-detail-summary span,.document-detail-summary small{display:block;color:var(--muted);font-size:.74rem}.document-detail-summary span{font-weight:850;text-transform:uppercase}.document-detail-summary strong{display:block;margin:6px 0 4px;color:var(--navy);font-size:.95rem;overflow-wrap:break-word}.document-detail-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.document-detail-workspace .section-card{margin:0}.document-review-form,.document-version-form{display:grid;gap:14px}.form-actions-inline{display:flex;flex-wrap:wrap;gap:8px}.document-history-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.document-history-columns>div{padding:18px 20px}.document-history-columns>div+div{border-left:1px solid var(--line)}.document-history-columns h3{margin:0 0 12px;color:var(--navy)}.history-entry{padding:11px 0;border-bottom:1px solid #e6edf1}.history-entry strong,.history-entry span{display:block}.history-entry strong{color:var(--navy);font-size:.84rem}.history-entry span{margin-top:3px;color:var(--muted);font-size:.74rem}.history-entry p{margin:7px 0 0;font-size:.8rem}
@media(max-width:980px){.document-detail-summary{grid-template-columns:1fr 1fr}.document-detail-summary>div:nth-child(2){border-right:0}.document-detail-workspace{grid-template-columns:1fr}}
@media(max-width:680px){.document-detail-summary,.document-history-columns{grid-template-columns:1fr}.document-detail-summary>div{border-right:0;border-bottom:1px solid var(--line)}.document-history-columns>div+div{border-left:0;border-top:1px solid var(--line)}}
.risk-actions,.document-row-actions{min-width:0}.risk-actions .button,.document-row-actions .button{box-sizing:border-box;max-width:100%;min-width:0}
@media(max-width:640px){.risk-actions .button,.document-row-actions .button{display:flex;width:100%;justify-content:center;overflow-wrap:anywhere;white-space:normal}}
.commercial-closure-list{display:grid;gap:18px}.commercial-closure-record{overflow:hidden}.closure-gate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.closure-gate{display:grid;align-content:start;gap:5px;min-width:0;padding:15px;background:#fff}.closure-gate>span{width:max-content;padding:4px 7px;border-radius:4px;font-size:.68rem;font-weight:900}.closure-gate.is-complete>span{color:var(--success);background:var(--success-soft)}.closure-gate.is-blocked>span{color:var(--danger);background:var(--danger-soft)}.closure-gate strong{font-size:.82rem}.closure-gate small{color:var(--muted);font-size:.72rem;line-height:1.35}.closure-action-form,.closure-complete,.closure-blocked{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:18px 22px}.closure-action-form .form-field{margin:0}.closure-complete,.closure-blocked{align-items:center;background:#f8fbfa}.closure-complete>div,.closure-blocked{line-height:1.4}.closure-complete>div{display:grid;gap:3px}.closure-blocked{grid-template-columns:auto minmax(0,1fr) auto;background:var(--danger-soft)}
@media(max-width:1100px){.closure-gate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.closure-gate-grid,.closure-action-form,.closure-complete,.closure-blocked{grid-template-columns:1fr}.closure-action-form .button,.closure-complete .button,.closure-blocked .button{width:100%}}
.logistics-form>.form-actions{position:static;margin-top:18px}.logistics-form .field-help{display:block;width:auto;height:auto;margin:12px 0 0;border:0;border-radius:0;font-size:.86rem;cursor:default}
.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.policy-grid>div{padding:22px;border-right:1px solid #d8e1e8;border-bottom:1px solid #d8e1e8}.policy-grid strong{display:block;color:#082744;margin-bottom:7px}.policy-grid p{margin:0;color:#5d7084;line-height:1.5}@media(max-width:760px){.policy-grid{grid-template-columns:1fr}.policy-grid>div{border-right:0}}
.public-verification-shell{width:min(760px,calc(100% - 32px));margin:clamp(32px,8vh,96px) auto}.public-verification-card{overflow:hidden}.public-verification-card h1{font-size:clamp(1.75rem,4vw,2.5rem);margin:.35rem 0}.public-verification-card .alert{margin:0 24px 24px}.public-verification-card .detail-grid strong{overflow-wrap:anywhere}

/* Quotation record and public verification: readable hierarchy and stable wrapping. */
.quotation-record-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:20px;padding:24px 28px;border:1px solid var(--line);border-radius:8px;background:#fff}.quotation-record-identity{min-width:0}.quotation-record-hero h1{margin:8px 0 6px;color:var(--navy);font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.1}.quotation-record-context{margin:0;color:var(--text);font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.quotation-record-status{margin-top:14px}.quotation-action-toolbar{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:620px}.quotation-action-toolbar .button{min-width:112px;white-space:nowrap}.quotation-action-toolbar .quotation-primary-action{min-width:150px}.quotation-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.quotation-detail-grid>div{min-width:0;padding:20px 22px;border-right:1px solid var(--line)}.quotation-detail-grid>div:last-child{border-right:0}.quotation-detail-grid span{display:block;color:var(--muted);font-size:.75rem;font-weight:800;line-height:1.3;text-transform:uppercase}.quotation-detail-grid strong{display:block;margin-top:8px;color:var(--navy);font-size:.98rem;line-height:1.45;overflow-wrap:anywhere}.quotation-introduction{border-top:1px solid var(--line)}.quotation-introduction>strong{display:block;margin-bottom:8px;color:var(--navy);font-size:.78rem}.quotation-introduction p{margin:0;line-height:1.6}
.public-verification-shell{width:min(900px,calc(100% - 32px));margin:clamp(28px,7vh,72px) auto}.public-verification-card .section-card-header{padding:26px 32px}.public-verification-card h1{font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.12}.public-verification-card .section-card-header p:last-child{margin:8px 0 0;color:var(--muted);font-size:.92rem}.public-verification-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding:22px 32px}.public-verification-button{min-width:170px}.public-verification-message{margin:0 32px 22px!important;line-height:1.45}.public-verification-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 32px 28px}.public-verification-details>div{min-width:0;padding:17px 18px;border:1px solid var(--line);border-right:0;background:#fbfcfd}.public-verification-details>div:nth-child(3){border-right:1px solid var(--line)}.public-verification-details .public-verification-hash{grid-column:1/-1;border-top:0;border-right:1px solid var(--line)}.public-verification-details span{display:block;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.public-verification-details strong,.public-verification-details code{display:block;margin-top:7px;color:var(--navy);font-size:.94rem;line-height:1.45}.public-verification-details code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:980px){.quotation-record-hero{align-items:flex-start;flex-direction:column}.quotation-action-toolbar{justify-content:flex-start;max-width:none}.quotation-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-detail-grid>div:nth-child(2){border-right:0}.quotation-detail-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:640px){.quotation-record-hero{padding:20px 18px}.quotation-action-toolbar{display:grid;grid-template-columns:1fr 1fr;width:100%}.quotation-action-toolbar .button{min-width:0;width:100%;white-space:normal}.quotation-detail-grid{grid-template-columns:1fr}.quotation-detail-grid>div{border-right:0;border-bottom:1px solid var(--line)}.quotation-detail-grid>div:last-child{border-bottom:0}.public-verification-card .section-card-header,.public-verification-form{padding:20px}.public-verification-form{grid-template-columns:1fr}.public-verification-button{width:100%;min-width:0}.public-verification-message{margin:0 20px 20px!important}.public-verification-details{grid-template-columns:1fr;padding:0 20px 20px}.public-verification-details>div,.public-verification-details>div:nth-child(3){border-right:1px solid var(--line);border-bottom:0}.public-verification-details .public-verification-hash{grid-column:auto;border-bottom:1px solid var(--line)}}
.quotation-validation-summary{margin:18px 22px 0}.quotation-line{padding:14px;border:1px solid transparent;border-radius:6px}.quotation-line.is-invalid{border-color:#efb8b5;background:#fff8f7}.quotation-line-error{margin:0;color:var(--danger);font-size:.8rem;font-weight:750;line-height:1.4}.sticky-form-actions [data-quotation-submit]:disabled{cursor:not-allowed;opacity:.55}

/* Effective document requirements shared by client and consumption-center processes. */
.document-requirement-panel{scroll-margin-top:24px}.document-requirement-header{align-items:center}.document-requirement-header>div:first-child{min-width:0}.document-requirement-header p:last-child{max-width:860px;line-height:1.5}.document-requirement-score{flex:0 0 148px;padding:12px 15px;border:1px solid #ead8a8;border-radius:6px;background:#fff9e9;text-align:center}.document-requirement-score.is-complete{border-color:#bfe0ca;background:#eff9f2}.document-requirement-score strong{display:block;color:var(--navy);font-size:1.35rem;line-height:1.1}.document-requirement-score span{display:block;margin-top:5px;color:var(--muted);font-size:.68rem;font-weight:800}.document-requirement-process{display:grid;grid-template-columns:180px minmax(260px,.7fr) minmax(0,1fr);gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);background:#f7fafb}.document-requirement-process>span{color:var(--muted);font-size:.7rem;font-weight:850}.document-requirement-process>strong{color:var(--navy);font-size:.88rem}.document-requirement-process>small{color:var(--muted);font-size:.78rem}.document-requirement-list{display:grid}.document-requirement-row{display:grid;grid-template-columns:170px minmax(230px,.7fr) minmax(300px,1fr) 120px;gap:18px;align-items:center;min-width:0;padding:15px 20px;border-bottom:1px solid var(--line)}.document-requirement-row:last-child{border-bottom:0}.document-requirement-row.is-valid{border-left:4px solid var(--green)}.document-requirement-row:not(.is-valid){border-left:4px solid var(--danger);background:#fffdfd}.document-requirement-row>.status{max-width:160px;white-space:normal;line-height:1.25}.document-requirement-name,.document-requirement-condition{min-width:0}.document-requirement-name strong,.document-requirement-name small,.document-requirement-condition span,.document-requirement-condition small{display:block;overflow-wrap:normal;word-break:normal}.document-requirement-name strong{color:var(--navy);font-size:.86rem;line-height:1.35}.document-requirement-name small{margin-top:4px;color:var(--muted);font-size:.72rem}.document-requirement-condition{display:flex;flex-wrap:wrap;gap:5px 8px}.document-requirement-condition>span{padding:3px 6px;border:1px solid #dce5ea;border-radius:4px;color:#526879;background:#f6f8f9;font-size:.65rem;font-weight:800}.document-requirement-condition small{flex-basis:100%;margin-top:2px;color:var(--muted);font-size:.75rem;line-height:1.45}.document-requirement-row>.button{width:100%;white-space:nowrap}.document-requirement-empty{margin:18px 20px}
@media(max-width:1050px){.document-requirement-row{grid-template-columns:150px minmax(210px,.8fr) minmax(0,1fr)}.document-requirement-row>.button{grid-column:2/-1;width:auto;justify-self:start}.document-requirement-process{grid-template-columns:150px minmax(0,1fr)}.document-requirement-process>small{grid-column:2}}
@media(max-width:720px){.document-requirement-header{align-items:flex-start;flex-direction:column}.document-requirement-score{width:100%;text-align:left}.document-requirement-process,.document-requirement-row{grid-template-columns:1fr;gap:8px}.document-requirement-process>small,.document-requirement-row>.button{grid-column:auto}.document-requirement-row>.button{width:100%;justify-self:stretch}.document-requirement-row{padding:14px 16px}.document-requirement-row>.status{max-width:100%;width:max-content}.document-requirement-condition{margin-top:2px}}

/* Fuentes de cumplimiento del centro: distingue datos, evaluaciones, evidencias y archivos. */
.center-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.center-source-list>div{min-width:0;padding:18px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.center-source-list>div:nth-child(2n){border-right:0}.center-source-list>div:nth-last-child(-n+2){border-bottom:0}.center-source-list span,.center-source-list strong,.center-source-list small{display:block;word-break:normal;overflow-wrap:anywhere}.center-source-list span{color:var(--green);font-size:.68rem;font-weight:850}.center-source-list strong{margin-top:6px;color:var(--navy);font-size:.88rem;line-height:1.4}.center-source-list small{margin-top:6px;color:var(--muted);font-size:.75rem;line-height:1.45}@media(max-width:720px){.center-source-list{grid-template-columns:1fr}.center-source-list>div{border-right:0}.center-source-list>div:nth-last-child(2){border-bottom:1px solid var(--line)}}

/* Compact state when a process has no mandatory file uploads. */
.document-requirement-none{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:11px 14px;border:1px solid #cfe5d6;border-radius:6px;background:#f5fbf7}.document-requirement-none strong{color:var(--navy);font-size:.78rem;letter-spacing:0}.document-requirement-none .status{flex:0 0 auto}@media(max-width:560px){.document-requirement-none{align-items:flex-start;flex-direction:column;gap:7px}}

.coordinate-format-preview{display:grid;grid-template-columns:84px minmax(0,1fr);gap:5px 12px;margin-top:9px;padding:10px 12px;border-left:3px solid var(--green);background:#f6faf8;color:var(--navy);font-size:.78rem;line-height:1.4}.coordinate-format-preview b{color:var(--muted);font-size:.68rem}.coordinate-format-preview span{min-width:0;overflow-wrap:anywhere}@media(max-width:520px){.coordinate-format-preview{grid-template-columns:1fr;gap:3px}.coordinate-format-preview b:not(:first-child){margin-top:5px}}
.coordinate-editor{margin-top:10px}.coordinate-editor>summary{display:inline-flex;list-style:none;cursor:pointer}.coordinate-editor>summary::-webkit-details-marker{display:none}.coordinate-editor[open]>summary{margin-bottom:10px}.coordinate-editor>.form-field{padding:12px;border:1px solid var(--line);background:#fff}

/* Commercial agreements: stable reading widths and compact actions. */
.agreement-table table{table-layout:fixed;min-width:1120px}.agreement-table th:nth-child(1){width:190px}.agreement-table th:nth-child(2){width:260px}.agreement-table th:nth-child(3){width:125px}.agreement-table th:nth-child(4){width:190px}.agreement-table th:nth-child(5){width:150px}.agreement-table th:nth-child(6){width:120px}.agreement-table th:nth-child(7){width:85px}.agreement-table td{vertical-align:top;overflow-wrap:normal;word-break:normal}.agreement-table .cell-meta{display:block;margin-top:5px;line-height:1.4}.agreement-form select{min-height:52px;line-height:1.35}.agreement-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.agreement-summary>div{min-width:0}.agreement-summary strong{overflow-wrap:anywhere;word-break:normal}@media(max-width:1050px){.agreement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.agreement-summary{grid-template-columns:1fr}.agreement-form .form-actions{align-items:stretch;flex-direction:column}.agreement-form .form-actions .button{width:100%}}

/* Private error-code lookup. */
.error-lookup-heading{margin-bottom:18px}.error-lookup-search{max-width:1100px}.error-lookup-search .section-card-header{align-items:center}.error-lookup-form{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:14px;align-items:end}.error-lookup-form .button{min-height:52px}.error-lookup-result{margin-top:18px;overflow:hidden}.error-lookup-result.is-found{border-top:4px solid var(--green)}.error-lookup-result.is-missing{border-top:4px solid #d99a11}.error-lookup-metadata{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.error-lookup-metadata>div,.error-lookup-code{min-width:0;padding:18px;border-right:1px solid var(--line)}.error-lookup-metadata>div:last-child{border-right:0}.error-lookup-metadata span,.error-lookup-code span{display:block;color:var(--muted);font-size:.7rem;font-weight:850}.error-lookup-metadata strong,.error-lookup-code strong{display:block;margin-top:7px;color:var(--navy);font-size:.88rem;overflow-wrap:anywhere}.error-lookup-code{border-top:1px solid var(--line);border-right:0}.error-solutions{padding:22px 26px}.error-solutions-title{display:flex;align-items:center;gap:14px}.error-solutions-title>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#e7f4eb;color:var(--green);font-weight:900}.error-solutions h3{margin:0;color:var(--navy);font-size:1rem}.error-solutions p{margin:3px 0 0;color:var(--muted);font-size:.76rem}.error-solutions ol{display:grid;gap:9px;margin:18px 0 0;padding-left:24px}.error-solutions li{padding-left:5px;line-height:1.45}.security-note{display:flex;gap:10px;margin-top:14px;padding:12px 15px;border:1px solid #d8e2e8;background:#f7f9fa;color:var(--muted);font-size:.75rem}.security-note strong{flex:0 0 auto;color:var(--navy)}.error-lookup-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.error-lookup-catalog article{padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff}.error-lookup-catalog strong,.error-lookup-catalog span{display:block}.error-lookup-catalog strong{color:var(--navy)}.error-lookup-catalog span{margin-top:5px;color:var(--muted);font-size:.72rem;font-weight:750}@media(max-width:950px){.error-lookup-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.error-lookup-metadata>div{border-bottom:1px solid var(--line)}}@media(max-width:650px){.error-lookup-form,.error-lookup-catalog,.error-lookup-metadata{grid-template-columns:1fr}.error-lookup-form .button{width:100%}.error-lookup-metadata>div{border-right:0}.security-note{flex-direction:column}}

/* Estándar transversal · contexto heredado / solo lectura · 2026-09-07
   Reutiliza la presentación compacta del módulo Comercial para cualquier
   módulo que deba mostrar contexto de maestros u operaciones relacionadas. */
.summary-strip-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.summary-strip-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.summary-strip-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.context-summary-strip { margin:0; border-radius:8px; overflow:hidden; background:#fff; }
.context-summary-strip > div { display:grid; align-content:center; gap:4px; min-height:68px; padding:14px 18px; }
.context-summary-strip small { display:block; color:#718491; font-size:.67rem; line-height:1.35; }
.context-summary-strip strong { line-height:1.3; }
@media(max-width:900px){
  .summary-strip-3,.summary-strip-5 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .summary-strip-3>div:nth-child(n),.summary-strip-5>div:nth-child(n){border-left:0;border-top:1px solid var(--line)}
  .summary-strip-3>div:nth-child(-n+2),.summary-strip-5>div:nth-child(-n+2){border-top:0}
  .summary-strip-3>div:nth-child(even),.summary-strip-5>div:nth-child(even){border-left:1px solid var(--line)}
}
@media(max-width:600px){
  .summary-strip-2,.summary-strip-3,.summary-strip-5 { grid-template-columns:1fr; }
  .summary-strip-2>div:nth-child(n),.summary-strip-3>div:nth-child(n),.summary-strip-5>div:nth-child(n){border-left:0;border-top:1px solid var(--line)}
  .summary-strip-2>div:first-child,.summary-strip-3>div:first-child,.summary-strip-5>div:first-child{border-top:0}
}
