.pth-followup-launcher {
    position: relative;
}
.pth-followup-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    display: none;
    place-items: center;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    border: 2px solid #fff;
    font: 800 10px/1 Manrope, sans-serif;
}
.pth-followup-overlay {
    position: fixed;
    inset: 0;
    z-index: 900;
    display: none;
    align-items: stretch;
    justify-content: flex-end;
    background: rgba(2, 6, 23, .72);
    backdrop-filter: blur(8px);
}
.pth-followup-overlay.is-open { display: flex; }
.pth-followup-panel {
    width: min(580px, 100%);
    height: 100%;
    display: flex;
    flex-direction: column;
    color: #e2e8f0;
    background:
        radial-gradient(circle at 80% 0, rgba(99, 102, 241, .22), transparent 28rem),
        #080d18;
    box-shadow: -24px 0 70px rgba(0, 0, 0, .46);
    animation: pth-followup-in .22s ease-out;
}
@keyframes pth-followup-in {
    from { transform: translateX(28px); opacity: 0; }
}
.pth-followup-header {
    padding: 22px;
    border-bottom: 1px solid rgba(148, 163, 184, .14);
}
.pth-followup-topline,
.pth-followup-actions,
.pth-followup-card-head,
.pth-followup-card-actions {
    display: flex;
    align-items: center;
}
.pth-followup-topline { justify-content: space-between; gap: 16px; }
.pth-followup-title {
    margin: 0;
    color: white;
    font: 800 21px/1.2 Manrope, sans-serif;
}
.pth-followup-kicker {
    margin: 0 0 5px;
    color: #818cf8;
    font: 800 9px/1 Manrope, sans-serif;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.pth-followup-icon-btn {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 12px;
    background: rgba(30, 41, 59, .7);
    color: #cbd5e1;
}
.pth-followup-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    margin-top: 18px;
}
.pth-followup-stat {
    padding: 11px;
    border: 1px solid rgba(148, 163, 184, .13);
    border-radius: 14px;
    background: rgba(15, 23, 42, .72);
}
.pth-followup-stat small {
    display: block;
    color: #64748b;
    font: 800 8px/1.2 Manrope, sans-serif;
    text-transform: uppercase;
}
.pth-followup-stat strong {
    display: block;
    margin-top: 5px;
    color: white;
    font: 800 22px/1 Manrope, sans-serif;
}
.pth-followup-stat.is-overdue strong { color: #fb7185; }
.pth-followup-stat.is-today strong { color: #fbbf24; }
.pth-followup-stat.is-interest strong { color: #34d399; }
.pth-followup-help {
    padding: 18px;
    overflow-y: auto;
    border-bottom: 1px solid rgba(52, 211, 153, .22);
    background: linear-gradient(145deg, rgba(6, 78, 59, .34), rgba(15, 23, 42, .96));
}
.pth-followup-help.is-hidden { display: none; }
.pth-followup-help-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.pth-followup-help-kicker {
    margin: 0 0 5px;
    color: #6ee7b7;
    font: 800 9px/1 Manrope, sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.pth-followup-help h3 {
    margin: 0;
    color: #fff;
    font: 800 17px/1.25 Manrope, sans-serif;
}
.pth-followup-help-intro {
    margin: 10px 0 14px;
    color: #cbd5e1;
    font: 600 11px/1.55 Manrope, sans-serif;
}
.pth-followup-help-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.pth-followup-help-steps article {
    display: flex;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(110, 231, 183, .14);
    border-radius: 13px;
    background: rgba(15, 23, 42, .62);
}
.pth-followup-help-steps article > b {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #052e24;
    background: #6ee7b7;
    font: 900 9px/1 Manrope, sans-serif;
}
.pth-followup-help-steps span,
.pth-followup-help-steps strong { display: block; }
.pth-followup-help-steps span { color: #94a3b8; font: 600 9px/1.4 Manrope, sans-serif; }
.pth-followup-help-steps strong { margin-bottom: 3px; color: #e2e8f0; font-size: 10px; }
.pth-followup-help-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}
.pth-followup-help-legend span {
    padding: 6px 8px;
    border-radius: 8px;
    color: #94a3b8;
    background: rgba(15, 23, 42, .72);
    font: 600 9px/1.3 Manrope, sans-serif;
}
.pth-followup-help-legend strong { color: #e2e8f0; }
.pth-followup-help-protection {
    display: flex;
    gap: 9px;
    margin: 11px 0;
    padding: 10px;
    border-radius: 12px;
    color: #a7f3d0;
    background: rgba(16, 185, 129, .1);
    font: 600 10px/1.45 Manrope, sans-serif;
}
.pth-followup-help-cta { width: 100%; }
.pth-followup-toolbar {
    padding: 14px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, .12);
}
.pth-followup-actions { gap: 8px; }
.pth-followup-primary,
.pth-followup-secondary {
    min-height: 40px;
    padding: 0 15px;
    border-radius: 12px;
    font: 800 10px/1 Manrope, sans-serif;
    text-transform: uppercase;
}
.pth-followup-primary {
    border: 0;
    color: white;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    box-shadow: 0 10px 28px rgba(99, 102, 241, .24);
}

.pth-followup-actions .pth-followup-primary.is-whatsapp {
    background: #25d366;
    border-color: #25d366;
}
.pth-followup-secondary {
    border: 1px solid rgba(148, 163, 184, .16);
    color: #cbd5e1;
    background: #172033;
}
.pth-followup-sync {
    margin-left: auto;
    color: #64748b;
    font: 700 9px/1.2 Manrope, sans-serif;
}
.pth-followup-tabs {
    display: flex;
    gap: 7px;
    margin-top: 12px;
    overflow-x: auto;
    scrollbar-width: none;
}
.pth-followup-tabs::-webkit-scrollbar { display: none; }
.pth-followup-tab {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid rgba(148, 163, 184, .13);
    border-radius: 999px;
    color: #94a3b8;
    background: rgba(15, 23, 42, .65);
    font: 800 9px/1 Manrope, sans-serif;
    text-transform: uppercase;
}
.pth-followup-tab.is-active {
    color: white;
    border-color: #6366f1;
    background: rgba(99, 102, 241, .28);
}
.pth-followup-list {
    flex: 1;
    padding: 16px 18px 100px;
    overflow-y: auto;
}
.pth-followup-card {
    margin-bottom: 11px;
    padding: 15px;
    border: 1px solid rgba(148, 163, 184, .13);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(30, 41, 59, .92), rgba(15, 23, 42, .92));
    box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
}
.pth-followup-card.is-overdue { border-color: rgba(244, 63, 94, .42); }
.pth-followup-card-head { align-items: flex-start; gap: 11px; }
.pth-followup-avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #c7d2fe;
    background: rgba(99, 102, 241, .2);
    font: 800 13px/1 Manrope, sans-serif;
}
.pth-followup-card-copy { min-width: 0; flex: 1; }
.pth-followup-name {
    margin: 0;
    overflow: hidden;
    color: white;
    font: 800 14px/1.25 Manrope, sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pth-followup-product {
    margin: 4px 0 0;
    overflow: hidden;
    color: #94a3b8;
    font: 600 10px/1.3 Manrope, sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pth-followup-due {
    flex: 0 0 auto;
    padding: 6px 8px;
    border-radius: 9px;
    color: #fbbf24;
    background: rgba(245, 158, 11, .12);
    font: 800 9px/1 Manrope, sans-serif;
}
.pth-followup-card.is-overdue .pth-followup-due {
    color: #fb7185;
    background: rgba(244, 63, 94, .12);
}
.pth-followup-note {
    margin: 12px 0;
    color: #cbd5e1;
    font: 600 11px/1.45 Manrope, sans-serif;
}
.pth-followup-card-actions { gap: 7px; flex-wrap: wrap; }
.pth-followup-card-actions button,
.pth-followup-card-actions select {
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 10px;
    color: #cbd5e1;
    background: rgba(15, 23, 42, .8);
    font: 800 9px/1 Manrope, sans-serif;
}
.pth-followup-card-actions .is-whatsapp {
    border-color: rgba(37, 211, 102, .35);
    color: white;
    background: #20a854;
}
.pth-followup-empty {
    margin-top: 50px;
    padding: 30px;
    text-align: center;
    color: #64748b;
}
.pth-followup-empty strong {
    display: block;
    margin-bottom: 6px;
    color: #cbd5e1;
    font-size: 14px;
}
.pth-followup-form-wrap {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: none;
    padding: 20px;
    overflow-y: auto;
    background: rgba(2, 6, 23, .94);
    backdrop-filter: blur(10px);
}
.pth-followup-form-wrap.is-open { display: block; }
.pth-followup-form {
    width: min(500px, 100%);
    margin: 4vh auto;
    padding: 22px;
    border: 1px solid rgba(129, 140, 248, .28);
    border-radius: 24px;
    background: #0f172a;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .45);
}
.pth-followup-form h3 { margin: 0 0 18px; color: white; font: 800 19px/1.2 Manrope, sans-serif; }
.pth-followup-field { display: block; margin-bottom: 13px; }
.pth-followup-field span {
    display: block;
    margin-bottom: 6px;
    color: #94a3b8;
    font: 800 9px/1 Manrope, sans-serif;
    text-transform: uppercase;
}
.pth-followup-field input,
.pth-followup-field select,
.pth-followup-field textarea {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 12px;
    color: white;
    background: #172033;
    font: 600 12px/1.4 Manrope, sans-serif;
}
.pth-followup-field textarea { min-height: 78px; resize: vertical; }
.pth-followup-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.pth-followup-mode {
    margin-top: 10px;
    color: #64748b;
    font: 700 9px/1.35 Manrope, sans-serif;
}
@media (max-width: 640px) {
    .pth-followup-overlay { align-items: flex-end; }
    .pth-followup-panel {
        height: 94dvh;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        border-radius: 26px 26px 0 0;
        -webkit-overflow-scrolling: touch;
    }
    .pth-followup-header { padding: 18px; }
    .pth-followup-header,
    .pth-followup-help,
    .pth-followup-toolbar { flex: 0 0 auto; }
    .pth-followup-help {
        max-height: none;
        overflow: visible;
    }
    .pth-followup-help-steps { grid-template-columns: 1fr; }
    .pth-followup-actions { flex-wrap: wrap; }
    .pth-followup-sync { width: 100%; margin-left: 0; }
    .pth-followup-list {
        flex: 0 0 auto;
        min-height: 45dvh;
        overflow: visible;
    }
    .pth-followup-form-grid { grid-template-columns: 1fr; gap: 0; }
}
