:root{--color-fondo:#faf7f2;--color-superficie:#fff;--color-texto:#2b2622;--color-borde:#e4ddd3;--color-marca:#b8752f;--color-marca-suave:#f3e6d6;--radio:12px;--espacio:16px;color:var(--color-texto);background:var(--color-fondo);font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5}body{padding-bottom:calc(64px + env(safe-area-inset-bottom));margin:0}.contenedor{max-width:640px;padding:var(--espacio);margin:0 auto}h1{color:var(--color-marca);margin:8px 0 24px}.lista-perros{gap:var(--espacio);display:grid}.tarjeta-perro{color:inherit;align-items:center;gap:var(--espacio);padding:var(--espacio);background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio);text-decoration:none;display:flex}.tarjeta-perro h2{margin:0;font-size:1.25rem}.tarjeta-perro__inicial{background:var(--color-marca-suave);width:56px;height:56px;color:var(--color-marca);border-radius:50%;place-items:center;font-size:1.5rem;font-weight:700;display:grid}.cabecera{justify-content:space-between;align-items:center;gap:var(--espacio);margin-bottom:24px;display:flex}.cabecera h1{margin:0}.saludo{margin:0 0 var(--espacio);font-size:1.125rem}.aviso{padding:var(--espacio);background:var(--color-marca-suave);border-radius:var(--radio)}.aviso--ok{background:#e3f1e0}.ficha+.aviso,.ficha+.boton{margin-top:var(--espacio)}.formulario{gap:var(--espacio);display:grid}.formulario label{gap:4px;font-weight:600;display:grid}.formulario input:disabled{opacity:.5}.formulario input,.formulario textarea{font:inherit;border:1px solid var(--color-borde);border-radius:var(--radio);background:var(--color-superficie);padding:12px;font-size:1rem;font-weight:400}.formulario textarea{resize:vertical}.formulario__botones{gap:12px;display:flex}.formulario__botones .boton{flex:1}.formulario__error{color:#a12a1f;margin:0}.boton{min-height:48px;font:inherit;color:#fff;background:var(--color-marca);border-radius:var(--radio);cursor:pointer;border:none;padding:0 20px;font-weight:600}.boton:disabled{opacity:.6;cursor:default}.boton--secundario{color:var(--color-marca);background:var(--color-marca-suave)}.volver{color:var(--color-marca);padding:8px 0;font-weight:600;text-decoration:none;display:inline-block}.ficha{padding:var(--espacio);background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio);gap:12px;margin:0;display:grid}.ficha__campo dt{color:#6b625a;font-size:.875rem}.ficha__campo dd{white-space:pre-line;margin:0}.autoria{color:#6b625a;font-size:.875rem}.autoria a{color:var(--color-marca);font-weight:600}.lista-enlaces{margin:var(--espacio) 0 0;background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio);padding:0;list-style:none}.lista-enlaces li+li{border-top:1px solid var(--color-borde)}.lista-enlaces a,.lista-enlaces__pendiente{min-height:48px;padding:12px var(--espacio);box-sizing:border-box;color:inherit;flex-wrap:wrap;align-items:baseline;gap:4px 8px;text-decoration:none;display:flex}.lista-enlaces__pendiente{opacity:.55}.lista-enlaces__detalle{color:#6b625a;font-size:.875rem}.etiqueta{vertical-align:middle;color:#6b625a;background:var(--color-borde);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.formulario label.casilla{align-items:center;gap:8px;font-weight:400;display:flex}.formulario label.casilla input{width:20px;height:20px}.acciones{margin-top:var(--espacio);flex-wrap:wrap;gap:12px;display:flex}.acciones .boton{flex:auto}.boton--peligro{color:#a12a1f;background:#f6e1de}a.boton{place-items:center;text-decoration:none;display:inline-grid}.boton--ancho{box-sizing:border-box;width:100%;margin-bottom:var(--espacio);font-size:1.125rem;display:grid}.boton--pequeno{justify-self:start;padding:6px 12px;font-size:.875rem}.saludo+.aviso,.filtros{margin-bottom:var(--espacio)}.formulario select{min-height:48px;font:inherit;border:1px solid var(--color-borde);border-radius:var(--radio);background:var(--color-superficie);padding:0 12px;font-size:1rem;font-weight:400}.lista-entrenos{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fila-entreno{color:inherit;padding:12px var(--espacio);background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio);gap:2px;text-decoration:none;display:grid}.fila-entreno p{margin:0}.fila-entreno__cabecera{justify-content:space-between;gap:8px;display:flex}.fila-entreno__detalle{color:#6b625a;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.875rem;display:flex}.fila-entreno__valoracion{color:var(--color-marca);letter-spacing:2px}.formulario__fijo{margin:0}.seccion--compacta{margin-top:24px}.fila-deber{padding:12px var(--espacio);background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio);grid-template-columns:auto 1fr;align-items:start;gap:2px 12px;display:grid}.fila-deber p{margin:0}.fila-deber__casilla{width:28px;height:28px;accent-color:var(--color-marca);cursor:pointer;margin:2px 0 0}.fila-deber__error{grid-column:1/-1;font-size:.875rem}.fila-deber__enlace{color:inherit;gap:2px;text-decoration:none;display:grid}.fila-deber__tarea{white-space:pre-line}.fila-deber__detalle{color:#6b625a;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:.875rem;display:flex}.fila-deber--hecho .fila-deber__tarea{color:#6b625a;text-decoration:line-through}.ver-mas{margin-top:var(--espacio)}.tarjeta-resumen{margin-bottom:var(--espacio);padding:12px var(--espacio);color:inherit;background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio);gap:2px;text-decoration:none;display:grid}.tarjeta-resumen span{color:#6b625a;font-size:.875rem}.tarjeta-resumen strong{color:var(--color-marca);font-size:1.125rem}.seccion{margin-top:32px}.seccion h2{margin:0 0 12px;font-size:1.25rem}.lista-niveles{padding:8px var(--espacio);background:var(--color-superficie);border:1px solid var(--color-borde);border-radius:var(--radio);gap:4px;display:grid}.lista-niveles .autoria{margin:0 0 8px}.selector-nivel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;min-height:48px;font-weight:600;display:flex}.selector-nivel select{min-height:40px;font:inherit;border:1px solid var(--color-borde);background:var(--color-fondo);border-radius:8px;padding:0 8px;font-size:1rem;font-weight:400}.selector-nivel .formulario__error{flex-basis:100%;font-size:.875rem;font-weight:400}.resumen-niveles{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.resumen-niveles li{text-align:center;background:var(--color-marca-suave);border-radius:var(--radio);padding:8px;display:grid}.resumen-niveles strong{color:var(--color-marca);font-size:1.5rem}.resumen-niveles span{font-size:.8125rem}.eleccion{border:none;margin:0;padding:0}.eleccion legend{margin-bottom:4px;padding:0;font-weight:600}.eleccion__botones{flex-wrap:wrap;gap:8px;display:flex}.eleccion__boton{min-width:48px;min-height:44px;font:inherit;color:var(--color-texto);background:var(--color-superficie);border:1px solid var(--color-borde);cursor:pointer;border-radius:999px;padding:0 14px}.eleccion__boton[aria-pressed=true]{color:#fff;background:var(--color-marca);border-color:var(--color-marca);font-weight:600}.barra-navegacion{padding-bottom:env(safe-area-inset-bottom);background:var(--color-superficie);border-top:1px solid var(--color-borde);display:flex;position:fixed;inset:auto 0 0}.barra-navegacion a{text-align:center;min-height:56px;color:var(--color-texto);flex:auto;place-items:center;padding:0 2px;font-size:.75rem;font-weight:600;text-decoration:none;display:grid}.barra-navegacion a.active{color:var(--color-marca);box-shadow:inset 0 3px 0 var(--color-marca)}@media (width>=600px){.lista-perros{grid-template-columns:1fr 1fr}}.semaforo{border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:2px 10px;font-size:.875rem;font-weight:600;display:inline-flex}.semaforo__punto{background:currentColor;border-radius:50%;width:10px;height:10px}.semaforo--rojo{color:#a1251b;background:#fbe4e1}.semaforo--amarillo{color:#7a5200;background:#fdf0cc}.semaforo--verde{color:#1f6a35;background:#e1f2e5}.fila-entreno__resumen{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}
