.export-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;display:flex}.export-modal-close:hover{background:#cbd5e1}.export-option{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;grid-template-columns:auto 1fr;align-items:flex-start;gap:.75rem;padding:.8rem;display:grid}.export-option:hover{background:#f8fafc;border-color:#cbd5e1}.export-option.selected{background:#eff6ff;border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.export-option strong{color:#0f172a;font-size:.95rem;display:block}.export-option small{color:#64748b;margin-top:.2rem;font-size:.8rem;line-height:1.35;display:block}@media print{@page{size:A4 landscape;margin:7mm}html,body{width:100%;background:#fff!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,.no-print,.export-modal-backdrop,.cal-acciones,.cal-navegacion,.btn-primary,.btn-secondary,.btn-danger,.alert,form{display:none!important}.app-shell{min-height:auto!important;display:block!important}.app-main{background:#fff!important;width:100%!important;padding:0!important}.panel{box-shadow:none!important;background:#fff!important;border:none!important;padding:0!important}.pdf-export-header{color:#0f172a;border-bottom:2px solid #0f172a;margin-bottom:4mm;padding-bottom:2mm;display:block!important}.pdf-export-header h1{margin:0;font-size:12pt}.pdf-export-header h2{margin:1mm 0 1.5mm;font-size:9pt;font-weight:700}.pdf-export-header p{margin:.5mm 0;font-size:7pt}.cal-contenedor{background:#fff!important}.cal-cabecera{margin-bottom:2mm!important}.cal-titulo{margin:0!important;font-size:12pt!important}.cal-subtitulo{margin:.5mm 0 0!important;font-size:7pt!important}.cal-leyenda{border-radius:2mm!important;gap:3mm!important;margin-bottom:2mm!important;padding:1.5mm 2mm!important;font-size:6.5pt!important}.cal-ley-box,.cal-ley-dot{width:8px!important;height:8px!important}.cal-cuadrante{gap:1.5mm!important;padding-bottom:0!important;display:grid!important;overflow:visible!important}.cal-cuadrante-bloque{width:100%!important;min-width:0!important;box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;border:1px solid #cbd5e1!important;border-radius:2mm!important}.cal-cuadrante-grid{grid-template-columns:15mm repeat(7,1fr)!important}.cal-puesto-esquina{min-height:8mm!important;padding:1mm!important;font-size:5.5pt!important}.cal-dia-col-header{min-height:8mm!important;padding:1mm!important}.cal-dia-col-nombre{font-size:5.5pt!important;line-height:1!important}.cal-dia-col-numero{margin-top:.5mm!important;font-size:7pt!important;line-height:1!important}.cal-dia-col-festivo{margin-top:.5mm!important;font-size:5pt!important;line-height:1!important}.cal-puesto-row-label{border-left-width:3px!important;min-height:8mm!important;padding:1mm!important;font-size:5.5pt!important}.cal-turno-slot{border-left-width:2px!important;min-height:8mm!important;padding:1mm!important}.cal-turno-slot-content{border-width:1px!important;border-radius:1.5mm!important;padding:0!important}.cal-cuadrante-select,.cal-select,select{color:#0f172a!important;appearance:none!important;background:0 0!important;border:none!important;width:100%!important;min-height:6mm!important;padding:.5mm 1mm!important;font-size:5.8pt!important;font-weight:800!important;line-height:1.1!important}.cal-cuadrante-select.mat,.cal-cuadrante-select.ucin{border-left-width:2px!important}.dot-vacante,.cal-dia-vacante-dot,.cal-slot-vacante-dot{width:6px!important;height:6px!important}.table{font-size:7pt!important}.table th,.table td{padding:1.5mm!important}.item-card{page-break-inside:avoid!important;break-inside:avoid!important}}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:#0f172a;flex-direction:column;width:280px;height:100vh;padding:1rem;display:flex;position:sticky;top:0}.sidebar-title{color:#38bdf8;margin-top:0;font-size:1.2rem}.side-nav{gap:.35rem;margin-top:1rem;display:grid}.nav-btn{text-align:left;cursor:pointer;color:#cbd5e1;background:0 0;border:none;border-radius:.5rem;padding:.65rem .75rem}.nav-btn-icon{width:2.35rem;color:inherit;justify-content:center;align-items:center;font-size:1.2rem;font-weight:800;line-height:1;display:inline-flex}.nav-btn.active{color:#0f172a;background:#38bdf8;font-weight:700}.role-badge{border-radius:999px;margin-top:.75rem;padding:.2rem .6rem;font-size:.8rem;display:inline-block}.role-admin{color:#854d0e;background:#fef9c3}.role-gestion{color:#1d4ed8;background:#dbeafe}.role-reader{color:#334155;background:#e2e8f0}.app-main{background:#f1f5f9;flex:1;padding:1.25rem}.notifications-banner{background:#fef3c7;border:1px solid #fde68a;border-radius:.75rem;margin-bottom:1rem;padding:1rem}.notifications-title{color:#92400e;margin:0 0 .5rem;font-size:1rem;font-weight:700}.notifications-list{gap:.75rem;display:grid}.notification-item{background:#fff7ed;border:1px solid #fde9d7;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.notification-item p{color:#92400e;margin:0;font-size:.95rem}.notification-item .btn-secondary{white-space:nowrap}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:.9rem;padding:1rem}.panel-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-section{margin:1rem 0}.field-label{color:#cbd5e1;margin-bottom:.25rem;font-size:.85rem;display:block}.app-main .field-label{color:#475569}.field-input{border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.5rem .65rem}.field-input-fit{width:auto;max-width:100%}.nombre-medico-input{width:16rem}.nivel-medico-select{width:12rem}.fecha-efecto-input,.fecha-turno-input{width:10.5rem}.anio-turnos-input{width:7rem}.field-help{color:#64748b;margin-top:.25rem;font-size:.78rem;line-height:1.35;display:block}.form-row{grid-template-columns:repeat(3,minmax(150px,1fr));align-items:end;gap:.75rem;margin-bottom:1rem;display:grid}.form-row-fit{grid-template-columns:repeat(3,max-content)}.form-grid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.form-row-4{grid-template-columns:repeat(4,minmax(120px,1fr))}.full-width{grid-column:1/-1}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.55rem}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border:none;border-radius:.5rem;padding:.45rem .7rem}.btn-primary{color:#fff;background:#2563eb}.btn-secondary{color:#0f172a;background:#e2e8f0}.btn-danger{color:#991b1b;background:#fee2e2}.kpis{gap:1rem;margin-bottom:1rem;display:flex}.kpis>div{background:#f8fafc;border-radius:.5rem;min-width:110px;padding:.75rem}.kpis span{color:#64748b;font-size:.8rem;display:block}.kpis strong{font-size:1.2rem}.list-cards{gap:.75rem;display:grid}.item-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.75rem}.item-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.item-card-header h4{margin:0}.row-actions{align-items:center;gap:.5rem;display:flex}.alert{border-radius:.6rem;margin-bottom:.8rem;padding:.6rem .8rem}.alert-error{color:#991b1b;background:#fee2e2}.alert-success{color:#166534;background:#dcfce7}.loading-state{color:#334155;font-weight:600}.form-error{color:#b91c1c;margin:0}.badge-warning{color:#9a3412;background:#ffedd5;border-radius:999px;padding:.2rem .5rem;font-size:.75rem}.role-badge-inline{border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.turno-vacaciones-select{width:8rem;min-width:0;max-width:100%}.turnos-vacaciones-grid{grid-template-columns:repeat(2,minmax(260px,1fr));align-items:stretch;gap:.75rem;display:grid}.empty-msg{color:#94a3b8;font-style:italic}.sol-badge{border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:800;display:inline-block}.badge-pendiente{color:#854d0e;background:#fef9c3}.badge-aceptada{color:#166534;background:#dcfce7}.badge-rechazada{color:#991b1b;background:#fee2e2}.sidebar-user-menu{background:#ffffff0a;border:1px solid #94a3b833;border-radius:.75rem;margin:.75rem 0;overflow:hidden}.sidebar-user-menu-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem;display:flex}.sidebar-user-menu-summary:hover{background:#ffffff0f}.sidebar-user-menu-arrow{opacity:.8;font-size:1.05rem}.sidebar-user-menu-body{border-top:1px solid #94a3b826;padding:.75rem}.sidebar-user-menu-body .field-label{margin-bottom:.4rem}.sidebar-user-menu-body .field-input{width:100%}.sidebar-user-menu-logout{color:#f87171;cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff26;border-radius:.5rem;width:100%;margin-top:.85rem;padding:.55rem .75rem;font-weight:700}.sidebar-user-menu-logout:hover{background:#f8717126}.sidebar-user-name{color:#f1f5f9;font-size:.95rem;font-weight:700}.sidebar-user-email{color:#94a3b8;font-size:.8rem}.dias-vacaciones-menu{border-top:1px solid #94a3b826;padding:.75rem 0}.dias-vacaciones-title{color:#f1f5f9;margin:0 0 .6rem;font-size:.9rem;font-weight:700}.dias-vacaciones-view{padding:.5rem 0}.dias-vacaciones-approved-info{color:#dcfce7;background:#22c55e14;border:1px solid #22c55e33;border-radius:.5rem;margin-bottom:.6rem;padding:.6rem;font-size:.8rem}.dias-vacaciones-approved-info p{margin:.3rem 0}.dias-vacaciones-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin:.6rem 0;display:grid}.dias-vacaciones-item{background:#ffffff0a;border:1px solid #94a3b826;border-radius:.5rem;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem;display:flex}.dias-vacaciones-icon{font-size:1.3rem}.dias-vacaciones-label{color:#cbd5e1;text-align:center;font-size:.75rem}.dias-vacaciones-value{color:#0f172a;font-size:1.1rem;font-weight:700}.dias-vacaciones-value.solicitados{color:#2563eb}.dias-vacaciones-value.aceptados{color:#111827}.dias-vacaciones-total{color:#bae6fd;text-align:center;background:#38bdf81a;border:1px solid #38bdf833;border-radius:.5rem;padding:.5rem;font-size:.8rem}.dias-vacaciones-form{flex-direction:column;gap:.5rem;padding:.5rem 0;display:flex}.dias-vacaciones-form .field-label{color:#cbd5e1;margin-bottom:.2rem;font-size:.8rem}.dias-vacaciones-form .field-input{color:#f1f5f9;background:#ffffff0f;border:1px solid #94a3b84d;width:100%;padding:.4rem .5rem;font-size:.85rem}.dias-vacaciones-form textarea{resize:vertical}.btn-close{color:#cbd5e1;cursor:pointer;background:0 0;border:none;justify-content:center;align-self:flex-end;align-items:center;width:1.5rem;height:1.5rem;padding:0;font-size:1.2rem;display:flex}.btn-close:hover{color:#f1f5f9}.alert-warning{color:#fef9c3;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:.5rem;margin-bottom:.6rem;padding:.6rem;font-size:.8rem}.btn-logout{color:#f87171;cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff26;border-radius:.5rem;width:100%;margin-top:1rem;padding:.55rem .75rem;font-weight:700}.btn-logout:hover{background:#f8717126}.user-data-menu{gap:.85rem;display:grid}.user-data-block{padding-bottom:.15rem}.user-data-title{color:#f1f5f9;margin:0 0 .6rem;font-size:.9rem}.user-data-list{gap:.45rem;margin:0;display:grid}.user-data-row{gap:.1rem;display:grid}.user-data-row dt{color:#94a3b8;text-transform:uppercase;font-size:.72rem;font-weight:700}.user-data-row dd{color:#e2e8f0;overflow-wrap:anywhere;margin:0;font-size:.85rem}.user-data-details{border-top:1px solid #94a3b826;border-bottom:1px solid #94a3b826;padding:.65rem 0}.user-data-details summary{cursor:pointer;color:#f1f5f9;font-size:.85rem;font-weight:700}.password-form{gap:.5rem;margin-top:.7rem;display:grid}.password-form .field-label{margin-bottom:-.25rem}.password-form .field-input{color:#f1f5f9;background:#ffffff0f;border:1px solid #94a3b84d;font-size:.85rem}.password-form .btn-primary{margin-top:.2rem}.datos-usuario-panel .user-data-title,.datos-usuario-panel .user-data-details summary{color:#0f172a}.datos-usuario-panel .user-data-row dt{color:#64748b}.datos-usuario-panel .user-data-row dd{color:#0f172a}.datos-usuario-panel .password-form .field-input{color:#0f172a;background:#fff;border-color:#cbd5e1}.datos-usuario-panel .dias-vacaciones-title,.datos-usuario-panel .dias-vacaciones-form .field-label{color:#0f172a}.datos-usuario-panel .dias-vacaciones-form .field-input{color:#0f172a;-webkit-text-fill-color:#0f172a;background:#fff;border-color:#cbd5e1}.datos-usuario-panel .dias-vacaciones-form .field-input::placeholder{color:#64748b}.datos-usuario-panel .dias-vacaciones-form .alert-warning{color:#78350f}.datos-usuario-panel .dias-vacaciones-item{background:#f8fafc;border-color:#e2e8f0}.datos-usuario-panel .dias-vacaciones-label{color:#475569}.sidebar-version{text-align:center;color:#475569;opacity:.6;letter-spacing:.05em;margin-top:auto;padding-top:1rem;font-size:.7rem}.login-container{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:#fff;border-radius:1rem;width:100%;max-width:400px;padding:2rem;box-shadow:0 20px 60px #0003}.login-header{text-align:center;margin-bottom:1.5rem}.login-header h1{color:#0f172a;margin:0;font-size:1.5rem}.login-header p{color:#64748b;margin:.3rem 0 0}.login-form{gap:.75rem;display:grid}.login-form .field-label{color:#475569}.terms-box{white-space:pre-wrap;color:#334155;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.75rem;max-height:220px;padding:1rem;font-size:.85rem;overflow:auto}.terms-page pre{white-space:pre-wrap;color:#0f172a;margin:0;font-family:inherit;line-height:1.6}.terms-toggle{justify-content:flex-end;display:flex}.btn-small{padding:.45rem .75rem;font-size:.85rem}.checkbox-field{color:#334155;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.form-success{color:#16a34a;background:#ecfdf5;border:1px solid #d1fae5;border-radius:.75rem;padding:.75rem 1rem}.login-btn{width:100%;margin-top:.5rem;padding:.65rem;font-size:1rem;font-weight:700}.login-footer{text-align:center;color:#94a3b8;margin-top:1rem}.cal-contenedor{background:#f8fafc}.cal-cabecera{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.cal-titulo{color:#0f172a;margin:0;font-size:1.5rem}.cal-subtitulo{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.cal-acciones{align-items:center;gap:.5rem;display:flex}.cal-btn-vista{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.5rem .85rem;font-size:.85rem;font-weight:700}.cal-btn-vista.activo{color:#fff;background:#0f172a;border-color:#0f172a}.cal-btn-hoy{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:999px;padding:.5rem .85rem;font-size:.85rem;font-weight:800}.cal-navegacion{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.cal-periodo{color:#1e293b;text-transform:uppercase;text-align:center;min-width:200px;margin:0;font-size:1rem}.cal-leyenda{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;padding:.6rem .75rem;font-size:.78rem;display:flex}.cal-leyenda-item{align-items:center;gap:.35rem;display:flex}.cal-ley-box{border-radius:3px;width:14px;height:14px;display:inline-block}.cal-ley-dot{background:#f97316;border-radius:50%;width:12px;height:12px;display:inline-block}.domingo-bg{background:#b91c1c}.festivo-bg{background:#1e3a8a}.sandwich-bg{background:#fef08a;border:2px solid #facc15}.maternidad-bg{background:#ec4899}.ucin-bg{background:#2563eb}.extra-bg{background:#16a34a}.cal-cuadrante{gap:1rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.cal-cuadrante-bloque{background:#fff;border:2px solid #cbd5e1;border-radius:.85rem;min-width:980px;overflow:hidden;box-shadow:0 2px 8px #0f172a0f}.cal-cuadrante-bloque.semana{min-width:980px}.cal-cuadrante-grid{grid-template-columns:125px repeat(7,minmax(120px,1fr));align-items:stretch;display:grid}.cal-puesto-esquina{color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f1f5f9;border-bottom:1px solid #cbd5e1;border-right:1px solid #cbd5e1;justify-content:center;align-items:center;padding:.65rem .55rem;font-size:.72rem;font-weight:900;display:flex}.cal-dia-col-header{color:#0f172a;background:#f8fafc;border-bottom:1px solid #cbd5e1;border-right:1px solid #cbd5e1;min-height:62px;padding:.55rem .5rem;position:relative}.cal-dia-col-header.vacio{background:#f8fafc}.cal-dia-col-header.domingo{color:#fff;background:#b91c1c}.cal-dia-col-header.sabado-festivo{color:#fff;background:#1e3a8a}.cal-dia-col-header.hoy{box-shadow:inset 0 0 0 3px #38bdf8}.cal-dia-col-header.pasado{opacity:.7}.cal-dia-col-nombre{opacity:.9;text-transform:capitalize;font-size:.7rem;font-weight:800}.cal-dia-col-numero{align-items:center;gap:.35rem;margin-top:.15rem;font-size:1rem;font-weight:950;display:flex}.cal-dia-col-festivo{opacity:.95;margin-top:.2rem;font-size:.62rem;font-weight:800;line-height:1.1}.cal-dia-vacante-dot{flex:none;position:static}.cal-puesto-row-label{text-align:center;z-index:2;border-bottom:1px solid #cbd5e1;border-right:1px solid #cbd5e1;justify-content:center;align-items:center;min-height:58px;padding:.6rem .55rem;font-size:.78rem;font-weight:950;display:flex;position:sticky;left:0}.cal-puesto-row-label.mat{color:#be185d;background:#fff1f5;border-left:8px solid #ec4899}.cal-puesto-row-label.ucin{color:#1d4ed8;background:#eff6ff;border-left:8px solid #2563eb}.cal-puesto-row-label.extra{color:#166534;background:#f0fdf4;border-left:8px solid #22c55e}.cal-turno-slot{background:#fff;border-bottom:1px solid #cbd5e1;border-right:1px solid #cbd5e1;align-items:center;min-height:58px;padding:.42rem;display:flex}.cal-turno-slot.vacio{background:#f8fafc}.cal-turno-slot.domingo{background:#fff5f5}.cal-turno-slot.sabado-festivo{background:#f5f8ff}.cal-turno-slot.hoy{box-shadow:inset 0 0 0 2px #38bdf8}.cal-turno-slot.pasado{opacity:.7}.cal-turno-slot.mat{border-left:5px solid #ec4899}.cal-turno-slot.ucin{border-left:5px solid #2563eb}.cal-turno-slot.extra{border-left:5px solid #22c55e}.cal-turno-slot.disabled{opacity:.5;cursor:not-allowed;background:#f3f4f6}.cal-turno-slot-content{background:#fff;border:2px solid #dbe3ee;border-radius:.55rem;width:100%;padding:.15rem;position:relative}.cal-turno-slot-content.mat{border-color:#f3a6cb}.cal-turno-slot-content.ucin{border-color:#93c5fd}.cal-turno-slot-content.extra{border-color:#86efac}.cal-turno-slot-content.sandwich{box-shadow:inset 0 0 0 2px #f59e0b,0 0 0 2px #f59e0b2e;background:#fef3c7!important;border-color:#f59e0b!important}.cal-turno-slot-content.mi-guardia{background:#e0f2fe;border-color:#38bdf8}.cal-slot-vacante-dot{z-index:3;position:absolute;top:-5px;right:-5px}.cal-cuadrante-select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:.45rem;width:100%;min-height:34px;padding:.42rem .55rem;font-size:.78rem;font-weight:900}.cal-cuadrante-select:disabled{opacity:1;color:#0f172a;-webkit-text-fill-color:#0f172a;font-weight:900}.cal-turno-slot-content.sandwich .cal-cuadrante-select{box-shadow:inset 0 0 0 2px #f59e0b;background:#fef3c7!important;border-color:#f59e0b!important}.cal-cuadrante-select.sandwich-select,.cal-cuadrante-select.sandwich-select:disabled{-webkit-text-fill-color:#78350f;box-shadow:inset 0 0 0 2px #f59e0b;color:#78350f!important;background:#fef3c7!important;border-color:#f59e0b!important}.cal-cuadrante-select.mat{border-left:5px solid #ec4899}.cal-cuadrante-select.ucin{border-left:5px solid #2563eb}.cal-cuadrante-select.extra{border-left:5px solid #22c55e}.cal-cuadrante-select.sin-asignar{color:#dc2626;background:#fff1f2;border-color:#fecaca;font-weight:900}.cal-cuadrante-select.bloqueado{cursor:not-allowed;color:#0f172a;-webkit-text-fill-color:#0f172a;background:#f8fafc;font-weight:900}.cal-cuadrante .cal-select.mi-guardia-select{color:#0f172a!important;background:#e0f2fe!important;border-color:#0284c7!important;font-size:.82rem!important;font-weight:950!important}.cal-turno-slot-vacio{min-height:34px}.cal-grid-mes,.cal-lista-semana{display:none}.app-shell.view-mobile{flex-direction:column}.app-shell.view-mobile .sidebar{width:100%;height:auto;min-height:auto;padding:.85rem;position:relative}.app-shell.view-mobile .sidebar-title,.app-shell.view-mobile .sidebar-user-menu,.app-shell.view-mobile .role-badge,.app-shell.view-mobile .side-nav,.app-shell.view-mobile .sidebar-export-btn,.app-shell.view-mobile .view-mode-switch,.app-shell.view-mobile .sidebar-terms-btn{border:1px solid #e2e8f059;box-shadow:0 0 0 1px #0f172a1f}.app-shell.view-mobile .sidebar-title{background:#ffffff0a;border-radius:.65rem;margin-bottom:.65rem;padding:.65rem .75rem;font-size:1rem}.app-shell.view-mobile .sidebar-user-menu{margin:.5rem 0}.app-shell.view-mobile .role-badge{overflow-wrap:anywhere;max-width:100%}.app-shell.view-mobile .side-nav{background:#ffffff09;border-radius:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.65rem;padding:.65rem}.app-shell.view-mobile .nav-btn{align-items:center;gap:.35rem;min-height:42px;padding:.5rem .55rem;font-size:.88rem;display:flex}.app-shell.view-mobile .nav-btn-icon{width:auto;min-width:1.75rem;font-size:1.35rem}.app-shell.view-mobile .sidebar-export-btn,.app-shell.view-mobile .sidebar-terms-btn,.app-shell.view-mobile .view-mode-switch{background:#ffffff0b}.app-shell.view-mobile .app-main{padding:.75rem}.app-shell.view-mobile .panel{border-radius:.65rem;padding:.8rem}.app-shell.view-mobile .panel-header,.app-shell.view-mobile .item-card-header,.app-shell.view-mobile .notification-item,.app-shell.view-mobile .cal-navegacion{flex-direction:column;align-items:stretch}.app-shell.view-mobile .form-row,.app-shell.view-mobile .form-grid,.app-shell.view-mobile .form-row-4{grid-template-columns:1fr}.app-shell.view-mobile .row-actions{flex-wrap:wrap}.app-shell.view-mobile .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.app-shell.view-mobile .kpis>div{min-width:0}.app-shell.view-mobile .table{white-space:nowrap;width:100%;display:block;overflow-x:auto}.app-shell.view-mobile .cal-acciones{flex-wrap:wrap}.app-shell.view-mobile .cal-periodo{min-width:0}.app-shell.view-mobile .cal-cuadrante-bloque{min-width:820px}.app-shell.view-mobile .contacto-layout{grid-template-columns:1fr}.app-shell.view-mobile .contacto-lista{border-bottom:1px solid #e2e8f0;border-right:0;padding-bottom:1rem;padding-right:0}.app-shell.view-mobile .contacto-mensaje{max-width:100%}.app-shell.view-mobile .sidebar-version{margin-top:.75rem}.app-shell.view-desktop{flex-direction:row}.app-shell.view-desktop .sidebar{width:280px;height:100vh;position:sticky}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:relative}.form-row,.form-grid,.form-row-4,.form-row-fit,.turnos-vacaciones-grid{grid-template-columns:1fr}.field-input-fit,.nombre-medico-input,.nivel-medico-select,.fecha-efecto-input,.fecha-turno-input,.anio-turnos-input,.turno-vacaciones-select{width:100%}.calendar-grid{grid-template-columns:1fr}.cal-cabecera{flex-direction:column;align-items:flex-start}.cal-cuadrante-bloque{min-width:850px}.cal-cuadrante-grid{grid-template-columns:105px repeat(7,minmax(105px,1fr))}.cal-puesto-row-label{font-size:.7rem}.cal-cuadrante-select{font-size:.72rem}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff!important}.sidebar,.no-print,.cal-acciones,.cal-navegacion,.btn-primary,.btn-secondary,.btn-danger,.alert{display:none!important}.app-shell{display:block!important}.app-main{background:#fff!important;padding:0!important}.panel{box-shadow:none!important;border:none!important;padding:0!important}.pdf-export-header{color:#0f172a;border-bottom:2px solid #0f172a;margin-bottom:1rem;padding-bottom:.75rem;display:block}.pdf-export-header h1{margin:0;font-size:1.35rem}.pdf-export-header h2{margin:.25rem 0 .5rem;font-size:1rem;font-weight:700}.pdf-export-header p{margin:.15rem 0;font-size:.8rem}.cal-cuadrante{overflow:visible!important}.cal-cuadrante-bloque{page-break-inside:avoid;break-inside:avoid;min-width:0!important}.table{font-size:.75rem}.table th,.table td{padding:.35rem}.item-card{page-break-inside:avoid;break-inside:avoid}}.sidebar-export-btn{color:#e0f2fe;cursor:pointer;text-align:left;background:#38bdf81f;border:1px solid #ffffff2e;border-radius:.5rem;width:100%;margin-top:1rem;padding:.55rem .75rem;font-weight:700}.sidebar-export-btn:hover{background:#38bdf838}.view-mode-switch{text-align:center;background:#ffffff0a;border:1px solid #94a3b840;border-radius:.65rem;margin-top:1.1rem;padding:.8rem}.view-mode-switch>span{color:#94a3b8;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:800;display:block}.view-mode-options{grid-template-columns:1fr;justify-items:center;gap:.45rem;display:grid}.view-mode-options button{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #94a3b840;border-radius:.45rem;justify-content:center;align-items:center;gap:.25rem;width:min(100%,9rem);padding:.45rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.view-mode-options button.active{color:#0f172a;background:#38bdf8;border-color:#38bdf8}.sidebar-terms-btn{color:#cbd5e1;cursor:pointer;text-align:center;background:0 0;border:1px solid #94a3b840;border-radius:.5rem;width:min(100%,12rem);margin:2rem auto 0;padding:.65rem .75rem;font-weight:700;display:block}.sidebar-terms-btn:hover,.sidebar-terms-btn.active{color:#f8fafc;background:#ffffff14}.contacto-layout{grid-template-columns:minmax(220px,280px) 1fr;gap:1rem;display:grid}.contacto-lista{border-right:1px solid #e2e8f0;padding-right:1rem}.contacto-conversacion h3{margin-top:0}.contacto-mensajes{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;gap:.75rem;max-height:460px;margin-bottom:1rem;padding:.5rem;display:grid;overflow-y:auto}.contacto-mensaje{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;max-width:78%;padding:.7rem .85rem}.contacto-mensaje.propio{background:#e0f2fe;border-color:#7dd3fc;justify-self:end}.contacto-mensaje p{white-space:pre-wrap;margin:.35rem 0}@media (width<=760px){.contacto-layout{grid-template-columns:1fr}.contacto-lista{border-bottom:1px solid #e2e8f0;border-right:0;padding-bottom:1rem;padding-right:0}.contacto-mensaje{max-width:100%}}.export-modal-backdrop{z-index:9999;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.export-modal{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;width:100%;max-width:520px;overflow:hidden;box-shadow:0 20px 60px #0f172a47}.export-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:1rem;padding:1rem;display:flex}.export-modal-header h2{color:#0f172a;margin:0;font-size:1.2rem}.export-modal-header p{color:#64748b;margin:.25rem 0 0;font-size:.85rem}.export-modal-close{color:#0f172a;cursor:pointer;background:#f1f5f9;border:none;border-radius:.5rem;width:34px;height:34px;font-size:1.4rem;line-height:1}.export-modal-body{gap:.6rem;padding:1rem;display:grid}.export-option{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.export-option.selected{background:#eff6ff;border-color:#2563eb}.export-option input{margin-top:.2rem}.export-option strong{color:#0f172a;display:block}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.sortable:hover{background-color:#f1f5f9}.export-option small{color:#64748b;margin-top:.15rem;display:block}.export-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.5rem;padding:1rem;display:flex}.pdf-export-header{display:none}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff!important}.sidebar,.no-print,.export-modal-backdrop,.cal-acciones,.cal-navegacion,.btn-primary,.btn-secondary,.btn-danger,.alert,form{display:none!important}.app-shell{display:block!important}.app-main{background:#fff!important;padding:0!important}.panel{box-shadow:none!important;border:none!important;padding:0!important}.pdf-export-header{color:#0f172a;border-bottom:2px solid #0f172a;margin-bottom:1rem;padding-bottom:.75rem;display:block!important}.pdf-export-header h1{margin:0;font-size:1.35rem}.pdf-export-header h2{margin:.25rem 0 .5rem;font-size:1rem;font-weight:700}.pdf-export-header p{margin:.15rem 0;font-size:.8rem}.cal-cuadrante,.cal-grid-mes,.cal-lista-semana{overflow:visible!important}.cal-cuadrante-bloque,.cal-dia-card,.cal-semana-card,.item-card{page-break-inside:avoid;break-inside:avoid}.table{font-size:.75rem}.table th,.table td{padding:.35rem}select{appearance:none;color:#0f172a!important;background:0 0!important;border:none!important;font-weight:700!important}}:root{color:#0f172a;background:#f1f5f9;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}
