.zp-space{margin-top:26px;margin-bottom:8px}.zp-card{border:1px solid #e4e8f5;border-radius:22px;background:#fff;color:#27314b;padding:28px;box-shadow:0 10px 30px #16295c06;font-family:inherit}.zp-card *{box-sizing:border-box}.zp-title,.zp-heading,.zp-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.zp-title{margin-bottom:26px}.zp-title p{font-size:10px;letter-spacing:2px;color:#827fa9;margin:0 0 6px}.zp-title h2{font-size:21px;margin:0}.zp-title a,.zp-link{font-size:13px;color:#6155c8;background:none;border:0;cursor:pointer;text-decoration:none;font-family:inherit}.zp-title a{white-space:nowrap}.zp-top{display:grid;grid-template-columns:235px 1fr;gap:30px}.zp-balance{background:linear-gradient(145deg,#f2f1ff,#effaff);border:1px solid #e7e8fb;border-radius:16px;padding:22px}.zp-balance>span,.zp-balance>small{font-size:12px;color:#767e96}.zp-balance>strong{display:block;font-size:40px;line-height:1.4;letter-spacing:-1px;color:#39306f;font-variant-numeric:tabular-nums}.zp-balance strong small{font-size:13px;margin-left:8px;letter-spacing:0}.zp-level{font-size:12px;color:#6556a9;margin:8px 0 14px}.zp-progress{height:5px;border-radius:8px;background:#dfdff1;overflow:hidden;margin-bottom:9px}.zp-progress i{display:block;height:100%;background:linear-gradient(90deg,#7367de,#42a4cf);border-radius:8px}.zp-checkin{min-width:0}.zp-heading h3{font-size:18px;margin:0 0 7px}.zp-heading p{font-size:13px;color:#8790a3;margin:0}.zp-heading p b{color:#6558c5}.zp-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:12px 22px;border:0;border-radius:999px;background:linear-gradient(120deg,#6552cf,#427fc3);color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;box-shadow:0 5px 16px #6453d32a;text-decoration:none}.zp-button:disabled{background:#edf0f7;color:#7f879b;box-shadow:none;cursor:default}.zp-card button:focus-visible,.zp-card a:focus-visible,.zp-rules summary:focus-visible{outline:2px solid #786ce0;outline-offset:4px}.zp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-top:24px}.zp-day{border:1px solid #e8ebf4;border-radius:12px;padding:13px 3px;text-align:center;background:#fafbfe}.zp-day span{display:block;font-size:11px;color:#8b92a6;white-space:nowrap}.zp-day strong{display:block;font-size:20px;margin:6px 0;color:#626880}.zp-day small{font-size:11px;color:#a0a6b7}.zp-day.done{background:#f1effc;border-color:#e1dcf9}.zp-day.done strong,.zp-day.done small{color:#7662c7}.zp-day.current{border-color:#a29ae7;box-shadow:inset 0 0 0 1px #b5ade726;background:linear-gradient(150deg,#f0edff,#eef9fd)}.zp-note{font-size:12px;line-height:1.8;color:#7a849b;margin:14px 0 0}.zp-note span{display:block;font-size:11px;color:#9aa1b0}.zp-bottom{border-top:1px solid #edf0f7;padding-top:20px;margin-top:22px}.zp-bottom>div{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;color:#8590a7}.zp-bottom b{color:#515c78;margin-left:8px}.zp-feedback{min-height:0;margin:0;font-size:13px;color:#317f72}.zp-feedback:not(:empty){margin:15px 0}.zp-feedback.is-error{color:#b44b57}.zp-rules{font-size:12px;color:#8b92a6;border-top:1px solid #edf0f7;margin-top:18px;padding-top:14px}.zp-rules summary{cursor:pointer;width:fit-content}.zp-rules p{line-height:1.9;margin:12px 0 0;color:#69738a}.zp-empty{text-align:center;padding:20px 12px 30px}.zp-empty h3{font-size:20px;margin:0 0 12px}.zp-empty p{font-size:14px;color:#8991a5;margin-bottom:20px}.zp-records{margin-top:24px}.zp-records h3{font-size:16px}.zp-records h3 small{font-weight:400;font-size:11px;color:#9199ab;margin-left:12px}.zp-table{overflow:auto;margin-top:14px}.zp-records table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.zp-records th{text-align:left;color:#9098aa;font-weight:400;background:#f8f9fc}.zp-records td,.zp-records th{padding:12px 10px;border-bottom:1px solid #edf0f6}.zp-positive{color:#418c76;font-weight:600}.zp-pager{display:flex;justify-content:flex-end;align-items:center;gap:18px;font-size:12px;margin-top:14px;color:#8790a2}.zp-link:disabled{opacity:.4;cursor:default}.zp-records>p{font-size:13px;color:#8992a6;margin-top:15px}.zp-policy-note{font-size:14px;color:#6a7190;line-height:1.8;text-align:center;margin:16px auto 0;max-width:840px}
@media(max-width:850px){.zp-top{grid-template-columns:190px 1fr;gap:20px}.zp-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.zp-days{gap:5px}.zp-balance{padding:18px}}
@media(max-width:600px){.zp-card{padding:20px 16px;border-radius:18px}.zp-title{align-items:flex-start;gap:10px}.zp-title h2{font-size:18px}.zp-title a{font-size:11px;padding-top:19px}.zp-top{grid-template-columns:1fr;gap:22px}.zp-balance{position:relative;padding:18px 20px}.zp-balance>strong{font-size:38px}.zp-balance .zp-level{position:absolute;right:18px;top:20px;font-size:11px}.zp-heading{gap:15px}.zp-heading h3{font-size:16px}.zp-heading .zp-button{width:100%}.zp-days{margin-top:18px;gap:4px}.zp-day{border-radius:9px;padding:10px 1px}.zp-day span{font-size:10px}.zp-day strong{font-size:17px}.zp-day small{font-size:10px}.zp-bottom{align-items:flex-start;flex-direction:column;gap:16px}.zp-bottom>div{gap:16px}.zp-bottom b{margin-left:4px}.zp-space{margin-top:18px}.zp-note{font-size:11px}}

/* Dedicated check-in page, separate from the community feed. */
.checkin-main{width:min(1060px,100%);margin:0 auto;padding:30px 28px 60px;min-height:72vh}
.checkin-back{display:inline-block;font-size:13px;color:#69758f;padding:6px 0}
.checkin-back:hover{color:#5044cb}
.checkin-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0}
.checkin-intro .c-eyebrow{font-size:10px;letter-spacing:2px;margin:0 0 8px;color:#7773a8}
.checkin-intro h1{font-size:32px;line-height:1.3;letter-spacing:-.6px;color:#252f50;margin:0}
.checkin-desc{font-size:14px;color:#7d879d;margin:10px 0 0}
.checkin-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid #e0e4fb;border-radius:20px;background:linear-gradient(145deg,#eeebff,#e8f7fc);font-size:32px;color:#7566d6}
.checkin-page .zp-title h2{font-size:18px}
.checkin-page .zp-title p{display:none}
.checkin-page .zp-top{grid-template-columns:210px minmax(0,1fr);gap:24px}
.checkin-page .zp-heading{flex-wrap:wrap;gap:16px}
.checkin-page .zp-title{margin-bottom:24px}
.checkin-footnote{text-align:center;font-size:12px;color:#969fb1;margin:22px 0 0;line-height:1.8}
@media(max-width:700px){.checkin-main{padding:20px 16px 40px}.checkin-intro{margin:22px 0}.checkin-intro h1{font-size:27px}.checkin-page .zp-top{grid-template-columns:1fr;gap:22px}.checkin-desc{font-size:13px}.checkin-mark{width:52px;height:52px;border-radius:16px;font-size:26px}}
