/* TRV V54 · guía lateral estable, biblioteca documental, contraste dual y compatibilidad Apple/Windows */
:root{
  --v54-bg:#070c12;
  --v54-surface:#0c141d;
  --v54-surface-2:#111b26;
  --v54-surface-3:#162230;
  --v54-border:rgba(173,198,219,.17);
  --v54-text:#f7fafc;
  --v54-muted:#9eabb9;
  --v54-accent:var(--module-accent,#2d6cdf);
  --v54-glass:rgba(15,25,36,.76);
}
html[data-theme="light"]{
  --v54-bg:#f4f6f8;
  --v54-surface:#ffffff;
  --v54-surface-2:#f6f8fa;
  --v54-surface-3:#edf2f6;
  --v54-border:rgba(22,41,58,.16);
  --v54-text:#111820;
  --v54-muted:#5d6b78;
  --v54-glass:rgba(255,255,255,.82);
}
html,body{background:var(--v54-bg)!important;color:var(--v54-text)!important}
body{overflow-x:hidden!important}

/* No volver a comprimir toda la plataforma al explicar texto. */
body.guide-content-mode .trv43-workspace,
body.guide-content-left .trv43-workspace,
body.guide-content-right .trv43-workspace{padding-right:0!important;padding-left:0!important;width:100%!important;max-width:none!important}
body.guide-content-mode .trv43-topbar,
body.guide-content-left .trv43-topbar,
body.guide-content-right .trv43-topbar{width:100%!important;max-width:100vw!important}
body.guide-content-mode .trv43-main{width:100%!important;max-width:none!important;padding-right:18px!important}

/* Guía: siempre por encima de la selección, nunca detrás de tablas/mapas. */
body.guide-open .guide-card{
  position:fixed!important;
  z-index:60050!important;
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
  left:var(--guide-left,18px)!important;
  top:var(--guide-top,110px)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--guide-width,min(420px,calc(100vw - 36px)))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:var(--guide-maxh,calc(100dvh - 132px))!important;
  min-height:0!important;
  transform:none!important;
  overflow:hidden!important;
  isolation:isolate!important;
  box-shadow:0 26px 80px rgba(0,0,0,.48),0 0 0 1px rgba(102,176,220,.16)!important;
}
.guide-card>small,.guide-card>h3,.guide-card>p,.guide-card>.guide-example{flex:0 0 auto}
.guide-card>p{overflow:auto;max-height:25dvh}
.guide-example{overflow:auto!important;max-height:24dvh!important}
.guide-actions{position:sticky!important;bottom:0!important;z-index:4!important;flex:0 0 auto!important;margin-top:auto!important}
.guide-focus{z-index:60020!important;pointer-events:none!important}
.guide-shade{z-index:60000!important;pointer-events:auto!important}
body.guide-open .floating-assist-stack{opacity:0!important;pointer-events:none!important}

/* FORMULARIOS: guía izquierda + formulario a la derecha en iPad/desktop. */
@media (min-width:760px){
  body.guide-form-mode .guide-card[data-placement="form-left"]{
    left:var(--guide-left,18px)!important;
    top:var(--guide-top,112px)!important;
    width:var(--guide-width,390px)!important;
    max-height:var(--guide-maxh,calc(100dvh - 132px))!important;
  }
  body.guide-form-mode .guide-form-shell-live.record-entry-card,
  body.guide-form-mode .guide-form-shell-live.collection-automation,
  body.guide-form-mode .guide-form-shell-live.access42-editor,
  body.guide-form-mode .guide-form-shell-live.sys49-settings,
  body.guide-form-mode form.guide-form-shell-live{
    box-sizing:border-box!important;
    margin-left:var(--guide-form-rail,438px)!important;
    width:calc(100% - var(--guide-form-rail,438px))!important;
    max-width:calc(100% - var(--guide-form-rail,438px))!important;
    min-width:0!important;
    transition:none!important;
  }
  body.guide-form-mode .record-entry-layer{overflow:visible!important}
  body.guide-form-mode .record44-flow{overflow:visible!important}
}
@media (min-width:760px) and (max-width:1050px){
  body.guide-form-mode{--guide-form-rail:354px}
  body.guide-form-mode .guide-card[data-placement="form-left"]{width:324px!important;left:14px!important}
}
@media (max-width:759px){
  body.guide-form-mode .guide-form-shell-live{margin-left:0!important;width:100%!important;max-width:100%!important}
  body.guide-open .guide-card[data-placement="mobile-bottom"]{left:10px!important;right:10px!important;top:auto!important;bottom:12px!important;width:auto!important;max-width:none!important;max-height:58dvh!important}
}

