:root{color-scheme:light;--bg: #f6f7f2;--panel: #ffffff;--panel-soft: #eef5ed;--text: #24302c;--muted: #66736d;--line: #dbe2dc;--green: #2f7d4f;--green-dark: #245f3d;--yellow: #f2c94c;--danger: #b94a48;--danger-dark: #923634;--shadow: 0 18px 45px rgba(36, 48, 44, .1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 20% 16%,rgba(242,201,76,.18),transparent 26%),linear-gradient(135deg,rgba(47,125,79,.14),transparent 34%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(100%,780px);display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 26px 70px #24302c24}.login-art{position:relative;min-height:520px;padding:34px;background:linear-gradient(160deg,#2f7d4ff2,#245f3dfa),var(--green);overflow:hidden}.login-art:before{content:"";position:absolute;inset:70px 28px 34px;border:3px solid rgba(255,255,255,.44);border-radius:14px}.login-art:after{content:"";position:absolute;left:50%;top:70px;bottom:34px;width:3px;transform:translate(-50%);background:#ffffff70}.login-content{display:flex;flex-direction:column;padding:54px 44px 30px}.brand-mark{width:52px;height:52px;position:relative;z-index:2;display:grid;place-items:center;border-radius:8px;background:var(--yellow);color:#1e2b25;font-weight:900;margin-bottom:18px}.pickle-icon{width:29px;height:42px;position:relative;display:block;transform:rotate(36deg);border-radius:18px;background:linear-gradient(135deg,#76a94a,#2f7d4f);box-shadow:inset 3px 3px #ffffff2e}.pickle-icon span{position:absolute;width:5px;height:5px;border-radius:50%;background:#ebf8cbe6}.pickle-icon span:nth-child(1){left:8px;top:9px}.pickle-icon span:nth-child(2){right:7px;top:20px}.pickle-icon span:nth-child(3){left:10px;bottom:8px}.court-mark,.ball-mark{position:absolute;z-index:1}.court-mark{border:3px solid rgba(255,255,255,.34);border-radius:999px}.court-one{width:142px;height:142px;right:-36px;top:128px}.court-two{width:220px;height:220px;left:-86px;bottom:-58px}.ball-mark{right:46px;bottom:72px;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff6b9,var(--yellow) 58%,#e2b82e);box-shadow:0 18px 36px #1436234d}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(2rem,6vw,3.2rem);line-height:1}h2{margin-bottom:8px;font-size:1.45rem}h3{margin-bottom:0;font-size:1.25rem}h4{margin-bottom:10px;font-size:1rem}.toolbar p,.empty-text,.form-error,.eyebrow,.field-hint{color:var(--muted)}.login-form,.session-form{display:grid;gap:16px}.login-form{margin-top:24px}.field-hint{margin:-8px 0 0;font-size:.94rem;line-height:1.45}.creator-credit{margin:auto 0 0;padding-top:28px;color:var(--muted);font-size:.92rem;font-weight:800;text-align:center}label{display:block;margin-bottom:7px;font-weight:700}label span{color:var(--muted);font-weight:500}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:12px 13px}textarea{min-height:96px;resize:vertical}select[multiple]{min-height:120px}.form-error{margin-bottom:0}.setup-error,.status-message{margin-bottom:16px;padding:12px 14px;border-radius:8px;font-weight:700}.setup-error{background:#fff1f1;color:var(--danger-dark);border:1px solid #f0c7c6}.status-message{background:var(--panel-soft);color:var(--green-dark);border:1px solid #c9dbce}.primary-button,.secondary-button,.danger-button{min-height:44px;border-radius:8px;padding:0 18px;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-button{background:var(--green);color:#fff;box-shadow:0 8px 18px #2f7d4f38}.primary-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.secondary-button{background:var(--panel-soft);color:var(--green-dark);border:1px solid #c9dbce}.secondary-button:hover:not(:disabled){background:#e2efe4}.danger-button{background:#fff1f1;color:var(--danger);border:1px solid #f0c7c6}.danger-button:hover:not(:disabled){color:#fff;background:var(--danger-dark)}.compact{min-height:38px;padding:0 12px;font-size:.92rem}.app-shell{width:min(1180px,100%);margin:0 auto;padding:24px}.app-header,.toolbar,.session-card-header,.button-row,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.app-header{padding:18px 0 28px}.app-header h1{margin-bottom:0}.eyebrow{margin-bottom:6px;font-size:.8rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.user-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.toolbar{margin-bottom:18px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.toolbar p{margin-bottom:0}.form-panel,.session-card,.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.form-panel{padding:22px;margin-bottom:20px}.session-form{grid-template-columns:repeat(2,minmax(0,1fr))}.field.full,.form-actions.full,.booking-check.full{grid-column:1 / -1}.form-actions{justify-content:flex-end}.location-custom{margin-top:10px}.booking-check{display:flex;align-items:center;gap:12px;margin:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcf8;cursor:pointer}.booking-check.checked{border-color:#b8d6bf;background:var(--panel-soft)}.booking-check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--green)}.booking-check-text{display:grid;gap:3px}.booking-check-text strong{color:var(--text)}.booking-check-text small{color:var(--muted);font-weight:600}.session-list{display:grid;gap:18px}.session-card{padding:22px}.date-line{margin-bottom:6px;color:var(--green-dark);font-weight:900}.card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.session-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.booking-status{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:.86rem;font-weight:900}.booking-status.booked{background:var(--panel-soft);color:var(--green-dark);border:1px solid #b8d6bf}.booking-status.pending{background:#fff1f1;color:var(--danger-dark);border:1px solid #f0c7c6}.session-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.session-details div{min-height:76px;padding:12px;background:#f8faf6;border:1px solid var(--line);border-radius:8px}dt{margin-bottom:6px;color:var(--muted);font-size:.82rem;font-weight:800}dd{margin:0;overflow-wrap:anywhere;font-weight:800}.map-link{color:var(--green-dark);text-decoration-thickness:2px;text-underline-offset:3px}.session-notes{margin:0 0 18px;padding:12px 14px;background:#fff9df;border-left:4px solid var(--yellow);border-radius:4px}.attendees{margin-bottom:18px}.attendee-list{display:flex;flex-wrap:wrap;gap:8px}.attendee-pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 8px 0 12px;border-radius:999px;background:var(--panel-soft);color:var(--green-dark);font-weight:800}.attendee-pill button{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d4e5d7;color:var(--green-dark);line-height:1}.attendee-note{margin:10px 0 0;color:var(--muted);font-size:.9rem}.rsvp-panel{display:grid;gap:14px;padding-top:16px;border-top:1px solid var(--line)}.rsvp-help{display:grid;gap:4px;padding:13px 14px;border-radius:8px;background:#eef5ed;color:var(--green-dark);border:1px solid #c9dbce}.rsvp-help span{color:var(--text)}.button-row{justify-content:flex-start;flex-wrap:wrap}.family-rsvp{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcf8}.family-rsvp-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.family-rsvp-header h4{margin-bottom:3px}.family-rsvp-header p{margin-bottom:0;color:var(--muted);font-size:.92rem}.family-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.family-check{display:flex;align-items:center;gap:10px;margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.family-check input{width:18px;height:18px;accent-color:var(--green)}.family-check.selected{border-color:var(--green);background:var(--panel-soft);color:var(--green-dark)}.empty-state{padding:34px;text-align:center}.empty-state p{margin-bottom:0;color:var(--muted)}@media(max-width:820px){.login-panel{grid-template-columns:1fr}.login-art{min-height:180px}.login-art:before{inset:64px 24px 24px}.login-art:after{top:64px;bottom:24px}.login-content{padding:34px 28px 24px}.app-header,.toolbar,.session-card-header,.family-rsvp-header{align-items:flex-start;flex-direction:column}.user-box,.card-actions{justify-content:flex-start}.session-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.app-shell,.login-shell{padding:16px}.form-panel,.session-card,.toolbar{padding:18px}.login-panel{padding:0}.login-art{min-height:150px;padding:24px}.login-content{padding:28px 22px 20px}h1{font-size:2rem}.session-form,.session-details,.family-checklist{grid-template-columns:1fr}.form-actions,.button-row{align-items:stretch;flex-direction:column}.primary-button,.secondary-button,.danger-button{width:100%}}
