:root{--accent: #3f51b5;--accent-dark: #32408f;--ink: #1c1d21;--ink-soft: #5c5e66;--line: #e4e5ea;--bg: #f7f7f9;--card: #ffffff;--ok: #2e7d32;--warn: #c62828}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45;-webkit-text-size-adjust:100%}.page{max-width:640px;margin:0 auto;padding:20px 16px 48px}.site-header{text-align:center;padding:12px 0 4px}.site-header img{width:72px;height:72px;border-radius:16px;object-fit:cover;margin-bottom:10px}.site-header h1{font-size:24px;margin:0}.header-tag{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,white);border-radius:999px;padding:3px 12px}.intro{text-align:center;color:var(--ink-soft);margin:14px auto 26px;max-width:480px}.day{margin-bottom:22px}.day h2{font-size:15px;font-weight:700;margin:0 0 8px;color:var(--ink-soft)}.shift{display:flex;align-items:center;gap:12px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.shift.checked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.shift.full{opacity:.6;cursor:default}.shift input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.shift-body{flex:1;min-width:0;display:flex;flex-direction:column}.shift-title{font-weight:600}.shift-when{color:var(--ink-soft);font-size:14px}.shift-desc{color:var(--ink-soft);font-size:13px;margin-top:4px}.spots{font-size:12px;font-weight:600;color:var(--ok);white-space:nowrap;flex-shrink:0}.spots-full{color:var(--ink-soft)}.signup-form{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:18px 16px;margin-top:26px;display:flex;flex-direction:column;gap:10px}.signup-form h2{font-size:16px;margin:0 0 2px}.signup-form input,.signup-form select{font:inherit;padding:11px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}.signup-form input:focus,.signup-form select:focus{outline:none;border-color:var(--accent)}.primary{font:inherit;font-weight:600;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:13px 18px;cursor:pointer;margin-top:4px}.primary:hover:not(:disabled){background:var(--accent-dark)}.primary:disabled{opacity:.5;cursor:default}.secondary{font:inherit;font-size:13px;font-weight:600;background:transparent;color:var(--warn);border:1.5px solid color-mix(in srgb,var(--warn) 40%,white);border-radius:9px;padding:7px 12px;cursor:pointer;white-space:nowrap;flex-shrink:0}.secondary:disabled{opacity:.5}.fine-print{color:var(--ink-soft);font-size:13px;text-align:center;margin:2px 0 0}.error{background:color-mix(in srgb,var(--warn) 8%,white);border:1.5px solid color-mix(in srgb,var(--warn) 30%,white);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:14px}.empty,.loading{text-align:center;color:var(--ink-soft);padding:48px 16px}.result{text-align:center;padding-top:12px}.result-icon{font-size:44px;margin-bottom:6px}.result h2{margin:0 0 8px}.result p{color:var(--ink-soft);max-width:440px;margin:0 auto 14px}.result-list{list-style:none;padding:0;margin:0 auto 18px;max-width:440px;text-align:left}.result-list li{padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}.result-list .ok{color:var(--ok)}.result-list .problem{color:var(--ink-soft)}.button-link{display:inline-block;text-decoration:none;text-align:center;margin-top:10px}.text-link{display:block;margin-top:14px;color:var(--accent);text-decoration:none;font-size:14px}.portal-title{font-size:18px;margin:18px 0 12px}.portal-shift{cursor:default}.portal-shift.muted{opacity:.6}.past{margin-top:16px;color:var(--ink-soft)}.past summary{cursor:pointer;font-size:14px;margin-bottom:8px}
