html,body{margin:0;padding:0;height:100%;width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch;background-color:#f7f9fb}:root{height:100%}body{font-family:Arial,Helvetica,sans-serif;margin:0;background:#f7f9fb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:env(safe-area-inset-bottom,60px);height:auto;min-height:100dvh}main{padding:20px 20px 60px;max-width:900px;margin:auto}h2{color:#455392}form{background:#fff;padding:20px;margin-bottom:30px;border-radius:10px;box-shadow:0 2px 5px #0000001a;display:flex;flex-wrap:wrap;gap:10px;align-items:center}input[type=text],input[type=number],input[type=datetime-local],input[type=date],textarea,select,button{padding:10px 12px;font-size:16px;line-height:1.4;min-height:44px;border-radius:6px;box-sizing:border-box;font-family:inherit;border:1px solid #ccc;transition:border-color .3s ease,box-shadow .3s ease;box-shadow:0 1px 2px #0000000d;background-color:#fff;color:#333}textarea{width:221px;height:44.39px;overflow:hidden;resize:none}input:focus,textarea:focus,select:focus{border-color:#2bbda0;box-shadow:0 0 8px #2bbda04d;outline:none}input.error,textarea.error{border-color:red;background-color:#ffe6e6}button{background-color:#2bbda0;color:#fff;border:none;cursor:pointer;flex:0 0 auto;transition:background-color .3s ease,transform .2s ease}button[disabled],.boton-cancelado{background-color:#ccc!important;color:#666!important;cursor:not-allowed;transform:none}thead th{background-color:#2bbda0;color:#fff;text-transform:uppercase;font-size:.85em;padding:12px;border-radius:8px 8px 0 0;text-align:center}thead th i{display:block;font-size:1.2em;margin-bottom:4px;color:#fff}button:hover{background-color:#249d85;transform:translateY(-2px)}.table-wrapper{overflow-x:auto;background:#fff;box-shadow:0 2px 5px #0000001a;border-radius:10px;max-width:100vw}table{width:100%;border-collapse:collapse}th,td{padding:10px;border:1px solid #ccc;text-align:center}th{background-color:#e9f1ff}@media (max-width: 900px){form{flex-direction:column}input,textarea,select,button{flex:1 1 100%;width:100%}table,thead,tbody,th,td,tr{display:block}thead{display:none}tbody tr{margin-bottom:15px;background:#fff;padding:10px;border-radius:8px;border:1px solid #ccc}tbody td{text-align:left;padding-left:50%;position:relative;border:none;border-bottom:1px solid #ddd;word-wrap:break-word;white-space:normal}tbody td:before{content:attr(data-label);position:absolute;left:10px;top:10px;font-weight:700;text-transform:uppercase;font-size:.8em;color:#555;white-space:nowrap}tbody td input[type=checkbox]{transform:scale(1.3);margin-left:5px}tbody td input,tbody td button{width:100%;box-sizing:border-box}}.navbar{display:flex;justify-content:space-between;align-items:center;background-color:#455392;color:#fff;padding:15px 20px;border-bottom:2px solid #2BBDA0}.navbar .logo{margin:0;font-size:1.5em;font-weight:700}.logout-btn{background-color:#fff;color:#455392;border-radius:6px;padding:8px 16px;cursor:pointer;font-weight:700}.logout-btn:hover{background-color:#2bbda0;color:#fff}.desktop-only{display:inline-block}.mobile-only{display:none;position:relative}.menu-btn{background-color:#fff;color:#455392;border:none;border-radius:6px;padding:6px 12px;font-size:1.2em;cursor:pointer}.menu-dropdown{display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 5px #0003;z-index:1000}.menu-dropdown.open{display:block}@media (max-width: 900px){.desktop-only{display:none}.mobile-only{display:inline-block}.navbar{flex-wrap:wrap}}.footer{background-color:#455392;color:#fff;text-align:center;height:40px;line-height:40px;font-size:12px;padding:0 15px;border-top:2px solid #2BBDA0;position:fixed;bottom:0;left:0;width:100%}.footer img{height:25px;margin:0 10px;vertical-align:middle}.no-turnos{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;margin:30px auto;padding:20px 25px;max-width:400px;background-color:#fff3cd;color:#856404;border:1px solid #ffeeba;border-radius:12px;font-weight:700;font-size:1.1em;box-shadow:0 4px 10px #0000001a;transition:transform .2s ease}.no-turnos:hover{transform:translateY(-2px)}@media (max-width: 900px){.no-turnos{max-width:90%;font-size:1em;padding:18px 20px}}.scroll-top-btn{position:fixed;bottom:100px;right:0;width:50px;height:50px;background-color:#2bbda0;color:#fff;border:none;border-top-left-radius:25px;border-bottom-left-radius:25px;cursor:pointer;box-shadow:-2px 2px 10px #0000004d;z-index:1000;font-size:22px;display:flex;justify-content:center;align-items:center;opacity:0;transform:translate(20px);transition:opacity .5s ease,transform .5s ease}.scroll-top-btn.show{opacity:1;transform:translate(0)}.scroll-top-btn:hover{background-color:#249d85;transform:translate(-2px)}.dropdown-cedula{position:absolute;background:#fff;border:1px solid #ccc;border-radius:6px;max-height:200px;overflow-y:auto;width:250px;z-index:10;margin-top:4px;box-shadow:0 2px 6px #0000001a}.dropdown-item{padding:.5rem;cursor:pointer}.dropdown-item:hover{background-color:#f0f0f0}.switch{position:relative;display:inline-block;width:50px;height:24px;margin-right:10px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#4caf50}input:checked+.slider:before{transform:translate(26px)}.toast-exito{position:fixed;bottom:80px;right:20px;background-color:#2bbda0;color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 2px 6px #0003;z-index:2000;font-weight:700;animation:fadein .3s,fadeout .3s 2.7s}@keyframes fadein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeout{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.busqueda-linea{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.busqueda-paciente,.busqueda-fecha{flex:1 1 48%}.busqueda-paciente input,.busqueda-fecha input{width:100%;padding:10px 12px;border-radius:6px;border:1px solid #ccc;font-size:16px;box-shadow:0 1px 2px #0000000d;transition:border-color .3s ease,box-shadow .3s ease}.busqueda-paciente input:focus,.busqueda-fecha input:focus{border-color:#2bbda0;box-shadow:0 0 8px #2bbda04d}@media (max-width: 900px){.busqueda-paciente,.busqueda-fecha{flex:1 1 100%}.resumen-cards{flex-direction:column;gap:10px}.resumen-card{min-width:100%;justify-content:flex-start;padding:12px 15px;font-size:.95em}.resumen-card i{font-size:1.1em}}.resumen-cards{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.resumen-card{display:flex;align-items:center;gap:6px;padding:10px 15px;border-radius:10px;color:#fff;font-weight:700;box-shadow:0 2px 5px #0000001a;min-width:120px;justify-content:center}.resumen-card.total{background-color:#455392}.resumen-card.asistio{background-color:#28a745}.resumen-card.no-asistio{background-color:#dc3545}.resumen-card.pago{background-color:#17a2b8}.resumen-card.no-pago{background-color:#ffc107;color:#333}.resumen-card i{font-size:1.2em}.celda-editable{position:relative;cursor:pointer;padding:6px 10px}.celda-editable input{width:100%;box-sizing:border-box;cursor:text}.celda-editable.editando{background-color:#f0f8ff}@media (max-width: 900px){td[data-label=Monto] input,td[data-label=Descripci\f3n] input{position:relative;left:0;width:calc(100% - 10px);margin-left:0}td.celda-editable{padding-left:50%}}.boton-cancelar{background-color:#e74c3c;color:#fff;border:none;border-radius:6px;padding:6px 12px;cursor:pointer;transition:background-color .2s ease}.boton-cancelar:hover{background-color:#c0392b}.texto-inactivo{color:#888;font-style:italic}
