/* ── PiPiu Aniversários – Frontend (My Account) ─────── */

.pipiu-aniv-wrap {
    max-width: 640px;
}

.pipiu-aniv-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--pipiu-ink, #24304a);
    margin-bottom: .5rem;
}

.pipiu-aniv-intro {
    color: #555;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.pipiu-aniv-notice {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 1.5rem;
    font-weight: 600;
}

.pipiu-aniv-notice--success {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}

/* Child rows */
.pipiu-child-row {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    margin-bottom: 16px;
    padding: 16px;
    background: #fff;
    border: 1px solid #f0e8d8;
    border-radius: 10px;
}

.pipiu-child-field {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pipiu-child-field label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #888;
}

.pipiu-child-field input {
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    font-family: inherit;
    color: var(--pipiu-ink, #24304a);
    width: 100%;
    box-sizing: border-box;
}

.pipiu-child-field input:focus {
    outline: none;
    border-color: #e8771a;
    box-shadow: 0 0 0 3px rgba(232,119,26,.15);
}

.pipiu-aniv-notice--error {
    background: #fdecea;
    color: #b71c1c;
    border: 1px solid #ef9a9a;
}

.pipiu-child-field--nif {
    max-width: 130px;
}

.pipiu-remove-child {
    background: none;
    border: none;
    cursor: pointer;
    color: #ccc;
    font-size: 18px;
    padding: 0 4px;
    line-height: 1;
    align-self: center;
    margin-bottom: 2px;
    transition: color .2s;
}

.pipiu-remove-child:hover { color: #e8771a; }

/* Buttons */
.pipiu-aniv-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all .2s;
    font-family: inherit;
}

.pipiu-aniv-btn--primary {
    background: #e8771a;
    color: #fff;
    border-color: #e8771a;
}

.pipiu-aniv-btn--primary:hover {
    background: #cf6715;
    border-color: #cf6715;
}

.pipiu-aniv-btn--ghost {
    background: transparent;
    color: #e8771a;
    border-color: #e8771a;
    margin-bottom: 20px;
}

.pipiu-aniv-btn--ghost:hover {
    background: #fff3e8;
}

.pipiu-aniv-actions {
    margin-top: 8px;
}

@media ( max-width: 500px ) {
    .pipiu-child-row {
        flex-wrap: wrap;
    }
    .pipiu-child-field { min-width: 0; }
}

/* ── Gestão Front-end ───────────────────────────────── */

.pipiu-gestao-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px 0;
}

.pipiu-gestao-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.pipiu-gestao-title {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--pipiu-ink, #24304a);
    margin: 0;
}

.pipiu-gestao-filtros {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.pipiu-gestao-tabs {
    display: flex !important;
    gap: 4px;
    background: #f0e8d8;
    border-radius: 50px;
    padding: 4px;
}

.pipiu-tab {
    display: inline-block !important;
    padding: 6px 16px !important;
    border-radius: 50px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #888 !important;
    text-decoration: none !important;
    transition: all .2s;
    line-height: 1.4 !important;
}

.pipiu-tab--active {
    background: #fff !important;
    color: #24304a !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
}

.pipiu-gestao-dias {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #888;
}

.pipiu-gestao-dias select {
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 13px;
    font-family: inherit;
}

.pipiu-gestao-count {
    font-size: 13px;
    color: #aaa;
    margin-bottom: 12px;
}

.pipiu-gestao-empty {
    text-align: center;
    padding: 48px;
    color: #aaa;
    font-size: 15px;
}

.pipiu-gestao-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.pipiu-gestao-table th {
    text-align: left;
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #aaa;
    border-bottom: 2px solid #f0e8d8;
}

.pipiu-gestao-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #f5f0e8;
    vertical-align: middle;
}

.pipiu-gestao-table tr:last-child td { border-bottom: none; }

.pipiu-row--enviado td { opacity: .5; }

