/* Equipo: las tareas delante, la presencia como contexto. */
#view-rrhh { min-width:0; }
#view-rrhh .view-header { margin-bottom:28px; }
#view-rrhh .view-header h1 { font-size:30px; letter-spacing:-.5px; }
#view-rrhh .view-subtitle { font-size:14px; }
#view-rrhh .btn { box-shadow:none!important; font-weight:500; font-size:13px; border-radius:10px; min-height:40px; }
#view-rrhh #rrhh-tabs { gap:20px; flex-wrap:nowrap; overflow:auto; padding:0 0 8px; margin-bottom:24px; align-items:center; border-bottom:1px solid var(--border); }
#view-rrhh #rrhh-tabs .filter-btn { flex-shrink:0; border:0!important; border-bottom:2px solid transparent!important; border-radius:0; background:transparent!important; color:var(--text-secondary); font-size:13px; padding:12px 0; min-height:44px; box-shadow:none!important; }
#view-rrhh #rrhh-tabs .filter-btn.active { border-bottom-color:var(--accent)!important; color:var(--accent); }
#view-rrhh #rrhh-tabs .rh-task-tab { background:var(--accent-bg)!important; color:var(--accent)!important; border-radius:10px; padding:11px 16px; font-weight:550; }
#view-rrhh #rrhh-tabs .tes-seg-badge { background:transparent; color:inherit; font-size:12px; padding:0; margin-left:4px; }
#view-rrhh .rh-tasks-focus { background:var(--accent-bg); border-radius:16px; padding:24px; margin-bottom:32px; }
#view-rrhh .rh-focus-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:18px; }
#view-rrhh .rh-focus-heading h2 { margin:0 0 8px; font-size:21px; font-weight:600; color:var(--accent); letter-spacing:-.3px; }
#view-rrhh .rh-focus-heading p { margin:0; color:var(--accent); font-size:13px; }
#view-rrhh .rh-task-preview { display:flex; align-items:center; gap:20px; width:100%; min-height:68px; background:transparent; color:var(--text-primary); border:0; border-top:1px solid var(--accent-border); text-align:left; padding:14px 0; font:inherit; cursor:pointer; }
#view-rrhh .rh-task-preview > span:first-child { flex:1; min-width:0; }
#view-rrhh .rh-task-preview strong { font-size:14px; font-weight:500; display:block; overflow-wrap:anywhere; }
#view-rrhh .rh-task-preview small { display:block; font-size:12px; color:var(--accent); margin-top:6px; }
#view-rrhh .rh-task-due { font-size:12px; text-align:right; color:var(--accent); white-space:nowrap; }
#view-rrhh .rh-task-due b { display:block; font-size:11px; font-weight:500; color:#885819; margin-bottom:5px; }
#view-rrhh .rh-task-preview svg { flex:none; color:var(--accent); }
#view-rrhh .rh-tasks-open { background:transparent; border:0; color:var(--accent); font:inherit; font-size:13px; min-height:44px; padding:10px 0 0; cursor:pointer; }
#view-rrhh .rh-task-heading h2 { font-size:22px; margin:0 0 8px; font-weight:600; }
#view-rrhh .rh-task-heading p { font-size:13px; color:var(--text-secondary); margin:0 0 24px; }
#view-rrhh #rrhh-tareas select { min-height:42px; font-size:13px; border-radius:10px; }
#view-rrhh .data-table th { background:var(--accent-bg)!important; color:var(--accent)!important; font-size:12px; font-weight:500; }
#view-rrhh .data-table td { font-size:13px; padding:16px 14px; }
#view-rrhh .table-container { overflow-x:auto; }
#view-rrhh #tabla-rh-tar { min-width:750px; }
#view-rrhh #tabla-rh-tar th:nth-child(2) { width:38%; }
.rh-photo-note { display:inline-block; font-size:11px; padding:4px 7px; margin-left:4px; color:var(--accent); background:var(--accent-bg); border-radius:6px; }
#fe-doc-lista .ps-state { display:inline-block; margin:10px 8px 2px 0; }
#view-rrhh :is(button,select,input):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:600px) { #view-rrhh .rh-tasks-focus { padding:18px; } #view-rrhh .rh-focus-heading { align-items:flex-start; flex-direction:column; gap:14px; } #view-rrhh .rh-task-preview { gap:12px; } #view-rrhh .rh-focus-heading h2 { font-size:19px; } }

