:root{--bg:#07080c;--panel:#12141c;--panel2:#1a1d28;--line:#2a2e3d;--text:#f4f5f8;--muted:#a7acbb;--navy:#2b1f6b;--navy2:#3b2d8f;--green:#1f9d55;--green2:#25b866;--red:#d33b3b;--focus:#8fd3ff}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:#9fdcff}
.wrap{max-width:560px;margin:0 auto;padding:20px 16px 32px}
.wide{max-width:900px}
header.brand{text-align:center;padding:8px 0 4px}
header.brand img{width:120px;height:auto;display:block;margin:0 auto 10px}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:1.65rem;line-height:1.2;margin:.2em 0 .3em;letter-spacing:.01em}
h2{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;margin:1.4em 0 .5em}
.lead{color:var(--muted);margin:0 0 18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 16px}
.accent{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--navy2),var(--green));margin:14px auto 18px;width:96px}
label,.lbl{display:block;font-weight:600;margin:0 0 6px}
.opt{color:var(--muted);font-weight:400;font-size:.9em}
.field{margin:0 0 18px}
input[type=text],input[type=tel],input[type=password],textarea,select{width:100%;font:inherit;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px}
textarea{min-height:96px;resize:vertical}
input::placeholder,textarea::placeholder{color:#7d8394}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
input:focus,textarea:focus,select:focus{border-color:var(--focus)}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices label{margin:0;font-weight:500}
.choices input{position:absolute;opacity:0;width:1px;height:1px}
.choices span{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);cursor:pointer;min-height:44px;line-height:1.5}
.choices input:checked+span{background:var(--navy2);border-color:#7a6cf0;color:#fff}
.choices input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:500;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--green);flex:none}
.hint{color:var(--muted);font-size:.88rem;margin:6px 0 0}
.err{color:#ff8f8f;font-size:.92rem;margin:6px 0 0;min-height:0}
.bad input,.bad textarea{border-color:#ff8f8f}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;border:0;border-radius:12px;padding:12px 18px;min-height:48px;cursor:pointer;text-decoration:none;color:#fff;background:var(--green)}
.btn:hover{background:var(--green2)}
.btn.block{width:100%;font-size:1.05rem}
.btn.navy{background:var(--navy2)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn.sm{min-height:40px;padding:8px 12px;font-size:.92rem}
.btn[disabled]{opacity:.6;cursor:wait}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.thanks{text-align:center;padding:28px 16px}
.thanks .tick{width:64px;height:64px;border-radius:50%;background:var(--green);display:grid;place-items:center;margin:0 auto 14px}
footer.foot{text-align:center;color:var(--muted);font-size:.85rem;padding:24px 16px 8px;border-top:1px solid var(--line);margin-top:28px}
.hidden{display:none!important}
.private{font-size:.85rem;color:var(--muted)}
/* team */
.topbar{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}
.topbar .who{display:flex;align-items:center;gap:10px}
.topbar img{width:44px;height:auto}
.topbar h1{font-size:1.25rem;margin:0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.stat b{display:block;font-size:1.5rem;line-height:1.2}
.stat span{color:var(--muted);font-size:.82rem}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 8px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.seg button{font:inherit;background:var(--panel);color:var(--text);border:0;padding:9px 12px;min-height:42px;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--navy2);color:#fff}
.group h2{font-size:1.05rem;color:#dfe2ea;border-bottom:1px solid var(--line);padding-bottom:6px}
.person{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 10px}
.person .nm{font-weight:700;font-size:1.08rem}
.person .meta{color:var(--muted);font-size:.9rem;margin:2px 0 8px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.tag{font-size:.8rem;padding:3px 9px;border-radius:999px;background:var(--panel2);border:1px solid var(--line)}
.tag.yes{background:#123b25;border-color:#1f9d55}
.tag.done{background:#1d1a45;border-color:#5b4fd6}
.tag.warn{background:#3d2a12;border-color:#b07a2a}
.prayer{background:var(--panel2);border-left:3px solid var(--navy2);padding:8px 10px;border-radius:8px;margin:0 0 10px;font-size:.95rem;white-space:pre-wrap;word-break:break-word}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.actions .btn{flex:1 1 auto}
.wa{background:#1f9d55}
.status{font-size:.88rem;color:#cfd2dc;margin:8px 0 0}
.status div{margin:2px 0}
.markform{margin:10px 0 0;padding:10px;background:var(--panel2);border-radius:12px;border:1px solid var(--line)}
.markform input,.markform textarea{margin:0 0 8px;min-height:44px}
.markform textarea{min-height:64px}
.empty{color:var(--muted);text-align:center;padding:28px 10px}
details.settings{margin:18px 0}
details.settings summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.small{font-size:.85rem;color:var(--muted)}
.del{color:#ff9d9d;background:none;border:0;font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline;padding:8px 0;margin-top:6px}
@media (max-width:380px){h1{font-size:1.45rem}.stat b{font-size:1.3rem}}