/* Para explicación de contenido, mantener el contenido con su tamaño normal. */
@media (min-width:760px){
  body.guide-content-mode .guide-card[data-placement="content-left"],
  body.guide-content-mode .guide-card[data-placement="content-right"]{width:min(420px,31vw)!important}
}

/* Las bandas de navegación de etapas ya no flotan mientras se baja. */
.record44-jumps,.record-entry-tabs,.record-savebar,.record44-commandbar,
.record-capture-shell .record44-jumps,.record-capture-shell .record-entry-tabs{
  position:static!important;top:auto!important;bottom:auto!important;transform:none!important;z-index:auto!important
}
.record-savebar{margin-top:22px!important}

/* Biblioteca moderna por módulo/submódulo */
.module-file-center{margin:22px 0 34px;border:1px solid var(--v54-border);background:var(--v54-surface);overflow:hidden}
.module-file-center>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--v54-border)}
.module-file-center>header small{display:block;color:var(--v54-accent);font-size:11px;letter-spacing:.18em;font-weight:800;margin-bottom:6px}
.module-file-center>header h4{font-size:24px;margin:0;color:var(--v54-text)}
.module-file-center>header p{margin:7px 0 0;color:var(--v54-muted);max-width:760px}
.module-file-center>header>span{white-space:nowrap;color:var(--v54-muted);font-weight:700}
.module-file-table-wrap{overflow:auto;max-width:100%;scrollbar-width:thin}
.module-file-table{width:100%;min-width:860px;border-collapse:collapse;color:var(--v54-text)}
.module-file-table th{padding:13px 16px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--v54-muted);background:var(--v54-surface-2);border-bottom:1px solid var(--v54-border)}
.module-file-table td{padding:15px 16px;border-bottom:1px solid var(--v54-border);vertical-align:middle;color:var(--v54-text)}
.module-file-table tr:last-child td{border-bottom:0}
.module-file-name{display:flex;align-items:center;gap:10px;min-width:210px}
.module-file-name span{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--v54-accent) 50%,var(--v54-border));background:color-mix(in srgb,var(--v54-accent) 10%,transparent);font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--v54-accent)}
.module-file-name b{overflow-wrap:anywhere;color:var(--v54-text)}
.module-file-actions{display:flex;gap:7px;align-items:center}
.module-file-actions button,.module-file-actions a,.record-file-chip button,.record-file-chip a{
  appearance:none;border:1px solid var(--v54-border);background:var(--v54-surface-2);color:var(--v54-text)!important;text-decoration:none;padding:8px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer
}
.module-file-actions button:hover,.module-file-actions a:hover{border-color:var(--v54-accent);color:var(--v54-accent)!important}
.module-file-empty{text-align:center!important;color:var(--v54-muted)!important;padding:28px!important}
.record-file-library{margin-top:10px}

