:root{
    --pi-f-bg:#f4f2ec;
    --pi-f-card:#ffffff;
    --pi-f-text:#27312b;
    --pi-f-muted:#738078;
    --pi-f-border:#dfe5df;
    --pi-f-primary:#49634f;
    --pi-f-primary-dark:#354b3b;
    --pi-f-soft:#e7eee8;
    --pi-f-danger:#a83d3d;
    --pi-f-radius:20px;
    --pi-f-shadow:0 10px 28px rgba(36,49,43,.08);
}

.pi-app{
    max-width:1100px;
    margin:24px auto;
    padding:0 14px 70px;
    color:var(--pi-f-text);
    font-family:inherit;
}

.pi-app *{box-sizing:border-box}

.pi-front-header,
.pi-front-section-head,
.pi-front-profile-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
}

.pi-front-header{margin-bottom:18px}
.pi-front-header h2,
.pi-front-hero h2,
.pi-front-profile h2{
    margin:4px 0 0;
    font-size:clamp(30px,5vw,48px);
    line-height:1.05;
}

.pi-front-eyebrow{
    color:var(--pi-f-muted);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.pi-front-count{
    display:inline-grid;
    place-items:center;
    min-width:44px;
    min-height:44px;
    padding:0 12px;
    border-radius:999px;
    background:var(--pi-f-soft);
    font-weight:800;
}

.pi-front-grid,
.pi-front-pigeon-grid,
.pi-front-relative-grid{
    display:grid;
    gap:16px;
}

.pi-front-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pi-front-pigeon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pi-front-relative-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.pi-front-loft-card,
.pi-front-pigeon-card{
    display:block;
    background:var(--pi-f-card);
    border:1px solid var(--pi-f-border);
    border-radius:var(--pi-f-radius);
    box-shadow:var(--pi-f-shadow);
    text-decoration:none;
    color:var(--pi-f-text);
    overflow:hidden;
}

.pi-front-loft-card{
    padding:22px;
    min-height:150px;
}

.pi-front-loft-card strong,
.pi-front-loft-card small{
    display:block;
}

.pi-front-loft-card strong{font-size:22px;margin-top:12px}
.pi-front-loft-card small{color:var(--pi-f-muted);margin-top:5px}
.pi-front-loft-icon{font-size:34px}

.pi-front-hero,
.pi-front-profile,
.pi-front-section,
.pi-front-form,
.pi-front-empty,
.pi-front-message{
    background:var(--pi-f-card);
    border:1px solid var(--pi-f-border);
    border-radius:var(--pi-f-radius);
    box-shadow:var(--pi-f-shadow);
}

.pi-front-hero{
    padding:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:10px 0 18px;
}

.pi-front-hero p{color:var(--pi-f-muted)}
.pi-front-hero-icon{font-size:42px}

.pi-front-back{
    display:inline-block;
    margin-bottom:10px;
    color:var(--pi-f-primary);
    font-weight:800;
    text-decoration:none;
}

.pi-front-actions{margin:16px 0}

.pi-front-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 20px;
    border-radius:14px;
    background:var(--pi-f-primary);
    color:#fff!important;
    text-decoration:none;
    font-weight:800;
    border:0;
    cursor:pointer;
}

.pi-front-primary:hover{background:var(--pi-f-primary-dark)}
.pi-front-full{width:100%;margin-top:18px}

.pi-front-filters{
    display:flex;
    gap:8px;
    overflow:auto;
    padding:4px 0 14px;
    scrollbar-width:none;
}

.pi-front-filters a{
    white-space:nowrap;
    padding:9px 13px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--pi-f-border);
    color:var(--pi-f-text);
    text-decoration:none;
    font-weight:700;
}

.pi-front-filters a.is-active{
    background:var(--pi-f-primary);
    color:#fff;
}

.pi-front-pigeon-photo{
    aspect-ratio:4/3;
    background:var(--pi-f-soft);
    display:grid;
    place-items:center;
    font-size:52px;
}

.pi-front-pigeon-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.pi-front-pigeon-body{padding:16px}
.pi-front-pigeon-body h3{margin:12px 0 4px;font-size:22px}
.pi-front-pigeon-body p{margin:0;color:var(--pi-f-muted)}
.pi-front-pigeon-body small{display:block;margin-top:10px;color:var(--pi-f-muted)}

