/* Propuesta C · Mesa del expediente. Tokens ATLAS; geometría del mockup aprobado. */
.gexp-workspace,.gexp-matrix,.gexp-drawer,.gexp-viewer {
 --gexp-ink:var(--atlas-stone-900);--gexp-muted:var(--atlas-stone-700);--gexp-line:var(--atlas-stone-200);
 --gexp-blue:var(--atlas-navy-500);--gexp-soft:var(--atlas-stone-100);--gexp-paper:var(--atlas-ivory-50);
 --gexp-selection:color-mix(in srgb,var(--gexp-blue) 12%,white);--gexp-ok:var(--atlas-success);
 --gexp-bad:var(--atlas-danger);--gexp-warn:var(--atlas-warning);--gexp-ease:cubic-bezier(.2,.8,.2,1);
 font-family:var(--font-body);color:var(--gexp-ink);font-size:13px;line-height:1.4;box-sizing:border-box;
}
.gexp-workspace *,.gexp-drawer *,.gexp-viewer * {box-sizing:border-box}
.gexp-workspace [hidden],.gexp-matrix [hidden],.gexp-drawer [hidden] {display:none!important}
.gexp-workspace {display:flex;flex-direction:column;height:100%;min-height:0;background:var(--gexp-paper);border:1px solid var(--gexp-line);border-radius:16px;overflow:hidden}
.gexp-workspace>[data-exp-cabecera],.gexp-workspace>.gexp-heading,.gexp-workspace>.gexp-filters,.gexp-workspace>.gexp-list-status {flex-shrink:0}
.gexp-heading {display:flex;align-items:center;gap:12px;padding:12px 18px;background:white;border-bottom:1px solid var(--gexp-line);flex-wrap:wrap}
.gexp-heading h1,.gexp-heading h2 {font-size:18px;line-height:1.35;font-weight:800;letter-spacing:-.01em;margin:1px 0;color:var(--atlas-navy-900)}
.gexp-heading h1,.gexp-exp-header h2 {text-transform:uppercase}
.gexp-title-block {flex:1;min-width:0}
.gexp-eyebrow,.gexp-list-head,.gexp-kpi h3 {font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--gexp-muted)}
.gexp-workspace button,.gexp-drawer button,.gexp-viewer button {font:inherit;cursor:pointer;border-radius:8px}
.gexp-heading button,.gexp-operation-list footer button {border:1px solid var(--atlas-stone-300);padding:6px 10px;min-height:32px;background:white;font-size:12px;font-weight:700;color:var(--atlas-navy-700)}
.gexp-heading [id^="gexp-ia"] {color:white;background:var(--atlas-navy-900);border-color:var(--atlas-navy-900)}
.gexp-back {display:inline-flex;align-items:center;gap:6px}
.gexp-meta {display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--gexp-muted);margin-top:3px}
.gexp-meta b {font-weight:600}
.gexp-icon {width:16px;height:16px;flex:none}
.gexp-workspace :focus-visible,.gexp-drawer :focus-visible,.gexp-viewer :focus-visible {outline:2px solid var(--gexp-blue);outline-offset:2px}
.gexp-workspace button:disabled,.gexp-drawer button:disabled,.gexp-viewer button:disabled {cursor:not-allowed;color:var(--atlas-stone-700);background:var(--gexp-soft)}
.gexp-sr {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gexp-pill {display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;background:var(--gexp-soft);color:var(--gexp-muted);font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.gexp-op-state-activa,.gexp-op-state-completada {background:color-mix(in srgb,var(--gexp-ok) 12%,white);color:var(--gexp-ok)}
.gexp-op-state-embarcado {background:var(--gexp-selection);color:var(--gexp-blue)}
.gexp-filters {padding:10px 18px;background:white;border-bottom:1px solid var(--gexp-line)}
.gexp-list-status {display:flex;justify-content:space-between;gap:12px;padding:4px 18px;font-size:11px;color:var(--gexp-muted);background:white}
.gexp-columns {flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}
.gexp-operation-list {padding:14px 18px;overflow:auto}
.gexp-operation {display:none;min-width:0;min-height:0}
.gexp-list-head,.gexp-op {display:grid;grid-template-columns:minmax(100px,1fr) minmax(130px,1.3fr) 110px minmax(230px,1.7fr) minmax(100px,1.1fr) 18px;gap:14px;align-items:center}
.gexp-list-head {padding:0 16px 8px}
.gexp-op {width:100%;text-align:left;border:1px solid var(--gexp-line);background:white;padding:12px 16px;margin-bottom:8px;transition:border-color 180ms,transform 180ms var(--gexp-ease);border-radius:12px!important}
.gexp-op:hover {border-color:var(--gexp-blue);transform:translateY(-1px)}
.gexp-op[aria-pressed=true] {background:var(--gexp-selection);border-color:color-mix(in srgb,var(--gexp-blue) 25%,white)}
.gexp-op strong {font:600 16px 'DM Mono',var(--font-mono);font-variant-numeric:tabular-nums}
.gexp-op-client b {font-size:13px;font-weight:600}
.gexp-op small {display:block;color:var(--gexp-muted);font-size:11px}
.gexp-op-flags {display:flex;flex-wrap:wrap;gap:4px}
.gexp-op-chevron {color:var(--atlas-stone-500)}
.gexp-progress {display:flex;gap:2px;height:10px;margin-bottom:5px}
.gexp-progress i {flex:1;min-width:0;border-radius:2px;background:var(--atlas-stone-300)}
.gexp-progress-ok {background:var(--gexp-ok)!important}
.gexp-progress-cur {background:var(--gexp-blue)!important}
.gexp-progress-bad {background:var(--gexp-bad)!important}
.gexp-progress-warn,.gexp-progress-pend {background:var(--atlas-bronze-300)!important}
.gexp-progress-miss,.gexp-progress-no_leido {background:repeating-linear-gradient(135deg,var(--atlas-stone-300) 0 3px,var(--atlas-stone-100) 3px 6px)!important}
.gexp-progress-origen+.gexp-progress-venta {margin-left:7px}
.gexp-legend {border:1px solid var(--gexp-line);border-radius:10px;background:white;margin-top:8px;padding:10px 12px;color:var(--gexp-muted);font-size:11.5px}
.gexp-legend h3 {font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin:0 0 8px}
.gexp-legend ol {padding-left:18px;margin:0;display:grid;gap:8px}
.gexp-operation-list footer {font-size:11px;color:var(--gexp-muted);margin-top:12px}
.gexp-has-operation>[data-exp-lista-heading],.gexp-has-operation>.gexp-filters,.gexp-has-operation>.gexp-list-status {display:none}
.gexp-has-operation .gexp-columns {grid-template-columns:216px minmax(0,1fr)}
.gexp-has-operation .gexp-operation {display:flex;flex-direction:column;overflow:hidden}
.gexp-has-operation .gexp-operation-list {padding:10px 8px;background:white;border-right:1px solid var(--gexp-line);display:flex;flex-direction:column}
.gexp-has-operation .gexp-list-head {display:none}
.gexp-has-operation .gexp-op {position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 5px;border-color:transparent;padding:8px 10px;margin-bottom:4px;background:transparent}
.gexp-has-operation .gexp-op[aria-pressed=true] {background:var(--gexp-selection);border-color:var(--gexp-blue)}
.gexp-has-operation .gexp-op-number strong {font-size:13px}
.gexp-has-operation .gexp-op-number small,.gexp-has-operation .gexp-op-client small,.gexp-has-operation .gexp-op-flags,.gexp-has-operation .gexp-op-chevron {display:none}
.gexp-has-operation .gexp-op-client,.gexp-has-operation .gexp-op-progress {grid-column:1/-1}
.gexp-has-operation .gexp-op-status {grid-column:2;grid-row:1}
.gexp-has-operation .gexp-op-client b {font-size:11.5px;font-weight:400}
.gexp-has-operation .gexp-op-progress {display:flex;align-items:center;gap:8px}
.gexp-has-operation .gexp-progress {flex:1;height:6px;margin:0;gap:1px}
.gexp-has-operation .gexp-op-progress small {font-size:10px;max-width:48px;white-space:nowrap;overflow:hidden}
.gexp-has-operation .gexp-legend {margin-top:auto;border:0;border-top:1px solid var(--gexp-line);border-radius:0}
.gexp-kpis {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid var(--gexp-line);background:white}
.gexp-kpi {padding:8px 14px;min-width:0;border-right:1px solid var(--gexp-line)}
.gexp-kpi h3 {margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gexp-kpi strong {display:block;font:600 16px 'DM Mono',var(--font-mono);font-variant-numeric:tabular-nums;margin-top:1px}
.gexp-kpi small {display:block;font-size:11px;color:var(--gexp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gexp-kpi-ok strong {color:var(--gexp-ok)}.gexp-kpi-bad strong {color:var(--gexp-bad)}.gexp-kpi-cur strong {color:var(--gexp-blue)}.gexp-kpi-warn strong {color:var(--gexp-warn)}
.gexp-tabs {display:flex;gap:4px;padding:4px 18px;background:white;border-bottom:1px solid var(--gexp-line)}
.gexp-tabs button {border:0;padding:5px 10px;color:var(--gexp-muted);font-size:11px}
.gexp-tabs [aria-selected=true] {background:var(--gexp-selection);color:var(--gexp-blue);font-weight:700}
.gexp-matrix {flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;position:relative;background:white}
.gexp-matrix>.gexp-heading,.gexp-matrix>.gexp-kpis,.gexp-matrix>.gexp-tabs {grid-column:1/-1}
.gexp-matrix.gexp-has-drawer {grid-template-columns:minmax(0,1fr) 380px}
.gexp-matrix-top {grid-column:1;grid-row:1;min-width:0}
.gexp-matrix-tools {grid-column:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;border-bottom:1px solid var(--gexp-line);background:white}
.gexp-segment {display:flex;border-radius:8px;background:var(--gexp-soft);padding:2px;gap:2px}
.gexp-segment button {border:0;background:transparent;padding:5px 10px;font-size:12px;font-weight:600;min-height:28px}
.gexp-segment button[aria-pressed=true] {background:white;box-shadow:0 1px 2px rgb(14 26 58 / .14)}
.gexp-segment span {font:10.5px 'DM Mono',var(--font-mono);color:var(--gexp-muted)}
.gexp-follow {display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 5px;border:1px solid var(--atlas-stone-300);background:white;font-size:12px!important;font-weight:700!important;border-radius:999px!important;white-space:nowrap}
.gexp-switch {width:28px;height:16px;flex:none;border-radius:999px;background:var(--atlas-stone-300);position:relative}
.gexp-switch::after {content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:white;transition:transform 180ms var(--gexp-ease)}
.gexp-follow[aria-checked=true] .gexp-switch {background:var(--gexp-blue)}
.gexp-follow[aria-checked=true] .gexp-switch::after {transform:translateX(12px)}
.gexp-matrix-body {grid-column:1;grid-row:2;position:relative;min-height:0;overflow:auto}
.gexp-grid {position:relative;min-width:540px}
.gexp-grid-head,.gexp-row {display:grid;grid-template-columns:minmax(205px,1.9fr) repeat(6,minmax(45px,1fr));padding-left:64px}
.gexp-grid-head {height:54px;position:sticky;top:0;z-index:3;background:white;border-bottom:1px solid var(--gexp-line);align-items:end}
.gexp-grid-head>div {text-align:center;display:flex;flex-direction:column;gap:2px;padding-bottom:7px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.gexp-grid-head>div:first-child {text-align:left;align-items:flex-start;color:var(--gexp-muted)}
.gexp-grid-head b {font:600 13px 'DM Mono',var(--font-mono)}
.gexp-grid-head b small {font-size:10px;color:var(--gexp-muted)}
.gexp-group {height:30px;padding:0 14px 0 64px;display:flex;align-items:center;justify-content:space-between;background:var(--gexp-soft);border-bottom:1px solid var(--gexp-line);font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gexp-group [role=rowheader] {display:flex;align-items:center;gap:8px}
.gexp-group i {height:8px;width:8px;border-radius:2px;background:var(--gexp-muted)}
.gexp-group span {font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--gexp-muted)}
.gexp-group small {font:10.5px 'DM Mono',var(--font-mono);letter-spacing:0;white-space:nowrap}
/* Secciones plegables: desplegada se ve como siempre; plegada es una fila resumen con las mismas columnas. */
.gexp-group {cursor:pointer}
.gexp-group:hover {background:color-mix(in srgb,var(--gexp-soft) 80%,var(--gexp-blue) 6%)}
.gexp-group [role=rowheader] {min-width:0}
.gexp-group-toggle {border:0;background:transparent;padding:0;min-height:28px;max-width:100%;min-width:0;display:flex;align-items:center;gap:8px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-align:left;white-space:nowrap}
.gexp-group i {flex:none}
.gexp-group-toggle span {overflow:hidden;text-overflow:ellipsis;min-width:0}
.gexp-group[data-plegado="1"] .gexp-group-toggle span {display:none}
.gexp-group-toggle .gexp-icon {width:14px;height:14px;flex:none;color:var(--gexp-ink);transition:transform 180ms var(--gexp-ease)}
.gexp-group-toggle[aria-expanded=true] .gexp-icon {transform:rotate(90deg)}
.gexp-group-resumen {display:flex;align-items:center;gap:8px}
.gexp-group[data-plegado="0"] .gexp-group-alert,.gexp-group[data-plegado="0"] .gexp-group-cell {display:none}
.gexp-group[data-con-seleccion] {box-shadow:inset 3px 0 var(--gexp-blue)}
.gexp-group[data-plegado="1"] {display:grid;grid-template-columns:minmax(205px,1.9fr) repeat(6,minmax(45px,1fr));grid-template-rows:auto auto;align-items:center;height:auto;min-height:48px;padding:5px 0 5px 64px}
.gexp-group[data-plegado="1"]>[role=rowheader] {grid-column:1;grid-row:1}
.gexp-group[data-plegado="1"]>.gexp-group-resumen {grid-column:1;grid-row:2;flex-wrap:wrap;padding-left:22px}
.gexp-group-alert {display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:1px 7px;border:1px solid var(--atlas-stone-300);background:white;color:var(--gexp-ink)!important;font:700 10px var(--font-body)!important;letter-spacing:0!important;text-transform:none}
.gexp-group-alert .gexp-icon {width:11px;height:11px;stroke-width:2.4}
.gexp-group-alert[data-tono=bad] {border-color:color-mix(in srgb,var(--gexp-bad) 45%,white)}
.gexp-group-alert[data-tono=bad] .gexp-icon {color:var(--gexp-bad)}
.gexp-group-alert[data-tono=warn] {border-color:color-mix(in srgb,var(--gexp-warn) 45%,white)}
.gexp-group-alert[data-tono=warn] .gexp-icon {color:var(--gexp-warn)}
.gexp-group-cell {grid-row:1/3;display:flex;align-items:baseline;justify-content:center;gap:1px;font:600 13px 'DM Mono',var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none}
.gexp-group-cell strong {font-weight:600;color:var(--gexp-ink)}
.gexp-group-cell span:not(.gexp-sr) {font-size:10px;font-weight:400;color:var(--gexp-muted)}
.gexp-group-cell[data-tono=ok] strong {color:var(--gexp-ok)}
.gexp-group-cell[data-tono=bad] strong {color:var(--gexp-bad)}
.gexp-tools-end {display:flex;align-items:center;gap:8px}
.gexp-fold-all {border:1px solid var(--atlas-stone-300);background:white;padding:4px 10px;min-height:28px;font-size:12px;font-weight:700;color:var(--atlas-navy-700);border-radius:999px!important;white-space:nowrap}
.gexp-row {min-height:40px;border-bottom:1px solid color-mix(in srgb,var(--gexp-line) 55%,white);align-items:center;background:white;cursor:pointer;animation:gexp-row-in 260ms var(--gexp-ease) both}
.gexp-row:nth-of-type(3n) {animation-delay:30ms}.gexp-row:nth-of-type(3n+1) {animation-delay:60ms}
.gexp-row[data-plegada="1"] {display:none}
.gexp-row:hover {background:var(--gexp-paper)}
.gexp-row[aria-selected=true],.gexp-follow-focus {background:var(--gexp-selection);box-shadow:inset 3px 0 var(--gexp-blue)}
.gexp-row>[role=rowheader] {min-width:0;position:relative;padding:3px 8px 3px 0}
.gexp-row [data-accion="gexp.fila"] {border:0;background:transparent;text-align:left;font-weight:600;font-size:13px;padding:0;display:flex;align-items:center;gap:6px;width:100%;min-height:20px}
.gexp-row [role=rowheader]>small {display:block;font:10.5px 'DM Mono',var(--font-mono);color:var(--gexp-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gexp-version-badge {font:9px 'DM Mono',var(--font-mono);border-radius:4px;background:var(--gexp-soft);padding:0 4px;flex:none}
.gexp-cell {min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:2px}
.gexp-state {display:flex;flex-direction:column;align-items:center;gap:2px}
.gexp-marker {width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-style:normal;border:1.5px solid var(--atlas-stone-300);background:white;color:var(--gexp-muted)}
.gexp-marker .gexp-icon {width:11px;height:11px;stroke-width:2.6}
.gexp-state-hecho .gexp-marker {background:var(--gexp-ok);border-color:var(--gexp-ok);color:white}
.gexp-state-rechazado .gexp-marker {background:var(--gexp-bad);border-color:var(--gexp-bad);color:white}
.gexp-state-atencion .gexp-marker {border-color:var(--gexp-warn);border-width:2px}
.gexp-state-cur .gexp-marker {border-color:var(--gexp-blue);border-width:2px}
.gexp-state-cur .gexp-marker::after {content:"";width:6px;height:6px;background:var(--gexp-blue);border-radius:50%}
.gexp-state-na .gexp-marker {width:10px;height:2px;border:0;border-radius:2px;background:var(--atlas-stone-300);margin:8px 0}
.gexp-state-falta .gexp-marker {border-style:dashed}
.gexp-state-no_leido .gexp-marker {color:var(--gexp-bad);border-color:var(--gexp-bad)}
.gexp-cell-date {font:9.5px 'DM Mono',var(--font-mono);color:var(--gexp-muted);white-space:nowrap;max-width:100%;overflow:hidden}
.gexp-state-hecho .gexp-cell-date {color:var(--gexp-ok)}
.gexp-state-rechazado .gexp-cell-date {color:var(--gexp-bad)}
.gexp-mobile-label,.gexp-card-toggle {display:none}
.gexp-relation {font-size:9px;color:var(--gexp-blue)}
.gexp-links {position:absolute;left:0;top:0;width:64px;pointer-events:none;z-index:2}
.gexp-link svg {position:absolute;left:0;top:0;width:64px;overflow:visible}
.gexp-link path {fill:none;stroke:color-mix(in srgb,var(--gexp-blue) 40%,white);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.gexp-unlinked {position:relative;color:var(--gexp-warn);font-size:10px;background:white}
.gexp-shortcuts {grid-column:1;grid-row:3;display:flex;gap:6px 14px;flex-wrap:wrap;padding:7px 14px;border-top:1px solid var(--gexp-line);color:var(--gexp-muted);font-size:11px}
.gexp-shortcuts span {display:inline-flex;align-items:center;gap:4px}
.gexp-workspace kbd,.gexp-drawer kbd {font:600 10px 'DM Mono',var(--font-mono);background:white;border:1px solid var(--atlas-stone-300);border-bottom-width:2px;border-radius:4px;padding:0 5px;color:var(--gexp-muted)}
.gexp-notices {grid-column:1;font-size:11px;color:var(--gexp-warn)}
.gexp-notices:empty {display:none}
.gexp-drawer-slot {display:none}
.gexp-has-drawer>.gexp-drawer-slot {display:flex;grid-column:2;grid-row:1/-1;min-height:0;overflow:hidden;border-left:1px solid var(--gexp-line)}
.gexp-drawer {width:100%;background:white;display:flex;position:relative;min-height:0}
.gexp-drawer-card {display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;background:white}
.gexp-drawer .gexp-heading {display:grid;grid-template-columns:minmax(0,1fr) auto auto;padding:10px 14px 4px;gap:5px;border-bottom:0}
.gexp-drawer .gexp-heading>.gexp-eyebrow {width:100%}
.gexp-drawer .gexp-heading h2 {font-size:17px;flex:1}
.gexp-drawer .gexp-heading>[data-accion="gexp.cerrarCajon"] {font-size:10px;border:0}
.gexp-drawer .gexp-heading>.gexp-eyebrow {grid-column:1/-1;grid-row:1}
.gexp-drawer .gexp-heading>[data-modal-controls] {grid-column:3;grid-row:2}
.gexp-drawer .gexp-heading>h2 {grid-column:1;grid-row:2}
.gexp-drawer .gexp-heading>[data-accion="gexp.cerrarCajon"] {grid-column:2;grid-row:2}
.gexp-drawer-body {flex:1;min-height:0;overflow:auto;padding:0 14px 14px}
.gexp-drawer [data-exp-document-sub] {grid-column:1/-1;grid-row:3;min-width:0}
.gexp-document-sub {display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--gexp-muted);margin-bottom:6px;overflow-wrap:anywhere}
.gexp-document-count {color:var(--gexp-ink)}
.gexp-document-sub>span:first-child {font-family:'DM Mono',var(--font-mono)}
.gexp-exemplar h3 {font-size:13px;font-weight:700;margin:12px 0 6px;overflow-wrap:anywhere}
.gexp-exemplar h4 {display:flex;justify-content:space-between;align-items:center;margin:0 0 6px}
.gexp-stack {height:184px;position:relative;border-radius:12px;background:var(--gexp-soft);border:1px solid var(--gexp-line);overflow:hidden;margin-bottom:8px}
.gexp-stack-meta {position:absolute;right:12px;top:14px;width:155px;text-align:right;transition:opacity 250ms,transform 300ms var(--gexp-ease)}
.gexp-stack-meta b {display:block;font:600 19px 'DM Mono',var(--font-mono)}
.gexp-stack-meta span {display:block;font-size:11.5px;color:var(--gexp-muted);margin-top:4px}
.gexp-stack-meta small {display:block;font-size:10.5px;color:var(--gexp-muted);margin-top:8px}
.gexp-sheet {position:absolute;left:22px;top:22px;width:108px;height:146px;border:1px solid var(--atlas-stone-300);background:white;border-radius:5px;box-shadow:0 6px 14px -8px rgb(14 26 58 / .5);transform:translate(8px,-3px) rotate(3deg);transform-origin:20% 90%;transition:transform 360ms var(--gexp-ease),box-shadow 180ms;animation:gexp-fan-open 340ms var(--gexp-ease) both}
.gexp-sheet:last-child {left:14px;top:26px;transform:none}
.gexp-sheet-selected {border-color:var(--gexp-blue);box-shadow:0 0 0 2px var(--gexp-selection),0 8px 16px -8px rgb(14 26 58 / .5);z-index:1}
.gexp-sheet>button {position:relative;width:100%;height:100%;padding:10px 9px;border:0;background:transparent;text-align:left}
.gexp-paper-lines {display:block}
.gexp-paper-lines i {display:block;height:3px;background:var(--atlas-stone-200);border-radius:2px;margin-bottom:6px}
.gexp-paper-lines i:first-child {height:7px;width:60%;background:var(--atlas-navy-700);margin-bottom:8px}
.gexp-paper-lines i:nth-child(2n) {width:85%}.gexp-paper-lines i:last-child {width:70%}
.gexp-paper-seal {position:absolute;right:8px;top:48px;width:14px;height:14px;display:grid;place-items:center;color:white;background:var(--gexp-ok);border-radius:50%}
.gexp-paper-seal .gexp-icon {width:10px;height:10px}
.gexp-seal-bad {background:var(--gexp-bad)}.gexp-seal-pend {background:var(--atlas-bronze-600)}
.gexp-sheet strong {position:absolute;left:9px;bottom:8px;font:600 10px 'DM Mono',var(--font-mono)}
.gexp-paper-date {position:absolute;right:9px;bottom:8px;font:9px 'DM Mono',var(--font-mono)}
.gexp-sheet-tools {display:none}
.gexp-stack:hover .gexp-stack-meta,.gexp-stack:focus-within .gexp-stack-meta,.gexp-fanned .gexp-stack-meta {opacity:0;transform:translateY(-6px)}
.gexp-stack:hover .gexp-sheet,.gexp-stack:focus-within .gexp-sheet,.gexp-fanned .gexp-sheet {transform:translate(-6px,0) rotate(-12deg)}
.gexp-stack:hover .gexp-sheet:last-child,.gexp-stack:focus-within .gexp-sheet:last-child,.gexp-fanned .gexp-sheet:last-child {transform:translate(130px,0) rotate(10deg)}
.gexp-stack:hover .gexp-sheet-tools,.gexp-stack:focus-within .gexp-sheet-tools,.gexp-fanned .gexp-sheet-tools {display:flex;position:absolute;left:0;top:0;transform:translateY(-100%);font-size:9px}
.gexp-stack:hover .gexp-sheet-tools button,.gexp-stack:focus-within .gexp-sheet-tools button,.gexp-fanned .gexp-sheet-tools button {border:1px solid var(--gexp-line);padding:2px;background:white;font-size:9px}
.gexp-version-pager {display:flex;gap:8px;align-items:center;margin:8px 0;font-size:12px}
.gexp-version-pager>button {display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid var(--atlas-stone-300);background:white;padding:0}
.gexp-version-pager>span {flex:1;text-align:center;color:var(--gexp-muted)}
.gexp-version-pager b {font:600 12px 'DM Mono',var(--font-mono)}
.gexp-version-pager small {display:block;font-size:11px}
.gexp-diff {margin-top:8px}
.gexp-diff h4 {font-size:11.5px;font-weight:700;margin:0 0 6px}
.gexp-diff-item {display:grid;grid-template-columns:20px 1fr auto;gap:8px;padding:7px 9px;border:1px solid var(--gexp-line);background:var(--gexp-paper);border-radius:9px;margin-bottom:6px;font-size:12px}
.gexp-diff-pin {height:18px;width:18px;border-radius:50%;background:var(--gexp-ok);color:white;display:grid;place-items:center;font-size:10px}
.gexp-diff-item dl {margin:4px 0 0;display:grid;gap:3px;font-size:11.5px}
.gexp-diff-item dd {margin:0;border-radius:6px;padding:3px 7px}
.gexp-diff-item>.gexp-pill {align-self:start;font-size:8.5px;background:color-mix(in srgb,var(--gexp-ok) 10%,white);color:var(--gexp-ok)}
.gexp-diff-old {background:color-mix(in srgb,var(--gexp-bad) 10%,white);color:var(--gexp-bad);text-decoration:line-through}
.gexp-diff-new {background:color-mix(in srgb,var(--gexp-ok) 10%,white);color:var(--gexp-ok)}
.gexp-history {font-size:12px;margin-top:14px}
.gexp-history summary,.gexp-extra-actions summary {cursor:pointer;padding:8px 0;font-weight:600}
.gexp-mail,.gexp-correction {border:1px solid var(--gexp-line);background:var(--gexp-paper);border-radius:9px;padding:8px 10px;margin:8px 0}
.gexp-correction dd {margin:0}.gexp-detail-section h4 {margin:14px 0 6px}
[data-exp-historial] {list-style:none;padding:0}
[data-exp-historial] li {border-left:1px solid var(--atlas-stone-300);padding:6px 10px;display:flex;flex-direction:column;gap:3px}
.gexp-drawer-foot {padding:6px;border-top:1px solid var(--gexp-line);background:white}
/* «Agregar marca de agua» (DocVisor.panelMarca): una fila propia en el pie del cajón y una pastilla blanca en la cabecera azul del visor. */
.gexp-marca {display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-width:0}
.gexp-marca:empty {display:none}
.gexp-drawer-foot .gexp-marca {padding:0 2px 5px}
.gexp-viewer .gexp-marca {background:white;border-radius:8px;padding:2px 8px}
.gexp-marca button,.gexp-heading .gexp-marca button {border:0;padding:2px 4px;min-height:28px;background:transparent}
.gexp-primary {width:100%;min-height:36px;border:0;background:color-mix(in srgb,var(--atlas-bronze-600) 77%,var(--atlas-navy-900));color:white;font-size:12px!important;font-weight:800!important;letter-spacing:.07em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 8px}
/* Reporte por defecto: 48px a 20px del borde (bug_reporter.js). En escritorio el
   panel ya tiene 24px de margen exterior; la reserva móvil cubre el borde completo.
   Las columnas auto comparten el ancho según sus rótulos cortos;
   al aumentar texto/zoom se permite crecer en alto, sin ocultar letras. */
.gexp-action-grid {display:grid;grid-template-columns:repeat(4,auto);gap:3px;margin-top:4px;padding-right:44px}
.gexp-action-grid>button {display:flex;flex-direction:row;align-items:center;justify-content:center;gap:3px;min-width:0;border:1px solid var(--gexp-line);background:white;color:var(--atlas-navy-700);font-size:9.5px;font-weight:600;line-height:1.1;min-height:32px;padding:3px 2px}
.gexp-action-grid>button>span {min-width:0;overflow:visible;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
.gexp-action-grid .gexp-icon {height:12px;width:12px;flex-shrink:0}
.gexp-extra-actions {font-size:11px}
.gexp-actions {display:flex;gap:4px;flex-wrap:wrap}
.gexp-actions h3 {flex:1 0 100%;font-size:12px}
.gexp-actions button {border:1px solid var(--gexp-line);padding:6px;background:white;font-size:11px}
.gexp-read-status,.gexp-notice {font-size:11px;color:var(--gexp-warn)}
.gexp-read-status:empty {display:none}
.gexp-viewer {position:fixed;inset:0;z-index:10500;display:flex;background:var(--atlas-navy-900)}
.gexp-viewer-card {width:100%;height:100dvh;display:flex;flex-direction:column}
.gexp-viewer .gexp-heading {background:var(--atlas-navy-900);border-color:var(--atlas-navy-700);color:white}
.gexp-viewer h2 {flex:1;color:white;font-size:15px}
.gexp-viewer .gexp-version-pager>span {color:white}
.gexp-viewer-stage {flex:1;min-height:0;display:flex;justify-content:center;padding:18px 22px}
.gexp-viewer-body {width:min(100%,780px);height:100%;background:white;animation:gexp-sheet-flight 400ms var(--gexp-ease) forwards;display:flex;overflow:auto}
.gexp-viewer-body iframe,.gexp-viewer-body embed {width:100%;height:100%;border:0}
@keyframes gexp-sheet-flight {to {transform:none;opacity:1}}
@keyframes gexp-fan-open {from {transform:translateY(8px) rotate(0);opacity:0}}
@keyframes gexp-row-in {from {transform:translateY(6px);opacity:0}to {transform:none;opacity:1}}
/* El alto viene del main del ERP. Alcance por vista activa: otras vistas conservan su scroll. */
@media (min-width:768px) {
 main:has(#view-gestion-documental.active) {min-height:0;overflow:hidden}
 #views-container:has(> #view-gestion-documental.active) {height:100%;min-height:0}
 #view-gestion-documental {min-height:0}
}
/* En laptops bajas se compacta espacio, sin superponer ni esconder acciones. */
@media (max-height:700px) and (min-width:768px) {
 .gexp-heading {padding:8px 12px;gap:6px}
 .gexp-exp-header {display:grid;grid-template-columns:auto minmax(0,1fr) auto}
 .gexp-exp-header .gexp-back {grid-column:1;grid-row:2}
 .gexp-exp-header .gexp-title-block {grid-column:1/-1;grid-row:1}
 .gexp-exp-header [id^="gexp-ia"] {grid-column:2;grid-row:2;justify-self:end}
 .gexp-exp-header .gexp-di {grid-column:3;grid-row:2}
 .gexp-kpi {padding:5px 10px}
 .gexp-shortcuts {gap:4px 8px;padding:4px 10px;font-size:10px}
}
@media (max-height:600px) and (min-width:768px) {
 .gexp-exp-header h2 {font-size:16px}
 .gexp-kpi small {display:none}
 .gexp-tabs {padding:2px 12px}
 .gexp-tabs button {padding:3px 10px}
}
@media (max-width:1359px) {
 .gexp-matrix.gexp-has-drawer {grid-template-columns:minmax(0,1fr) 340px}
 .gexp-grid-head,.gexp-row,.gexp-group[data-plegado="1"] {grid-template-columns:minmax(170px,1.6fr) repeat(6,minmax(42px,1fr))}
 .gexp-follow {font-size:11px!important;gap:4px;padding-right:6px}
}
@media (max-width:1100px) {
 .gexp-has-operation .gexp-columns {grid-template-columns:minmax(0,1fr)}
 .gexp-has-operation .gexp-operation-list {display:none}
 .gexp-list-head {display:none}
 .gexp-op {grid-template-columns:1fr 1.5fr 20px;grid-template-areas:"num prog arrow" "client flags arrow"}
 .gexp-op-number {grid-area:num}.gexp-op-client {grid-area:client}.gexp-op-progress {grid-area:prog}.gexp-op-flags {grid-area:flags}.gexp-op-chevron {grid-area:arrow}.gexp-op-status {display:none}
}
@media (max-width:767px) {
 .gexp-workspace {height:auto;min-height:0;overflow:visible;border-radius:14px}
 .gexp-columns {overflow:visible}
 .gexp-heading {padding:10px 12px;gap:8px}
 .gexp-exp-header .gexp-title-block {order:3;flex:1 0 100%}
 .gexp-heading h1,.gexp-heading h2 {font-size:15px;white-space:normal}
 .gexp-heading .gexp-di {display:none}
 .gexp-meta {font-size:11.5px}
 .gexp-filters {padding:10px 12px}
 .gexp-operation-list {padding:10px 12px}
 .gexp-op {grid-template-columns:1fr auto 18px;grid-template-areas:"num status arrow" "client client arrow" "prog prog prog" "flags flags flags";padding:12px;gap:7px}
 .gexp-op-status {display:block;grid-area:status}
 .gexp-kpis {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .gexp-kpi {padding:8px 12px}
 .gexp-matrix,.gexp-matrix.gexp-has-drawer {display:block;overflow:visible}
 .gexp-has-operation .gexp-operation {overflow:visible}
 .gexp-matrix-body {overflow:visible;background:var(--gexp-paper);padding:4px 10px 18px}
 .gexp-matrix-top {position:sticky;top:0;z-index:5;background:white}
 .gexp-matrix-tools {padding:8px 12px;flex-wrap:wrap}
 .gexp-grid {min-width:0}
 .gexp-grid-head,.gexp-links,.gexp-shortcuts {display:none!important}
 .gexp-group {padding:0 4px;margin:12px 0 6px;border:0;background:transparent;height:auto;min-height:26px}
 .gexp-group-toggle span {display:none}
 .gexp-group[data-plegado="1"] {display:flex;flex-wrap:wrap;gap:2px 10px;padding:4px}
 .gexp-group[data-plegado="1"]>.gexp-group-resumen {padding-left:0}
 .gexp-group-cell {display:none!important}
 .gexp-tools-end {flex-wrap:wrap}
 .gexp-row {display:block;padding:10px 12px;margin-bottom:8px;border:1px solid var(--gexp-line);border-radius:12px;animation:none}
 .gexp-row [data-accion="gexp.fila"] {padding-right:34px;font-size:14px;min-height:30px}
 .gexp-row>[role=rowheader]>small {font-size:11px}
 .gexp-card-toggle {display:grid;place-items:center;position:absolute;right:0;top:0;width:44px;height:44px;border:0;background:var(--gexp-soft)}
 .gexp-card-toggle[aria-expanded=true] .gexp-icon {transform:rotate(90deg)}
 .gexp-cell {flex-direction:row;justify-content:space-between;padding:4px 0;min-height:36px}
 .gexp-mobile-label {display:block;font-size:12px}
 .gexp-state {flex-direction:row;gap:6px}
 .gexp-cell-date {font-size:10px}
 .gexp-has-drawer>.gexp-drawer-slot {display:block;border:0}
 .gexp-drawer {position:fixed;inset:auto 0 0;height:90dvh;z-index:10200;width:100%;border-radius:16px 16px 0 0;box-shadow:0 -20px 60px rgb(14 26 58 / .25);overflow:hidden;animation:gexp-row-in 340ms var(--gexp-ease)}
 .gexp-drawer-foot {padding-bottom:max(6px,env(safe-area-inset-bottom))}
 .gexp-workspace button,.gexp-drawer button,.gexp-viewer button {min-height:44px}
 .gexp-action-grid>button {font-size:10px}
 .gexp-action-grid {padding-right:70px}
 .gexp-viewer-stage {padding:10px}
 .gexp-viewer .gexp-heading {gap:6px}
 .gexp-viewer .gexp-heading h2 {flex:1 0 60%;font-size:14px}
 .gexp-viewer .gexp-version-pager {order:3;flex:1 0 100%}
}
/* Sólo el bloque de acciones: los demás objetivos táctiles conservan su tamaño. */
.gexp-drawer-foot .gexp-primary {min-height:36px}
.gexp-drawer-foot .gexp-action-grid>button {min-height:32px}
@media (pointer: coarse) {
 .gexp-drawer-foot .gexp-primary,.gexp-drawer-foot .gexp-action-grid>button {min-height:40px}
}
@media (prefers-reduced-motion:reduce) {
 .gexp-workspace *,.gexp-drawer *,.gexp-viewer * {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
