body {padding: 0;margin: 0;}header {width: 100%;background: #074d3d;color: #FFF;text-align: center;padding: 10px 0 10px 0;margin: 0;}div.centrado {text-align: center;}footer {width: 100%;background: #f2f2f2;text-align: center;padding: 10px 0 10px 0;margin: 0;}div#contenido {width: 768px;max-width: 100%;margin: auto;background: #FFF;margin-bottom: 20px;}div.botonera {margin: 15px 0 15px 0;text-align: center;}div.formGuardar {text-align: center; margin-top: 10px;}h3.verde {color: #009933;}span.errores {font-size: small;font-weight: bold;color: #cc0000;}div.formCheck {padding-top: 15px;}div.formBoton {padding-top: 30px;}div#paginado {margin: 20px 0 20px 0;}#dialogoAgregar {font-size: 85%;}td.noReserva {background: #e6e6e6;overflow:hidden; white-space:nowrap; text-overflow: ellipsis;width: 120px;min-width: 120px;max-width: 120px;}td.miReserva {background: #ffcc66;cursor: pointer;overflow:hidden; white-space:nowrap; text-overflow: ellipsis;width: 120px;min-width: 120px;max-width: 120px;}td.hayReservaOtros {background: #ff9999;overflow:hidden; white-space:nowrap; text-overflow: ellipsis;width: 120px;min-width: 120px;max-width: 120px;}td.hayReserva {background: #ff9999;cursor: pointer;overflow:hidden; white-space:nowrap; text-overflow: ellipsis;width: 120px;min-width: 120px;max-width: 120px;}td.hayBloqueo {background: #6699ff;cursor: pointer;overflow:hidden; white-space:nowrap; text-overflow: ellipsis;width: 120px;min-width: 120px;max-width: 120px;}td.sinReserva {background: #99ff99;width: 120px;min-width: 120px;}.ui-dialog { font-size: 12px; }.navbar-light .navbar-nav .blanco {color: #FFF;}.navbar-light .navbar-nav .blanco:hover {color: #FFF;}span.leyenda {margin-right: 10px;}.card {margin-bottom: 20px;}.card-deck {display: grid;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));grid-gap: .5rem;}.card-deck .card {margin: 0 0 1rem;}@media (min-width: 576px) and (max-width: 767.98px) {.card-deck .card {-ms-flex: 0 0 48.7%;flex: 0 0 48.7%;}}@media (min-width: 768px) and (max-width: 991.98px) {.card-deck .card {-ms-flex: 0 0 32%;flex: 0 0 32%;}}@media (min-width: 992px){.card-deck .card {-ms-flex: 0 0 24%;flex: 0 0 24%;}}:root {--pm-verde: #074d3d;--pm-verde-med: #0a6e54;--pm-verde-clr: #0d9e78;}.pm-auth-body { margin: 0; padding: 0; }.pm-auth-layout {display: flex;min-height: 100vh;}.pm-auth-brand {flex: 0 0 42%;background: linear-gradient(160deg, var(--pm-verde) 0%, #041f18 100%);display: flex;align-items: center;justify-content: center;padding: 3rem 2.5rem;position: relative;overflow: hidden;}.pm-auth-brand::before {content: '';position: absolute;width: 380px; height: 380px;border-radius: 50%;background: rgba(255,255,255,0.05);top: -110px; right: -110px;}.pm-auth-brand::after {content: '';position: absolute;width: 260px; height: 260px;border-radius: 50%;background: rgba(255,255,255,0.07);bottom: -70px; left: -70px;}.pm-auth-brand-inner {text-align: center;color: #fff;position: relative;z-index: 1;}.pm-auth-logo {width: 110px;margin-bottom: 1.5rem;filter: drop-shadow(0 4px 16px rgba(0,0,0,0.4));}.pm-auth-title {font-size: 2.1rem;font-weight: 800;line-height: 1.15;margin-bottom: 1rem;letter-spacing: -0.5px;}.pm-auth-sub {font-size: 1rem;opacity: 0.75;line-height: 1.7;margin-bottom: 2.5rem;}.pm-auth-balls {font-size: 1.5rem;opacity: 0.45;letter-spacing: 0.5rem;margin-bottom: 3rem;}.pm-auth-links-legal {font-size: 0.78rem;opacity: 0.55;display: flex;gap: 0.5rem;justify-content: center;flex-wrap: wrap;}.pm-auth-links-legal a { color: #fff; text-decoration: none; }.pm-auth-links-legal a:hover { opacity: 1; text-decoration: underline; }.pm-auth-content {flex: 1;display: flex;align-items: center;justify-content: center;padding: 3rem 2.5rem;background: #f7f8fa;}.pm-auth-content-inner {width: 100%;max-width: 430px;}.pm-login-form-title {color: var(--pm-verde);font-weight: 800;font-size: 1.9rem;margin-bottom: 0.2rem;}.pm-login-links {display: flex;justify-content: space-between;align-items: center;margin-top: 1.25rem;padding-top: 1rem;border-top: 1px solid #dee2e6;}.pm-btn-green {background-color: var(--pm-verde);border-color: var(--pm-verde);color: #fff;}.pm-btn-green:hover,.pm-btn-green:focus {background-color: var(--pm-verde-med);border-color: var(--pm-verde-med);color: #fff;}@media (max-width: 767.98px) {.pm-auth-layout { flex-direction: column; }.pm-auth-brand { flex: none; padding: 1.75rem 1.5rem; }.pm-auth-brand::before, .pm-auth-brand::after { display: none; }.pm-auth-logo { width: 72px; margin-bottom: 0.75rem; }.pm-auth-title { font-size: 1.4rem; }.pm-auth-sub, .pm-auth-balls { display: none; }.pm-auth-links-legal { margin-top: 0.5rem; }.pm-auth-content { padding: 2rem 1.25rem; align-items: flex-start; }}.pm-navbar-main {background: var(--pm-verde) !important;box-shadow: 0 2px 12px rgba(0,0,0,0.22);}.pm-navbar-main .navbar-brand {color: #fff !important;font-weight: 700;display: flex;align-items: center;gap: 0.5rem;}.pm-navbar-main .navbar-nav .nav-link {color: rgba(255,255,255,0.82) !important;font-weight: 500;transition: color 0.15s;}.pm-navbar-main .navbar-nav .nav-link:hover { color: #fff !important; }.pm-navbar-main .navbar-toggler { border-color: rgba(255,255,255,0.4); }.pm-navbar-logo { border-radius: 50%; }.pm-navbar-credito {background: rgba(255,255,255,0.14);border-radius: 20px;padding: 0.15rem 0.8rem !important;color: #fff !important;font-size: 0.9rem;}.pm-navbar-credito strong { color: #fff; }.pm-navbar-agregar {background: rgba(255,255,255,0.18);border: 1px solid rgba(255,255,255,0.4);border-radius: 20px;color: #fff !important;font-weight: 600;padding: 0.2rem 0.9rem !important;transition: background 0.15s;}.pm-navbar-agregar:hover { background: rgba(255,255,255,0.32) !important; color: #fff !important; }.pm-navbar-salir {background: rgba(220,53,69,0.8);border-radius: 20px;color: #fff !important;font-weight: 600;padding: 0.2rem 0.9rem !important;transition: background 0.15s;}.pm-navbar-salir:hover { background: #dc3545 !important; color: #fff !important; }.pm-welcome {background: linear-gradient(135deg, var(--pm-verde) 0%, var(--pm-verde-med) 100%);color: #fff;border-radius: 12px;padding: 1.5rem 2rem;margin-bottom: 1.5rem;}.pm-welcome h2 { font-size: 1.5rem; margin: 0 0 0.25rem; }.pm-welcome .pm-saldo-label { opacity: 0.8; font-size: 0.9rem; margin: 0; }.pm-welcome .pm-saldo-valor { font-size: 2rem; font-weight: 700; margin: 0; }.pm-action-card {display: block;border: none;border-radius: 10px;padding: 1.25rem 1rem;text-align: center;color: #fff;font-weight: 600;font-size: 1rem;text-decoration: none !important;box-shadow: 0 2px 8px rgba(0,0,0,0.10);transition: transform 0.15s ease, box-shadow 0.15s ease;margin-bottom: 1rem;}.pm-action-card:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,0.18); }.pm-action-card .pm-action-icon { display: block; font-size: 1.8rem; margin-bottom: 0.4rem; }.pm-action-reservar{ background: var(--pm-verde); }.pm-action-movimientos { background: var(--pm-verde-med); }.pm-action-credito { background: #17a2b8; }.pm-action-sugerencia{ background: #e0a800; color: #1a1a1a; }.pm-action-sugerencia:hover { color: #1a1a1a; }.pm-aviso {background: #fff3cd;border-left: 4px solid #ffc107;border-radius: 6px;padding: 0.75rem 1rem;margin-bottom: 1rem;font-weight: 600;color: #856404;}.pm-section-title {color: var(--pm-verde);font-weight: 700;margin: 1.5rem 0 0.75rem;padding-bottom: 0.3rem;border-bottom: 2px solid var(--pm-verde);}.pm-tabla-hoy { border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }.pm-tabla-hoy thead th { background: var(--pm-verde); color: #fff; border: none; }.pm-tabla-hoy tbody tr:hover { background: #f0faf7; }.pm-reservas-header {display: flex;align-items: center;gap: 0.6rem;flex-wrap: wrap;margin-bottom: 1rem;}.pm-reservas-header .form-control { max-width: 130px; }.pm-leyenda {display: flex;gap: 0.75rem;flex-wrap: wrap;align-items: center;margin-bottom: 1rem;}.pm-leyenda-item { display: flex; align-items: center; gap: 0.35rem; font-size: 0.85rem; }.pm-pista-nombre {color: var(--pm-verde);font-weight: 700;margin: 1.25rem 0 0.5rem;padding-bottom: 0.3rem;border-bottom: 2px solid var(--pm-verde);}.pm-calendar { border-collapse: separate !important; border-spacing: 3px !important; border: none !important; }.pm-calendar thead th {background: var(--pm-verde) !important;color: #fff !important;text-align: center !important;border: none !important;border-radius: 4px !important;font-size: 0.82rem !important;font-weight: 600 !important;padding: 0.5rem 0.25rem !important;}.pm-calendar td {border-radius: 6px !important;border: none !important;vertical-align: middle !important;text-align: center !important;padding: 0.5rem 0.3rem !important;}td.sinReserva .btn { width: 100%; font-size: 0.78rem; padding: 0.25rem 0.35rem; }