.pi-front-badge{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.status-competition{background:#e8f0ff;color:#315e9f}
.status-breeding{background:#f2eaff;color:#7447a1}
.status-active{background:#e7f5ea;color:#285c35}
.status-lost{background:#f1f1f1;color:#555}
.status-sold{background:#fff2df;color:#8b5a15}
.status-gifted{background:#fff0f6;color:#98446b}
.status-deceased{background:#ececec;color:#333}

.pi-front-profile{
    display:grid;
    grid-template-columns:minmax(300px,42%) 1fr;
    overflow:hidden;
}

.pi-front-profile-photo{
    min-height:420px;
    display:grid;
    place-items:center;
    background:var(--pi-f-soft);
    font-size:86px;
}

.pi-front-profile-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.pi-front-profile-main{padding:28px}
.pi-front-profile-main h2{margin:18px 0 4px}
.pi-front-code{color:var(--pi-f-muted);font-size:12px;font-weight:800}
.pi-front-ring{font-size:20px;color:var(--pi-f-muted)}

.pi-front-summary,
.pi-front-data-grid,
.pi-front-family-stats{
    display:grid;
    gap:12px;
}

.pi-front-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}
.pi-front-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pi-front-family-stats{grid-template-columns:repeat(3,1fr);margin:18px 0}

.pi-front-summary div,
.pi-front-data-grid div,
.pi-front-family-stats div{
    background:var(--pi-f-bg);
    border-radius:14px;
    padding:14px;
}

.pi-front-summary span,
.pi-front-data-grid span,
.pi-front-family-stats span{
    display:block;
    color:var(--pi-f-muted);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}

.pi-front-summary strong,
.pi-front-data-grid strong,
.pi-front-family-stats strong{
    display:block;
    margin-top:5px;
}

.pi-front-family-stats div{text-align:center}
.pi-front-family-stats strong{font-size:25px}

.pi-front-tabs{
    position:sticky;
    top:0;
    z-index:5;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin:14px 0;
    padding:8px;
    background:rgba(244,242,236,.94);
    backdrop-filter:blur(10px);
    border-radius:16px;
}

.pi-front-tabs a{
    text-align:center;
    padding:12px 8px;
    border-radius:12px;
    background:#fff;
    border:1px solid var(--pi-f-border);
    color:var(--pi-f-primary-dark);
    text-decoration:none;
    font-weight:800;
}

.pi-front-section{
    padding:24px;
    margin-top:18px;
    scroll-margin-top:90px;
}

.pi-front-section h3{font-size:28px;margin:5px 0 16px}

.pi-front-timeline article{
    display:grid;
    grid-template-columns:52px 1fr;
    gap:14px;
    padding:18px 0;
    border-top:1px solid var(--pi-f-border);
}

.pi-front-time-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:var(--pi-f-soft);
    font-size:22px;
}

.pi-front-timeline time{
    display:block;
    color:var(--pi-f-muted);
    font-size:13px;
    margin-bottom:5px;
}

.pi-front-timeline strong{font-size:17px}
.pi-front-timeline p{margin:5px 0 0}

.pi-front-family-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.pi-front-family-block{
    padding:16px;
    border:1px solid var(--pi-f-border);
    border-radius:16px;
}

.pi-front-family-block h4,
.pi-front-family-list h4{
    margin:0 0 12px;
}

.pi-front-family-block a,
.pi-front-relative-grid a{
    display:block;
    padding:12px;
    border-radius:14px;
    background:var(--pi-f-bg);
    color:var(--pi-f-text);
    text-decoration:none;
}

.pi-front-family-block strong,
.pi-front-family-block small,
.pi-front-relative-grid strong,
.pi-front-relative-grid small{
    display:block;
}

.pi-front-family-block small,
.pi-front-relative-grid small{
    color:var(--pi-f-muted);
    margin-top:4px;
}

.pi-front-family-list{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--pi-f-border);
}

.pi-front-form{padding:24px}
.pi-front-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.pi-front-form label{
    display:block;
    margin-bottom:7px;
    font-weight:800;
}

.pi-front-form input,
.pi-front-form select,
.pi-front-form textarea{
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border-radius:14px;
    border:1px solid var(--pi-f-border);
    background:#fff;
    font-size:16px;
}

.pi-front-form textarea{min-height:110px}

.pi-front-note{
    margin-top:16px;
    padding:16px;
    border-radius:14px;
    background:var(--pi-f-bg);
}

.pi-front-empty,
.pi-front-message{
    padding:38px 20px;
    text-align:center;
}

.pi-front-empty>div{font-size:42px}
.pi-front-notice{
    padding:13px 15px;
    border-radius:14px;
    margin-bottom:16px;
    font-weight:800;
}

.pi-front-notice.is-success{background:#e7f5ea;color:#285c35}
.pi-front-notice.is-error,
.pi-front-message.is-error{background:#fdeaea;color:#8b2929}

.pi-front-danger{
    margin-top:22px;
    padding:16px;
    border:1px solid #edcaca;
    border-radius:16px;
    background:#fff;
}

.pi-front-danger summary{
    cursor:pointer;
    color:var(--pi-f-danger);
    font-weight:800;
}

.pi-front-danger a{
    display:inline-block;
    margin-top:14px;
    color:#fff;
    background:var(--pi-f-danger);
    border-radius:12px;
    padding:12px 16px;
    text-decoration:none;
    font-weight:800;
}

@media(max-width:800px){
    .pi-app{padding-left:10px;padding-right:10px}
    .pi-front-grid,
    .pi-front-pigeon-grid,
    .pi-front-form-grid,
    .pi-front-family-grid,
    .pi-front-relative-grid,
    .pi-front-data-grid{
        grid-template-columns:1fr;
    }

    .pi-front-profile{grid-template-columns:1fr}
    .pi-front-profile-photo{min-height:320px}
    .pi-front-profile-main{padding:20px}
    .pi-front-summary{grid-template-columns:1fr 1fr}
    .pi-front-tabs a{font-size:13px;padding:10px 4px}
    .pi-front-section{padding:18px}
}


/* v0.5.1 · Acceso por contraseña */
.pi-access-shell{
    min-height:70vh;
    display:grid;
    place-items:center;
    padding:24px 12px
}
.pi-access-card{
    width:min(100%,460px);
    padding:30px;
    text-align:center;
    background:#fff;
    border:1px solid var(--pi-f-border);
    border-radius:24px;
    box-shadow:var(--pi-f-shadow)
}
.pi-access-icon{
    width:72px;
    height:72px;
    margin:0 auto 16px;
    display:grid;
    place-items:center;
    border-radius:22px;
    background:var(--pi-f-soft);
    font-size:36px
}
.pi-access-card h2{
    margin:6px 0 8px;
    font-size:34px
}
.pi-access-card p{
    color:var(--pi-f-muted);
    margin-bottom:20px
}
.pi-access-card label{
    display:block;
    text-align:left;
    margin-bottom:7px;
    font-weight:800
}
.pi-access-card input{
    width:100%;
    min-height:50px;
    padding:12px 14px;
    border:1px solid var(--pi-f-border);
    border-radius:14px;
    font-size:18px
}
.pi-access-card small{
    display:block;
    margin-top:14px;
    color:var(--pi-f-muted)
}
.pi-front-access-bar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
    padding:10px 14px;
    border-radius:14px;
    background:var(--pi-f-soft);
    color:var(--pi-f-primary-dark);
    font-weight:800
}
.pi-front-access-bar a{
    color:var(--pi-f-danger);
    text-decoration:none;
    font-size:13px
}


/* v0.6.0 · Reproducción Inteligente */
.pi-front-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px
}
.pi-front-secondary-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 20px;
    border-radius:14px;
    background:#f2eaff;
    color:#7447a1!important;
    text-decoration:none;
    font-weight:800
}
.pi-pair-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
}
.pi-pair-card{
    position:relative;
    display:block;
    padding:20px;
    background:#fff;
    border:1px solid var(--pi-f-border);
    border-radius:20px;
    color:var(--pi-f-text);
    text-decoration:none;
    box-shadow:var(--pi-f-shadow)
}
.pi-pair-status,.pi-pair-detail-status{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    background:#ececec;
    color:#555;
    font-size:12px;
    font-weight:800
}
.pi-pair-status.is-active,.pi-pair-detail-status.is-active{
    background:#e7f5ea;
    color:#285c35
}
.pi-pair-names{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    margin:20px 0
}
.pi-pair-names div{text-align:center}
.pi-pair-names div>span{display:block;font-size:25px}
.pi-pair-names strong{display:block;margin-top:5px}
.pi-heart{font-size:24px}
.pi-pair-meta{
    display:grid;
    gap:5px;
    padding-top:14px;
    border-top:1px solid var(--pi-f-border);
    color:var(--pi-f-muted);
    font-size:13px
}
.pi-ring-alert{border-color:#f0c987}
.pi-ring-list{display:grid}
.pi-ring-list a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:13px 0;
    border-top:1px solid var(--pi-f-border);
    color:var(--pi-f-text);
    text-decoration:none
}
.pi-ring-list strong,.pi-ring-list small{display:block}
.pi-ring-list small{color:var(--pi-f-muted);margin-top:3px}
.pi-ring-list a>span{
    white-space:nowrap;
    padding:6px 10px;
    border-radius:999px;
    background:#fff2df;
    color:#8b5a15;
    font-size:12px;
    font-weight:800
}
.pi-ring-list a>span.is-due{background:#fdeaea;color:#8b2929}
.pi-pair-detail{text-align:center}
.pi-pair-detail-names{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:14px;
    align-items:center;
    margin:22px 0
}
.pi-pair-detail-names a{
    display:block;
    padding:18px;
    border-radius:16px;
    background:var(--pi-f-bg);
    color:var(--pi-f-text);
    text-decoration:none
}
.pi-pair-detail-names a>span{display:block;font-size:32px}
.pi-pair-detail-names strong,.pi-pair-detail-names small{display:block}
.pi-pair-detail-names small{color:var(--pi-f-muted);margin-top:4px}
.pi-pair-heart{font-size:36px}
.pi-pair-date{color:var(--pi-f-muted)}
.pi-pair-action-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
}
.pi-pair-action-grid details{margin-top:0}
.pi-pair-action-grid summary{
    cursor:pointer;
    font-size:20px;
    font-weight:800
}
.pi-pair-action-grid form,.pi-front-danger form{margin-top:18px}
.pi-pair-action-grid label,.pi-front-danger label{
    display:block;
    margin:14px 0 7px;
    font-weight:800
}
.pi-pair-action-grid input,
.pi-pair-action-grid select,
.pi-pair-action-grid textarea,
.pi-front-danger input{
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border-radius:14px;
    border:1px solid var(--pi-f-border);
    background:#fff;
    font-size:16px
}
.pi-breeding-history{display:grid}
.pi-breeding-history article{
    display:grid;
    grid-template-columns:52px 1fr;
    gap:14px;
    padding:16px 0;
    border-top:1px solid var(--pi-f-border)
}
.pi-breeding-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:var(--pi-f-soft);
    font-size:23px
}
.pi-breeding-history strong,.pi-breeding-history time,.pi-breeding-history small{
    display:block
}
.pi-breeding-history time,.pi-breeding-history small{
    color:var(--pi-f-muted);
    margin-top:4px
}
.pi-born-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:9px
}
.pi-born-list a{
    padding:6px 9px;
    border-radius:999px;
    background:var(--pi-f-bg);
    color:var(--pi-f-primary);
    text-decoration:none;
    font-size:13px;
    font-weight:800
}
.pi-front-danger-button{
    display:inline-flex;
    width:100%;
    align-items:center;
    justify-content:center;
    min-height:48px;
    margin-top:14px;
    border:0;
    border-radius:14px;
    background:var(--pi-f-danger);
    color:#fff;
    font-weight:800;
    cursor:pointer
}
@media(max-width:800px){
    .pi-pair-grid,.pi-pair-action-grid{grid-template-columns:1fr}
    .pi-pair-detail-names{grid-template-columns:1fr}
    .pi-pair-heart{transform:rotate(90deg)}
    .pi-front-actions>a{width:100%}
}

/* v0.7.0 Calendario Inteligente */
.pi-front-calendar-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:14px;background:#fff2df;color:#8b5a15!important;text-decoration:none;font-weight:800}.pi-agenda-list{display:grid}.pi-agenda-list a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--pi-f-border);color:var(--pi-f-text);text-decoration:none}.pi-agenda-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--pi-f-soft);font-size:21px}.pi-agenda-list strong,.pi-agenda-list small{display:block}.pi-agenda-list small{color:var(--pi-f-muted);margin-top:3px}.pi-agenda-list time{white-space:nowrap;color:var(--pi-f-primary);font-size:12px;font-weight:800}.pi-calendar-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;margin-bottom:16px}.pi-calendar-head h3{text-align:center;margin:0}.pi-calendar-head a{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--pi-f-soft);color:var(--pi-f-primary);text-decoration:none;font-size:22px;font-weight:800}.pi-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.pi-calendar-weekdays div{text-align:center;padding:9px 4px;color:var(--pi-f-muted);font-size:12px;font-weight:800}.pi-calendar-days{border-top:1px solid var(--pi-f-border);border-left:1px solid var(--pi-f-border)}.pi-calendar-day{min-height:105px;padding:9px;border-right:1px solid var(--pi-f-border);border-bottom:1px solid var(--pi-f-border);background:#fff}.pi-calendar-day.is-empty{background:var(--pi-f-bg)}.pi-calendar-day.is-today{background:#eef5ef}.pi-calendar-number{width:27px;height:27px;display:grid;place-items:center;border-radius:999px;font-weight:800}.pi-calendar-day.is-today .pi-calendar-number{background:var(--pi-f-primary);color:#fff}.pi-calendar-dots{display:flex;flex-wrap:wrap;gap:3px;margin-top:10px}.pi-calendar-dots span{font-size:16px}.pi-calendar-event-day{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:15px 0;border-top:1px solid var(--pi-f-border)}.pi-calendar-event-day>time{color:var(--pi-f-muted);font-weight:800}.pi-calendar-event-day>div{display:grid;gap:8px}.pi-calendar-event-day a{display:flex;gap:10px;align-items:center;padding:11px;border-radius:13px;background:var(--pi-f-bg);color:var(--pi-f-text);text-decoration:none}.pi-calendar-event-day strong,.pi-calendar-event-day small{display:block}.pi-calendar-event-day small{color:var(--pi-f-muted);margin-top:3px}@media(max-width:800px){.pi-calendar-day{min-height:68px;padding:5px}.pi-calendar-dots span{font-size:12px}.pi-calendar-weekdays div{font-size:10px}.pi-calendar-event-day{grid-template-columns:1fr;gap:6px}.pi-agenda-list a{grid-template-columns:42px 1fr}.pi-agenda-list time{grid-column:2}.pi-front-actions>a{width:100%}}

/* v0.8.0 · Tratamientos Inteligentes */
.pi-front-treatment-action,.pi-front-medicine-action{
    display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;
    border-radius:14px;text-decoration:none;font-weight:800
}
.pi-front-treatment-action{background:#e8f5ec;color:#285c35!important}
.pi-front-medicine-action{background:#eef0ff;color:#46559a!important}
.pi-treatment-alert{border-color:#b8dbc2}
.pi-treatment-reminders>div{
    display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--pi-f-border)
}
.pi-treatment-reminders>div>span{font-size:24px}
.pi-treatment-reminders strong,.pi-treatment-reminders small{display:block}
.pi-treatment-reminders small{color:var(--pi-f-muted);margin-top:3px}
.pi-treatment-list{display:grid}
.pi-treatment-list article{
    display:grid;grid-template-columns:64px 1fr;gap:14px;padding:15px 0;border-top:1px solid var(--pi-f-border)
}
.pi-treatment-photo,.pi-medicine-photo{
    width:58px;height:58px;border-radius:15px;background:var(--pi-f-soft);
    display:grid;place-items:center;font-size:25px;overflow:hidden
}
.pi-treatment-photo img,.pi-medicine-photo img{width:100%;height:100%;object-fit:cover}
.pi-treatment-list strong,.pi-treatment-list time,.pi-treatment-list small{display:block}
.pi-treatment-list time,.pi-treatment-list small{color:var(--pi-f-muted);margin-top:3px}
.pi-treatment-list p{margin:5px 0}
.pi-target-box,.pi-reminder-box{
    margin:18px 0;padding:16px;border-radius:16px;background:var(--pi-f-bg)
}
.pi-target-box>label,.pi-reminder-box>label{font-size:17px}
.pi-target-options{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}
.pi-target-options label,.pi-reminder-toggle{display:flex!important;align-items:center;gap:8px}
.pi-target-options input,.pi-reminder-toggle input,.pi-pigeon-check input{width:auto!important;min-height:auto!important}
#pi-pigeon-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
#pi-pigeon-selection[hidden],#pi-repeat-fields[hidden],#pi-new-medicine-fields[hidden],#pi-new-medicine-category[hidden],#pi-new-medicine-photo[hidden]{display:none!important}
.pi-pigeon-check{
    display:flex!important;align-items:center;gap:10px;padding:10px;border:1px solid var(--pi-f-border);
    border-radius:13px;background:#fff
}
.pi-pigeon-check strong,.pi-pigeon-check small{display:block}
.pi-pigeon-check small{color:var(--pi-f-muted)}
.pi-repeat-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pi-reminder-box small{display:block;margin-top:8px;color:var(--pi-f-muted)}
.pi-medicine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.pi-medicine-card{
    display:grid;grid-template-columns:64px 1fr;gap:12px;padding:15px;background:#fff;
    border:1px solid var(--pi-f-border);border-radius:16px
}
.pi-medicine-card strong,.pi-medicine-card small,.pi-medicine-card a{display:block}
.pi-medicine-card small{color:var(--pi-f-muted);margin-top:4px}
.pi-medicine-card a{margin-top:8px;color:var(--pi-f-primary);font-weight:800;text-decoration:none}
@media(max-width:800px){
    #pi-pigeon-selection,.pi-medicine-grid{grid-template-columns:1fr}
    .pi-repeat-row{grid-template-columns:1fr 1fr}
}

/* v0.9.0 · Fotografías y Observaciones */
.pi-front-photo-action,.pi-front-gallery-action{
    display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;
    border-radius:14px;background:#f4eaff;color:#7447a1!important;text-decoration:none;font-weight:800
}
.pi-front-gallery-action{background:#eef0ff;color:#46559a!important}
.pi-front-profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pi-day-camera{
    position:absolute;right:5px;top:5px;width:24px;height:24px;display:grid;place-items:center;
    border-radius:8px;background:rgba(255,255,255,.92);font-size:12px;text-decoration:none
}
.pi-timeline-photo{margin-top:10px}
.pi-timeline-photo img{max-width:240px;border-radius:14px;height:auto}
.pi-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pi-photo-card{
    background:#fff;border:1px solid var(--pi-f-border);border-radius:18px;overflow:hidden;
    box-shadow:var(--pi-f-shadow)
}
.pi-photo-image{aspect-ratio:4/3;background:var(--pi-f-soft)}
.pi-photo-image img{width:100%;height:100%;object-fit:cover}
.pi-photo-info{padding:15px}
.pi-photo-info time,.pi-photo-info strong{display:block}
.pi-photo-info time{color:var(--pi-f-muted);font-size:13px}
.pi-photo-info strong{margin-top:7px}
.pi-photo-info p{margin:8px 0 0}
.pi-photo-delete{
    display:inline-block;margin-top:12px;color:var(--pi-f-danger);font-weight:800;text-decoration:none
}
@media(max-width:800px){
    .pi-photo-grid{grid-template-columns:1fr}
    .pi-front-profile-actions>a{width:100%}
    .pi-day-camera{width:20px;height:20px;font-size:10px}
}


/* v0.9.1 · Galería Mejorada */
.pi-photo-card.is-main{border-color:#d8bd69;box-shadow:0 10px 28px rgba(140,108,20,.14)}
.pi-photo-image{position:relative;width:100%;aspect-ratio:4/5;border:0;padding:0;margin:0;background:#f7f7f5;cursor:zoom-in;overflow:hidden}
.pi-photo-image img{width:100%;height:100%;object-fit:contain;object-position:center;background:#f7f7f5}
.pi-main-badge{position:absolute;left:10px;top:10px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#765b0b;font-size:12px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.10)}
.pi-photo-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.pi-photo-main{color:#765b0b;font-weight:800;text-decoration:none}
.pi-front-profile-photo,.pi-smart-photo,.pi-profile-photo{background:#f7f7f5!important}
.pi-front-profile-photo img,.pi-smart-photo img,.pi-profile-photo img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#f7f7f5!important}
.pi-lightbox[hidden]{display:none!important}
.pi-lightbox{position:fixed;inset:0;z-index:999999;display:grid;place-items:center}
.pi-lightbox-backdrop{position:absolute;inset:0;background:rgba(8,10,9,.92)}
.pi-lightbox-panel{position:relative;z-index:1;width:min(96vw,1200px);height:min(94vh,900px);display:grid;grid-template-columns:64px 1fr 64px;grid-template-rows:1fr auto auto;align-items:center}
.pi-lightbox-stage{grid-column:2;grid-row:1;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;touch-action:none}
.pi-lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .16s ease;user-select:none;-webkit-user-drag:none}
.pi-lightbox-close{position:absolute;right:0;top:-4px;width:46px;height:46px;border:0;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:30px;cursor:pointer}
.pi-lightbox-nav{width:52px;height:70px;border:0;border-radius:16px;background:rgba(255,255,255,.14);color:#fff;font-size:42px;cursor:pointer}
.pi-lightbox-nav.is-prev{grid-column:1;grid-row:1}.pi-lightbox-nav.is-next{grid-column:3;grid-row:1}
.pi-lightbox-controls{grid-column:2;grid-row:2;display:flex;justify-content:center;gap:8px;padding-top:10px}
.pi-lightbox-controls button{min-width:46px;height:40px;border:0;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;font-weight:800;cursor:pointer}
.pi-lightbox-caption{grid-column:2;grid-row:3;padding-top:10px;text-align:center;color:#fff;min-height:28px}
@media(max-width:800px){
 .pi-lightbox-panel{width:100vw;height:100vh;grid-template-columns:42px 1fr 42px;padding:52px 4px 18px}
 .pi-lightbox-close{top:6px;right:8px}.pi-lightbox-nav{width:38px;height:58px;font-size:32px;border-radius:12px}
}


/* v0.9.2 · Acceso abierto temporal */
.pi-front-access-bar,
.pi-access-shell{
    display:none!important
}

/* v1.0.0 · Dashboard Hoy */
.pi-today-panel{margin-bottom:24px}.pi-today-empty{display:flex;align-items:center;gap:14px;padding:8px 0}
.pi-today-empty>span{font-size:34px}.pi-today-empty strong{font-size:18px}.pi-today-empty p{margin:5px 0 0;color:var(--pi-f-muted)}
.pi-today-list{display:grid}.pi-today-list a{display:grid;grid-template-columns:48px 1fr 24px;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--pi-f-border);color:var(--pi-f-text);text-decoration:none}
.pi-today-list a:first-child{border-top:0}.pi-today-list a.is-urgent{background:#fff8f1;margin:0 -10px;padding:14px 10px;border-radius:14px}
.pi-today-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--pi-f-soft);font-size:21px}
.pi-today-list strong,.pi-today-list small{display:block}.pi-today-list small{margin-top:4px;color:var(--pi-f-muted)}.pi-today-arrow{font-size:28px;color:var(--pi-f-muted)}
.pi-lofts-heading{margin-top:28px}.pi-dashboard-loft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}
.pi-dashboard-loft-card{display:block;padding:20px;background:#fff;border:1px solid var(--pi-f-border);border-radius:20px;box-shadow:var(--pi-f-shadow);color:var(--pi-f-text);text-decoration:none}
.pi-dashboard-loft-top{display:flex;align-items:center;gap:12px}.pi-dashboard-loft-top strong,.pi-dashboard-loft-top small{display:block}
.pi-dashboard-loft-top strong{font-size:20px}.pi-dashboard-loft-top small{margin-top:4px;color:var(--pi-f-muted)}
.pi-dashboard-loft-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.pi-dashboard-loft-stats div{padding:10px 6px;text-align:center;border-radius:12px;background:var(--pi-f-bg)}
.pi-dashboard-loft-stats strong{display:block;font-size:20px}.pi-dashboard-loft-stats span{display:block;margin-top:3px;font-size:10px;color:var(--pi-f-muted);font-weight:700}
.pi-loft-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 18px}
.pi-loft-summary div{padding:14px 8px;text-align:center;background:#fff;border:1px solid var(--pi-f-border);border-radius:15px;box-shadow:var(--pi-f-shadow)}
.pi-loft-summary strong{display:block;font-size:25px}.pi-loft-summary span{display:block;margin-top:4px;font-size:11px;color:var(--pi-f-muted);font-weight:800}
.pi-recent-list{display:grid}.pi-recent-list a{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--pi-f-border);color:var(--pi-f-text);text-decoration:none}
.pi-recent-list a>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--pi-f-soft);font-size:19px}
.pi-recent-list strong,.pi-recent-list small{display:block}.pi-recent-list small{margin-top:3px;color:var(--pi-f-muted)}
.pi-recent-list time{white-space:nowrap;color:var(--pi-f-muted);font-size:12px}
@media(max-width:800px){
 .pi-dashboard-loft-grid{grid-template-columns:1fr}.pi-dashboard-loft-stats{grid-template-columns:repeat(2,1fr)}
 .pi-loft-summary{grid-template-columns:repeat(2,1fr)}.pi-recent-list a{grid-template-columns:40px 1fr}.pi-recent-list time{grid-column:2}
}


/* v1.0.3 · Selector moderno de fotografía */
.pi-photo-file-input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important
}
.pi-photo-upload-button{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    min-height:58px;
    padding:14px 18px;
    margin:0!important;
    border:1px solid var(--pi-f-border);
    border-radius:16px;
    background:var(--pi-f-soft);
    color:var(--pi-f-primary-dark);
    font-weight:800!important;
    cursor:pointer;
    transition:transform .15s ease, background .15s ease, border-color .15s ease
}
.pi-photo-upload-button:hover,
.pi-photo-upload-button:focus{
    background:#dde8df;
    border-color:#b9cbbd;
    transform:translateY(-1px)
}
.pi-photo-upload-icon{
    font-size:25px;
    line-height:1
}
.pi-photo-file-status{
    margin-top:9px;
    color:var(--pi-f-muted);
    font-size:13px
}
.pi-photo-file-status.is-selected{
    color:#285c35;
    font-weight:800
}
.pi-photo-preview{
    margin-top:12px;
    border:1px solid var(--pi-f-border);
    border-radius:16px;
    background:#f7f7f5;
    overflow:hidden;
    aspect-ratio:4/5
}
.pi-photo-preview img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    background:#f7f7f5
}


/* v1.0.6 · Cámara y galería realmente separadas */
.pi-photo-upload-field{
    display:grid;
    gap:10px
}
.pi-photo-upload-field>label:first-child{
    margin-bottom:0
}
.pi-photo-gallery-button{
    background:#eef0ff;
    color:#46559a
}
.pi-photo-gallery-button:hover,
.pi-photo-gallery-button:focus{
    background:#e2e6ff;
    border-color:#c5caef
}


/* v1.0.7 · Carga progresiva */
.pi-load-more-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:50px;
    margin-top:16px;
    padding:12px 18px;
    border:1px solid var(--pi-f-border);
    border-radius:14px;
    background:var(--pi-f-soft);
    color:var(--pi-f-primary-dark);
    font-weight:800;
    cursor:pointer
}
.pi-load-more-button:hover,
.pi-load-more-button:focus{
    background:#dde8df;
    border-color:#b9cbbd
}
.pi-load-more-button:disabled{
    opacity:.65;
    cursor:wait
}

/* v2.0.0 · Vista Tienda del Palomar */
.pi-store-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:10px 0 18px;padding:26px 28px;border:1px solid var(--pi-f-border);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f4f7f4 100%);box-shadow:var(--pi-f-shadow)}
.pi-store-hero h2{margin:6px 0;font-size:clamp(34px,5vw,56px);line-height:1}.pi-store-hero p{margin:0;color:var(--pi-f-muted)}
.pi-store-hero-mark{min-width:105px;padding:15px;text-align:center;border-radius:20px;background:#fff;border:1px solid var(--pi-f-border)}.pi-store-hero-mark>span{display:block;font-size:30px}.pi-store-hero-mark strong{display:block;margin-top:4px;font-size:25px}.pi-store-hero-mark small{color:var(--pi-f-muted);font-weight:700}
.pi-store-menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.pi-store-menu a{display:grid;gap:4px;min-height:112px;padding:17px;border:1px solid var(--pi-f-border);border-radius:18px;background:#fff;color:var(--pi-f-text);text-decoration:none;box-shadow:0 8px 24px rgba(25,38,29,.05);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.pi-store-menu a:hover{transform:translateY(-2px);border-color:#bccac0;box-shadow:0 14px 30px rgba(25,38,29,.10)}.pi-store-menu a.is-primary{background:var(--pi-f-primary);color:#fff}.pi-store-menu a>span{font-size:25px}.pi-store-menu strong{font-size:16px}.pi-store-menu small{opacity:.72}
.pi-store-details{margin-bottom:20px;border:1px solid var(--pi-f-border);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(25,38,29,.05);overflow:hidden}.pi-store-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.pi-store-details summary::-webkit-details-marker{display:none}.pi-store-details summary strong,.pi-store-details summary small{display:block}.pi-store-details summary small{margin-top:4px;color:var(--pi-f-muted)}.pi-store-details-arrow{width:38px;height:38px;display:grid;place-items:center;border-radius:999px;background:var(--pi-f-soft);font-size:22px;transition:transform .2s ease}.pi-store-details[open] .pi-store-details-arrow{transform:rotate(180deg)}.pi-store-details-content{padding:0 20px 20px;border-top:1px solid var(--pi-f-border)}.pi-store-today{margin-top:14px}
.pi-store-catalog{margin:20px 0}.pi-store-catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.pi-store-catalog-head h2{margin:4px 0 0;font-size:34px}
.pi-store-pigeon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pi-store-pigeon-card{border-radius:18px;box-shadow:0 8px 25px rgba(25,38,29,.07);transition:transform .15s ease,box-shadow .15s ease}.pi-store-pigeon-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(25,38,29,.13)}.pi-store-pigeon-card .pi-front-pigeon-photo{aspect-ratio:4/5;background:#f4f4f1}.pi-store-pigeon-card .pi-front-pigeon-photo img{object-fit:contain;background:#f4f4f1}.pi-store-pigeon-card .pi-front-pigeon-body{padding:14px}.pi-store-pigeon-card .pi-front-pigeon-body h3{margin:10px 0 4px;font-size:18px;line-height:1.18}.pi-store-pigeon-card .pi-front-pigeon-body p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pi-store-card-topline{display:flex;justify-content:space-between}.pi-store-card-age{display:grid;gap:2px;margin-top:12px;padding-top:10px;border-top:1px solid var(--pi-f-border)}.pi-store-card-age span{color:var(--pi-f-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.pi-store-card-age strong{font-size:13px}.pi-store-activity{margin-top:24px}
@media(max-width:1050px){.pi-store-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.pi-store-pigeon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.pi-store-hero{padding:20px;border-radius:19px}.pi-store-hero h2{font-size:36px}.pi-store-hero-mark{min-width:78px;padding:10px}.pi-store-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pi-store-menu a{min-height:96px;padding:13px}.pi-store-menu a:last-child{grid-column:1/-1}.pi-store-pigeon-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.pi-store-pigeon-card{border-radius:15px}.pi-store-pigeon-card .pi-front-pigeon-body{padding:11px}.pi-store-pigeon-card .pi-front-pigeon-body h3{font-size:15px}.pi-store-pigeon-card .pi-front-badge{padding:5px 8px;font-size:10px}.pi-store-card-age strong{font-size:11px}.pi-store-details summary{padding:15px}.pi-store-details-content{padding:0 14px 14px}}


/* v3.0.0 · Menú hamburguesa y notificaciones */
.pi-app-shell{
    position:relative
}
.pi-app-topbar{
    position:sticky;
    top:0;
    z-index:30;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
    padding:14px 16px;
    border:1px solid var(--pi-f-border);
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:0 9px 26px rgba(25,38,29,.08);
    backdrop-filter:blur(14px)
}
.pi-app-title h2{
    margin:2px 0;
    font-size:28px;
    line-height:1.05
}
.pi-app-title small{
    color:var(--pi-f-muted)
}
.pi-app-top-actions{
    display:flex;
    align-items:center;
    gap:8px
}
.pi-icon-button{
    position:relative;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid var(--pi-f-border);
    border-radius:14px;
    background:var(--pi-f-soft);
    color:var(--pi-f-text);
    font-size:22px;
    cursor:pointer
}
.pi-icon-button:hover{
    background:#dde8df
}
.pi-notification-button strong{
    position:absolute;
    right:-5px;
    top:-6px;
    min-width:22px;
    height:22px;
    display:grid;
    place-items:center;
    padding:0 5px;
    border-radius:999px;
    background:#c8333f;
    color:#fff;
    font-size:11px;
    box-shadow:0 3px 8px rgba(0,0,0,.18)
}
.pi-main-catalog{
    margin-top:0
}
.pi-store-catalog-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:10px
}
.pi-store-catalog-head h2{
    margin:4px 0 0;
    font-size:34px
}
.pi-store-filters{
    overflow-x:auto;
    flex-wrap:nowrap!important;
    scrollbar-width:none
}
.pi-store-filters::-webkit-scrollbar{
    display:none
}
.pi-store-filters a{
    flex:0 0 auto
}
.pi-store-pigeon-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px
}
.pi-store-pigeon-card{
    border-radius:18px;
    box-shadow:0 8px 25px rgba(25,38,29,.07);
    transition:transform .15s ease,box-shadow .15s ease
}
.pi-store-pigeon-card:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 34px rgba(25,38,29,.13)
}
.pi-store-pigeon-card .pi-front-pigeon-photo{
    aspect-ratio:4/5;
    background:#f4f4f1
}
.pi-store-pigeon-card .pi-front-pigeon-photo img{
    object-fit:contain;
    background:#f4f4f1
}
.pi-store-pigeon-card .pi-front-pigeon-body{
    padding:14px
}
.pi-store-pigeon-card .pi-front-pigeon-body h3{
    margin:10px 0 4px;
    font-size:18px;
    line-height:1.18
}
.pi-store-pigeon-card .pi-front-pigeon-body p{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px
}
.pi-store-card-age{
    display:grid;
    gap:2px;
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid var(--pi-f-border)
}
.pi-store-card-age span{
    color:var(--pi-f-muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em
}
.pi-store-card-age strong{
    font-size:13px
}

.pi-drawer-backdrop,
.pi-notification-backdrop{
    position:fixed;
    inset:0;
    z-index:99990;
    background:rgba(9,13,11,.56);
    backdrop-filter:blur(3px)
}
.pi-side-drawer,
.pi-notification-panel{
    position:fixed;
    top:0;
    bottom:0;
    z-index:99991;
    width:min(420px,92vw);
    padding:20px;
    overflow-y:auto;
    background:#fff;
    box-shadow:0 0 46px rgba(0,0,0,.25);
    transition:transform .24s ease
}
.pi-side-drawer{
    left:0;
    transform:translateX(-104%)
}
.pi-notification-panel{
    right:0;
    transform:translateX(104%)
}
.pi-side-drawer.is-open,
.pi-notification-panel.is-open{
    transform:translateX(0)
}
.pi-drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
    padding-bottom:15px;
    border-bottom:1px solid var(--pi-f-border)
}
.pi-drawer-head h3{
    margin:3px 0 0;
    font-size:25px
}
.pi-drawer-close{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:999px;
    background:var(--pi-f-soft);
    font-size:26px;
    cursor:pointer
}
.pi-drawer-nav{
    display:grid;
    gap:8px
}
.pi-drawer-nav a{
    display:grid;
    grid-template-columns:46px 1fr;
    align-items:center;
    gap:12px;
    padding:13px;
    border:1px solid var(--pi-f-border);
    border-radius:14px;
    background:#fff;
    color:var(--pi-f-text);
    text-decoration:none
}
.pi-drawer-nav a:hover{
    background:var(--pi-f-soft)
}
.pi-drawer-nav a>span{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:var(--pi-f-soft);
    font-size:20px
}
.pi-drawer-nav strong,
.pi-drawer-nav small{
    display:block
}
.pi-drawer-nav small{
    margin-top:3px;
    color:var(--pi-f-muted)
}
.pi-drawer-summary,
.pi-drawer-activity{
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--pi-f-border)
}
.pi-drawer-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:10px
}
.pi-drawer-stats div{
    padding:11px 6px;
    text-align:center;
    border-radius:12px;
    background:var(--pi-f-bg)
}
.pi-drawer-stats strong,
.pi-drawer-stats span{
    display:block
}
.pi-drawer-stats strong{
    font-size:20px
}
.pi-drawer-stats span{
    margin-top:3px;
    color:var(--pi-f-muted);
    font-size:10px;
    font-weight:700
}
.pi-drawer-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px
}
.pi-drawer-section-head h4{
    margin:4px 0 0;
    font-size:20px
}
.pi-notification-panel .pi-today-list a{
    padding:14px 0
}
body.pi-panel-open{
    overflow:hidden
}