/* Tareas del equipo: el trabajo primero, agrupado por plazo. */
.rh-task-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
#view-rrhh #rrhh-tabs .rh-task-tab.active { border-bottom-color:transparent!important; }
#view-rrhh .rh-task-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
#view-rrhh .rh-task-heading h2 { margin-bottom:6px; }
#view-rrhh .rh-task-heading p { margin:0; }
#view-rrhh .rh-task-heading .btn { flex:none; display:inline-flex; align-items:center; gap:8px; min-height:44px; }
#view-rrhh .rh-task-toolbar { display:grid; grid-template-columns:minmax(200px,1fr) minmax(180px,260px) 160px; gap:16px; align-items:end; }
#view-rrhh .rh-task-toolbar label { display:block; margin-bottom:7px; font-size:12px; font-weight:500; color:var(--text-secondary); }
#view-rrhh .rh-task-toolbar :is(input,select) { width:100%; height:44px; min-width:0; padding:10px 13px; font:inherit; font-size:13px; color:var(--text-primary); border:1px solid var(--border-input); border-radius:10px; background-color:var(--bg-card); }
#view-rrhh .rh-task-toolbar select { padding-right:34px; }
#view-rrhh .rh-task-list-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px; font-size:12px; color:var(--text-secondary); font-variant-numeric:tabular-nums; }
#view-rrhh .rh-task-list-meta p { margin:0; }
.rh-task-text-button { padding:8px 0; min-height:40px; font:inherit; font-size:13px; color:var(--accent); background:transparent; border:0; cursor:pointer; text-underline-offset:4px; }
.rh-task-text-button:hover { text-decoration:underline; }
.rh-task-text-button[aria-pressed="true"] { font-weight:600; }
#view-rrhh .rh-task-table-wrap { border:1px solid var(--border); border-radius:14px; background:var(--bg-card); }
#view-rrhh #tabla-rh-tar { min-width:0; width:100%; table-layout:fixed; border-collapse:collapse; }
#view-rrhh #tabla-rh-tar thead th { padding:14px 16px; }
#view-rrhh #tabla-rh-tar th:first-child { width:42%; }
#view-rrhh #tabla-rh-tar th:nth-child(2) { width:20%; }
#view-rrhh #tabla-rh-tar th:nth-child(3) { width:13%; }
#view-rrhh #tabla-rh-tar th:nth-child(4) { width:14%; }
#view-rrhh #tabla-rh-tar th:last-child { width:114px; }
#view-rrhh #tabla-rh-tar .rh-task-group th { width:auto; padding:10px 16px; border-bottom:1px solid var(--border); background:var(--bg-deep)!important; color:var(--text-secondary)!important; font-size:12px; text-align:left; font-weight:550; }
.rh-task-group th span { margin-left:8px; font-size:11px; font-weight:400; font-variant-numeric:tabular-nums; }
#view-rrhh #tabla-rh-tar td { padding:18px 16px; vertical-align:top; overflow-wrap:anywhere; border-bottom:1px solid var(--border); }
#view-rrhh #tabla-rh-tar tr:last-child td { border-bottom:0; }
#view-rrhh #tabla-rh-tar .rh-task-row { background:var(--bg-card); }
#view-rrhh #tabla-rh-tar .rh-task-row:hover { background:var(--bg-deep); }
.rh-task-title { padding:0; border:0; background:none; color:var(--text-primary); font:inherit; font-size:14px; font-weight:600; line-height:1.45; text-align:left; cursor:pointer; text-underline-offset:4px; overflow-wrap:anywhere; }
.rh-task-title:hover { color:var(--accent); text-decoration:underline; }
.rh-task-detail { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:5px 0 0; font-size:12px; color:var(--text-secondary); line-height:1.55; }
.rh-task-tags { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; margin-top:9px; font-size:11px; }
.rh-task-urgent { padding:2px 7px; border-radius:5px; color:var(--red); background:color-mix(in srgb,var(--red) 9%,var(--bg-card)); font-weight:550; }
.rh-task-photo-label { display:inline-flex; align-items:center; gap:5px; color:var(--text-secondary); }
.rh-task-avatar { display:inline-grid; place-items:center; vertical-align:middle; margin:0 7px 5px 0; width:28px; height:28px; border-radius:9px; font-size:10px; font-weight:600; color:var(--accent); background:var(--accent-bg); }
.rh-task-assignee { color:var(--text-primary); line-height:1.6; }
.rh-task-date { font-variant-numeric:tabular-nums; }
.rh-task-date time { white-space:nowrap; }
.rh-task-date small { display:block; margin-top:5px; color:var(--red); font-size:11px; }
.rh-task-date .rh-task-today { color:var(--accent); }
.rh-task-state { display:inline-flex; align-items:center; gap:4px; font-size:12px; color:var(--text-secondary); }
.rh-task-state.is-done { color:var(--accent); }
.rh-task-status > small { display:block; color:var(--text-secondary); font-size:11px; margin-top:5px; }
.rh-task-note { font-size:12px; line-height:1.5; margin:6px 0 0; color:var(--text-secondary); }
.rh-task-photo-link { display:flex; align-items:center; gap:5px; width:fit-content; font-size:12px; color:var(--accent); margin-top:8px; text-decoration:underline; text-underline-offset:3px; }
#view-rrhh #tabla-rh-tar .rh-task-actions { padding:12px 8px 12px 0; white-space:nowrap; text-align:right; }
.rh-task-actions button { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:40px; padding:8px; border:0; border-radius:8px; background:transparent; color:var(--text-secondary); font:inherit; font-size:12px; cursor:pointer; }
.rh-task-actions button:hover { background:var(--bg-hover); color:var(--accent); }
.rh-task-actions .rh-task-delete:hover { color:var(--red); background:color-mix(in srgb,var(--red) 8%,var(--bg-card)); }
.rh-task-actions .rh-task-delete { min-width:36px; }
.rh-task-done .rh-task-title { font-weight:500; }
#view-rrhh #tabla-rh-tar .rh-task-empty td { text-align:center; padding:48px 20px; color:var(--text-secondary); }
.rh-task-empty b { color:var(--text-primary); font-weight:550; }
.rh-task-empty p { margin:8px 0; font-size:13px; }
.rh-task-error { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; margin:0 0 16px; border-radius:10px; background:color-mix(in srgb,var(--red) 6%,var(--bg-card)); color:var(--red); font-size:13px; }
.rh-task-error[hidden],.rh-task-text-button[hidden],#modal-tarea [hidden] { display:none!important; }
#modal-tarea .rh-task-dialog { display:flex; flex-direction:column; width:min(580px,calc(100vw - 32px)); max-width:580px; max-height:calc(100dvh - 48px); padding:0; overflow:hidden; background:var(--modal-bg)!important; }
#modal-tarea .modal-header { flex:none; padding:24px 24px 18px; margin:0; align-items:flex-start; }
#modal-tarea .modal-header h3 { font-size:21px; font-weight:600; letter-spacing:-.3px; }
#modal-tarea .modal-header p { font-size:13px; color:var(--text-secondary); margin-top:6px; }
#modal-tarea .modal-close { flex:none; border:0; background:var(--bg-hover); width:36px; height:36px; border-radius:10px; color:var(--text-secondary); display:grid; place-items:center; cursor:pointer; }
#form-tarea { display:flex; flex-direction:column; overflow:hidden; min-height:0; }
#modal-tarea .rh-task-fields { display:flex; flex-direction:column; gap:18px; overflow-y:auto; padding:22px 24px; }
#modal-tarea :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { width:100%; min-width:0; font:inherit; font-size:14px; min-height:44px; padding:10px 12px; color:var(--text-primary); border:1px solid var(--border-input); border-radius:9px; background:var(--bg-input); }
#modal-tarea select { padding-right:32px; }
#modal-tarea textarea { resize:vertical; min-height:78px; }
#modal-tarea .form-group { margin:0; }
#modal-tarea :is(.form-group > label,legend) { font-size:13px; font-weight:550; color:var(--text-primary); }
#modal-tarea .rh-task-optional { font-weight:400; color:var(--text-secondary); }
#modal-tarea .rh-task-date-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0; }
#modal-tarea .rh-task-date-row > .form-group { min-width:0; }
#modal-tarea .tar-pide-foto { display:flex; align-items:flex-start; gap:12px; padding:14px; margin:0; background:var(--accent-bg); border:0; border-radius:12px; }
#modal-tarea .tar-check { cursor:pointer; }
#modal-tarea :is(input[type=checkbox],input[type=radio]) { flex:none; width:18px; height:18px; min-height:18px; margin-top:2px; accent-color:var(--accent); }
#modal-tarea .tar-check b { font-size:13px; font-weight:550; line-height:1.4; }
#modal-tarea .tar-check small { display:block; font-size:12px; font-weight:400; line-height:1.45; margin-top:3px; color:var(--text-secondary); }
#modal-tarea .tar-pide-foto :is(b,small) { color:var(--accent); }
#modal-tarea .rh-task-people { border:0; min-width:0; padding:0; margin:0; }
#modal-tarea .rh-task-people legend { padding:0; margin-bottom:9px; }
#modal-tarea #tar-buscar-empleado { margin-bottom:8px; }
#modal-tarea .rh-task-selection { display:flex; flex-wrap:wrap; gap:0 20px; margin:-4px 0 8px; }
#modal-tarea .rh-task-selection button:disabled { opacity:.5; cursor:default; text-decoration:none; }
#modal-tarea .tar-check-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px 8px; max-height:184px; overflow-y:auto; }
#modal-tarea .tar-check-grid .tar-check { display:flex; align-items:flex-start; gap:9px; margin:0; padding:10px 8px; border:1px solid transparent; border-radius:9px; background:transparent; min-width:0; }
#modal-tarea .tar-check-grid .tar-check:has(input:checked) { background:var(--accent-bg); border-color:var(--accent-border); }
#modal-tarea .tar-check-grid .tar-check:hover { background:var(--bg-hover); }
#modal-tarea #tar-personas-resumen { margin-top:9px; font-size:12px; line-height:1.5; color:var(--text-secondary); }
#modal-tarea .rh-task-footer { flex:none; display:flex; justify-content:flex-end; gap:10px; margin:0; padding:16px 24px; border-top:1px solid var(--border); background:var(--bg-card); }
#modal-tarea .rh-task-footer .btn { min-height:44px; border-radius:10px; font-size:13px; box-shadow:none!important; }
#modal-tarea #tar-error { margin:0; display:block; }
#modal-tarea :disabled { cursor:wait; }
#modal-tarea :is(button,input,select,textarea):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#rrhh-tareas button,#modal-tarea button { transition:transform var(--dur-pulsacion,140ms) var(--ease-salida,cubic-bezier(.23,1,.32,1)); }
#rrhh-tareas button:active:not(:disabled):not(:focus-visible),#modal-tarea button:active:not(:disabled):not(:focus-visible) { transform:scale(.98); }
@media(prefers-reduced-motion:no-preference) {
  #modal-tarea:not(.hidden) .rh-task-dialog { animation:rh-task-open 180ms cubic-bezier(.23,1,.32,1); }
  @keyframes rh-task-open { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}

/* Una misma línea de base para filtros, campos y acciones de RRHH. */
#view-rrhh .view-header { gap:20px; flex-wrap:wrap; }
#view-rrhh .view-header-actions { flex-wrap:wrap; gap:10px; }
#view-rrhh .rrhh-panel { min-width:0; }
#view-rrhh #rrhh-tabs .rh-task-tab:not(.active) { background:transparent!important; }
#view-rrhh .rh-toolbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; margin:0 0 22px; }
#view-rrhh .rh-field { display:flex; flex-direction:column; gap:7px; margin:0; min-width:0; font-size:12px; font-weight:500; color:var(--text-secondary); }
#view-rrhh .rh-grow { flex:1 1 260px; }
#view-rrhh .rh-year { flex:0 0 110px; }
#view-rrhh .rh-toolbar :is(input:not([type=checkbox]),select) { width:100%; min-width:0; max-width:100%; height:44px; padding:10px 12px; border:1px solid var(--border-input); border-radius:10px; background-color:var(--bg-input); color:var(--text-primary); font:inherit; font-size:13px; }
#view-rrhh .rh-toolbar select { padding-right:34px; }
#view-rrhh .rh-toolbar :is(.btn,.filter-btn) { min-height:44px; height:44px; margin:0; display:inline-flex; align-items:center; justify-content:center; padding:0 16px; font-size:13px; white-space:nowrap; }
#view-rrhh .rh-toolbar .filter-bar { display:flex; gap:8px; flex-wrap:wrap; margin:0; padding:0; }
#view-rrhh .rh-toggle { display:flex; align-items:center; gap:8px; min-height:44px; margin:0; font-size:13px; color:var(--text-secondary); cursor:pointer; }
#view-rrhh .rh-toggle input { width:17px; height:17px; accent-color:var(--accent); }
#view-rrhh .rh-toolbar-help { flex-basis:100%; margin:-4px 0 0; font-size:12px; color:var(--text-secondary); }
#view-rrhh .rh-holiday-form { padding:18px; background:var(--bg-deep); border:1px solid var(--border); border-radius:12px; }
#view-rrhh .rh-month-nav { display:flex; align-items:center; gap:12px; }
#view-rrhh .rh-month-nav .btn { width:44px; padding:0; font-size:24px; }
#view-rrhh #rh-cal-titulo { min-width:155px; text-align:center; font-size:15px; font-weight:600; }
#view-rrhh .rh-calendar-toolbar { align-items:center; }
#view-rrhh .rh-calendar-help { flex:1 1 240px; margin:0; font-size:12px; color:var(--text-secondary); line-height:1.5; }
#view-rrhh .table-container { width:100%; min-width:0; max-width:100%; border-radius:12px; }
#view-rrhh :is(#tabla-rh-emp,#tabla-rh-resumen,#tabla-rh-fj,#tabla-rh-aus) { min-width:850px; }
#view-rrhh :is(#tabla-rh-emp,#tabla-rh-resumen,#tabla-rh-aus) td:first-child { min-width:170px; }
#view-rrhh #tabla-rh-fest { min-width:550px; }
#view-rrhh .data-table :is(th,td) { vertical-align:middle; line-height:1.5; }
#view-rrhh .data-table th { padding:14px; white-space:nowrap; }
#view-rrhh .data-table .ui-company-name { min-width:0; }
#view-rrhh .data-table .ui-company-name strong { white-space:normal; }
#view-rrhh .data-table .seg-acc { flex-wrap:nowrap; }
#view-rrhh .table-empty { margin:0; padding:32px 20px; text-align:center; font-size:13px; }
#view-rrhh .rh-cal { grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
#view-rrhh .rh-cal :is(.rh-cal-dia,.rh-cal-vacio,.rh-cal-num) { min-width:0; }

/* Fichas y ventanas: los campos largos pueden encoger dentro de su columna. */
:is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) .modal-header { align-items:flex-start; }
:is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) .modal-header > div { min-width:0; }
:is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) .modal-header h3 { overflow-wrap:anywhere; }
:is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) .modal-close { flex:none; min-width:40px; min-height:40px; }
:is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
#modal-empleado .form-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
:is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) :is(.form-group input:not([type=checkbox]),.form-group select,.fact-filtro input,.seg-search,.seg-regla-nueva input) { min-height:44px; min-width:0; max-width:100%; box-sizing:border-box; }
:is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) .btn { min-height:44px; border-radius:10px; box-shadow:none!important; }
#modal-ficha-empleado .seg-barra { align-items:flex-end; gap:12px; margin-bottom:18px; }
#modal-ficha-empleado .fact-filtro { font-size:12px; gap:7px; }
#modal-ficha-empleado .fe-datos { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#modal-ficha-empleado .fe-dato { min-width:0; overflow-wrap:anywhere; }
#modal-ficha-empleado .fin-kpi { min-width:0; }
#modal-ficha-empleado .fin-kpi-val { font-size:24px!important; overflow-wrap:anywhere; }
#modal-ficha-empleado .table-container { max-width:100%; overflow-x:auto; }
#modal-ficha-empleado .data-table { min-width:560px; }

