*{box-sizing:border-box} body{margin:0;font-family:Arial,sans-serif;background:#f5f5f5;color:#222;font-size:14px} main{width:calc(100% - 80px);max-width:1500px;margin:0 auto;padding:14px 0}.card{background:#fff;border:1px solid #ddd;padding:14px;margin-bottom:16px;border-radius:8px}.login-card{max-width:420px;margin:60px auto}.hidden{display:none!important}label{display:block;margin-top:8px;margin-bottom:3px;font-weight:bold}input,textarea,button,select{padding:6px;font-size:13px}input,textarea,select{width:100%;border:1px solid #aaa;border-radius:4px;background:#fff}textarea{resize:vertical}button{cursor:pointer;border:1px solid #444;border-radius:4px;background:#fff;white-space:nowrap}button:hover{background:#eee}.topbar,.detail-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.topbar h1{margin-bottom:8px}.main-nav{display:flex;gap:6px}.nav-button.active{font-weight:bold;background:#e8e8e8}.detail-title{flex:1;text-align:center}.detail-title h1{margin:4px 0 0;font-size:25px;line-height:1.1}.muted{color:#555;font-size:14px;line-height:1.15}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(180px,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(180px,1fr))}.affiliate-search-grid{grid-template-columns:repeat(5,minmax(140px,1fr))}.actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.table-wrapper,.procol-table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{border:1px solid #ddd;padding:5px;text-align:left;vertical-align:top}th{background:#f3f3f3}.error,#affiliateFormResult{color:#b00020}.delete-center-button,.delete-affiliate-button{display:none}.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.modal-content{background:#fff;width:100%;max-width:520px;max-height:92vh;overflow:auto;padding:20px;border-radius:8px}.modal-content-wide{max-width:760px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-heading h2{margin:0}.compact-info{margin:4px 0 0}.link-button{border:0;padding:0;background:transparent;text-decoration:underline;white-space:normal;text-align:left}.detail-layout{display:grid;grid-template-columns:max-content minmax(760px,1fr);gap:12px;align-items:start}.left-panel,.right-panel{min-width:0}.professional-block{display:grid;grid-template-columns:145px max-content;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #ddd;align-items:start}.professional-block:last-child{border-bottom:0;margin-bottom:0}.professional-counts h3{margin:0 0 24px;font-size:21px}.count-grid{display:grid;grid-template-columns:repeat(3,42px);gap:4px;max-width:150px}.count-grid label{font-size:11px;font-weight:normal;text-align:center;margin:0}.count-grid input{width:42px;min-width:42px;height:27px;padding:3px 5px;font-size:13px;text-align:center}.radio-grid{display:grid;grid-template-columns:repeat(3,100px);gap:6px;align-items:start;padding-top:48px}.radio-group{width:100px;min-width:100px;border:1px solid #ddd;padding:5px;border-radius:4px}.radio-group-title{min-height:30px;font-size:12px;font-weight:bold;line-height:1.12;margin-bottom:3px}.radio-options{display:flex;gap:6px;align-items:center;flex-wrap:nowrap;margin-top:1px}.radio-options label{display:inline-flex;align-items:center;gap:2px;margin:0;font-size:12px;font-weight:normal;line-height:1;white-space:nowrap}.radio-options input[type=radio]{width:auto;margin:0;transform:scale(.85)}.procol-table{table-layout:fixed;min-width:760px}.procol-table th:nth-child(1),.procol-table td:nth-child(1){width:110px}.procol-table th:nth-child(2),.procol-table td:nth-child(2){width:260px}.procol-table th:nth-child(n+3),.procol-table td:nth-child(n+3){width:118px}.role-data input{height:29px;margin-bottom:5px;padding:5px 7px;font-size:13px}.procol-cell .radio-options{justify-content:center}.right-panel textarea{min-height:110px}#observacionesCentro{min-height:95px}.affiliates-table{min-width:950px}.affiliates-table td:last-child{white-space:nowrap}
@media(max-width:1400px){main{width:calc(100% - 36px)}.detail-layout{grid-template-columns:max-content minmax(720px,1fr);gap:10px}.affiliate-search-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1180px){main{width:calc(100% - 20px)}.detail-layout{grid-template-columns:1fr}.left-panel{width:max-content;max-width:100%;overflow-x:auto}.procol-table{min-width:760px}}
@media(max-width:900px){.grid-2,.grid-3,.affiliate-search-grid{grid-template-columns:1fr}.topbar,.detail-header{align-items:stretch;flex-direction:column}.detail-title{text-align:left}.detail-title h1{font-size:22px}.professional-block{grid-template-columns:1fr}.professional-counts h3{margin-bottom:8px}.radio-grid{grid-template-columns:1fr;padding-top:0}.radio-group{width:100%;min-width:0}.left-panel{width:100%}.section-heading{align-items:flex-start;flex-direction:column}}
.danger-button { background: #b42318; color: white; border: 1px solid #b42318; }
.danger-button:hover:not(:disabled) { background: #912018; }
.danger-button:disabled { opacity: .45; cursor: not-allowed; }
.detail-delete-actions { display: flex; justify-content: flex-end; margin: 16px 0 30px; }
#centersTableBody .center-checkbox, #selectAllCenters { width: 17px; height: 17px; cursor: pointer; }

/* Tabla de centros: cinco columnas alineadas, incluida la selección */
.centers-results-table { width:100%; table-layout:fixed; min-width:800px; }
.centers-results-table col.center-select-col { width:44px; }
.centers-results-table col.center-asi-col { width:17%; }
.centers-results-table col.center-management-col { width:31%; }
.centers-results-table col.center-work-col { width:auto; }
.centers-results-table col.center-actions-col { width:100px; }
.centers-results-table th,.centers-results-table td { padding:7px 8px; overflow-wrap:anywhere; vertical-align:middle; }
.centers-results-table th:first-child,.centers-results-table td:first-child { text-align:center; padding:5px; }
.centers-results-table th:last-child,.centers-results-table td:last-child { text-align:center; }
.centers-results-table input[type=checkbox] { display:inline-block; width:17px; height:17px; margin:0; vertical-align:middle; }

/* Expedientes y selección múltiple */
.exp-table{min-width:1000px;table-layout:auto}.exp-table th:first-child,.exp-table td:first-child,.affiliates-table th:first-child,.affiliates-table td:first-child{width:40px;text-align:center;vertical-align:middle}.exp-table input[type=checkbox],.affiliates-table input[type=checkbox]{width:17px;height:17px}.exp-closed td{background:#e6e6e6;color:#666}.exp-closed button{color:#666}.phase-fields{border:1px solid #ddd;border-radius:5px;margin:12px 0;padding:12px}.phase-fields legend{font-weight:bold}.affiliates-table{min-width:1050px}.delete-affiliate-button{display:inline-block;margin-left:5px}.exp-table td{vertical-align:middle}.modal-content-wide{max-width:800px}

/* Ajustes de búsqueda y listado de centros */
.centers-search-grid { grid-template-columns: minmax(240px, 520px); }
.centers-results-table { min-width: 650px; }
.centers-results-table col.center-work-col { width: auto; }
.centers-results-table col.center-count-col { width: 58px; }
.centers-results-table thead th:nth-child(3),
.centers-results-table thead th:nth-child(4) { text-align: center; padding-left: 3px; padding-right: 3px; vertical-align: middle; }
.centers-results-table thead th:nth-child(3) span,
.centers-results-table thead th:nth-child(4) span { display: inline-block; vertical-align: middle; }
.centers-results-table .count-cell { text-align: center; font-variant-numeric: tabular-nums; font-weight: 600; }
/* Expedientes: fechas, registro y estado compactos */
.exp-search-grid { grid-template-columns: minmax(170px,2fr) minmax(170px,2fr) minmax(140px,1.35fr) minmax(145px,1fr) minmax(145px,1fr) minmax(135px,.9fr); align-items: end; }
.exp-search-grid input[type=date] { min-width: 0; }
.exp-table { min-width: 890px; table-layout: fixed; }
.exp-table col.exp-select-col { width: 40px; }
.exp-table col.exp-center-col { width: 22%; }
.exp-table col.exp-title-col { width: auto; }
.exp-table col.exp-reg-col { width: 115px; }
.exp-table col.exp-date-col { width: 108px; }
.exp-table col.exp-status-col { width: 112px; }
.exp-table col.exp-actions-col { width: 78px; }
.exp-table th,.exp-table td { overflow-wrap: anywhere; }
@media(max-width:1150px) { .exp-search-grid { grid-template-columns: repeat(3,minmax(160px,1fr)); } }
@media(max-width:650px) { .exp-search-grid { grid-template-columns: 1fr; } .centers-search-grid { grid-template-columns: 1fr; } }

/* ProTFAR | Identidad visual institucional. Capa de presentación sin cambios funcionales. */
:root{--color-primary:#00B4A6;--color-primary-dark:#008F82;--color-primary-action:#00796F;--color-primary-hover:#006F66;--color-primary-light:#E6F7F5;--color-secondary:#7A4D86;--color-secondary-light:#EFE8F4;--color-text:#2F3A3F;--color-text-muted:#66757C;--color-background:#F6F8FA;--color-surface:#FFFFFF;--color-border:#DEE5E8}
html{color-scheme:light}body{font-family:Inter,Arial,sans-serif;background:var(--color-background);color:var(--color-text);font-size:14px;line-height:1.5}main{max-width:1600px;padding-top:24px}h1,h2,h3{letter-spacing:-.025em;color:var(--color-text)}h1{font-weight:700}h2{font-size:19px;font-weight:700}h3{font-weight:600}.card{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 2px 12px rgba(47,58,63,.035);padding:22px;margin-bottom:18px}.topbar{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:15px 20px;box-shadow:0 2px 12px rgba(47,58,63,.035);margin-bottom:20px;flex-wrap:wrap}.topbar>div:nth-child(2){flex:1}.topbar h1{font-size:19px;margin:0 0 10px}.brand{display:flex;align-items:center;gap:10px;min-width:185px}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--color-primary-light);display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary-dark);font-size:24px}.brand-name{font-size:22px;font-weight:800;letter-spacing:-.05em;line-height:1.1}.brand-name>span,.login-brand strong{color:var(--color-primary-dark)}.brand-name small{display:block;color:var(--color-text-muted);font-size:10px;font-weight:500;letter-spacing:0;margin-top:5px}.main-nav{gap:5px;flex-wrap:wrap}.nav-button{border:0;border-left:3px solid transparent;background:transparent;color:var(--color-text);padding:10px 14px;border-radius:7px;font-weight:500}.nav-button:hover{background:var(--color-primary-light)}.nav-button.active{border-left-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-action);font-weight:700}.nav-button .icon{font-size:18px;vertical-align:middle;margin-right:5px}label{font-weight:600;color:var(--color-text);font-size:13px;margin-bottom:6px}input,select,textarea{border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);padding:9px 10px;background:#fff;font-family:inherit;font-size:13px}input:hover,select:hover,textarea:hover{border-color:#a9c6c5}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--color-primary-action);outline-offset:2px}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary-action)}button{font-family:inherit;font-size:13px;font-weight:600;border:1px solid var(--color-primary-action);background:#fff;color:var(--color-primary-action);border-radius:7px;padding:9px 13px;transition:background .15s ease,color .15s ease,border-color .15s ease}button:hover:not(:disabled){background:var(--color-primary-light)}button:disabled{opacity:.48;cursor:not-allowed;background:#f1f3f4;color:#66757c;border-color:#d5dcdf}.actions button:first-child:not(.danger-button),#saveDetailButton,#expCreateButton,#openAddCenterModalButton,#openAffiliateModalButton,#addAffiliateFromCenterButton{background:var(--color-primary-action);color:white;border-color:var(--color-primary-action)}.actions button:first-child:not(.danger-button):hover,#saveDetailButton:hover,#expCreateButton:hover,#openAddCenterModalButton:hover,#openAffiliateModalButton:hover,#addAffiliateFromCenterButton:hover{background:var(--color-primary-hover);color:#fff}.danger-button{background:#b42318!important;color:#fff!important;border-color:#b42318!important}.danger-button:hover:not(:disabled){background:#912018!important}.logout-button{background:#fff}.section-heading{margin-bottom:8px}.section-heading h2{position:relative;padding-left:12px}.section-heading h2:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:5px;background:var(--color-primary)}table{border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:9px;overflow:hidden}th,td{border:0;border-bottom:1px solid var(--color-border);padding:10px 9px}th{background:#f3f6f7;color:var(--color-text);font-weight:700}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f5fbfa}tbody tr:has(input[type=checkbox]:checked) td{background:var(--color-primary-light)}.centers-results-table th,.centers-results-table td{padding:10px 8px}.centers-results-table thead th:nth-child(3),.centers-results-table thead th:nth-child(4){color:var(--color-primary-dark);font-size:20px}.centers-results-table .count-cell{color:var(--color-primary-action)}.exp-closed td{background:#eff1f2;color:#66757c}.exp-closed:hover td{background:#e7e9ea}.phase-fields{border-color:var(--color-secondary-light);background:#faf7fc;border-radius:9px}.phase-fields legend{color:var(--color-secondary)}.modal{background:rgba(24,39,44,.55)}.modal-content{border-radius:12px;border:1px solid var(--color-border);box-shadow:0 15px 50px rgba(47,58,63,.16);padding:26px}.muted{color:var(--color-text-muted)}.login-card{max-width:440px;margin:8vh auto;padding:34px}.login-card h1{font-size:23px;margin-bottom:4px}.login-subtitle{color:var(--color-text-muted);margin:0 0 22px}.login-brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:800;letter-spacing:-.05em;margin-bottom:18px}.login-brand .brand-mark{width:52px;height:52px;font-size:28px}.login-card form button{margin-top:15px;background:var(--color-primary-action);color:#fff;padding:11px 20px}.login-card form button:hover{background:var(--color-primary-hover);color:#fff}.radio-group{border-color:var(--color-border);border-radius:7px}.professional-block{border-bottom-color:var(--color-border)}.link-button{color:var(--color-primary-action)}.detail-header{padding:14px 0}.detail-title h1{color:var(--color-primary-action)}
@media(max-width:900px){main{width:calc(100% - 24px);padding-top:12px}.card{padding:15px}.topbar{padding:14px}.brand{width:100%}.topbar>div:nth-child(2){width:100%}.nav-button{padding:9px 11px}.login-card{margin:35px auto}}

/* ProTFAR: buscadores compactos y campos de identidad editables */
#searchView > section.card:first-of-type,
#affiliatesView > section.card:first-of-type,
#expedientesView > section.card:first-of-type { padding-top: 13px; padding-bottom: 15px; }
#searchView > section.card:first-of-type > h2,
#affiliatesView > section.card:first-of-type > h2,
#expedientesView > section.card:first-of-type > h2 { margin: 0 0 10px; line-height: 1.25; }
#searchView > section.card:first-of-type .actions,
#affiliatesView > section.card:first-of-type .actions,
#expedientesView > section.card:first-of-type .actions { margin-top: 9px; }
.center-identity-fields { display:grid; grid-template-columns: minmax(130px, 1fr) minmax(180px, 1.3fr) minmax(240px, 2fr); gap:10px; align-items:end; width:100%; }
.detail-header .detail-title { flex:1; min-width:0; text-align:left; }
.center-identity-fields label { margin:0; font-size:12px; color:var(--color-text-muted); }
.center-identity-fields input { display:block; width:100%; margin-top:4px; font-size:14px; font-weight:600; }
@media(max-width:1000px) { .center-identity-fields {grid-template-columns:1fr;} }

/* ProTFAR: controles de búsqueda compactos y acciones de creación a la derecha */
:root { --color-primary-action:#00B4A6; --color-primary-hover:#008F82; }
#searchView > section.card:first-of-type,
#affiliatesView > section.card:first-of-type,
#expedientesView > section.card:first-of-type { padding-top:15px; }
#searchView > section.card:first-of-type .actions,
#affiliatesView > section.card:first-of-type .actions,
#expedientesView > section.card:first-of-type .actions { display:flex;align-items:center;flex-wrap:wrap;gap:9px; }
#openAddCenterModalButton,#openAffiliateModalButton,#expCreateButton {
  margin-left:auto;background:#00B4A6!important;border-color:#00B4A6!important;color:#173739!important;
}
#openAddCenterModalButton:hover,#openAffiliateModalButton:hover,#expCreateButton:hover {
  background:#008F82!important;border-color:#008F82!important;color:#fff!important;
}
/* Turquesa corporativo para superficies y acciones; tono oscuro en texto pequeño */
.actions button:first-child:not(.danger-button),#saveDetailButton,#addAffiliateFromCenterButton,
.login-card form button {background:#00B4A6;border-color:#00B4A6;color:#173739;}
.actions button:first-child:not(.danger-button):hover,#saveDetailButton:hover,#addAffiliateFromCenterButton:hover,
.login-card form button:hover {background:#008F82;border-color:#008F82;color:white;}
#deleteSelectedCentersButton,#deleteSelectedAffiliatesButton,#deleteSelectedExpButton {
  background:#7A4D86!important;border-color:#7A4D86!important;color:#fff!important;
}
#deleteSelectedCentersButton:hover:not(:disabled),#deleteSelectedAffiliatesButton:hover:not(:disabled),#deleteSelectedExpButton:hover:not(:disabled) {
  background:#633C6D!important;border-color:#633C6D!important;
}
.center-name-link {border:0;background:transparent;padding:3px 0;text-align:left;font-weight:650;
  color:#00796F;text-decoration:none;white-space:normal;line-height:1.4;}
.center-name-link:hover:not(:disabled) {background:transparent;text-decoration:underline;color:#006F66;}
.center-name-link:focus-visible {outline:2px solid #00796F;outline-offset:3px;}



/* Pestañas de ficha de centro */
.center-tabs{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid var(--color-border);margin:6px 0 18px;}
.center-tab{border:0;border-bottom:3px solid transparent;border-radius:7px 7px 0 0;background:transparent;color:var(--color-text);padding:11px 14px;font-weight:600;}
.center-tab:hover{background:var(--color-primary-light);}
.center-tab.active{background:var(--color-primary-light);border-bottom-color:var(--color-primary);color:var(--color-primary-action);}
.center-tab-panel.hidden{display:none!important;}
.center-tab-panel .center-identity-fields{margin-bottom:20px;}
.center-empty-tab{color:var(--color-text-muted);margin:0;min-height:80px;}
[data-center-panel="cases"] table{width:100%;}
@media(max-width:750px){.center-tabs{gap:2px}.center-tab{font-size:12px;padding:9px 10px}}

/* Tabla de afiliados en ficha de centro: sin selección múltiple */
.center-affiliates-table{table-layout:auto;min-width:900px}
.center-affiliates-table th:first-child,.center-affiliates-table td:first-child{width:auto;text-align:left;vertical-align:middle}
.center-affiliates-table th,.center-affiliates-table td{vertical-align:middle}
.center-affiliates-table th:last-child,.center-affiliates-table td:last-child{white-space:nowrap;width:170px}

/* Expedientes: accesos oficiales laterales (diseño C) */
.exp-search-layout{display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:18px;align-items:stretch}
.exp-search-main{min-width:0}
.exp-search-main .exp-search-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px}
.exp-search-main .actions{margin-top:10px}
.exp-shortcuts{border-left:1px solid var(--color-border,#DEE5E8);padding-left:16px;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.exp-quick-links{display:flex;flex-direction:column;gap:8px}
.exp-quick-link{display:flex;align-items:center;gap:9px;min-height:39px;text-decoration:none;color:var(--color-text,#2F3A3F);font-size:12px;font-weight:600;border-radius:9px;padding:3px 5px}
.exp-quick-link .icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:9px;font-size:20px;color:#008F82;background:#E6F7F5}
.exp-quick-link span{line-height:1.25}
.exp-quick-link:hover{background:#F6F8FA;color:#00796F}
.exp-quick-link:focus-visible{outline:2px solid #00796F;outline-offset:2px}
.exp-quick-registration .icon{color:#00796F;background:#E6F7F5}
.exp-quick-information .icon{color:#7A4D86;background:#EFE8F4}
.exp-quick-claim .icon{color:#7A4D86;background:#EFE8F4}
#expedientesView .exp-shortcuts #expCreateButton{margin-top:auto;margin-left:0;width:100%;min-height:37px}
@media(max-width:1000px){.exp-search-layout{grid-template-columns:minmax(0,1fr) 215px;gap:12px}.exp-shortcuts{padding-left:12px}}
@media(max-width:750px){.exp-search-layout{grid-template-columns:1fr}.exp-shortcuts{border-left:0;border-top:1px solid var(--color-border,#DEE5E8);padding:12px 0 0}.exp-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#expedientesView .exp-shortcuts #expCreateButton{width:auto;align-self:flex-end}}
@media(max-width:460px){.exp-quick-links{grid-template-columns:1fr}}

/* ProTFAR: barra de expedientes compacta, accesos solo iconos */
#expedientesView .exp-search-layout{grid-template-columns:minmax(0,1fr) 52px;gap:14px}
#expedientesView .exp-search-main .exp-search-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px}
#expedientesView .exp-search-grid>div:nth-child(-n+3){grid-column:span 4}
#expedientesView .exp-search-grid>div:nth-child(4),
#expedientesView .exp-search-grid>div:nth-child(5){grid-column:span 3}
#expedientesView .exp-search-grid>div:nth-child(6){grid-column:span 3}
#expedientesView .exp-search-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
#expedientesView .exp-search-actions-left{display:flex;gap:9px}
#expedientesView .exp-search-actions #expCreateButton{margin:0;min-height:37px;color:#fff;background:#00B4A6;border-color:#00B4A6}
#expedientesView .exp-shortcuts{padding-left:12px;gap:0;justify-content:center}
#expedientesView .exp-quick-links{gap:8px;align-items:center}
#expedientesView .exp-quick-link{padding:0;min-height:0;width:38px;height:38px;justify-content:center}
#expedientesView .exp-quick-link .icon{flex:0 0 38px;width:38px;height:38px;font-size:19px}
#expedientesView .exp-quick-link span{display:none}
#expedientesView .exp-quick-link:hover{background:transparent}
#expedientesView .exp-quick-link:hover .icon{filter:brightness(.95)}
/* Texto blanco sobre los botones turquesa principales */
.actions button:first-child:not(.danger-button),#saveDetailButton,#addAffiliateFromCenterButton,
#openAddCenterModalButton,#openAffiliateModalButton,#expCreateButton,.login-card form button{
 color:#fff!important;
}
@media(max-width:750px){
 #expedientesView .exp-search-layout{grid-template-columns:minmax(0,1fr) 44px}
 #expedientesView .exp-shortcuts{border-top:0;border-left:1px solid var(--color-border);padding:0 0 0 8px}
 #expedientesView .exp-quick-links{display:flex;flex-direction:column}
 #expedientesView .exp-quick-link,#expedientesView .exp-quick-link .icon{width:34px;height:34px;flex-basis:34px}
 #expedientesView .exp-search-grid>div:nth-child(-n+3){grid-column:span 12}
 #expedientesView .exp-search-grid>div:nth-child(n+4){grid-column:span 6}
}
@media(max-width:480px){
 #expedientesView .exp-search-actions{flex-wrap:wrap}
 #expedientesView .exp-search-actions #expCreateButton{margin-left:auto}
}

/* Recuperación de contraseña en el acceso a ProTFAR */
.login-recovery{margin-top:13px;text-align:center}
.login-recovery .forgot-password-link{background:transparent!important;border:0!important;box-shadow:none!important;color:#00796F!important;text-decoration:underline;text-underline-offset:3px;padding:5px 8px;font-size:13px;white-space:normal}
.login-recovery .forgot-password-link:hover:not(:disabled){color:#006F66!important;background:#E6F7F5!important}
.login-recovery .forgot-password-link:focus-visible{outline:2px solid #00796F;outline-offset:2px}
.login-recovery .forgot-password-link:disabled{opacity:.55}
.password-reset-message{font-size:12px;line-height:1.5;color:#00796F;margin:8px 0 0}
.password-reset-message:empty{display:none}
.password-reset-message.is-error{color:#b42318}

/* Acceso: selector de usuarios y contraseña visible */
.password-field{position:relative;display:block}
.password-field input{width:100%;padding-right:48px}
.password-field .password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:36px;padding:0;background:transparent!important;border:0!important;color:#66757C!important;box-shadow:none!important}
.password-field .password-toggle:hover{color:#00796F!important;background:#E6F7F5!important}
.password-field .password-toggle:focus-visible{outline:2px solid #00796F;outline-offset:1px}
/* Relación de puestos */
.positions-panel{display:flex;flex-direction:column;gap:16px}
.positions-panel.hidden{display:none}
.position-fields{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(115px,.75fr) minmax(260px,2.4fr) repeat(3,minmax(135px,1fr));gap:12px;align-items:start}
.position-fields>div{min-width:0}
.position-fields label{display:block;margin-bottom:6px;font-weight:600;font-size:12px}
.position-fields input,.position-fields select{width:100%;min-width:0}
.position-legal-preview{font-size:11px;color:#66757C;margin-top:6px;line-height:1.4;min-height:16px}
.position-legal-preview:empty{visibility:hidden}
.position-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.position-actions #positionAddButton{background:#00B4A6;border-color:#00B4A6;color:#fff}
.position-actions .position-clear{background:white;color:#00796F;border:1px solid #00B4A6}
.positions-table{width:100%;table-layout:auto}
.positions-table th:first-child,.positions-table td:first-child{width:45px;text-align:center}
.positions-table th:nth-child(4),.positions-table td:nth-child(4){min-width:250px}
.positions-table td{vertical-align:middle}
.positions-table td:nth-child(4){font-size:12px}
.positions-table .position-delete{background:#fff;border:1px solid #7A4D86;color:#7A4D86}
@media(max-width:1250px){.position-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.position-legal{grid-column:span 1}}
@media(max-width:650px){.position-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.position-legal{grid-column:span 2}}

/* ProTFAR: formulario de puestos ajustado al contenido */
.positions-panel .position-fields{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:12px}
.positions-panel .position-fields>div{flex:0 0 auto;min-width:0;max-width:100%}
.positions-panel .position-fields>div:nth-child(1){width:105px}
.positions-panel .position-fields>div:nth-child(2){width:118px}
.positions-panel .position-fields>div:nth-child(3){width:345px}
.positions-panel .position-fields>div:nth-child(n+4){width:155px}
.positions-panel .position-fields input,.positions-panel .position-fields select{width:100%;box-sizing:border-box}
.positions-panel .position-legal{grid-column:auto}
.positions-panel .position-actions{justify-content:flex-start}
@media(max-width:600px){.positions-panel .position-fields>div:nth-child(3){width:min(345px,100%)}}

/* Selector jurídico ampliado con negritas dentro de las opciones */
.positions-panel .position-fields>div:nth-child(3){width:485px}
.position-legal{position:relative}
.position-legal>select{position:absolute;left:0;top:28px;width:1px!important;height:1px;opacity:0;pointer-events:none}
.position-legal-dropdown{position:relative}
.position-legal-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;padding:8px 12px;border:1px solid #DEE5E8;border-radius:8px;background:white;cursor:pointer;font-size:12px;line-height:1.4;list-style:none}
.position-legal-dropdown summary::-webkit-details-marker{display:none}
.position-legal-dropdown summary::after{content:"⌄";flex:none;font-size:16px;color:#66757C}
.position-legal-dropdown summary:focus-visible{outline:2px solid #00796F;outline-offset:2px}
.position-legal-dropdown[open] summary{border-color:#008F82}
.position-legal-options{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #DEE5E8;border-radius:8px;box-shadow:0 8px 22px #2F3A3F20;padding:5px}
.position-legal-options button{display:block;width:100%;text-align:left;border:0!important;border-radius:5px;background:white!important;color:#2F3A3F!important;padding:10px 9px;font-size:12px;line-height:1.4;white-space:normal}
.position-legal-options button:hover,.position-legal-options button:focus-visible{background:#E6F7F5!important}
.position-legal-options button[aria-pressed="true"]{background:#E6F7F5!important}
@media(max-width:600px){.positions-panel .position-fields>div:nth-child(3){width:min(485px,100%)}}

/* Relación Jurídica: desplegable nativo con abreviaturas */
.positions-panel .position-fields>div:nth-child(3){width:180px}
.position-legal>select{position:static!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;opacity:1!important;pointer-events:auto!important}
@media(max-width:600px){.positions-panel .position-fields>div:nth-child(3){width:min(180px,100%)}}

/* Edición de puestos directamente en la tabla */
.positions-table .position-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.positions-table .position-edit,.positions-table .position-cancel{background:white;color:#00796F;border:1px solid #00B4A6;padding:7px 10px}
.positions-table .position-save{background:#00B4A6;color:white;border:1px solid #00B4A6;padding:7px 10px}
.positions-table .position-edit-input{width:100%;min-width:0;box-sizing:border-box;padding:7px 5px;font-size:12px}
.positions-table .position-edit-number{width:100px}
.positions-table .position-edit-legal{min-width:145px}
.positions-table .position-row-editing td{background:#F0FAF9;padding:6px 4px}
.positions-table .position-row-editing td:nth-child(4){min-width:160px}
.positions-table .position-row-editing input[type=date]{min-width:135px}
.positions-table .position-row-error{display:block;color:#B42318;font-size:11px;max-width:180px;margin-top:5px}
