@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}#root{min-height:100vh}:root{--bg:#f7f5f0;--surface:#fff;--surface-2:#fbf9f5;--border:#e3ddd1;--text:#2a2a27;--text-muted:#79705f;--apoyo:#c76b2b;--restriccion:#b0392f;--radius:10px;color:var(--text);background:var(--bg);font-family:IBM Plex Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.pantalla-login{justify-content:center;align-items:center;min-height:100vh;display:flex}.tarjeta-login{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;width:320px;padding:32px;display:flex}.tarjeta-login h1{margin:0 0 8px;font-size:1.3rem}.tarjeta-login label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.tarjeta-login input,.tarjeta-login select,.tarjeta-login textarea{border:1px solid var(--border);color:var(--text);background:var(--surface-2);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:.95rem}.tarjeta-login button,.pantalla-calendario button{cursor:pointer;border:1px solid var(--border);background:var(--text);color:var(--surface);border-radius:6px;padding:8px 14px;font-family:inherit;font-weight:600}.tarjeta-login button[disabled]{opacity:.6;cursor:default}.error-login{color:var(--restriccion);margin:0;font-size:.85rem}.pantalla-calendario{padding:20px 0 0}.barra-superior{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.barra-superior h1{margin:0;font-size:1.3rem}.usuario-actual{color:var(--text-muted);margin:2px 0 0;font-size:.85rem}.barra-superior button{background:var(--surface);color:var(--text)}.leyenda{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;display:flex}.leyenda-item{border-radius:4px;padding:3px 9px;font-size:.75rem;font-weight:600}.navegacion-mes{justify-content:center;align-items:center;gap:18px;margin-bottom:12px;display:flex}.navegacion-mes button{background:var(--surface);color:var(--text)}.navegacion-mes strong{text-align:center;min-width:160px;font-size:1rem}.tabla-mes-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.tabla-mes{border-collapse:collapse;table-layout:fixed;width:100%;min-width:760px}.tabla-mes th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 0;font-size:.7rem}.tabla-mes td.dia{border:1px solid var(--border);background:var(--surface);vertical-align:top;width:14.28%;height:118px;padding:4px}.tabla-mes td.dia-fuera{background:0 0;border:none}.numero-dia{margin-bottom:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;font-weight:600;display:block}.bloque-equipo{border-radius:6px;margin-bottom:3px;padding:3px 5px}.etiqueta-equipo{color:#333;font-size:.6rem;font-weight:700;display:block}.nombre-residente{text-align:left;color:#222;cursor:pointer;background:0 0;border:none;width:100%;padding:1px 0;font-family:inherit;font-size:.62rem;display:block}.nombre-residente[disabled]{cursor:default}.chip{cursor:pointer;border:none;border-radius:4px;margin:1px 2px 0 0;padding:1px 4px;font-family:inherit;font-size:.55rem;font-weight:700;display:inline-block}.chip--apoyo{background:var(--apoyo);color:#fff}.chip--restriccion{background:var(--restriccion);color:#fff}.chip[disabled]{cursor:default}.fondo-modal{z-index:10;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tarjeta-modal{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:12px;width:360px;padding:24px;display:flex}.tarjeta-modal h2{margin:0 0 4px;font-size:1rem}.tarjeta-modal label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.tarjeta-modal select,.tarjeta-modal textarea{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:6px;padding:8px;font-family:inherit}.acciones-modal{justify-content:flex-end;gap:8px;display:flex}.acciones-modal button:first-child{background:var(--surface-2);color:var(--text)}.app-shell{max-width:1200px;margin:0 auto;padding:0 28px 60px}.nav-pestanas{border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;gap:4px;margin-bottom:18px;padding:14px 0;display:flex;overflow-x:auto}.pestana{color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-radius:6px 6px 0 0;flex-shrink:0;padding:8px 14px;font-weight:600}.pestana--activa{background:var(--surface);color:var(--text);border:1px solid var(--border);border-bottom-color:var(--surface);margin-bottom:-1px}.panel{flex-direction:column;gap:20px;display:flex}.tarjeta-formulario{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;max-width:480px;padding:20px;display:flex}.tarjeta-formulario h2{margin:0 0 4px;font-size:1rem}.tarjeta-formulario label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.tarjeta-formulario input,.tarjeta-formulario select,.tarjeta-formulario textarea{border:1px solid var(--border);color:var(--text);background:var(--surface-2);border-radius:6px;padding:7px 9px;font-family:inherit;font-size:.9rem}.tarjeta-formulario fieldset{border:1px dashed var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.tarjeta-formulario legend{color:var(--text-muted);padding:0 4px;font-size:.75rem}.tarjeta-formulario button[type=submit]{background:var(--text);color:var(--surface);cursor:pointer;border:none;border-radius:6px;padding:9px;font-weight:600}.recordatorio{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;margin:0;padding:10px 12px;font-size:.78rem}.tabla-lista{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.tabla-lista th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:.7rem}.tabla-lista td{border-bottom:1px solid var(--border);padding:8px 10px;font-size:.85rem}.tabla-lista tr:last-child td{border-bottom:none}.tabla-lista button{background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;margin-right:6px;padding:5px 9px;font-size:.8rem}.tabla-lista select{border:1px solid var(--border);border-radius:6px;margin-right:6px;padding:5px;font-family:inherit}.checkbox-inline{color:var(--text-muted);align-items:center;gap:4px;margin-right:8px;font-size:.75rem;display:inline-flex}.pill{text-transform:capitalize;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.pill--solicitada,.pill--pendiente{color:#7a5b00;background:#fff3cf}.pill--aprobada,.pill--aceptado,.pill--normal{color:#2f5a1f;background:#d9ead3}.pill--rechazada,.pill--rechazado{color:#9a2f2f;background:#fde8e8}@media (width<=600px){.app-shell{padding:0 10px 40px}.leyenda{padding:8px 10px}.barra-superior{flex-wrap:wrap;gap:8px}}.tarjeta-login button.enlace-texto{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:400;text-decoration:underline}