.pipiu-cliente-nome { font-weight: 700; color: var(--pipiu-ink, #24304a); }
.pipiu-cliente-email { font-size: 12px; color: #aaa; margin-top: 2px; }

.pipiu-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    background: #f0e8d8;
    color: #888;
}

.pipiu-badge--urgente { background: #fff3cd; color: #856404; }
.pipiu-badge--hoje    { background: #d4edda; color: #155724; }

.pipiu-status { font-size: 13px; }
.pipiu-status--enviado  { color: #2e7d32; }
.pipiu-status--pendente { color: #e8771a; }

.pipiu-btn-enviado,
.pipiu-btn-desfazer,
.pipiu-btn-email-loja {
    font-size: 13px;
    padding: 7px 14px;
    white-space: nowrap;
}

.pipiu-aniv-btn--loja {
    background: #6ab040;
    color: #fff;
    border-color: #6ab040;
}

.pipiu-aniv-btn--loja:hover {
    background: #5a9535;
    border-color: #5a9535;
}

@media (max-width: 640px) {
    .pipiu-gestao-table thead { display: none; }
    .pipiu-gestao-table td {
        display: block;
        padding: 6px 0;
        border: none;
    }
    .pipiu-gestao-table tr {
        display: block;
        padding: 14px;
        border-bottom: 1px solid #f0e8d8;
    }
}

/* Vista toggle */
.pipiu-vista-toggle {
    display: flex;
    gap: 4px;
    background: #f0e8d8;
    border-radius: 50px;
    padding: 4px;
}

.pipiu-vista-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50px !important;
    font-size: 16px;
    text-decoration: none !important;
    transition: all .2s;
    line-height: 1;
}

.pipiu-vista-btn--active {
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
}

/* ── Calendário ─────────────────────────────────────── */

.pipiu-gestao-wrap {
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

.pipiu-cal {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #f0e8d8;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
}

.pipiu-cal-nav {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #f0e8d8;
}

.pipiu-cal-month-label {
    font-weight: 800;
    font-size: 15px;
    color: #24304a;
}

.pipiu-cal-nav-btn {
    background: none !important;
    border: none !important;
    font-size: 28px !important;
    cursor: pointer;
    color: #e8771a !important;
    padding: 0 10px;
    line-height: 1;
}

.pipiu-cal-nav-btn:hover { color: #cf6715 !important; }

.pipiu-cal-weekdays {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr);
    padding: 8px 12px 0;
    gap: 4px;
}

.pipiu-cal-weekday {
    text-align: center;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #bbb;
    padding: 6px 0;
}

.pipiu-cal-days {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr);
    padding: 4px 12px 12px;
    gap: 4px;
    box-sizing: border-box;
}

.pipiu-cal-cell {
    min-height: 52px;
    border-radius: 8px;
    padding: 5px 3px;
    cursor: pointer;
    transition: background .15s;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    box-sizing: border-box;
}

.pipiu-cal-cell:hover { background: #fff9ef; }
.pipiu-cal-cell--empty { cursor: default; pointer-events: none; }

.pipiu-cal-cell--today .pipiu-cal-day-num {
    background: #e8771a;
    color: #fff !important;
    border-radius: 50%;
}

.pipiu-cal-cell--active { background: #fff3e8 !important; }

.pipiu-cal-day-num {
    font-size: 13px;
    font-weight: 600;
    color: #24304a;
    width: 26px;
    height: 26px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.pipiu-cal-dots {
    display: flex !important;
    gap: 3px;
    justify-content: center;
}

.pipiu-cal-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.pipiu-cal-dot--pending { background: #e8771a; }
.pipiu-cal-dot--sent    { background: #6ab040; }

/* Painel de detalhe */
.pipiu-cal-detail {
    border-top: 1px solid #f0e8d8;
    padding: 16px 20px;
    background: #fff9ef;
}

.pipiu-cal-detail-header {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #24304a;
}

.pipiu-cal-entries {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
}

.pipiu-cal-entry {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #fff;
    border-radius: 10px;
    padding: 10px 14px;
    border: 1px solid #f0e8d8;
    flex-wrap: wrap;
}

.pipiu-cal-entry.pipiu-row--enviado { opacity: .55; }

.pipiu-cal-entry-actions {
    display: flex !important;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* ── Admin ──────────────────────────────────────────── */

.pipiu-admin-wrap h1 {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.pipiu-admin-content {
    margin-top: 20px;
}

.pipiu-admin-table td,
.pipiu-admin-table th {
    vertical-align: middle;
    padding: 10px 12px;
}
