:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17241e;background:#edf2ed;font-synthesis:none;--green-950:#102d23;--green-900:#153c2e;--green-700:#236348;--green-600:#2b7958;--green-100:#dcebe2;--cream:#fbfaf5;--line:#d6e0d8;--muted:#66766d;--danger:#a13737;--shadow:0 12px 35px rgba(16,45,35,.09)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,#dbeadf 0,transparent 30rem),linear-gradient(180deg,#f7f8f4 0,#edf2ed 100%)}header{height:72px;background:linear-gradient(120deg,var(--green-950),var(--green-900));color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1040px)/2));box-shadow:0 5px 20px #102d2330;position:sticky;top:0;z-index:10}header a{color:white;text-decoration:none}.brand{font-size:1.28rem;font-weight:900;letter-spacing:-.035em;display:flex;align-items:center;gap:10px}.brand:before{content:"✓";display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fff;color:var(--green-700);font-size:1.1rem}nav{display:flex;gap:18px;align-items:center;font-size:.9rem}nav span{opacity:.85}nav form{margin:0}main{width:min(1040px,100%);margin:auto;padding:38px 22px 72px}.card{background:rgba(255,255,255,.94);border:1px solid rgba(208,220,211,.95);border-radius:20px;padding:26px;box-shadow:var(--shadow);margin-bottom:18px}.card h2{margin:0 0 18px;font-size:1.12rem;letter-spacing:-.015em}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 28px;padding:6px 2px 0}.hero h1,.card h1{font-size:clamp(2.1rem,7vw,3.8rem);letter-spacing:-.055em;line-height:.95;margin:.18em 0;color:var(--green-950)}.hero p{margin:.45rem 0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:.7rem;color:var(--green-600)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px;margin-bottom:20px}.grid>.card{margin:0}.team-card{color:inherit;text-decoration:none;position:relative;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.team-card:after{content:"→";position:absolute;right:24px;top:24px;color:var(--green-600);font-weight:900}.team-card:hover{border-color:#85aa96;transform:translateY(-3px);box-shadow:0 18px 42px rgba(16,45,35,.13)}.team-card h2{font-size:1.6rem;margin:.8rem 0}.stack{display:grid;gap:16px}label{display:grid;gap:7px;font-weight:750;font-size:.86rem;color:#33473d}input,select{width:100%;border:1px solid #bccac0;border-radius:12px;padding:13px 14px;font:inherit;color:#17241e;background:#fcfdfb;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{outline:0;border-color:var(--green-600);box-shadow:0 0 0 4px #2b795822}button{font:inherit;font-weight:850;border:0;border-radius:12px;padding:13px 17px;cursor:pointer;transition:transform .14s,filter .14s}button:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary,.checkin{background:linear-gradient(135deg,var(--green-700),var(--green-600));color:white}.secondary{background:var(--green-100);color:#174832}.link{padding:6px;background:none;color:white}.danger{background:#f7e6e4;color:var(--danger);border:1px solid #ecc8c4;width:100%}.checkin{font-size:1.35rem;width:100%;padding:21px;margin-top:16px;box-shadow:0 6px 0 #10412d}.muted,small{color:var(--muted)}.error{background:#fce9e7;color:#861f19;border-left:4px solid #bd463f;padding:13px 15px;border-radius:10px}.success{background:#def1e5;color:#145b3b;padding:15px;border-radius:11px;font-weight:850}.auth{max-width:480px;margin:5vh auto;padding:34px}.auth h1{font-size:2.5rem}.auth>p:last-child{text-align:center;margin:22px 0 0}.auth a{color:var(--green-700);font-weight:800}.empty{text-align:center;padding:50px 24px}.event-row{display:flex;align-items:center;justify-content:space-between;padding:17px 4px;border-top:1px solid #e2e9e3;color:inherit;text-decoration:none;transition:padding .15s,background .15s}.event-row:hover{padding-left:10px;background:#f8faf7}.event-row div{display:grid;gap:5px}.count,.badge{background:var(--green-100);color:#245640;padding:6px 11px;border-radius:99px;font-weight:900}.back{display:inline-flex;margin-bottom:18px;color:var(--green-700);font-weight:800;text-decoration:none}.status{text-align:center;padding:34px}.big-count{margin:24px 0 10px}.big-count strong{font-size:clamp(5rem,20vw,8rem);line-height:.75;letter-spacing:-.08em;color:var(--green-700)}.big-count span{font-size:1.7rem;color:var(--muted)}.roster,.members{list-style:none;margin:0;padding:0}.roster li,.members li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 3px;border-top:1px solid #e2e8e3}.roster time,.members>li>span{color:var(--muted)}.outstanding time{color:var(--danger);font-weight:800}details summary{font-weight:900;cursor:pointer;list-style:none}details summary:after{content:"+";float:right;color:var(--green-600)}details[open] summary:after{content:"−"}details .members{margin-top:16px}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:var(--green-950);color:white;padding:13px 20px;border-radius:99px;box-shadow:var(--shadow);transition:.25s;z-index:20}#toast.show{transform:translate(-50%,0)}@media(max-width:640px){header{height:64px}header nav span{display:none}main{padding:26px 15px 56px}.hero{align-items:flex-start;flex-direction:column}.hero h1{font-size:2.65rem}.card{padding:20px;border-radius:17px}.auth{margin:2vh auto;padding:24px}.auth h1{font-size:2.2rem}.grid{grid-template-columns:1fr;gap:15px}.status{padding:26px 18px}.roster li{align-items:flex-start;flex-direction:column;gap:5px}.roster time{font-size:.84rem}}