@media(max-width:1050px){
    .pi-store-pigeon-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}
@media(max-width:800px){
    .pi-app-topbar{
        margin:0 -4px 14px;
        padding:11px 12px;
        border-radius:15px
    }
    .pi-app-title h2{
        font-size:22px
    }
    .pi-icon-button{
        width:44px;
        height:44px
    }
    .pi-store-catalog-head h2{
        font-size:28px
    }
    .pi-store-pigeon-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px
    }
    .pi-store-pigeon-card{
        border-radius:15px
    }
    .pi-store-pigeon-card .pi-front-pigeon-body{
        padding:10px
    }
    .pi-store-pigeon-card .pi-front-pigeon-body h3{
        font-size:15px
    }
    .pi-store-pigeon-card .pi-front-badge{
        padding:5px 8px;
        font-size:10px
    }
    .pi-store-card-age strong{
        font-size:11px
    }
}


/* v3.0.1 · Ajustes visuales de cabecera y tarjetas */
.pi-app-top-actions{
    gap:12px
}

/* Botones sin fondo visible, pero con zona táctil cómoda */
.pi-icon-button{
    width:48px;
    height:48px;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0;
}
.pi-icon-button:hover,
.pi-icon-button:focus{
    background:transparent!important;
    transform:scale(1.04)
}

