/* t1212: online RSVP list (rsvp.html #online) and the guest reply page (rsvp-reply.html) */
.ro h3{font-size:1.15rem;margin:1.1rem 0 .5rem}
.ro-opt{font-weight:400;color:var(--muted);font-size:.85em}
.ro-fine{color:var(--muted)}
.ro-msg{min-height:1.4em;margin:.6rem 0;font-weight:500}
.ro-msg.ro-err{color:var(--danger)}
.ro-msg.ro-ok{color:var(--ok)}
.ro-create textarea,.ro-evedit textarea,.ro-paste textarea{width:100%;font:inherit}
.ro-manage{background:#fff;border:1px dashed var(--teal);border-radius:10px;padding:.8rem 1rem;margin:0 0 1rem}
.ro-manage label{display:block;font-weight:400;margin-bottom:.35rem}
.ro-copyrow{display:flex;gap:.5rem;align-items:center}
.ro-copyrow input{flex:1;min-width:0;font:.88rem ui-monospace,Menlo,Consolas,monospace;padding:.5rem;border:1px solid var(--line);border-radius:8px;background:var(--cream)}
.ro-manage p{margin:.35rem 0 0}
.ro-event{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin:.5rem 0}
.ro-event h3{margin:0 0 .2rem}
.ro-event p{margin:0}
.ro-stats{margin-top:1rem}
.ro-stats .stat strong{display:block;font-size:1.6rem;color:var(--teal-dark);line-height:1.2}
.ro-stats .stat span{font-size:.85rem;color:var(--muted)}
.ro-late{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
.ro-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;margin:1rem 0 .6rem}
.ro-controls label{font-size:.9rem;font-weight:500;display:flex;flex-direction:column;gap:.2rem}
.ro-controls select,.ro-controls input{font:inherit;padding:.35rem .5rem;border:1px solid var(--line);border-radius:8px;background:#fff}
.ro-controls input{width:5rem}
.ro-guests{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ro-guest{display:flex;justify-content:space-between;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ro-guest.ro-is-late{background:linear-gradient(90deg,#fbefed,transparent 60%)}
.ro-gmain{display:flex;flex-direction:column;gap:.15rem;min-width:12rem;flex:1}
.ro-gmain .small{color:var(--muted)}
.ro-flag{align-self:flex-start;font-size:.82rem;font-weight:600;padding:.12rem .55rem;border-radius:6px}
.ro-flag-grey{background:#eef0f1;border-left:4px solid #9aa6ad}
.ro-note{font-style:italic;font-size:.92rem}
.ro-gact{display:flex;gap:.35rem;flex-wrap:wrap;align-items:flex-start}
.ro-gact .btn-small{padding:.35rem .8rem;font-size:.85rem}
.ro-x{border-color:var(--line)}
.ro-empty{padding:1rem 0;color:var(--muted)}
.ro-editing{display:block}
.ro-addrow{display:flex;gap:.7rem;flex-wrap:wrap;align-items:flex-end}
.ro-addrow label{flex:1 1 11rem;display:flex;flex-direction:column;font-size:.92rem}
.ro-addrow input,.ro-addrow select{font:inherit;padding:.45rem .55rem;border:1px solid var(--line);border-radius:8px}
.ro-addrow input[type=number]{max-width:7rem}
.ro-add{margin-top:1rem}
.ro-paste{margin-top:.6rem}
.ro-paste summary{cursor:pointer;color:var(--teal);font-weight:600}
.ro-foot{margin-top:1.2rem;padding-top:.6rem;border-top:1px solid var(--line)}
.cl-rsvp{font-size:.85rem;margin-left:1.6rem}
/* guest reply page */
.rr-card{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius,14px);box-shadow:var(--shadow);padding:1.5rem}
.rr-card h1{font-size:1.7rem}
.rr-when{font-weight:600;color:var(--teal-dark);margin:.2rem 0}
.rr-choice{display:flex;gap:.8rem;margin:1rem 0;flex-wrap:wrap}
.rr-choice label{flex:1 1 10rem;display:flex;align-items:center;gap:.5rem;border:2px solid var(--line);border-radius:12px;padding:.8rem 1rem;font-weight:600;cursor:pointer}
.rr-choice input{width:1.2rem;height:1.2rem}
.rr-choice label:has(input:checked){border-color:var(--teal);background:#eef5f6}
.rr-card form label.rr-f{display:block;margin:.7rem 0;font-weight:500}
.rr-card form input[type=number],.rr-card form textarea{display:block;font:inherit;padding:.5rem;border:1px solid var(--line);border-radius:8px;margin-top:.25rem}
.rr-card form textarea{width:100%}
.rr-thanks{text-align:center}
.rr-thanks h2{font-size:1.5rem}
/* t1291 plus-ones */
.rr-po{border:0;padding:0;margin:.9rem 0}
.rr-po legend{font-weight:500;padding:0}
.rr-po .rr-choice{margin:.4rem 0}
.rr-card form .rr-po input[name=pon]{display:block;font:inherit;padding:.5rem;border:1px solid var(--line);border-radius:8px;margin-top:.25rem;width:100%;max-width:22rem}
.rr-po[hidden],.rr-card form label#rr-pon[hidden],.ro-poedit[hidden]{display:none}
.ro-po{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:500;padding:.3rem .2rem;cursor:pointer}
.ro-po input{width:1rem;height:1rem}
.ro-poflag{align-self:flex-start;font-size:.82rem;color:var(--teal-dark)}
.ro-addrow label.ro-pochk{flex:0 0 auto;flex-direction:row;align-items:center;gap:.35rem;padding-bottom:.55rem}
@media (max-width:600px){.ro-copyrow{flex-direction:column;align-items:stretch}.ro-gact{width:100%}}
@media print{.ro-gact,.ro-add,.ro-foot .btn-row,.ro-controls,.ro-manage{display:none}}
/* t1301: opt-in reply reminder (host only) */
.form label.ro-remind{display:flex;flex-direction:row;align-items:flex-start;gap:.45rem;margin:.5rem 0 .2rem;font-weight:normal}
.ro-remind input{width:1rem;height:1rem;margin-top:.25rem;flex:0 0 auto}
.ro-remind-need{color:#a33;margin:.1rem 0 .6rem}
.ro-remind-on{margin:.2rem 0 .6rem}