/* Mi espacio de oficina: jornada a la izquierda; gestión personal a la derecha. */
body:not(.employee-app) #view-mi-espacio .view-header { gap:20px; flex-wrap:wrap; margin-bottom:28px; }
body:not(.employee-app) #view-mi-espacio h1 { font-size:30px; letter-spacing:-.5px; }
body:not(.employee-app) #view-mi-espacio .view-subtitle { font-size:14px; }
body:not(.employee-app) #view-mi-espacio .me-grid { grid-template-columns:minmax(270px,.82fr) minmax(0,1.8fr); gap:24px; }
body:not(.employee-app) #view-mi-espacio :is(.me-aside,.me-col) { display:flex; flex-direction:column; gap:22px; min-width:0; }
body:not(.employee-app) #view-mi-espacio .me-card { padding:24px; border-radius:16px; min-width:0; box-shadow:0 3px 14px rgba(30,45,25,.025); }
body:not(.employee-app) #view-mi-espacio .me-card-tit { font-size:15px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--text-primary); margin-bottom:18px; }
body:not(.employee-app) #view-mi-espacio .me-fichar { text-align:left; background:var(--accent-bg); border-color:var(--accent-border); }
body:not(.employee-app) #view-mi-espacio .me-estado { justify-content:flex-start; margin:0; }
body:not(.employee-app) #view-mi-espacio .me-estado b { font-size:14px; font-weight:600; }
body:not(.employee-app) #view-mi-espacio .me-estado small { display:block; margin-top:4px; line-height:1.5; }
body:not(.employee-app) #view-mi-espacio .me-reloj { margin:22px 0; }
body:not(.employee-app) #view-mi-espacio .me-reloj > span { font-size:38px; font-weight:600; letter-spacing:-1px; line-height:1.2; }
body:not(.employee-app) #view-mi-espacio .me-reloj small { display:block; margin-top:7px; font-size:12px; }
body:not(.employee-app) #view-mi-espacio .me-botones { justify-content:flex-start; }
body:not(.employee-app) #view-mi-espacio .me-botones .btn { flex:1; min-width:0; min-height:46px; font-size:14px; border-radius:10px; box-shadow:none!important; }
body:not(.employee-app) #view-mi-espacio .rh-location-notice { text-align:left; margin:16px 0 0; font-size:12px; }
body:not(.employee-app) #view-mi-espacio .rh-location-status:empty { display:none; }
body:not(.employee-app) #view-mi-espacio .me-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--bg-card); }
body:not(.employee-app) #view-mi-espacio .me-kpis .fin-kpi { min-width:0; padding:24px!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; gap:10px; }
body:not(.employee-app) #view-mi-espacio .me-kpis .fin-kpi + .fin-kpi { border-left:1px solid var(--border)!important; }
body:not(.employee-app) #view-mi-espacio .fin-kpi-val { font-size:30px!important; font-weight:600; line-height:1.25; letter-spacing:-.6px; color:var(--text-primary)!important; }
body:not(.employee-app) #view-mi-espacio .me-kpi-sub { font-size:12px; line-height:1.6; }
body:not(.employee-app) #view-mi-espacio #me-mes-excel { margin-top:4px; color:var(--accent); text-underline-offset:3px; }
body:not(.employee-app) #view-mi-espacio .seg-item { align-items:flex-start; padding:15px 0; gap:14px; }
body:not(.employee-app) #view-mi-espacio .seg-item:first-child { padding-top:0; }
body:not(.employee-app) #view-mi-espacio .seg-item:last-child { padding-bottom:0; }
body:not(.employee-app) #view-mi-espacio .seg-item-cuerpo { min-width:0; overflow-wrap:anywhere; }
body:not(.employee-app) #view-mi-espacio .seg-item b { font-size:14px; font-weight:500; line-height:1.5; }
body:not(.employee-app) #view-mi-espacio :is(.seg-item small,.seg-vacio) { font-size:13px; line-height:1.6; }
body:not(.employee-app) #view-mi-espacio .ctz-pill { flex:none; font-size:11px; }
body:not(.employee-app) #view-mi-espacio .conc-tag { display:inline-flex; align-items:center; justify-content:center; min-width:24px; padding:2px 7px; border-radius:6px; font-size:12px; font-weight:500; background:var(--accent-bg); color:var(--accent); }
body:not(.employee-app) #view-mi-espacio #me-avisos { margin:0; padding:0 4px; border:0; gap:12px; flex-wrap:wrap; text-align:left; }
body:not(.employee-app) #view-mi-espacio .me-avisos-txt { flex:1 1 170px; }
body:not(.employee-app) #view-mi-espacio .me-avisos-txt b { font-size:13px; font-weight:500; }
body:not(.employee-app) #view-mi-espacio .me-avisos-txt small { font-size:12px; line-height:1.6; }
body.employee-app .me-aside { display:contents; }
@media(max-width:800px) {
  :is(#modal-empleado,#modal-ausencia,#modal-fichaje) .modal-content { padding:24px 24px 0!important; }
  :is(#modal-empleado,#modal-ausencia,#modal-fichaje) .form-actions { bottom:0; margin:20px -24px 0; padding:14px 24px max(14px,env(safe-area-inset-bottom)); }
}
@media(max-width:1100px) {
  body:not(.employee-app) #view-mi-espacio .me-grid { grid-template-columns:minmax(245px,.8fr) minmax(0,1.2fr); gap:18px; }
  body:not(.employee-app) #view-mi-espacio .me-card,body:not(.employee-app) #view-mi-espacio .me-kpis .fin-kpi { padding:20px!important; }
  body:not(.employee-app) #view-mi-espacio .fin-kpi-val { font-size:25px!important; }
}
@media(max-width:760px) {
  #view-rrhh .rh-toolbar { gap:14px 12px; margin-bottom:20px; }
  #view-rrhh .rh-field { flex:1 1 140px; }
  #view-rrhh .rh-grow { flex-basis:100%; }
  #view-rrhh .rh-year { flex:0 1 110px; }
  #view-rrhh .rh-toolbar :is(input:not([type=checkbox]),select) { font-size:16px; }
  #view-rrhh #rh-aus-filtro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #view-rrhh #btn-rh-aus-nueva { flex:1; }
  #view-rrhh #btn-rh-fest-generar { height:auto; white-space:normal; flex:1; padding:10px 14px; }
  #view-rrhh .rh-holiday-form { padding:16px; }
  #view-rrhh .rh-holiday-form .rh-grow { order:0; flex-basis:100%; }
  #view-rrhh .rh-holiday-form > .btn { width:100%; }
  #view-rrhh .rh-cal { gap:4px; }
  #view-rrhh .rh-cal-dia { padding:5px 3px; min-height:72px; }
  #view-rrhh .rh-cal-aus { padding:2px; font-size:10px; }
  :is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) .form-grid { grid-template-columns:minmax(0,1fr); }
  #modal-ficha-empleado .fin-kpis { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #modal-ficha-empleado .fe-datos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #modal-ficha-empleado .seg-regla-nueva { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  #modal-ficha-empleado .seg-regla-nueva input { width:100%!important; min-width:0!important; }
  #modal-ficha-empleado #fe-aj-motivo { grid-column:1/-1; }
  #modal-ficha-empleado #fe-tabs { flex-wrap:nowrap; overflow-x:auto; gap:6px; }
  #modal-ficha-empleado #fe-tabs .filter-btn { flex:none; padding:10px; }
  :is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) input:not([type=checkbox]),:is(#modal-empleado,#modal-ficha-empleado,#modal-ausencia,#modal-fichaje) select { font-size:16px; }
  body:not(.employee-app) #view-mi-espacio .me-grid { display:flex; flex-direction:column; gap:18px; }
  body:not(.employee-app) #view-mi-espacio :is(.me-aside,.me-col) { display:contents; }
  body:not(.employee-app) #view-mi-espacio .me-grid > *,body:not(.employee-app) #view-mi-espacio :is(.me-aside,.me-col) > * { width:100%; }
  body:not(.employee-app) #view-mi-espacio .me-fichar { order:1; }
  body:not(.employee-app) #view-mi-espacio .me-kpis { order:2; }
  body:not(.employee-app) #view-mi-espacio #me-tareas-card { order:3; }
  body:not(.employee-app) #view-mi-espacio .me-requests-card { order:4; }
  body:not(.employee-app) #view-mi-espacio .me-documents-card { order:5; }
  body:not(.employee-app) #view-mi-espacio .me-holidays-card { order:6; }
  body:not(.employee-app) #view-mi-espacio #me-avisos { order:7; }
  body:not(.employee-app) #view-mi-espacio .me-kpis .fin-kpi { padding:18px!important; }
  body:not(.employee-app) #view-mi-espacio .view-header-actions { width:100%; }
  body:not(.employee-app) #view-mi-espacio #btn-me-solicitar { width:100%; min-height:44px; box-shadow:none!important; }
}
@media(max-width:1050px) and (min-width:761px) {
  #view-rrhh #tabla-rh-tar th:first-child { width:36%; }
  #view-rrhh #tabla-rh-tar .rh-task-actions .rh-task-edit span { display:none; }
  #view-rrhh #tabla-rh-tar th:last-child { width:82px; }
  /* Las tres columnas piden 572 px como mínimo, y con el menú lateral y los márgenes una
     tableta deja menos: el buscador va en su fila y los dos filtros debajo. */
  #view-rrhh .rh-task-toolbar { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #view-rrhh .rh-task-search { grid-column:1/-1; }
}
@media(max-width:760px) {
  #view-rrhh .rh-task-heading { flex-wrap:wrap; gap:16px; }
  #view-rrhh .rh-task-heading h2 { font-size:20px; }
  #view-rrhh .rh-task-heading .btn { width:100%; justify-content:center; }
  #view-rrhh .rh-task-toolbar { grid-template-columns:minmax(0,1fr) 125px; gap:12px; }
  #view-rrhh .rh-task-search { grid-column:1/-1; }
  #view-rrhh .rh-task-toolbar :is(input,select) { font-size:16px; }
  #view-rrhh .rh-task-list-meta { flex-wrap:wrap; gap:0 10px; padding:8px 0; }
  #view-rrhh .rh-task-table-wrap { overflow:visible; }
  #view-rrhh #tabla-rh-tar,#view-rrhh #tabla-rh-tar tbody { display:block; }
  #view-rrhh #tabla-rh-tar thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  #view-rrhh #tabla-rh-tar .rh-task-group { display:block; }
  #view-rrhh #tabla-rh-tar .rh-task-group th { display:block; width:100%; }
  #view-rrhh #tabla-rh-tar .rh-task-row { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'main main' 'person date' 'state actions'; gap:12px 10px; padding:18px 16px; border-bottom:1px solid var(--border); }
  #view-rrhh #tabla-rh-tar .rh-task-row td { display:block; width:auto; padding:0; border:0!important; background:transparent!important; }
  #view-rrhh #tabla-rh-tar .rh-task-main { grid-area:main; }
  #view-rrhh #tabla-rh-tar .rh-task-assignee { grid-area:person; font-size:12px; }
  #view-rrhh #tabla-rh-tar .rh-task-date { grid-area:date; text-align:right; font-size:12px; }
  #view-rrhh #tabla-rh-tar .rh-task-status { grid-area:state; align-self:center; }
  #view-rrhh #tabla-rh-tar .rh-task-actions { grid-area:actions; align-self:end; }
  #view-rrhh #tabla-rh-tar .rh-task-actions button { min-height:44px; min-width:44px; }
  .rh-task-title { font-size:15px; }
  .rh-task-detail { font-size:13px; }
  #view-rrhh #tabla-rh-tar .rh-task-empty,#view-rrhh #tabla-rh-tar .rh-task-empty td { display:block; width:100%; }
  #modal-tarea .modal-header { padding:20px 20px 16px; }
  #modal-tarea .rh-task-fields { padding:20px; }
  #modal-tarea :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { font-size:16px; }
  #modal-tarea .tar-check-grid { grid-template-columns:1fr; }
  #modal-tarea .rh-task-footer { padding:14px 20px max(14px,env(safe-area-inset-bottom)); }
  #modal-tarea .rh-task-footer .btn { flex:1; }
}
