:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#153644;background:#f3f7f5}*{box-sizing:border-box}body{margin:0}header{background:#102633;color:white;display:flex;align-items:center;justify-content:space-between;padding:15px max(18px,calc((100vw - 1050px)/2));gap:10px}.brand{display:flex;align-items:center;gap:12px;color:#dbf77e;text-decoration:none;font-size:26px;font-weight:800}.brand span{font-size:14px;letter-spacing:.08em;color:white}.brand small{display:block;color:#b6d1cf;font-size:10px;letter-spacing:.14em}.version{border:1px solid #56746c;border-radius:12px;padding:8px 12px;font-size:12px}main{max-width:1050px;margin:auto;padding:18px}.head{padding:20px 4px 8px}.head h1{font-size:clamp(29px,5vw,42px);margin:6px 0;letter-spacing:-.05em}.head p{color:#5b7380}.kicker{font-size:11px;font-weight:850;color:#168274;letter-spacing:.12em}.panel{background:#fff;border:1px solid #d7e6df;border-radius:20px;padding:22px;margin:14px 0;box-shadow:0 10px 30px #163a3210}.panel h2{margin:4px 0 8px;font-size:23px}.panel p{color:#60757a;line-height:1.5}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}button{border-radius:12px;border:1px solid #a2c2b7;padding:11px 15px;background:#eef6f2;color:#163e38;font-weight:750;cursor:pointer}button.primary{background:#176c5b;color:white;border-color:#176c5b}button:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-weight:700;font-size:13px;margin:14px 0 7px}input,select,textarea{display:block;width:100%;border:1px solid #b8cbc7;border-radius:10px;padding:11px 12px;margin-top:6px;font:inherit;background:white;color:#163b40}textarea{resize:vertical}.fine{font-size:12px!important;color:#6d7d82!important}.notice{border:1px solid #93c9be;background:#e8f7f2;border-radius:14px;padding:13px 16px;margin:12px 0}.notice.error{background:#fff1ed;border-color:#efb5aa;color:#9b3420}.split{display:flex;justify-content:space-between;align-items:start;gap:12px}.split p{margin:2px 0 10px}.status{display:inline-block;border-radius:50px;background:#e6efeb;color:#3f685a;padding:9px 12px;font-size:12px;font-weight:800;white-space:nowrap}.status.ready{background:#daf5e6;color:#176b49}.status.issue{background:#ffead6;color:#a45113}.meter{height:10px;background:#e0eae5;border-radius:30px;overflow:hidden;margin-top:15px}.meter div{height:100%;background:#20a67d;width:0;transition:width .2s}.tasks{display:grid;gap:8px;margin-top:18px}.task{display:flex;align-items:flex-start;gap:12px;background:#f6f9f7;border:1px solid #e1ebe6;border-radius:12px;padding:14px;font-size:14px;line-height:1.4}.task input{width:20px;height:20px;margin:1px 0;flex-shrink:0;accent-color:#158a69}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.stat{background:#f0f6f2;border-radius:14px;padding:16px}.stat strong{font-size:24px;display:block}.membergrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}.member{border:1px solid #dce7e2;padding:14px;border-radius:14px}.member h3{margin:0}.member p{margin:4px 0 9px;font-size:12px}.member .bar{height:6px;background:#e9efea;border-radius:20px;overflow:hidden}.member .bar div{height:100%;background:#38a782}.member .issue{background:#fff4e3;color:#8e4b15;padding:9px;border-radius:8px;white-space:pre-wrap;word-break:break-word}.member .actions button{padding:7px 10px;font-size:12px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.linkout{padding:14px;border-radius:12px;background:#e9f5f0;word-break:break-word;margin-top:12px}.linkout a{color:#176c5b}footer{text-align:center;font-size:12px;color:#778b88;padding:22px}[hidden]{display:none!important}@media(max-width:660px){.membergrid,.formgrid{grid-template-columns:1fr}.panel{padding:16px}.stats{gap:6px}.stat{padding:11px}.stat strong{font-size:20px}.split{flex-wrap:wrap}}

/* Roster staging: large touch targets and readable capability links. */
button{min-height:44px} .linkout{overflow-wrap:anywhere} details{margin:1rem 0} dialog{max-width:min(90vw,34rem);border:2px solid #176e5f;border-radius:1rem;padding:1.5rem;color:#173844;background:white} dialog::backdrop{background:#102633bb} #profileEditor input[type=checkbox]{width:auto;min-height:24px} .member .actions{flex-wrap:wrap} @media(max-width:500px){.formgrid,.membergrid{grid-template-columns:1fr}main{padding:1rem}.panel{padding:1rem}h1{font-size:2rem}.actions button{flex:1 1 140px}}
