:root{--bg:#121212;--bg-sidebar:#191919;--surface:#1e1e1e;--surface-hover:#262626;--surface-raised:#232323;--border:#2e2e2e;--border-light:#383838;--text-primary:#ececeb;--text-secondary:#a0a0a0;--text-muted:#6b6b6b;--accent:#ff6d5a;--accent-hover:#ff8571;--accent-text:#1a1210;--danger:#e5484d;--danger-bg:#e5484d24;--success:#3dd68c;--success-bg:#3dd68c1f;--warning:#e8a33d;--warning-bg:#e8a33d24;--app-header-height:57px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text-primary);margin:0}a{color:var(--accent)}input,select,textarea{border:1px solid var(--border-light);background:var(--bg);color:var(--text-primary);border-radius:6px;padding:.5rem;font-family:inherit;font-size:.95rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input[type=date],input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input[type=checkbox],input[type=radio]{width:auto;padding:0}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-form{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:10px;flex-direction:column;gap:.35rem;width:100%;max-width:400px;padding:2.5rem;display:flex;box-shadow:0 8px 32px #0006}.login-logo{object-fit:contain;align-self:center;max-width:220px;max-height:110px;margin-bottom:.5rem}.login-form h1{color:var(--text-primary);white-space:nowrap;margin:0;font-size:1.6rem}.login-subtitle{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem}.login-form label{color:var(--text-secondary);margin-top:.5rem;font-size:.85rem;font-weight:600}.login-form input{border:1px solid var(--border-light);background:var(--bg);color:var(--text-primary);border-radius:6px;padding:.6rem;font-size:1rem}.login-form input:focus{border-color:var(--accent);outline:none}.field-error{color:var(--danger);font-size:.8rem}.form-error{background:var(--danger-bg);color:#ff8b8e;border-radius:6px;margin-top:.75rem;padding:.5rem .75rem;font-size:.85rem}.form-warning{color:var(--warning);background:#e8a33d24;border-radius:6px;margin:.75rem 0;padding:.5rem .75rem;font-size:.85rem}.plazos-convocatoria-resumen{border:1px solid var(--border-light);background:var(--surface-raised);border-radius:8px;margin:.75rem 0;padding:.75rem}.plazos-convocatoria-resumen label{margin-top:.5rem;font-weight:600;display:block}.plazos-convocatoria-resumen label:first-child{margin-top:0}.plazo-linea{align-items:baseline;gap:.4rem;margin:.35rem 0;display:flex}.plazo-linea span{color:var(--accent)}.plazo-edit-row{align-items:end}.plazos-columnas{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=720px){.plazos-columnas{grid-template-columns:1fr}}.plazos-convocatoria-resumen label.plazos-columna-titulo{color:var(--accent);margin-top:0;margin-bottom:.5rem;font-size:1rem;font-weight:700;display:block}.login-form button{background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:6px;margin-top:1.25rem;padding:.7rem;font-size:1rem;font-weight:600}.login-form button:hover{background:var(--accent-hover)}.login-form button:disabled{opacity:.6;cursor:default}.page-loading{min-height:100vh;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.app-shell{min-height:100vh;padding-left:64px;display:flex}.app-sidebar{z-index:20;background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;width:64px;height:100vh;padding:1rem 0;display:flex;position:fixed;top:0;left:0}.sidebar-brand{background:var(--accent);width:36px;height:36px;color:var(--accent-text);border-radius:8px;justify-content:center;align-items:center;margin-bottom:1.5rem;font-size:1rem;font-weight:700;text-decoration:none;display:flex;overflow:hidden}.sidebar-brand-con-logo{background:#fff}.sidebar-brand-logo{object-fit:contain;width:100%;height:100%;padding:3px}.sidebar-settings{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-bottom:.5rem;font-size:1rem;text-decoration:none;display:flex}.sidebar-settings:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-spacer{flex:1}.sidebar-user{background:var(--surface-raised);border:1px solid var(--border-light);width:36px;height:36px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:flex}.sidebar-logout{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:.75rem;display:flex}.sidebar-logout:hover{background:var(--surface-hover);color:var(--text-primary)}.app-main{flex:1;width:100%;min-width:0;max-width:1100px;margin:0 auto;padding:0 2rem 2rem}.app-header{height:var(--app-header-height);box-sizing:border-box;z-index:10;background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 0;display:grid;position:sticky;top:0;overflow:hidden}.app-header-proyecto{text-overflow:ellipsis;justify-self:center;font-weight:700;overflow:hidden}.app-header-back{background:var(--surface-raised);border:1px solid var(--border-light);color:var(--text-primary);border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.app-header-back:hover{background:var(--surface-hover);border-color:var(--accent)}.app-header-proyecto-organismo{color:var(--text-secondary);font-size:.85rem;font-weight:400}.app-header-nombre{color:var(--text-secondary);flex-shrink:0;font-size:.85rem;font-weight:600}.empresa-logo-row{align-items:center;gap:1rem;margin:.5rem 0 1rem;display:flex}.empresa-logo-preview{object-fit:contain;background:var(--bg);border:1px solid var(--border-light);border-radius:8px;width:64px;height:64px;padding:.4rem}.page h1{color:var(--text-primary)}.back-link{background:var(--surface-raised);border:1px solid var(--border-light);color:var(--text-primary);border-radius:6px;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.45rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.muted{color:var(--text-secondary);font-size:.9rem}.texto-cargando{animation:1.3s ease-in-out infinite parpadeo-cargando}@keyframes parpadeo-cargando{0%,to{opacity:1}50%{opacity:.35}}.tabs{border-bottom:1px solid var(--border);top:var(--app-header-height);z-index:9;background:var(--surface-raised);border-radius:8px 8px 0 0;gap:1.5rem;margin:1.5rem 0 1.75rem;padding:0 .5rem .75rem;display:flex;position:sticky;box-shadow:0 4px 10px #00000059}.tabs:after{content:"";background:linear-gradient(to bottom, var(--bg), transparent);pointer-events:none;height:1.25rem;position:absolute;top:100%;left:0;right:0}.tab-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem .1rem;font-size:.95rem}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:600}.tabs-destacadas{border-bottom:none;gap:.5rem}.tabs-destacadas .tab-button{background:var(--surface-raised);border-bottom:none;border:1px solid var(--border-light);border-radius:999px;padding:.5rem 1rem}.tabs-destacadas .tab-button:hover{border-color:var(--accent)}.tabs-destacadas .tab-button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:1.25rem;padding:1.5rem}.panel h2{color:var(--text-primary);margin-top:0;font-size:1.05rem}.panel-bob-candidatos{margin-bottom:.5rem;padding:.6rem 1.5rem}.bob-candidatos-cabecera{flex-wrap:wrap;align-items:flex-start;gap:.9rem;display:flex}.bob-candidatos-cabecera p{order:2;margin:0}.bob-candidatos-cabecera details{order:1}.panel-bob-candidatos details{margin-top:0}.panel-bob-candidatos details summary{padding:.35rem .7rem;font-size:.9rem}.panel-bob-candidatos details summary.summary-pendiente{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.section-divider{border:none;border-top:1px solid var(--border-light);margin:1.75rem 0 1.25rem}.proyectos-list,.convocatorias-list,.documentos-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.proyectos-list li,.convocatorias-list li,.documentos-list li,.categorias-list li{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;padding:.85rem 1rem}.categorias-list{flex-direction:column;gap:.5rem;margin:.75rem 0 1rem;padding:0;list-style:none;display:flex}.categoria-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.categoria-row span{flex:1}.proyectos-list li:hover{background:var(--surface-hover);border-color:var(--border-light)}.convocatoria-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.proyecto-row-titulo{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.proyecto-resumen-badges{gap:.4rem;display:inline-flex}.convocatoria-row button{background:var(--accent);color:var(--accent-text);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.convocatoria-row button:hover{background:var(--accent-hover)}.convocatoria-row button:disabled{background:var(--border-light);color:var(--text-muted);cursor:not-allowed}.memoria-resultado,.success-message{z-index:1000;background:var(--success-bg);max-width:min(24rem,100vw - 2rem);color:var(--success);border-radius:6px;padding:.55rem .75rem;font-size:.9rem;position:fixed;top:4rem;right:1rem;box-shadow:0 4px 16px #00000059}.memoria-resultado a{color:var(--success);font-weight:700}.convocatoria-edit-form,.generar-documento-panel{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:.75rem;padding:1rem}.convocatoria-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}button.link-button{border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .7rem;font-size:.85rem}button.link-button:hover{color:var(--text-primary);border-color:var(--text-secondary)}button.link-button-danger{color:var(--danger);border-color:var(--danger)}button.link-button-danger:hover{background:var(--danger-bg)}.proyectos-list a{color:var(--text-primary);text-decoration:none;display:block}.proyectos-list strong{color:var(--text-primary)}.documento-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.documento-valor{color:var(--text-secondary);margin:.3rem 0 0}.extraccion-correccion{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.extraccion-correccion textarea{resize:vertical;width:100%}.documentos-list li.extraccion-item{border-left:4px solid var(--border-light)}.documentos-list li.extraccion-item-pendiente{border-left-color:var(--text-muted)}.documentos-list li.extraccion-item-ambiguo{border-left-color:var(--warning)}.documentos-list li.extraccion-item-verificado{border-left-color:var(--success)}.documentos-list li.extraccion-item-descartado{border-left-color:var(--text-muted);opacity:.7}.extracciones-filtros{flex-wrap:wrap;gap:.6rem;margin:.75rem 0 1rem;display:flex}.extracciones-buscador{flex:1;min-width:220px;position:relative}.extracciones-buscador svg{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.extracciones-buscador input{border:1px solid var(--border-light);background:var(--surface-raised);width:100%;color:var(--text-primary);border-radius:999px;padding:.5rem .75rem .5rem 2.1rem;font-family:inherit;font-size:.9rem}.extracciones-buscador input:focus{border-color:var(--accent);outline:none}.select-filtro{border:1px solid var(--border-light);background:var(--surface-raised);color:var(--text-primary);border-radius:999px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem}.select-filtro:focus{border-color:var(--accent);outline:none}.stacked-form input.input-pastilla,input.input-pastilla{border:1px solid var(--border-light);background:var(--surface-raised);color:var(--text-primary);border-radius:999px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem}.stacked-form input.input-pastilla:focus,input.input-pastilla:focus{border-color:var(--accent);outline:none}.documento-row-secundaria{justify-content:space-between;margin-top:.4rem}.documento-tags{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.documento-row a{color:var(--text-primary);font-weight:500}.documento-row a:hover{color:var(--accent)}.documento-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto;display:flex}.documento-actions button{border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .65rem;font-size:.8rem}.documento-actions button:hover{color:var(--text-primary);border-color:var(--text-secondary)}.documento-actions button.link-button-danger{color:var(--danger);border-color:var(--danger)}.documento-actions button.link-button-danger:hover{background:var(--danger-bg)}.replace-label{border:1px solid var(--border-light);cursor:pointer;color:var(--text-secondary);border-radius:6px;padding:.3rem .65rem;font-size:.8rem;position:relative;overflow:hidden}.replace-label:hover{color:var(--text-primary);border-color:var(--text-secondary)}.replace-label input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.tag{letter-spacing:.02em;color:var(--accent-text);background:var(--accent);border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.tag-output{color:#06121f;background:#4a9eff}.tag-warning{background:var(--warning);color:#23150a}.tag-categoria{background:var(--surface-raised);border:1px solid var(--border-light);color:var(--text-secondary)}.tag-convocatoria{color:#4a9eff;background:#4a9eff24;border:1px solid #4a9eff66}.tag-convocatoria-vacia,.tag-estado-pendiente{background:var(--surface-raised);border:1px solid var(--border-light);color:var(--text-muted)}.tag-estado-completado{background:var(--success-bg);color:var(--success)}.tag-estado-error{background:var(--danger-bg);color:var(--danger)}.tag-estado-no_aplica{background:var(--surface-raised);border:1px solid var(--border-light);color:var(--text-muted);font-style:italic}.tag-estado-revision_manual{color:var(--warning);background:#e8a33d24}.tag-estado-verificado{background:var(--success-bg);color:var(--success)}.tag-estado-ambiguo{color:var(--warning);background:#e8a33d24}.tag-estado-descartado{background:var(--surface-raised);border:1px solid var(--border-light);color:var(--text-muted);text-decoration:line-through}.tag-estado-en_curso{color:var(--warning);background:#e8a33d24}.tag-estado-entregado{background:var(--success-bg);color:var(--success)}.tag-estado-vencido{background:var(--danger-bg);color:var(--danger)}.panel-control{grid-template-columns:repeat(5,1fr);gap:.75rem;margin:1rem 0 1.5rem;display:grid}.panel-control-tarjeta{border:1px solid var(--border-light);background:var(--surface-raised);border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.panel-control-valor{font-size:1.8rem;font-weight:700}.panel-control-etiqueta{color:var(--text-secondary);font-size:.9rem}.panel-control-tarjeta.panel-control-rojo{border-color:var(--danger);background:var(--danger-bg)}.panel-control-tarjeta.panel-control-rojo .panel-control-valor{color:var(--danger)}.panel-control-tarjeta.panel-control-ambar{border-color:var(--warning);background:var(--warning-bg)}.panel-control-tarjeta.panel-control-ambar .panel-control-valor{color:var(--warning)}.panel-control-tarjeta-doble .panel-control-par{flex-direction:column;gap:.35rem;display:flex}.panel-control-tarjeta-doble .panel-control-sub{flex-direction:row;align-items:baseline;gap:.4rem;display:flex}.panel-control-tarjeta-doble .panel-control-valor{font-size:1.4rem}.panel-control-valor.panel-control-rojo{color:var(--danger)}.panel-control-valor.panel-control-ambar{color:var(--warning)}.panel-control-titulo{margin-bottom:.25rem}.lista-hitos{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.hito-card{border:1px solid var(--border-light);background:var(--surface-raised);border-left-width:4px;border-radius:8px}.hito-card.semaforo-verde{border-left-color:var(--success)}.hito-card.semaforo-ambar{border-left-color:var(--warning)}.hito-card.semaforo-rojo{border-left-color:var(--danger)}.hito-fecha-limite{font-weight:600}.hito-fecha-limite.semaforo-verde{color:var(--success)}.hito-fecha-limite.semaforo-ambar{color:var(--warning)}.hito-fecha-limite.semaforo-rojo{color:var(--danger)}.hito-cabecera{cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.hito-info{overflow-wrap:break-word;flex:1}.hito-info-linea2{margin-top:.2rem;font-size:.9rem}.hito-completitud{text-align:right;min-width:3ch;font-size:.85rem}.hito-checklist{border-top:1px solid var(--border-light);flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.hito-convocatoria-info{border-bottom:1px solid var(--border-light);color:var(--text-secondary);padding-bottom:.5rem;font-size:.9rem}.hito-convocatoria-info p{margin:.2rem 0}.documento-requerido-fila{align-items:center;gap:.75rem;display:flex}.documento-requerido-fila span:first-child{flex:1}.documento-requerido-nuevo{gap:.5rem;display:flex}.documento-requerido-nuevo input{flex:1}.plazo-nuevo-form{margin-top:.75rem;margin-bottom:1rem}.tabla-capacidades{border-collapse:collapse;width:100%;margin:.5rem 0}.tabla-capacidades th,.tabla-capacidades td{text-align:left;border-bottom:1px solid var(--border-light);padding:.4rem .6rem}.tabla-capacidades th{color:var(--text-muted);font-weight:600}.desglose-itinerario{grid-template-columns:repeat(3,1fr);gap:.5rem 1rem;padding:.6rem .6rem .8rem;display:grid}.desglose-itinerario>div{padding-left:1rem;font-size:.85rem;line-height:1.4;position:relative}.desglose-itinerario>div:before{content:"•";color:var(--text-muted);position:absolute;left:0}.documento-resumen{color:var(--text-secondary);margin:.4rem 0 0;padding-left:.1rem;font-size:.85rem;line-height:1.4}.documento-resumen p,.documento-resumen ul,.documento-resumen ol{margin:0 0 .5rem}.documento-resumen p:last-child,.documento-resumen ul:last-child,.documento-resumen ol:last-child{margin-bottom:0}.documento-resumen ul,.documento-resumen ol{padding-left:1.2rem}.documento-resumen strong{color:var(--text-primary)}.aviso-no-indexable{color:var(--warning);margin:.3rem 0 0;font-size:.85rem}.nueva-categoria-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.nueva-categoria-row input{border:1px solid var(--border-light);background:var(--bg);min-width:200px;color:var(--text-primary);border-radius:6px;flex:1;padding:.5rem}.checkbox-inline{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.entregables-progreso{margin-bottom:1rem}.entregables-barra{background:var(--surface-raised);border-radius:4px;height:8px;margin-bottom:.4rem;overflow:hidden}.entregables-barra-relleno{background:var(--accent);border-radius:4px;height:100%;transition:width .2s}.entregables-checklist{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.stacked-form label.checkbox-inline{align-self:flex-start;width:auto;margin-top:.75rem;display:inline-flex}.nueva-categoria-row input[type=checkbox]{background:0 0;border:none;flex:none;width:auto;min-width:0;padding:0}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.inline-form label,.stacked-form label{color:var(--text-secondary);margin-top:.5rem;font-size:.8rem;font-weight:600;display:block}.inline-form input,.stacked-form input,.stacked-form select,.stacked-form textarea{border:1px solid var(--border-light);background:var(--bg);width:100%;color:var(--text-primary);border-radius:6px;padding:.5rem;font-family:inherit;font-size:.95rem}.inline-form input[type=date],.stacked-form input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.inline-form input:focus,.stacked-form input:focus,.stacked-form select:focus,.stacked-form textarea:focus{border-color:var(--accent);outline:none}.stacked-form{flex-direction:column;width:100%;margin-top:.75rem;display:flex}.form-row{flex-wrap:wrap;gap:1rem;display:flex}.form-row .field-group{flex-direction:column;flex:1;min-width:160px;display:flex}.candidato-acciones{align-items:center;margin-top:.5rem}.plantillas-instrucciones{border-bottom:1px solid var(--border-light);margin-bottom:.75rem;padding-bottom:.75rem}.plantillas-instrucciones-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.plantillas-instrucciones-guardar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.plantillas-instrucciones-guardar input{border:1px solid var(--border-light);background:var(--bg);min-width:200px;color:var(--text-primary);border-radius:6px;flex:1;padding:.5rem}.plantillas-instrucciones-guardar button:not(.link-button){background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.plantillas-instrucciones-guardar button:not(.link-button):hover{background:var(--accent-hover)}.checkbox-label{color:var(--text-secondary);align-items:center;gap:.4rem;margin-top:.75rem;display:flex!important}.checkbox-label input{width:auto!important}button:not(.link-button):not(.tab-button):not(.documento-actions button){background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:6px;padding:.55rem 1.1rem;font-family:inherit;font-weight:600}button:not(.link-button):not(.tab-button):not(.documento-actions button):hover{background:var(--accent-hover)}button:disabled:not(.tab-button){background:var(--border-light);color:var(--text-muted);cursor:default}.inline-form button:not(.link-button),.stacked-form button:not(.link-button),.documento-actions button[type=submit]{margin-top:.75rem}.inline-form button:disabled,.stacked-form button:disabled{background:var(--border-light);color:var(--text-muted);cursor:not-allowed}.clasificacion-form{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:.5rem;padding:1rem}details{margin-top:1rem}details summary{cursor:pointer;background:var(--surface-raised);border:1px solid var(--border-light);color:var(--text-primary);border-radius:6px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-weight:600;list-style:none;display:inline-flex}details summary::-webkit-details-marker{display:none}details summary:before{content:"▸";color:var(--accent);font-size:.75rem;transition:transform .15s}details[open] summary:before{transform:rotate(90deg)}details[open] summary{border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}details summary:hover{background:var(--surface-hover);border-color:var(--accent)}details>:not(summary){background:var(--surface-raised);border:1px solid var(--border-light);border-top:none;border-radius:0 0 6px 6px;margin:0;padding:1rem}.confirm-modal-overlay,.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface-raised);border:1px solid var(--border-light);border-radius:10px;width:100%;max-width:560px;max-height:85vh;padding:1.5rem;overflow-y:auto;box-shadow:0 12px 32px #00000080}.modal-panel .panel{background:0 0;border:none;margin-top:0;padding:0}.confirm-modal{background:var(--surface-raised);border:1px solid var(--border-light);border-radius:10px;width:100%;max-width:420px;padding:1.5rem;box-shadow:0 12px 32px #00000080}.confirm-modal p{color:var(--text-primary);overflow-wrap:break-word;margin:0 0 1.25rem;line-height:1.5}.confirm-modal-actions{justify-content:flex-end;gap:.6rem;display:flex}.confirm-modal-danger{background:var(--danger);color:var(--text-primary);cursor:pointer;border:none;border-radius:6px;padding:.55rem 1.1rem;font-weight:600}.confirm-modal-danger:hover{filter:brightness(1.1)}.textarea-warning{background:#e8a33d14;border-color:var(--warning)!important}.generar-documento-acciones{flex-wrap:wrap;gap:.6rem;display:flex}.stacked-form button.secondary-button{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:6px;margin-top:.75rem;padding:.55rem 1.1rem;font-weight:600}.stacked-form button.secondary-button:hover{background:#ff6d5a1a}.stacked-form button.secondary-button:disabled{border-color:var(--border-light);color:var(--text-muted);cursor:not-allowed;background:0 0}.texto-formateado{border:1px solid var(--border-light);background:var(--bg);color:var(--text-primary);border-radius:6px;min-height:12rem;max-height:22rem;padding:.6rem .7rem;font-size:.95rem;line-height:1.2;overflow-y:auto}.texto-formateado-warning{border-color:var(--warning);background:#e8a33d14}.texto-formateado p{margin:0 0 .6rem}.texto-formateado p:last-child{margin-bottom:0}.texto-formateado ol{margin:0 0 .6rem;padding-left:1.3rem}.texto-formateado ol:last-child,.texto-formateado li{margin-bottom:0}.marcador{font-weight:700}.marcador-pendiente{color:var(--warning)}.marcador-ambiguo{color:var(--warning);text-decoration:underline}.marcador-sinverificar{color:var(--danger)}.marcador-verificado{color:var(--success)}.respuesta-markdown{border:1px solid var(--border-light);background:var(--bg);color:var(--text-primary);border-radius:6px;max-height:32rem;padding:.6rem .9rem;font-size:.95rem;line-height:1.45;overflow-y:auto}.respuesta-markdown>:first-child{margin-top:0}.respuesta-markdown>:last-child{margin-bottom:0}.respuesta-markdown h1,.respuesta-markdown h2,.respuesta-markdown h3{margin:1rem 0 .5rem;line-height:1.3}.respuesta-markdown p,.respuesta-markdown ul,.respuesta-markdown ol{margin:0 0 .7rem}.respuesta-markdown ul,.respuesta-markdown ol{padding-left:1.3rem}.respuesta-markdown table{border-collapse:collapse;width:100%;margin:0 0 .9rem;font-size:.9rem}.respuesta-markdown th,.respuesta-markdown td{border:1px solid var(--border-light);text-align:left;padding:.35rem .5rem}.respuesta-markdown th{background:var(--bg-secondary,#ffffff0a);font-weight:700}@media (width<=640px){.app-main{padding:1.25rem 1rem}.panel{padding:1rem}.panel-control{grid-template-columns:repeat(2,1fr)}.convocatoria-row,.documento-row{flex-direction:column;align-items:flex-start}.documento-actions{margin-left:0}.tabs{gap:1rem}}