/* Menú hamburguesa alineado con tres líneas reales */
.pi-hamburger-icon{
    width:30px;
    height:24px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    align-items:center
}
.pi-hamburger-icon i{
    display:block;
    width:30px;
    height:3px;
    border-radius:999px;
    background:var(--pi-f-text)
}

/* Campana más grande y clara */
.pi-bell-icon{
    display:block;
    font-size:31px;
    line-height:1;
    transform:translateY(1px)
}
.pi-notification-button strong{
    right:-2px;
    top:-3px;
    min-width:23px;
    height:23px;
    font-size:11px
}

/* Tarjetas más cuadradas y compactas */
.pi-store-pigeon-card{
    overflow:hidden
}
.pi-store-pigeon-card .pi-front-pigeon-photo{
    aspect-ratio:1/1!important;
    min-height:0!important;
    background:#f4f4f1!important
}
.pi-store-pigeon-card .pi-front-pigeon-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    background:#f4f4f1!important
}
.pi-store-pigeon-card .pi-front-pigeon-body{
    display:flex;
    flex-direction:column;
    gap:5px;
    min-height:142px;
    padding:12px 13px!important
}
.pi-store-pigeon-card .pi-front-badge{
    align-self:flex-start;
    margin-bottom:2px
}
.pi-store-pigeon-card .pi-front-pigeon-body h3{
    margin:2px 0 0!important;
    min-height:40px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:17px!important;
    line-height:1.18!important
}
.pi-store-pigeon-card .pi-front-pigeon-body p{
    margin:0!important;
    color:var(--pi-f-muted);
    font-size:13px!important;
    line-height:1.3;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.pi-store-card-age{
    display:flex!important;
    align-items:center;
    gap:6px;
    margin-top:auto!important;
    padding-top:8px!important;
    border-top:1px solid var(--pi-f-border)
}
.pi-store-card-age span{
    font-size:13px!important;
    line-height:1;
    text-transform:none!important;
    letter-spacing:0!important
}
.pi-store-card-age strong{
    font-size:12px!important;
    line-height:1.25
}

@media(max-width:800px){
    .pi-app-top-actions{
        gap:8px
    }
    .pi-icon-button{
        width:42px;
        height:42px
    }
    .pi-hamburger-icon{
        width:27px;
        height:21px
    }
    .pi-hamburger-icon i{
        width:27px;
        height:3px
    }
    .pi-bell-icon{
        font-size:28px
    }
    .pi-store-pigeon-card .pi-front-pigeon-body{
        min-height:122px;
        padding:9px 10px!important;
        gap:4px
    }
    .pi-store-pigeon-card .pi-front-pigeon-body h3{
        min-height:34px;
        font-size:14px!important
    }
    .pi-store-pigeon-card .pi-front-pigeon-body p{
        font-size:11px!important
    }
    .pi-store-card-age{
        padding-top:6px!important
    }
    .pi-store-card-age strong{
        font-size:10px!important
    }
}


/* v3.0.2 · Palomas destacadas y popularidad */
.pi-front-pigeon-photo{
    position:relative
}
.pi-featured-star{
    position:absolute;
    top:10px;
    right:10px;
    z-index:3;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#d59a00;
    font-size:20px;
    line-height:1;
    box-shadow:0 5px 16px rgba(0,0,0,.16)
}
.pi-featured-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 18px;
    border:1px solid #d7d7d2;
    border-radius:14px;
    background:#f7f7f5;
    color:#6f5a14;
    font-weight:800;
    text-decoration:none
}
.pi-featured-toggle.is-featured{
    background:#fff6cf;
    border-color:#e1c862;
    color:#725600
}
.pi-front-profile-actions{
    align-items:center
}
@media(max-width:800px){
    .pi-featured-star{
        top:7px;
        right:7px;
        width:29px;
        height:29px;
        font-size:17px
    }
}


/* v3.0.4 · Foto principal moderna */
.pi-pigeon-main-photo-field{
    align-self:start
}
.pi-pigeon-main-photo-field .pi-photo-preview{
    aspect-ratio:1/1;
    max-width:100%
}
.pi-pigeon-main-photo-field .pi-photo-preview img{
    width:100%;
    height:100%;
    object-fit:contain
}
