:root{--verde: #2f6f6a;--verde-claro: #e3efed;--fondo: #f5f7f6;--texto: #1f2a29;--gris: #6b7977;--borde: #d5dddb;--rojo: #b3261e}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fondo);color:var(--texto)}h1{margin:0;font-size:1.4rem}h2{margin:0;font-size:1.15rem}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem}input,select{font-size:16px;padding:12px;border:1px solid var(--borde);border-radius:10px;background:#fff;color:var(--texto)}button{font-size:1rem;padding:12px 16px;border:0;border-radius:10px;background:var(--verde);color:#fff;cursor:pointer}button:disabled{opacity:.6}button.secundario{background:var(--verde-claro);color:var(--verde)}button.peligro{background:#fbeceb;color:var(--rojo)}.error{color:var(--rojo);margin:0}.ayuda{color:var(--gris);font-size:.85rem;margin:2px 0}.centrado{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.tarjeta{width:100%;max-width:380px;background:#fff;border:1px solid var(--borde);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px}.app{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff;border-bottom:1px solid var(--borde);padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top,0px))}.contenido{flex:1;width:100%;max-width:720px;margin:0 auto;padding:16px;padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}.nav{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;background:#fff;border-top:1px solid var(--borde);padding-bottom:env(safe-area-inset-bottom,0px)}.nav button{flex:1;background:none;color:var(--gris);border-radius:0;padding:10px 0;font-size:.75rem;display:flex;flex-direction:column;align-items:center;gap:2px}.nav button span{font-size:1.3rem}.nav button.activa{color:var(--verde);font-weight:600}.campana{position:relative;background:none;color:var(--texto);padding:6px 10px;font-size:1.3rem;line-height:1}.globito{position:absolute;top:0;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--rojo);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.aviso{border:1px solid var(--borde);border-left:4px solid var(--verde);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.aviso.leido{border-left-color:var(--borde);opacity:.7}.aviso-cabecera{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.aviso .fila{align-items:center;justify-content:space-between;margin-top:4px}.barra{display:flex;gap:8px;margin-bottom:8px}.buscador{flex:1;min-width:0}.check{flex-direction:row;align-items:center;gap:8px;margin-bottom:8px;color:var(--gris)}.check input{padding:0;width:18px;height:18px}.lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lista li{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.lista li.archivado{opacity:.6}.derecha{text-align:right;white-space:nowrap}.fondo-hoja{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#00000059;display:flex;align-items:flex-end;justify-content:center}.hoja{width:100%;max-width:520px;max-height:92%;overflow-y:auto;background:#fff;border-radius:18px 18px 0 0;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px}.fila{display:flex;gap:10px}.crece{flex:1;min-width:0}.columna{display:flex;flex-direction:column;gap:16px}.tarjeta.ancha{max-width:none}.ok{color:var(--verde);margin:0;font-weight:600}.dia{border-top:1px solid var(--borde);padding-top:10px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.dia-cabecera{display:flex;gap:10px;align-items:baseline}.franja{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px}.nueva-franja{width:100%;display:flex;flex-direction:column;gap:10px}button.chico{padding:8px 12px;font-size:.9rem}hr{border:0;border-top:1px solid var(--borde);margin:4px 0;width:100%}.centro{text-align:center}.contadores{display:flex;align-items:stretch;justify-content:space-around;gap:4px;background:#fff;border:1px solid var(--borde);border-radius:12px;padding:10px 6px}.contadores>div{display:flex;flex-direction:column;align-items:center;flex:1}.contadores .sep{flex:0 0 1px;background:var(--borde)}.num-grande{font-size:1.5rem;font-weight:700;color:var(--verde)}.seg{display:flex;background:var(--verde-claro);border-radius:10px;padding:3px;margin:12px 0 10px}.seg button{flex:1;background:none;color:var(--verde);padding:8px;border-radius:8px}.seg button.activo{background:var(--verde);color:#fff}.navfecha{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.acciones{margin-bottom:12px}.dia-bloque{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.dia-bloque h3{margin:6px 0 0;font-size:1rem}.hoy-titulo{color:var(--verde)}.turno{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;color:var(--texto);border:1px solid var(--borde);border-radius:12px;padding:12px 14px}.turno .hora{font-weight:700;min-width:48px}.turno .detalle-turno{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.turno.disponible{border-color:var(--verde);color:var(--verde)}.turno.agendado{background:var(--verde-claro);border-color:var(--verde-claro);border-left:5px solid var(--verde);color:var(--texto)}.turno.bloqueado{background:#eceeed;color:var(--gris)}.tag{font-size:.72rem;border-radius:6px;padding:2px 6px}.tag.rojo{background:#fbeceb;color:var(--rojo)}.tag.naranja{background:#fdf0e1;color:#9a5b00}.flotante{position:fixed;right:16px;z-index:6;bottom:calc(76px + env(safe-area-inset-bottom,0px));border-radius:28px;padding:14px 20px;font-weight:600;box-shadow:0 4px 12px #0003}.tag.blanco{background:#fff;color:var(--gris);border:1px solid var(--borde)}.mes{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mes-cab{text-align:center;font-size:.8rem;color:var(--gris);padding:4px 0}.celda{background:#fff;color:var(--texto);border:1px solid var(--borde);border-radius:8px;min-height:62px;padding:4px;display:flex;flex-direction:column;align-items:center;gap:4px}.celda.fuera{opacity:.4}.celda.hoy{border:2px solid var(--verde)}.celda .num{font-size:.9rem}.pills{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.pill{font-size:.72rem;border-radius:999px;padding:1px 6px;color:#fff}.pill.libre{background:#4aa391}.pill.agend{background:#1f4743}.hoja-cabecera{display:flex;justify-content:space-between;align-items:center;gap:8px}.campo{display:flex;flex-direction:column;gap:4px}.interruptor{display:flex;border:1px solid var(--borde);border-radius:10px;overflow:hidden}.interruptor button{flex:1;background:#fff;color:var(--gris);border-radius:0;padding:10px 6px;font-size:.95rem}.interruptor button.on{background:var(--verde);color:#fff}.interruptor button.off{background:#fbeceb;color:var(--rojo);font-weight:600}.horas{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}a{color:var(--verde)}.tot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;padding:6px 0;border-top:1px solid var(--borde)}.tot .ayuda{width:100%}.monto{font-weight:700;white-space:nowrap}.mov{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.lista li.mov{cursor:default}.acc{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.acc input{width:120px;padding:8px}.pos{color:var(--verde)}.neg{color:var(--rojo)}.punto{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}.punto.verde{background:var(--verde)}.punto.naranja{background:#d98c3f}.tabla-scroll{overflow-x:auto}.tabla{width:100%;border-collapse:collapse;font-size:.85rem}.tabla th,.tabla td{padding:6px 4px;text-align:right;border-top:1px solid var(--borde)}.tabla th:first-child,.tabla td:first-child{text-align:left}.tabla tr.sel{background:var(--verde-claro)}
