[hidden] { display:none!important; }
.retention-wrap { max-width:1120px;margin:0 auto;padding:32px var(--gutter) 64px;min-height:70vh; }
.retention-wrap h1 { font:700 clamp(30px,4vw,42px)/1.15 var(--serif);letter-spacing:-.7px; }
.retention-wrap h2 { font:700 23px var(--serif); }
.retention-wrap .lead { margin:10px 0 24px;max-width:65ch; }
.retention-grid { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start; }
.retention-panel { border:1.5px solid var(--dark);border-radius:8px;padding:20px;background:var(--bg);min-width:0; }
.retention-panel + .retention-panel { margin-top:20px; }
.retention-tools,.retention-actions { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0; }
.retention-wrap button,.retention-wrap select,.retention-wrap input[type=text] { font:inherit;min-height:44px; }
.retention-wrap input[type=text],.retention-wrap select { background:var(--bg);color:var(--dark);border:1.5px solid var(--dark);border-radius:4px;padding:9px 10px;max-width:100%; }
.retention-list { list-style:none;padding:0;margin:0; }
.retention-list li { border-top:1px solid var(--muted);padding:18px 0;overflow-wrap:anywhere; }
.retention-list li:last-child { padding-bottom:0; }
.retention-list h3 { font:700 17px var(--sans);margin:0 0 6px; }
.retention-list p { margin:6px 0; }
.retention-list .meta { font-size:13px;color:var(--green); }
.retention-list .unread h3::before { content:'';display:inline-block;width:7px;height:7px;background:var(--pink);border-radius:50%;margin-right:8px; }
.retention-list a { color:var(--green);font-weight:600; }
.retention-list input[type=text] { display:block;width:100%;margin:8px 0; }
.retention-check { display:flex;gap:10px;align-items:flex-start;margin:16px 0;line-height:1.45; }
.retention-check input { width:20px;height:20px;flex-shrink:0;accent-color:var(--green);margin-top:2px; }
.retention-note { font-size:13px;margin:12px 0;line-height:1.5; }
.retention-state { padding:20px;border:1.5px dashed var(--dark);border-radius:6px; }
#retention-feedback:not(:empty) { border-left:3px solid var(--green);padding:10px 14px;margin:0 0 20px; }
@media(max-width:900px) { .retention-grid { grid-template-columns:1fr; } }
@media(max-width:420px) { .retention-panel { padding:16px; } .retention-actions { gap:8px; } }