/* Visor de documentos */
.file-viewer{position:fixed;inset:0;z-index:70000;display:none;align-items:center;justify-content:center;padding:28px}
.file-viewer.is-open,.file-viewer.open{display:flex}
.file-viewer-backdrop{position:absolute;inset:0;background:rgba(2,7,12,.78);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.file-viewer-panel{position:relative;z-index:2;display:grid;grid-template-rows:auto 1fr;width:min(1160px,96vw);height:min(88dvh,900px);background:var(--v54-surface);border:1px solid var(--v54-border);box-shadow:0 30px 100px rgba(0,0,0,.56);overflow:hidden}
.file-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--v54-border);background:var(--v54-surface-2)}
.file-viewer-head small{display:block;color:var(--v54-accent);letter-spacing:.16em;font-size:10px;font-weight:900}
.file-viewer-head h3{margin:3px 0 0;color:var(--v54-text);font-size:18px;overflow-wrap:anywhere}
.file-viewer-actions{display:flex;align-items:center;gap:8px}
.file-viewer-actions a,.file-viewer-actions button{border:1px solid var(--v54-border);background:var(--v54-surface);color:var(--v54-text)!important;text-decoration:none;padding:9px 13px;font-weight:800;font:inherit;cursor:pointer}
.file-viewer-frame{width:100%;height:100%;border:0;background:#fff}
@media(max-width:760px){.file-viewer{padding:8px}.file-viewer-panel{width:100%;height:94dvh}.file-viewer-head{align-items:flex-start}.file-viewer-actions a{display:none}}

/* OpenAI server connection */
.ai-key-panel{border-top:2px solid var(--v54-accent)!important}
.ai-key-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.ai-key-panel form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;margin-top:18px;max-width:820px}
.ai-key-panel label span{display:block;margin-bottom:7px;color:var(--v54-muted);font-size:12px;font-weight:800}
.ai-key-panel form input{width:100%}
.ai-key-panel form button{align-self:end;min-height:48px;border:0;background:var(--v54-accent);color:#fff;padding:0 22px;font-weight:900}
.ai-key-status{padding:8px 11px;border:1px solid var(--v54-border);color:var(--v54-muted);white-space:nowrap}
.ai-key-status.is-on,.ai-key-status.ok{color:#14865e;border-color:rgba(20,134,94,.35)}
.ai-key-status.warn{color:#a86e00;border-color:rgba(168,110,0,.35)}
.ai-key-note{display:block;margin-top:9px;color:var(--v54-muted)}
@media(max-width:720px){.ai-key-panel form{grid-template-columns:1fr}.ai-key-panel>header{display:block}.ai-key-status{display:inline-block;margin-top:10px}}

/* Asistente: mantenerlo por encima de mapas y formularios, sin tapar su caja de escritura */
.assistant{z-index:65000!important;max-height:min(82dvh,820px)!important}
.assistant.is-open,.assistant.open{display:flex!important}
.assistant-form{z-index:4!important}
.floating-assist-stack{z-index:64000!important}
.leaflet-pane,.leaflet-control{z-index:400!important}

/* Contraste fuerte en modo claro: texto, tablas, formularios, tarjetas, navegación y agente. */
html[data-theme="light"] body,
html[data-theme="light"] .trv43-workspace,
html[data-theme="light"] .trv43-main{background:#f4f6f8!important;color:#111820!important}
html[data-theme="light"] .trv43-topbar,
html[data-theme="light"] .section,
html[data-theme="light"] .panel,
html[data-theme="light"] .card,
html[data-theme="light"] .module-file-center,
html[data-theme="light"] .record-entry-card,
html[data-theme="light"] .record44-flow,
html[data-theme="light"] .record44-card,
html[data-theme="light"] .record-step-panel,
html[data-theme="light"] .module-record-history,
html[data-theme="light"] .memory-v44-intake,
html[data-theme="light"] .memory-v44-library,
html[data-theme="light"] .memory-item,
html[data-theme="light"] .assistant,
html[data-theme="light"] .drawer,
html[data-theme="light"] .access42-editor,
html[data-theme="light"] .sys49-settings,
html[data-theme="light"] .collection-automation{background:#fff!important;color:#111820!important;border-color:rgba(22,41,58,.16)!important}
html[data-theme="light"] .trv43-nav-row,
html[data-theme="light"] .record44-jumps,
html[data-theme="light"] .record-entry-tabs,
html[data-theme="light"] .record44-commandbar,
html[data-theme="light"] .record-savebar,
html[data-theme="light"] .module-file-table th,
html[data-theme="light"] .assistant-head,
html[data-theme="light"] .assistant-form,
html[data-theme="light"] .file-viewer-head{background:#eef2f5!important;color:#111820!important;border-color:rgba(22,41,58,.16)!important}
html[data-theme="light"] .trv43-main :is(h1,h2,h3,h4,h5,h6,strong,b,th,td,label),
html[data-theme="light"] .trv43-topbar :is(h1,h2,h3,h4,strong,b,a,button),
html[data-theme="light"] .assistant :is(h1,h2,h3,h4,strong,b,p,span,small,label),
html[data-theme="light"] .drawer :is(h1,h2,h3,h4,strong,b,p,span,small,label),
html[data-theme="light"] .module-file-table td,
html[data-theme="light"] .module-file-name b{color:#111820!important;-webkit-text-fill-color:#111820!important}
html[data-theme="light"] .trv43-main :is(p,small,.muted),
html[data-theme="light"] .module-file-center header p,
html[data-theme="light"] .record-entry-head p,
html[data-theme="light"] .record-step-panel small{color:#586876!important;-webkit-text-fill-color:#586876!important}
html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select,
html[data-theme="light"] .trv-compose-row input{
  background:#fff!important;color:#111820!important;-webkit-text-fill-color:#111820!important;border-color:#bac5cf!important;caret-color:#111820!important
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{color:#697987!important;-webkit-text-fill-color:#697987!important;opacity:1!important}
html[data-theme="light"] option{background:#fff!important;color:#111820!important}
html[data-theme="light"] .module-cluster-trigger,
html[data-theme="light"] .module-cluster-popover,
html[data-theme="light"] .trv43-home-link,
html[data-theme="light"] .trv43-guide-link,
html[data-theme="light"] .access-user-chip,
html[data-theme="light"] .floating-guide-launcher,
html[data-theme="light"] .assistant-launcher,
html[data-theme="light"] .module-file-actions button,
html[data-theme="light"] .module-file-actions a{background:rgba(255,255,255,.93)!important;color:#15212b!important;border-color:rgba(22,41,58,.18)!important}
html[data-theme="light"] .guide-card{background:linear-gradient(155deg,#ffffff,#eaf2f8)!important;color:#111820!important;border-color:rgba(26,64,95,.24)!important}
html[data-theme="light"] .guide-card :is(h3,p,strong,b){color:#111820!important;-webkit-text-fill-color:#111820!important}
html[data-theme="light"] .guide-card>small,.guide-example>small{color:var(--v54-accent)!important}
html[data-theme="light"] .guide-example{background:#fff!important;border-color:#c8d4dd!important}
html[data-theme="light"] .guide-actions{background:linear-gradient(transparent,#eaf2f8 20%,#eaf2f8 100%)!important;border-color:#c8d4dd!important}
html[data-theme="light"] .guide-actions button{background:#fff!important;color:#111820!important;border-color:#b8c7d3!important}
html[data-theme="light"] .guide-actions .next{background:var(--module-accent,#2d6cdf)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html[data-theme="light"] .module-file-table tr:nth-child(even) td{background:#fafbfd!important}
html[data-theme="light"] .status.green{color:#127653!important}.status.red{color:#c51f2c!important}.status.amber{color:#8e5e00!important}

/* Windows/Edge: evitar métricas que rompen filas/controles. */
@supports (-ms-ime-align:auto){body{font-family:Arial,"Segoe UI",sans-serif}}
@media (min-width:1100px) and (max-width:1400px){
  .trv43-primary-row{gap:12px!important}.trv43-quick-actions{gap:7px!important}
  .module-file-center>header{padding:18px 20px}
}

/* Ajustes finos del asistente en tema claro: ninguna tarjeta oscura conserva texto blanco. */
html[data-theme="light"] #assistant .messages{background:linear-gradient(180deg,transparent,rgba(224,231,237,.45))!important}
html[data-theme="light"] #assistant .message.ai .ai-wrap,
html[data-theme="light"] #assistant .message.ai .ai-thinking,
html[data-theme="light"] #assistant .trv-general-search,
html[data-theme="light"] #assistant .trv-file-chip,
html[data-theme="light"] #assistant .ai-closing{background:#f8fafc!important;border-color:#cfd8e0!important;color:#111820!important}
html[data-theme="light"] #assistant :is(.ai-answer-head h4,.ai-answer-head p,.ai-section h5,.ai-section p,.ai-section li,.ai-priority h5,.ai-priority p,.ai-closing p,.trv-general-search-copy b,.trv-file-chip b,.ai-metrics .ai-metric b){color:#111820!important;-webkit-text-fill-color:#111820!important}
html[data-theme="light"] #assistant :is(.ai-metrics .ai-metric span,.ai-metrics .ai-metric small,.trv-general-search-copy small,.trv-topic-line button,.trv-file-chip small){color:#5f6e7b!important;-webkit-text-fill-color:#5f6e7b!important}
html[data-theme="light"] #assistant .trv-attach-btn{background:#fff!important;color:#111820!important;border-color:#b9c6d0!important}
html[data-theme="light"] #assistant .trv-general-search-icon{background:#e9eef2!important}
html[data-theme="light"] #assistant .trv-general-search-icon::before{border-color:#273540!important}
html[data-theme="light"] #assistant .ai-metrics .ai-metric{border-bottom-color:#d7dfe6!important}
html[data-theme="light"] #assistant .ai-section{border-left-color:#d3dce4!important}
html[data-theme="light"] #assistant .message.user>p{color:#fff!important;-webkit-text-fill-color:#fff!important}

.module-file-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.module-file-tools label{display:flex;align-items:center;gap:7px;color:var(--v54-muted);font-size:12px;font-weight:700}
.module-file-tools select{min-width:170px;padding:9px 34px 9px 10px;background:var(--v54-surface-2);color:var(--v54-text);border:1px solid var(--v54-border)}
.module-file-jump{appearance:none;border:1px solid var(--v54-border);background:var(--v54-surface-2);color:var(--v54-text);padding:10px 12px;font-weight:800;cursor:pointer}
.module-file-jump:hover{border-color:var(--v54-accent);color:var(--v54-accent)}
html[data-theme="light"] .module-file-jump,html[data-theme="light"] .module-file-tools select{background:#fff!important;color:#111820!important;border-color:#bac5cf!important}
