/* ════════════════════════════════════════════════════════════════
   lifecycle.css — Monthly recap card + share modal styling
   ════════════════════════════════════════════════════════════════
   Extracted from dashboard.css in C-port turn 6. Holds .recap-*
   and .rsc-* rules — the share-card capture target and modal.
   ════════════════════════════════════════════════════════════════ */


    .recap-card{border:1px solid var(--accent);border-radius:12px;padding:20px;background:var(--accent-light);margin-bottom:16px;}

    .recap-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:12px;}

    .recap-text{font-size:13px;color:#0b5b52;line-height:1.8;}

    .recap-loading{font-size:13px;color:var(--muted);font-style:italic;padding:20px 0;text-align:center;}

    .recap-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:400;opacity:0;pointer-events:none;transition:opacity .3s;}

    .recap-modal-overlay.show{opacity:1;pointer-events:all;}

    .recap-modal{background:#fff;border-radius:16px;padding:28px;max-width:440px;width:92%;box-shadow:0 20px 60px rgba(0,0,0,.2);}

    .recap-modal-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px;}

    .recap-modal-title{font-size:20px;font-weight:700;margin-bottom:14px;}

    .recap-modal-text{font-size:14px;line-height:1.8;color:var(--text);margin-bottom:20px;padding:14px 16px;background:var(--accent-light);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;}

    .recap-modal-actions{display:flex;gap:8px;}

    .recap-modal-share{flex:1;padding:11px;background:var(--accent);color:white;border:none;border-radius:8px;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:700;cursor:pointer;}

    .recap-modal-dismiss{padding:11px 18px;border:1px solid var(--border);background:#fff;border-radius:8px;font-family:"DM Sans",sans-serif;font-size:13px;color:var(--muted);cursor:pointer;}

    .recap-share-card-wrap{display:flex;justify-content:center;margin:16px 0;}

    .recap-share-card{width:360px;background:#fff;border-radius:16px;border:1.5px solid var(--accent);overflow:hidden;font-family:"DM Sans",sans-serif;}

    .rsc-header{background:var(--accent);padding:20px;display:flex;align-items:center;justify-content:center;}

    .rsc-icon{width:52px;height:52px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;overflow:hidden;}

    .rsc-icon img{width:100%;height:100%;object-fit:cover;}

    .rsc-body{padding:20px 24px 16px;}

    .rsc-month{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px;}

    .rsc-title{font-size:26px;font-weight:700;color:var(--text);margin-bottom:12px;line-height:1.2;}

    .rsc-recap{font-size:13px;color:var(--text);line-height:1.7;margin-bottom:16px;}

    .rsc-footer{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.04em;}