:root{--color-primary:#6d3fd1;--color-primary-hover:#5b32b8;--color-primary-soft:#f3effc;--color-secondary:#5da88a;--color-background:#f7f6fb;--color-surface:#fff;--color-surface-secondary:#efedf5;--color-text:#1f1f29;--color-text-secondary:#696875;--color-border:#dedbe7;--color-sidebar:#fff;--color-success:#48a868;--color-warning:#df9b3d;--color-danger:#d85b5b;--shadow-card:0 3px 12px #32235a0e}html[data-theme=dark]{--color-primary:#9b88f2;--color-primary-hover:#ad9cf5;--color-primary-soft:#302b4a;--color-secondary:#72c3a4;--color-background:#151519;--color-surface:#1f1f24;--color-surface-secondary:#292930;--color-text:#f4f4f5;--color-text-secondary:#a9a9b2;--color-border:#34343c;--color-sidebar:#1b1b20;--color-success:#67c684;--color-warning:#ebb45f;--color-danger:#e67878;--shadow-card:0 2px 10px #00000040}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-background);color:var(--color-text);font-family:Arial,Helvetica,sans-serif;transition:background-color .2s,color .2s}a{color:inherit}button,input,select,textarea{font:inherit}.app-container{min-height:100vh;display:flex}.app-content{flex:1;min-width:0;padding:32px}.sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-border);width:230px;min-height:100vh;padding:24px 16px}.sidebar-logo{color:var(--color-text);margin:0 0 30px}.sidebar-link{color:var(--color-text-secondary);border-radius:9px;margin-bottom:8px;padding:12px 14px;text-decoration:none;transition:background-color .2s,color .2s;display:block}.sidebar-link:hover{background:var(--color-primary-soft);color:var(--color-primary)}.sidebar-link.active{background:var(--color-primary);color:#fff}.mobile-header{display:none}.mobile-menu-button{color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:26px}.mobile-logo{color:var(--color-text);font-size:20px;font-weight:700}.sidebar-top{justify-content:space-between;align-items:center;display:flex}.sidebar-close{color:var(--color-text);cursor:pointer;background:0 0;border:none;font-size:28px;display:none}.sidebar-overlay{display:none}.card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;padding:24px}.card-label{color:var(--color-text-secondary);margin-bottom:6px}.card-value{font-size:32px;font-weight:700}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;display:grid}.page-title{margin-top:0;margin-bottom:8px}.page-description{color:var(--color-text-secondary);margin-top:0;margin-bottom:15px}.theme-button{border:1px solid var(--color-border);background:var(--color-surface-secondary);width:100%;color:var(--color-text);cursor:pointer;border-radius:9px;margin-top:30px;padding:10px 12px;transition:background-color .2s,border-color .2s}.publica-header-acciones .theme-button{box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;margin:0;padding:0;line-height:1;display:inline-flex}.theme-button:hover{border-color:var(--color-primary)}.form-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;margin-bottom:24px;padding:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-group{flex-direction:column;gap:7px;display:flex}.form-group.full{grid-column:1/-1}.form-label{color:var(--color-text);font-size:14px;font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--color-border);background:var(--color-surface-secondary);width:100%;color:var(--color-text);border-radius:9px;outline:none;padding:11px 12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary)}.form-textarea{resize:vertical;min-height:90px}.primary-button{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:11px 18px;font-weight:600}.primary-button:hover{background:var(--color-primary-hover)}.secondary-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:9px;padding:10px 16px}.list-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;overflow:hidden}.list-toolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.search-input{border:1px solid var(--color-border);background:var(--color-surface-secondary);width:100%;max-width:330px;color:var(--color-text);border-radius:9px;outline:none;padding:10px 12px}.search-input-modal{border:1px solid var(--color-border);background:var(--color-surface-secondary);width:100%;max-width:none;color:var(--color-text);border-radius:9px;outline:none;padding:10px 12px}.search-input:focus{border-color:var(--color-primary)}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:14px 20px}.data-table th{color:var(--color-text-secondary);font-size:13px;font-weight:600}.data-table tbody tr:hover{background:var(--color-surface-secondary)}.empty-state{text-align:center;color:var(--color-text-secondary);padding:40px}.status-message{background:var(--color-primary-soft);color:var(--color-primary);border-radius:9px;margin-bottom:18px;padding:12px 14px}@media (max-width:800px){.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}.list-toolbar{flex-direction:column;align-items:stretch}.search-input{max-width:none}.data-table{min-width:700px}.list-card{overflow-x:auto}}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:0;display:flex}.page-header-actions{gap:10px;display:flex}.modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #00000040}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0}.modal-body{padding:24px}.modal-footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.icon-button{border:1px solid var(--color-border);background:var(--color-surface-secondary);width:38px;height:38px;color:var(--color-text);cursor:pointer;border-radius:9px;font-size:18px}.icon-button:hover{border-color:var(--color-primary)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--color-primary-soft)!important}@media (max-width:700px){.page-header{flex-direction:column}.page-header-actions,.page-header-actions .primary-button{width:100%}}.estado-badge{border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.estado-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.estado-badge.vigente{color:var(--color-success);background:#48a8681f}.estado-badge.proxima{color:var(--color-warning);background:#df9b3d24}.estado-badge.vencida{color:var(--color-danger);background:#d85b5b21}.estado-badge.sin-fecha{color:var(--color-text-secondary);background:var(--color-surface-secondary)}.danger-button{border:1px solid var(--color-danger);color:var(--color-danger);cursor:pointer;background:0 0;border-radius:9px;padding:10px 16px;font-weight:600;transition:background-color .2s,color .2s}.danger-button:hover{background:var(--color-danger);color:#fff}.danger-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.app-container{display:block}.page-header{margin-bottom:2px}.app-content{width:100%;padding:76px 16px 16px}.mobile-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:900;align-items:center;gap:10px;height:60px;padding:0 14px;display:flex;position:fixed;top:0;left:0;right:0}.sidebar{z-index:1100;width:min(280px,85vw);height:100vh;min-height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:8px 0 24px #0000002e}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close{display:block}.sidebar-logo{margin-bottom:0}.sidebar-top{margin-bottom:30px}.sidebar-overlay{z-index:1000;background:#00000073;border:none;padding:0;display:block;position:fixed;inset:0}}.desktop-only{display:block}.mobile-only{display:none}.mobile-list{gap:12px;padding:12px 16px 16px;display:grid}.mobile-record-card{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);text-align:left;cursor:pointer;border-radius:12px;padding:16px;display:block}.mobile-record-title{margin-bottom:14px;font-size:17px;font-weight:700}.mobile-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mobile-record-grid>div{flex-direction:column;gap:3px;min-width:0;display:flex}.mobile-record-full{grid-column:1/-1}.mobile-record-label{color:var(--color-text-secondary);font-size:12px}.mobile-record-card strong{overflow-wrap:anywhere}.mobile-record-action{color:var(--color-primary);margin-top:14px;font-size:13px;font-weight:600}@media (max-width:768px){.list-card{overflow:hidden}.list-toolbar{padding:16px}.desktop-only{display:none}.mobile-only{display:block}.list-toolbar{flex-direction:column;align-items:stretch;gap:14px}.search-input{width:100%;max-width:none}}.calendar-mobile{width:100%}.calendar-mobile-header{color:var(--color-text-secondary);text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:6px;font-size:11px;font-weight:700;display:grid}.calendar-mobile-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.calendar-mobile-day,.calendar-mobile-empty{min-width:0;min-height:86px}.calendar-mobile-day{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:9px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:3px;display:flex;position:relative}.calendar-mobile-number{text-align:left;white-space:nowrap;width:100%;padding-left:2px;font-weight:600;line-height:1;display:block}.calendar-mobile-count{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;min-width:14px;height:14px;font-size:8px;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px}.calendar-mobile-today{box-shadow:inset 0 0 0 2px var(--color-primary);background:var(--color-primary-soft)}.calendar-mobile-hoy{color:var(--color-primary);font-size:7px;font-weight:800;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.calendar-mobile-dogs{flex-direction:column;gap:2px;margin-top:6px;display:flex;overflow:hidden}.calendar-mobile-top{width:100%;min-height:18px;position:relative}.calendar-mobile-dogs{flex-direction:column;gap:2px;width:100%;margin-top:8px;display:flex}.calendar-mobile-dog{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-size:8px;line-height:1.15;overflow:hidden}.calendar-mobile-more{color:var(--color-primary);font-size:8px;font-weight:700}@media (max-width:768px){.owner-detail-header{align-items:stretch}.owner-detail-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.owner-detail-actions .danger-button,.owner-detail-actions .primary-button{width:100%}.owner-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-info-grid .card{min-width:0}.owner-info-grid .card:first-child,.owner-info-grid .card:nth-child(4),.owner-info-grid .card:nth-child(5){grid-column:1/-1}.owner-info-grid .card,.card{overflow-wrap:anywhere}.owner-dogs-mobile{padding:12px}.owner-dogs-mobile .mobile-list-item{cursor:pointer}}.mobile-list-item{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:12px;padding:14px}.mobile-list-title{margin-bottom:12px;font-size:16px;font-weight:700}.mobile-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mobile-list-grid>div{flex-direction:column;gap:3px;min-width:0;display:flex}.mobile-list-label{color:var(--color-text-secondary);font-size:12px}.mobile-list-link{color:var(--color-primary);margin-top:14px;font-size:13px;font-weight:600}@media (max-width:768px){.owner-dogs-mobile{gap:12px;padding:12px;display:grid}.dog-detail-header{align-items:stretch}.dog-detail-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.dog-detail-actions .danger-button,.dog-detail-actions .primary-button{width:100%}.dog-info-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important}.dog-info-grid .card{overflow-wrap:anywhere;min-width:0}.dog-info-grid .card:nth-child(5),.dog-info-grid .card:nth-child(6){grid-column:1/-1}.dashboard-grid.dog-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;display:grid!important}.dashboard-grid.dog-info-grid>.card{width:auto!important;min-width:0!important}.dashboard-grid.dog-info-grid>.card:nth-child(5),.dashboard-grid.dog-info-grid>.card:nth-child(6){grid-column:1/-1!important}.dashboard-grid.dog-info-grid>.card:nth-child(7),.dashboard-grid.dog-info-grid>.card:nth-child(8){grid-column:auto!important}}.care-list{gap:14px;display:grid}.care-item{border-bottom:1px solid var(--color-border);padding:12px 0}.care-item:last-child{border-bottom:none;padding-bottom:0}.care-label{color:var(--color-text-secondary);margin-bottom:5px;font-size:13px;font-weight:700}.care-value{overflow-wrap:anywhere;line-height:1.45}@media (max-width:768px){.vaccine-mobile-list,.vaccine-status-mobile{gap:12px;padding:12px;display:grid}.deworming-status-mobile{padding:12px}.deworming-mobile-list{gap:12px;padding:12px;display:grid}.stay-detail-header{align-items:stretch}.stay-detail-actions .primary-button,.stay-detail-actions .secondary-button{width:100%}.stay-detail-actions .primary-button{grid-column:1/-1}.dashboard-grid.stay-info-grid>.card{overflow-wrap:anywhere;width:auto!important;min-width:0!important}.dashboard-grid.stay-info-grid>.card:first-child,.dashboard-grid.stay-info-grid>.card:nth-child(2){grid-column:1/-1!important}.stay-detail-actions{grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;display:grid!important}.stay-detail-actions .primary-button{grid-area:1/1/auto/-1}.stay-detail-actions .secondary-button{text-align:center;width:100%}.dashboard-grid.stay-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;display:grid!important}.dashboard-grid.stay-info-grid>.card{width:auto!important;min-width:0!important;margin:0!important}.dashboard-grid.stay-info-grid>.card:first-child,.dashboard-grid.stay-info-grid>.card:nth-child(2){grid-column:1/-1!important}}.stay-economic-body{gap:12px;padding:20px;display:grid}@media (max-width:768px){.stay-economic-body{gap:10px;padding:16px}.stay-economic-summary .list-toolbar{padding-bottom:12px}}.page-header-actions a{text-decoration:none}.stay-info-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px;display:grid}.stay-info-body>div{overflow-wrap:anywhere;min-width:0}.stay-info-body>div:nth-child(3),.stay-info-body>div:nth-child(4){grid-column:1/-1}@media (max-width:768px){.stay-info-body{gap:16px 12px;padding:16px}.dashboard-grid.dashboard-summary-grid>.card,.dashboard-grid.dashboard-summary-grid>button{width:auto!important;min-width:0!important}.dashboard-grid.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;display:grid!important}.dashboard-grid.dashboard-summary-grid>*{width:auto!important;min-width:0!important}.dashboard-grid.dashboard-summary-grid>button{color:var(--color-text)!important}.report-stays-mobile{gap:12px;padding:12px;display:grid}.report-stay-card{gap:14px;display:grid}.report-stay-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.report-stay-owner{flex-direction:column;gap:3px;display:flex}.report-stay-type{background:var(--color-primary-soft);color:var(--color-primary);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}}.report-export-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:768px){.report-export-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.report-export-actions button{width:100%}}.report-menu-card{color:var(--color-text);cursor:pointer;text-decoration:none;display:block}.report-menu-card:hover{border-color:var(--color-primary)}@media (max-width:768px){.reports-menu-grid{grid-template-columns:1fr!important}.report-owners-mobile{gap:12px;padding:12px;display:grid}}.login-page{background:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;width:100%;max-width:420px;padding:32px;box-shadow:0 16px 40px #0000001f}.login-brand{text-align:center;margin-bottom:28px}.login-brand-icon{margin-bottom:8px;font-size:46px}.login-brand h1{color:var(--color-text);margin:0;font-size:30px}.login-brand p{color:var(--color-text-secondary);margin:8px 0 0;font-size:14px}.login-form{gap:18px;display:grid}.login-submit{width:100%;min-height:46px;margin-top:4px}.login-message{color:var(--color-danger);background:#dc262614;border-radius:9px;padding:10px 12px;font-size:14px}@media (max-width:768px){.login-page{padding:16px}.login-card{padding:24px 18px}}.login-theme-toggle{position:absolute;top:18px;right:18px}.login-page{position:relative}@media (max-width:768px){.login-theme-toggle{top:12px;right:12px}}.auth-loading{text-align:center;min-height:100vh;color:var(--color-text);background:var(--color-background);justify-content:center;align-items:center;font-size:14px;display:flex}.auth-loading>div{gap:8px;font-size:28px;display:grid}.auth-loading>div>div{color:var(--color-text-secondary);font-size:14px}.sidebar-user{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin-top:24px;margin-bottom:10px;padding:12px}.sidebar-user-name{color:var(--color-text);font-weight:700}.sidebar-user-role{color:var(--color-text-secondary);margin-top:3px;font-size:12px}.sidebar-logout{width:100%;margin-bottom:10px}.config-menu-card{color:var(--color-text);cursor:pointer;text-decoration:none;display:block}.config-menu-card:hover{border-color:var(--color-primary)}.config-menu-link{color:var(--color-primary);margin-top:18px;font-weight:600}@media (max-width:768px){.config-menu-grid{grid-template-columns:1fr!important}}.branch-status{border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.branch-status.active{color:var(--color-success);background:#22c55e1f}.branch-status.inactive{color:var(--color-danger);background:#ef44441a}.branch-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.branch-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}@media (max-width:768px){.branch-mobile-list{gap:12px;padding:12px;display:grid}.dashboard-grid.branch-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;display:grid!important}.dashboard-grid.branch-summary-grid>.card{width:auto!important;min-width:0!important}.user-mobile-list{gap:12px;padding:12px;display:grid}.dashboard-grid.user-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;display:grid!important}.dashboard-grid.user-summary-grid>.card{width:auto!important;min-width:0!important}}.table-scroll-x{-webkit-overflow-scrolling:touch;width:100%;overflow:auto hidden}.table-scroll-x .data-table{min-width:1200px}.table-scroll-x{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.pagination{border-top:1px solid var(--color-border);justify-content:center;align-items:center;gap:14px;padding:18px;display:flex}.pagination-info{color:var(--color-text-secondary);white-space:nowrap;font-size:14px}@media (max-width:768px){.pagination{gap:8px;padding:14px 10px}.pagination .secondary-button{flex:1}.pagination-info{font-size:12px}}.dog-profile-photo{flex-shrink:0;width:110px;height:110px}.dog-profile-photo-img,.dog-profile-photo-placeholder{border:2px solid var(--color-border);object-fit:cover;background:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.dog-profile-photo-placeholder{font-size:46px}@media (max-width:768px){.dog-profile-photo{width:90px;height:90px}}.dog-profile-photo-editable{cursor:pointer;display:block;position:relative}.dog-profile-camera{background:var(--color-surface);border:2px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex;position:absolute;bottom:2px;right:-2px}.dog-profile-photo-editable:hover .dog-profile-photo-img{opacity:.85}.dog-list-photo-desktop{object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface);border-radius:50%;width:46px;height:46px}.dog-list-photo-mobile{object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;flex-shrink:0;width:68px;height:68px}.dog-list-photo-placeholder{justify-content:center;align-items:center;font-size:22px;display:flex}.mobile-dog-header{align-items:center;gap:14px;margin-bottom:14px;display:flex}.health-summary-card{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);text-align:left;cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:18px 20px;transition:transform .15s,border-color .15s;display:flex}.health-summary-card:hover{border-color:var(--color-primary);transform:translateY(-1px)}.health-summary-left{align-items:center;gap:14px;display:flex}.health-summary-icon{font-size:30px}.health-summary-title{font-size:18px;display:block}.health-summary-subtitle{color:var(--color-text-secondary);margin-top:3px}.health-summary-status{margin-top:8px;font-size:13px}.health-ok{color:#4ade80}.health-warning{color:#fbbf24}.health-summary-arrow{color:var(--color-primary);font-size:24px}.health-modal{width:min(720px,94vw);max-height:90vh;overflow-y:auto}.health-profile-header{border-bottom:1px solid var(--color-border);align-items:center;gap:16px;margin-bottom:20px;padding-bottom:20px;display:flex}.health-profile-photo{border:2px solid var(--color-border);background:var(--color-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:90px;height:90px;font-size:38px;display:flex;overflow:hidden}.health-profile-photo img{object-fit:cover;width:100%;height:100%}.health-owner{font-weight:600}.health-basic-data{color:var(--color-text-secondary);margin-top:5px;font-size:14px}.health-section{margin-top:22px}.health-section h3{margin:0 0 12px}.health-items{gap:10px;display:grid}.health-item{border:1px solid var(--color-border);border-radius:12px;padding:14px}.health-item-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.health-item-top .estado-badge{white-space:nowrap;flex-shrink:0}.health-dates{color:var(--color-text-secondary);flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:13px;display:flex}.estado-badge.sin-registro{color:#94a3b8;background:#94a3b824}.estado-badge.sin-registro .estado-dot{background:#94a3b8}.health-attention{border:1px solid var(--color-border);border-radius:12px;padding:16px}.health-alert-list{gap:8px;display:grid}.health-alert-item{font-size:14px}.health-share-area{justify-content:flex-end;margin-top:24px;display:flex}@media (max-width:768px){.health-summary-card{padding:15px}.health-summary-icon{font-size:25px}.health-modal{width:100%;max-width:none;padding:0}.health-modal .health-modal .modal-body{padding-left:0;padding-right:0}.health-profile-photo{width:75px;height:75px}.health-share-area{background:var(--color-background);padding-top:12px;position:sticky;bottom:0}.health-share-area .primary-button{width:100%}}.health-share-card{background:var(--color-background);color:#111827;background:#fff;border-radius:20px;width:100%;max-width:920px;margin:0 auto;padding:28px}.health-v2-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding-bottom:22px;display:flex}.health-v2-dog{align-items:center;gap:16px;display:flex}.health-v2-name{margin:0 0 4px;font-size:32px}.health-v2-brand{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.health-v2-brand img{object-fit:contain;width:100px;height:100px}.health-v2-brand strong{color:#6b7280;font-size:14px}.health-items-vaccines,.health-items-deworming{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.health-share-card .health-item{background:#fff;border:1px solid #e5e7eb}.health-share-card .health-item-top strong{color:#111827}.health-share-card .health-dates{color:#6b7280}.health-v2-footer{color:#6b7280;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding-top:18px;font-size:13px;display:flex}@media (max-width:768px){.health-share-card{width:calc(100vw - 24px);max-width:none;padding:18px 16px}.health-v2-header{align-items:flex-start}.health-v2-brand img{width:72px;height:72px}.health-v2-name{font-size:27px}.health-items-vaccines,.health-items-deworming{grid-template-columns:repeat(2,minmax(0,1fr))}.health-v2-footer{color:#6b7280;border-top:1px solid #e5e7eb;margin-top:26px;padding-top:16px;font-size:13px}.health-v2-footer-main{gap:18px;width:100%;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;display:flex!important}.health-v2-footer-brand,.health-v2-contact-item,.health-v2-socials{white-space:nowrap;gap:7px;flex-direction:row!important;align-items:center!important;display:flex!important}.health-v2-footer-brand{color:#6d4aff}.health-v2-contact-item,.health-v2-socials{color:#374151;font-weight:600}.health-v2-footer-date{text-align:right;color:#9ca3af;white-space:nowrap;margin:0;font-size:12px}.health-v2-footer-main{grid-template-columns:auto auto 1fr auto!important;align-items:center!important;gap:18px!important;width:100%!important;display:grid!important}.health-v2-footer-brand,.health-v2-contact-item,.health-v2-socials{white-space:nowrap;flex-direction:row!important;align-items:center!important;gap:6px!important;display:flex!important}.health-v2-socials{justify-self:start}.health-v2-footer-date{white-space:nowrap;color:#9ca3af;font-size:12px;text-align:right!important;margin:0!important}}.health-v2-footer{color:#6b7280;border-top:1px solid #e5e7eb;margin-top:26px;padding-top:16px;font-size:13px}.health-v2-footer-row{flex-direction:row!important;align-items:center!important;gap:28px!important;width:100%!important;display:flex!important}.health-v2-footer-item{white-space:nowrap;flex-direction:row!important;align-items:center!important;gap:7px!important;width:auto!important;display:flex!important}.health-v2-footer-item strong{color:#6d4aff}.health-v2-social-icons{flex-direction:row!important;align-items:center!important;gap:5px!important;display:flex!important}.health-v2-social-icons img{object-fit:contain!important;width:23px!important;min-width:23px!important;max-width:23px!important;height:23px!important;min-height:23px!important;max-height:23px!important;display:block!important}.health-v2-footer-date{color:#9ca3af;white-space:nowrap;font-size:12px;text-align:right!important;margin-top:10px!important}@media (max-width:768px){.health-v2-footer-row{grid-template-columns:1fr 1fr!important;align-items:center!important;gap:10px 14px!important;display:grid!important}.health-v2-footer-item:nth-child(3){grid-column:1/-1}.health-v2-social-icons{flex-shrink:0}.health-v2-footer-date{white-space:normal;text-align:left!important;margin-top:8px!important}}.health-share-card-export{color:#111827!important;background:#fff!important;width:570px!important;min-width:570px!important;max-width:570px!important;padding:24px!important;overflow:visible!important}.health-share-card-export .health-v2-brand img{width:72px!important;height:72px!important}.health-share-card-export .health-v2-name{font-size:27px!important}.health-share-card-export .health-profile-photo{width:75px!important;height:75px!important}.health-share-card-export .health-v2-header{align-items:flex-start!important}.health-share-card-export .health-v2-dog{flex:auto!important;min-width:0!important}.health-share-card-export .health-v2-brand{flex:none!important}.health-share-card-export .health-item,.health-share-card-export .health-item-top,.health-share-card-export .health-items-vaccines,.health-share-card-export .health-items-deworming{min-width:0!important}.health-share-card-export .health-items-vaccines,.health-share-card-export .health-items-deworming{grid-template-columns:repeat(2,minmax(0,1fr))!important}.health-share-card-export .estado-badge{white-space:nowrap!important;flex-shrink:0!important}.health-share-card-export .health-v2-footer-row{grid-template-columns:auto auto 1fr!important;align-items:center!important;gap:18px!important;display:grid!important}.health-share-card-export .health-v2-footer-item:nth-child(3){grid-column:1/3;justify-self:start}.health-share-card-export .health-v2-footer-date{text-align:right!important;white-space:nowrap!important;margin-top:8px!important}.health-share-card-export .health-item{padding:16px!important}.health-share-card-export .health-item-top{gap:14px!important}.health-share-card-export .health-dates{gap:8px 18px!important}.health-share-card-export .health-profile-header,.health-share-card-export .health-v2-header{gap:18px!important}.health-share-card-export .health-section{margin-top:24px!important}.health-share-card-export .health-attention{margin-top:22px!important}.health-share-card-export .health-v2-footer{margin-top:26px!important}.login-forgot-password{color:var(--color-primary);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:4px;padding:0;font-size:14px}.login-forgot-password:hover{text-decoration:underline}.login-forgot-password:disabled{opacity:.6;cursor:not-allowed}.dog-profile-hero{justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;display:flex}.dog-profile-hero-photo{cursor:pointer;flex-shrink:0;width:190px;height:190px;display:block;position:relative}.dog-profile-hero-photo .dog-profile-hero-photo-inner{border:2px solid var(--color-border);background:var(--color-surface);border-radius:50%;width:100%;height:100%;overflow:hidden}.dog-profile-hero-placeholder{background:var(--color-surface);justify-content:center;align-items:center;width:100%;height:100%;font-size:60px;display:flex}.dog-profile-hero-photo .dog-profile-camera{background:var(--color-surface);border:1px solid var(--color-border);z-index:3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex;position:absolute;bottom:6px;right:4px}.dog-detail-main{width:100%}.dog-profile-hero{justify-content:space-between;align-items:center;gap:32px;width:100%;display:flex}.dog-profile-hero-info{flex:1;min-width:0}.dog-profile-photo-wrap{flex-shrink:0}.dog-profile-hero-photo{border:2px solid var(--color-border);cursor:pointer;background:var(--color-surface);border-radius:50%;width:190px;height:190px;display:block;position:relative}.dog-profile-hero-photo img{object-fit:cover;width:100%;height:100%;display:block}.dog-profile-hero-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:64px;display:flex}.dog-profile-hero-photo .dog-profile-camera{position:absolute;bottom:10px;right:10px}@media (max-width:768px){.dog-detail-header{display:block}.dog-profile-hero{grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:18px;display:grid}.dog-profile-hero-info{min-width:0}.dog-profile-hero-photo{width:160px;height:160px}.dog-profile-hero-info .page-title{margin-bottom:6px;font-size:30px}.dog-profile-hero-info .page-description{margin-bottom:0}.dog-detail-actions{margin-top:20px}}.health-preview-scroll{scrollbar-width:thin;width:100%;overflow:auto visible}@media (max-width:768px){.health-preview-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.health-preview-scroll .health-share-card{margin-left:auto;margin-right:auto}}.annual-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 20px 0;display:grid}.annual-summary>div{border:1px solid var(--color-border);background:var(--color-surface-secondary);border-radius:12px;padding:14px 16px}.annual-summary span{color:var(--color-text-secondary);margin-bottom:6px;font-size:13px;display:block}.annual-summary strong{font-size:18px}.annual-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px;display:grid}.annual-chart-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;min-width:0;padding:18px}.annual-chart-title{margin-bottom:18px;font-weight:700}.annual-chart{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:7px;height:250px;display:grid}.annual-bar-column{text-align:center;grid-template-rows:24px 1fr 24px;gap:5px;min-width:0;height:100%;display:grid}.annual-bar-value{color:var(--color-text-secondary);white-space:nowrap;font-size:11px;font-weight:700}.annual-money-value{font-size:10px}.annual-bar-area{border-bottom:1px solid var(--color-border);justify-content:center;align-items:flex-end;min-height:0;display:flex}.annual-bar{background:var(--color-primary);border-radius:6px 6px 2px 2px;width:70%;max-width:28px;min-height:2px;transition:height .25s}.annual-money-bar{background:var(--color-secondary)}.annual-bar-label{color:var(--color-text-secondary);font-size:11px}@media (max-width:768px){.annual-summary{grid-template-columns:1fr 1fr;padding:16px 16px 0}.annual-summary>div:first-child{grid-column:1/-1}.annual-charts{grid-template-columns:1fr;padding:16px}.annual-chart-card{overflow-x:auto}.annual-chart{min-width:620px}}.mobile-card{border:1px solid var(--border-color);background:var(--card-background);color:var(--text-color);cursor:pointer;border-radius:12px;margin-bottom:12px;padding:14px}.mobile-card:active{transform:scale(.98)}.mobile-card-top{border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding-bottom:10px;display:grid}.mobile-card-top strong{font-size:16px}.mobile-card-top span{text-align:right;font-size:14px}.mobile-card-grid{grid-template-columns:1fr 1fr;gap:10px 18px;padding:10px 0;display:grid}.mobile-card-grid>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-card-grid span{opacity:.75;font-size:13px}.mobile-card-grid strong{text-align:right;font-size:14px}.mobile-card-footer{border-top:1px solid var(--border-color);text-align:right;opacity:.8;padding-top:9px;font-size:13px}.reserva-publica{min-height:100vh;color:var(--color-text);background:var(--color-background);padding:0 24px 28px}.reserva-publica-header{justify-content:space-between;align-items:center;gap:20px;width:min(1240px,100%);min-height:88px;margin:0 auto;display:flex}.reserva-publica-marca{color:var(--color-text);align-items:center;gap:13px;font-weight:600;text-decoration:none;display:inline-flex}.reserva-publica-marca img{object-fit:contain;width:62px;height:62px;display:block}.reserva-publica-marca span{color:var(--color-text-secondary);font-size:13px}.reserva-publica-acceso{border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;padding:11px 18px;font-weight:600;text-decoration:none;transition:background .2s}.reserva-publica-acceso:hover{background:var(--color-surface-secondary)}.carrusel-reservas{background:var(--color-surface);border-radius:24px;width:min(1240px,100%);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 12px 35px #1e14321f}.carrusel-imagen{aspect-ratio:16/7;background:var(--color-surface-secondary);min-height:320px;position:relative;overflow:hidden}.carrusel-imagen>img{object-fit:cover;object-position:center;width:100%;height:100%;animation:.5s carrusel-aparecer;position:absolute;inset:0}.carrusel-velo{background:linear-gradient(90deg,#191423d1 0%,#19142394 43%,#1914230f 100%);position:absolute;inset:0}.carrusel-contenido{color:#fff;width:min(490px,65%);animation:.45s carrusel-texto;position:absolute;top:50%;left:clamp(28px,6%,76px);transform:translateY(-50%)}.carrusel-etiqueta{letter-spacing:1.5px;background:#ffffff1f;border:1px solid #fff6;border-radius:30px;margin-bottom:16px;padding:7px 12px;font-size:11px;font-weight:700;display:inline-block}.carrusel-contenido h1{color:#fff;letter-spacing:-1.3px;margin:0 0 15px;font-size:clamp(30px,4vw,52px);line-height:1.08}.carrusel-contenido p{color:#fffffff0;max-width:420px;margin:0 0 25px;font-size:clamp(14px,1.5vw,18px);line-height:1.65}.carrusel-boton{background:var(--color-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:47px;padding:12px 21px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.carrusel-boton:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.carrusel-flecha{z-index:2;color:#fff;cursor:pointer;background:#19142366;border:1px solid #ffffffa6;border-radius:50%;place-items:center;width:43px;height:43px;padding:0;font-size:32px;line-height:1;transition:background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.carrusel-flecha:hover{background:var(--color-primary)}.carrusel-anterior{left:14px}.carrusel-siguiente{right:14px}.carrusel-indicadores{z-index:3;justify-content:center;gap:9px;display:flex;position:absolute;bottom:18px;left:0;right:0}.carrusel-indicador{cursor:pointer;background:#ffffffa6;border:0;border-radius:20px;width:9px;height:9px;padding:0;transition:width .25s,background .25s}.carrusel-indicador.activo{background:#fff;width:27px}.reserva-introduccion{text-align:center;width:min(850px,100%);margin:55px auto 60px}.reserva-icono{background:var(--color-primary-soft);border-radius:18px;place-items:center;width:56px;height:56px;font-size:27px;display:inline-grid}.reserva-introduccion h2{color:var(--color-text);margin:18px 0 10px;font-size:clamp(24px,3vw,34px);line-height:1.25}.reserva-introduccion>p{max-width:580px;color:var(--color-text-secondary);margin:0 auto;font-size:16px;line-height:1.7}.reserva-proximamente{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:12px;justify-content:center;align-items:center;gap:9px;margin-top:24px;padding:12px 17px;font-size:14px;display:inline-flex}.reserva-publica-footer{border-top:1px solid var(--color-border);color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;gap:10px;padding:20px 0;font-size:13px;display:flex}.reserva-publica-footer img{object-fit:contain;width:21px;height:21px}@keyframes carrusel-aparecer{0%{opacity:.65}to{opacity:1}}@keyframes carrusel-texto{0%{opacity:0;transform:translate(10px,-50%)}to{opacity:1;transform:translateY(-50%)}}@media (max-width:700px){.reserva-publica{padding:0 12px 20px}.reserva-publica-header{gap:10px;min-height:72px}.reserva-publica-marca{gap:8px}.reserva-publica-marca img{width:48px;height:48px}.reserva-publica-marca span{max-width:115px;font-size:11px;line-height:1.35}.reserva-publica-acceso{padding:9px 12px;font-size:13px}.carrusel-reservas{border-radius:18px}.carrusel-imagen{aspect-ratio:4/5;min-height:490px}.carrusel-imagen>img{object-position:center}.carrusel-velo{background:linear-gradient(#19142305 0%,#19142314 30%,#191423db 65%,#191423f0 100%)}.carrusel-contenido{width:calc(100% - 46px);top:auto;bottom:52px;left:23px;transform:none}.carrusel-contenido h1{letter-spacing:-.6px;font-size:clamp(29px,8vw,38px)}.carrusel-contenido p{margin-bottom:19px;font-size:14px;line-height:1.55}.carrusel-etiqueta{margin-bottom:11px;font-size:10px}.carrusel-boton{min-height:44px;padding:11px 15px;font-size:13px}.carrusel-flecha{width:36px;height:36px;font-size:27px;top:40%}.carrusel-anterior{left:9px}.carrusel-siguiente{right:9px}.carrusel-indicadores{bottom:18px}.reserva-introduccion{margin:40px auto 45px}.reserva-introduccion>p{font-size:14px}.reserva-proximamente{max-width:100%;padding:11px 13px;font-size:12px}.reserva-publica-footer{flex-wrap:wrap;font-size:12px}}@media (prefers-reduced-motion:reduce){.carrusel-imagen>img,.carrusel-contenido{animation:none}.carrusel-boton,.carrusel-indicador{transition:none}}.publica-reservas{background:var(--color-background);width:100%;min-height:100vh;color:var(--color-text);padding:0 clamp(14px,3vw,42px) 24px}.publica-header{justify-content:space-between;align-items:center;gap:16px;width:min(1380px,100%);min-height:82px;margin:0 auto;display:flex}.publica-marca{align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.publica-marca img{object-fit:contain;width:58px;height:58px}.publica-marca span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.publica-mis-reservas{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:12px;flex-direction:column;align-items:stretch;gap:12px;margin-top:24px;padding:16px;font-size:14px;display:flex}.publica-mis-reservas:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.publica-hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;gap:clamp(16px,2.4vw,32px);width:min(1380px,100%);margin:8px auto 0;display:grid}.publica-reserva-card{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);border-radius:24px;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(25px,3.2vw,48px);display:flex}.publica-sobrelinea{color:var(--color-primary);letter-spacing:1.4px;font-size:11px;font-weight:800;line-height:1.5}.publica-sobrelineapref{color:var(--color-primary);font-size:17px;font-weight:800;line-height:1.5}.publica-patita{background:var(--color-primary-soft);border-radius:17px;place-items:center;width:45px;height:45px;margin:10px 0;font-size:22px;display:grid}.publica-reserva-card h1{max-width:540px;color:var(--color-text);letter-spacing:-1.1px;overflow-wrap:break-word;margin:0;font-size:clamp(30px,3.1vw,46px);font-weight:800;line-height:1.12}.publica-intro{max-width:470px;color:var(--color-text-secondary);margin:18px 0 24px;font-size:16px;line-height:1.75}.publica-boton-reservar{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:16px;width:100%;min-height:58px;padding:15px 20px;font-size:17px;font-weight:800;transition:transform .2s,background .2s;display:flex;box-shadow:0 8px 20px #6d3fd138}.publica-boton-reservar:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.publica-boton-reservar:focus-visible,.publica-flecha:focus-visible,.publica-indicador:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}.publica-enlace-consulta{color:var(--color-primary);cursor:pointer;background:0 0;border:0;margin-top:13px;padding:6px 0;font-size:14px;font-weight:700}.publica-enlace-consulta:hover{text-decoration:underline}.publica-beneficios{border-top:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin-top:28px;padding-top:22px;display:grid}.publica-beneficios>div{text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.publica-beneficios span{background:var(--color-primary-soft);border-radius:13px;place-items:center;width:39px;height:39px;font-size:19px;display:grid}.publica-beneficios small{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.publica-carrusel{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);border-radius:24px;align-self:stretch;position:relative;overflow:hidden}.publica-carrusel-foto{aspect-ratio:4/5;background:var(--color-surface-secondary);width:100%;height:100%;min-height:440px;position:relative;overflow:hidden}.publica-carrusel-foto>img{object-fit:cover;object-position:center;width:100%;height:100%;animation:.45s publica-fade;display:block;position:absolute;inset:0}.publica-carrusel-sombra{pointer-events:none;background:linear-gradient(#140f1e26 0%,#0000 24% 75%,#140f1e33 100%);position:absolute;inset:0}.publica-carrusel-etiqueta{color:#fff;letter-spacing:1.1px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e182a8f;border:1px solid #ffffff8c;border-radius:30px;max-width:calc(100% - 36px);padding:8px 12px;font-size:10px;font-weight:800;position:absolute;top:18px;left:18px}.publica-flecha{z-index:2;color:#fff;cursor:pointer;background:#1e182a73;border:1px solid #ffffffa6;border-radius:50%;place-items:center;width:40px;height:40px;padding:0 0 4px;font-size:30px;line-height:1;transition:background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.publica-flecha:hover{background:var(--color-primary)}.publica-flecha-anterior{left:12px}.publica-flecha-siguiente{right:12px}.publica-indicadores{z-index:2;justify-content:center;gap:8px;display:flex;position:absolute;bottom:18px;left:0;right:0}.publica-indicador{cursor:pointer;background:#ffffffa6;border:0;border-radius:20px;width:9px;height:9px;padding:0;transition:width .2s}.publica-indicador.activo{background:#fff;width:25px}.publica-seccion-formulario{width:min(900px,100%);margin:64px auto 0;scroll-margin-top:24px}.publica-formulario-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:20px;padding:clamp(22px,4vw,38px);display:grid}.publica-formulario-icono{background:var(--color-primary-soft);border-radius:16px;place-items:center;width:52px;height:52px;font-size:25px;display:grid}.publica-formulario-card h2,.publica-consultar h2{color:var(--color-text);margin:8px 0 10px;font-size:clamp(23px,3vw,30px);line-height:1.25}.publica-formulario-card p,.publica-consultar p{color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.7}.publica-aviso-proximamente{border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text-secondary);border-radius:12px;grid-column:2;align-items:center;gap:10px;padding:13px 15px;font-size:13px;display:flex}.publica-consultar{background:var(--color-primary-soft);border-radius:20px;justify-content:space-between;align-items:center;gap:24px;width:min(900px,100%);margin:20px auto 50px;padding:26px 30px;scroll-margin-top:24px;display:flex}.publica-consultar h2{margin-top:0;font-size:21px}.publica-consultar p{max-width:650px;font-size:14px}.publica-consultar-icono{flex:none;font-size:32px}.publica-footer{border-top:1px solid var(--color-border);width:min(1380px,100%);min-height:68px;color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;gap:10px;margin:0 auto;font-size:12px;display:flex}.publica-footer img{object-fit:contain;width:34px;height:34px}@keyframes publica-fade{0%{opacity:.7}to{opacity:1}}@media (min-width:1100px){.publica-carrusel-foto{aspect-ratio:auto;min-height:560px}}@media (max-width:800px){.publica-hero{grid-template-columns:minmax(0,1fr)}.publica-reserva-card{order:1}.publica-carrusel{order:2}.publica-reserva-card h1{max-width:600px;font-size:clamp(32px,6vw,44px)}.publica-carrusel-foto{aspect-ratio:16/10;min-height:360px}.publica-seccion-formulario{margin-top:35px}}@media (max-width:520px){.publica-reservas{padding:0 12px 18px}.publica-header{min-height:70px}.publica-marca{gap:8px}.publica-marca img{width:46px;height:46px}.publica-marca span{max-width:105px;font-size:10px;line-height:1.4}.publica-hero{gap:15px;margin-top:4px}.publica-reserva-card{border-radius:19px;padding:23px 20px}.publica-patita{width:35px;height:35px;margin:10px 0;font-size:20px}.publica-reserva-card h1{letter-spacing:-.7px;font-size:clamp(30px,8vw,37px)}.publica-intro{margin:14px 0 21px;font-size:14px;line-height:1.65}.publica-boton-reservar{min-height:54px;font-size:16px}.publica-beneficios{gap:7px;margin-top:22px;padding-top:18px}.publica-beneficios small{font-size:10px}.publica-carrusel{border-radius:19px}.publica-carrusel-foto{aspect-ratio:4/3;min-height:270px}.publica-carrusel-etiqueta{font-size:9px;top:12px;left:12px}.publica-flecha{width:34px;height:34px;font-size:25px}.publica-flecha-anterior{left:8px}.publica-flecha-siguiente{right:8px}.publica-seccion-formulario{margin-top:35px}.publica-formulario-card{border-radius:18px;grid-template-columns:minmax(0,1fr);gap:14px;padding:22px 19px}.publica-formulario-icono{width:44px;height:44px;font-size:22px}.publica-formulario-card p{font-size:14px}.publica-aviso-proximamente{grid-column:1;font-size:12px;line-height:1.5}.publica-consultar{gap:12px;margin:16px auto 35px;padding:21px 18px}.publica-consultar h2{font-size:19px}.publica-consultar p{font-size:13px}.publica-consultar-icono{font-size:25px}.publica-footer{font-size:11px}}@media (prefers-reduced-motion:reduce){.publica-carrusel-foto>img{animation:none}.publica-boton-reservar,.publica-flecha,.publica-indicador{transition:none}}.theme-control{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text);border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.theme-control-icon{font-size:15px;line-height:1}.theme-select{outline-offset:3px;min-width:0;max-width:125px;color:var(--color-text);cursor:pointer;background:0 0;border:0;padding:8px 2px;font-size:12px;font-weight:600}.theme-select option{background:var(--color-surface);color:var(--color-text)}.publica-header-acciones{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}@media (max-width:520px){.publica-header-acciones{gap:6px}.theme-control{border-radius:10px;gap:4px;min-height:36px;padding:0 6px}.theme-select{max-width:91px;padding:7px 0;font-size:11px}}.publica-acceso-form{flex-direction:column;grid-column:1/-1;gap:10px;width:100%;margin-top:8px;display:flex}.publica-acceso-form label{color:var(--color-text);font-size:13px;font-weight:700}.publica-acceso-form input{border:1px solid var(--color-border);outline-offset:2px;background:var(--color-background);width:100%;min-height:50px;color:var(--color-text);font:inherit;border-radius:12px;padding:12px 14px}.publica-acceso-form input:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary-soft)}.publica-acceso-form .publica-boton-reservar{margin-top:6px}.publica-acceso-form .publica-boton-reservar:disabled{opacity:.65;cursor:wait;transform:none}.publica-formulario-card .publica-error-acceso{color:#dc2626;grid-column:1/-1;margin:12px 0 0;font-size:18px;line-height:1.5}.publica-perritos-encontrados{border:1px solid var(--color-border);background:var(--color-background);border-radius:14px;grid-column:1/-1;width:100%;margin-top:12px;padding:18px}.publica-perritos-encontrados h3{color:var(--color-text);margin:0 0 10px;font-size:17px}.publica-perritos-encontrados p{margin:8px 0;font-size:17px}.publica-perritos-encontrados ul{gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.publica-perritos-encontrados li{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:10px;align-items:center;gap:10px;padding:12px;font-size:14px;font-weight:600;display:flex}.publica-pendiente-siguiente{color:var(--color-text-secondary)}.publica-lista-seleccion{gap:10px;margin:16px 0 10px;display:grid}.publica-perrito-opcion{border:1px solid var(--color-border);background:var(--color-surface);min-height:62px;color:var(--color-text);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,background .16s;display:flex}.publica-perrito-opcion.seleccionado{border-color:var(--color-primary);background:var(--color-primary-soft)}.publica-perrito-opcion input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.publica-perrito-emoji{font-size:22px}.publica-perrito-nombre{flex:1;font-size:14px;font-weight:700}.publica-perrito-check{color:var(--color-primary);font-size:20px;font-weight:800}.publica-contador-seleccion{color:var(--color-text-secondary);margin:8px 0 14px;font-size:13px}.publica-perritos-encontrados .publica-boton-reservar{width:100%;margin-top:8px}.publica-perritos-encontrados .publica-boton-reservar:disabled{opacity:.55;cursor:not-allowed;transform:none}.publica-seleccion-confirmada{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:12px;margin-top:16px;padding:14px}.publica-seleccion-confirmada strong{font-size:14px}.publica-seleccion-confirmada p{color:var(--color-text-secondary);margin-bottom:0;line-height:1.6}.publica-campos-reserva{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-top:18px;display:grid}.publica-campos-reserva label{color:var(--color-text);align-self:end;font-size:.9rem;font-weight:600;display:block}.publica-campos-reserva input[type=date],.publica-campos-reserva select{box-sizing:border-box;border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;min-width:0;min-height:46px;color:var(--color-text);font:inherit;border-radius:10px;padding:10px 12px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.publica-campos-reserva input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark] .publica-campos-reserva input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.publica-campos-reserva input[type=date]:focus,.publica-campos-reserva select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.publica-campos-reserva input:disabled,.publica-campos-reserva select:disabled{opacity:.6;cursor:not-allowed}.publica-campos-reserva>button{grid-column:1/-1;width:100%;margin-top:8px}.publica-seleccion-confirmada [role=status]{margin-top:16px;line-height:1.6}.publica-seleccion-confirmada [role=status] ul{padding-left:22px}.publica-seleccion-confirmada [role=status] li{margin-bottom:6px}@media (max-width:600px){.publica-campos-reserva{grid-template-columns:minmax(0,1fr);gap:8px}.publica-campos-reserva>button{grid-column:auto}}.publica-resumen-reserva{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:14px;margin-top:20px;padding:20px}.publica-resumen-reserva h3{margin-top:0;margin-bottom:16px}.publica-resumen-reserva p{line-height:1.6}.publica-resumen-reserva ul{padding-left:22px}.publica-resumen-reserva label{margin-top:16px;margin-bottom:8px;font-weight:600;display:block}.publica-resumen-reserva textarea{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:90px;color:var(--color-text);font:inherit;resize:vertical;border-radius:10px;padding:12px}.publica-resumen-reserva textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px}.publica-consultar-reservas{margin-top:16px}.publica-lista-reservas{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;display:grid}.publica-reserva-item{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);overflow-wrap:anywhere;border-radius:14px;padding:20px}.publica-reserva-item h4{border-bottom:1px solid var(--color-border);color:var(--color-primary);margin:0 0 18px;padding-bottom:14px;font-size:15px;line-height:1.4}.publica-reserva-item p{margin:12px 0;line-height:1.6}.publica-reserva-item ul{margin-top:8px;padding-left:22px}.publica-reserva-item li{margin-bottom:5px;padding-left:3px}.publica-paso-editar{border:1px solid var(--color-border);min-height:38px;color:var(--color-text);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:700;transition:background .2s,border-color .2s;display:inline-flex}.publica-paso-editar:hover{background:var(--color-surface);border-color:var(--color-primary)}.publica-paso-editar:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.publica-resumen-reserva>.publica-boton-reservar{width:auto;min-height:42px;box-shadow:none;border-radius:10px;gap:10px;padding:10px 18px;font-size:14px;font-weight:700;display:inline-flex}.publica-resumen-reserva[role=status]{box-sizing:border-box;width:100%;max-width:900px;margin-left:auto;margin-right:auto}.publica-reserva-encabezado{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;display:flex}.publica-reserva-encabezado h4{overflow-wrap:anywhere;border:0;min-width:0;margin:0;padding:0}.publica-reserva-estado{background:var(--color-primary-soft);color:var(--color-primary);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.publica-reserva-datos{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-bottom:18px;display:grid}.publica-reserva-datos p{overflow-wrap:anywhere;min-width:0;margin:10px 0}@media (max-width:480px){.publica-reserva-datos{grid-template-columns:minmax(0,1fr);gap:0}}.publica-boton-cancelar{color:#e99a9a;cursor:pointer;background:0 0;border:1px solid #d97777;border-radius:10px;margin:12px auto 0;padding:10px 16px;font-size:14px;font-weight:600;transition:background .2s;display:block}.publica-boton-cancelar:hover:not(:disabled){background:#d977771f}.publica-boton-cancelar:disabled{opacity:.6;cursor:not-allowed}.publica-header-boton-reservas{box-sizing:border-box;color:#f5f5f5;white-space:nowrap;cursor:pointer;background:#1b1b20;border:1px solid #34343d;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 14px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.publica-header-boton-reservas:hover{background:#26262d;border-color:#50505b;text-decoration:none}.publica-header-boton-reservas:focus-visible{outline-offset:3px;outline:2px solid #b89a70}.publica-header-boton-reservas span{align-items:center;line-height:1;display:inline-flex}
