@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";
:root{--ink:#17221c;--muted:#68726c;--line:#e3e8e4;--paper:#fff;--canvas:#f5f7f5;--brand:#16634a;--brand-dark:#0c4433;--brand-soft:#e6f3ed;--yes:#168256;--maybe:#c27b16;--no:#c54a47;--shadow:0 12px 40px #15271d1a}*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font-family:DM Sans,sans-serif}body{background:var(--canvas);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{font-family:Manrope,sans-serif}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #208e6547}.hub{--team:#217a5e;--team-dark:#103e32;--team-soft:#e5f3ed;min-height:100vh;padding-bottom:92px}.hub.theme-knights{--team:#98670c;--team-dark:#3e2b08;--team-soft:#fff2d4}.app-header{z-index:30;color:#fff;background:var(--team-dark);position:sticky;top:0;box-shadow:0 2px 15px #0000001f}.header-inner{justify-content:space-between;align-items:center;max-width:1040px;height:76px;margin:auto;padding:0 18px;display:flex}.team-identity{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.team-monogram{background:#ffffff1c;border:1px solid #ffffff4d;border-radius:13px;place-items:center;width:42px;height:42px;font:800 13px Manrope;display:grid}.team-identity>span:last-child{gap:1px;display:grid}.team-identity small{opacity:.66;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.team-identity strong{font-size:16px}.header-actions{align-items:center;gap:8px;display:flex}.preview-pill,.role-badge,.count-pill,.demo-badge{border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.preview-pill{background:#ffffff24;padding:5px 9px;font-size:11px}.icon-button,.mini-icon{cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;display:grid}.icon-button{width:42px;height:42px}.icon-button:hover{background:#f0f2f0}.icon-button.dark{color:#fff}.icon-button.dark:hover{background:#ffffff1f}.app-main{width:min(100% - 28px,860px);margin:0 auto;padding:28px 0 20px}.welcome-row{justify-content:space-between;align-items:end;gap:14px;margin-bottom:25px;display:flex}.welcome-row p{color:var(--muted);margin-bottom:2px;font-size:14px}.welcome-row h1{letter-spacing:-.045em;margin:0;font-size:clamp(25px,6vw,36px)}.role-badge{color:var(--team-dark);background:var(--team-soft);text-transform:capitalize;gap:5px;padding:7px 10px;font-size:11px}.eyebrow{color:var(--team,var(--brand));letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font:800 11px Manrope}.eyebrow.light{color:#ffffffb3}.muted{color:var(--muted);line-height:1.55}.panel-stack{gap:17px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:25px}.heading-actions{gap:8px;display:flex}.event-filter{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr);width:fit-content;padding:4px;display:grid}.event-filter button{min-width:82px;height:35px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:11px;font-weight:700}.event-filter button.active{color:var(--team-dark);background:var(--team-soft)}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:0 17px;font-weight:700;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button.primary{color:#fff;background:var(--team,var(--brand))}.button.primary:hover{background:var(--team-dark,var(--brand-dark))}.button.secondary{border-color:var(--line);background:#fff}.button.secondary:hover{background:#f7f9f7}.button.compact{min-height:39px;padding:0 12px;font-size:13px}.button.full{width:100%}.text-button{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:8px;font-weight:700}.event-list{gap:12px;display:grid}.event-card{border:1px solid var(--line);background:var(--paper);border-radius:17px;grid-template-columns:58px 1fr;gap:15px;padding:16px;display:grid;position:relative;overflow:hidden;box-shadow:0 3px 15px #1c2a220a}.event-card:before{content:"";background:var(--team);width:4px;position:absolute;inset:0 auto 0 0}.event-card.cancelled{opacity:.72}.event-card.cancelled:before{background:var(--no)}.event-card.cancelled h3{text-decoration:line-through}.event-card.opens-availability{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.event-card.opens-availability:hover{border-color:color-mix(in srgb, var(--team) 32%, var(--line));box-shadow:0 7px 22px #1c2a2217}.event-card.opens-availability:active{transform:translateY(1px)}.event-card.opens-availability:focus-visible{outline:3px solid color-mix(in srgb, var(--team) 30%, transparent);outline-offset:2px}.date-tile{height:68px;color:var(--team-dark);background:var(--team-soft);border-radius:13px;align-content:center;justify-items:center;line-height:1;display:grid}.date-tile span{letter-spacing:.1em;text-transform:uppercase;font:800 10px Manrope}.date-tile strong{margin:3px 0;font-size:23px}.date-tile small{color:var(--muted);font-size:10px}.event-main{min-width:0}.event-title-row{align-items:center;gap:6px;min-height:24px;display:flex}.event-kind{color:var(--team-dark);background:var(--team-soft);text-transform:capitalize;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:800}.event-kind.cancelled{color:#8f2926;background:#fae4e2}.event-kind.postponed{color:#805108;background:#fff0ce}.demo-badge{color:#5b5962;text-transform:uppercase;background:#efedf2;padding:4px 7px;font-size:9px}.mini-icon{width:31px;height:31px;color:var(--muted);background:#f3f5f3;margin-left:auto}.event-main h3{margin:7px 0 9px;font-size:17px;line-height:1.3}.event-meta{color:#505b54;align-items:flex-start;gap:7px;margin:5px 0;font-size:13px;text-decoration:none;display:flex}.event-meta svg{color:var(--team);flex:none;margin-top:1px}.event-meta.location span{gap:2px;display:grid}.event-meta.location strong{font-family:inherit;font-weight:600}.event-meta.location small{color:var(--muted)}.event-meta.location:hover strong{text-decoration:underline}.event-note{color:#5c5647;background:#fbf7e9;border-radius:8px;margin:10px 0 0;padding:9px 11px;font-size:12px;line-height:1.45}.event-links{flex-wrap:wrap;gap:8px 15px;margin-top:12px;display:flex}.event-links a{color:var(--team);align-items:center;gap:4px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.event-availability-link{color:var(--team-dark);align-items:center;gap:3px;font-size:11px;font-weight:800;display:inline-flex}.calendar-note{border:1px solid var(--line);color:var(--muted);background:#ffffff8c;border-radius:14px;gap:11px;padding:14px;display:flex}.calendar-note>svg{color:var(--team);flex:none}.calendar-note-content{flex:1;min-width:0}.calendar-note strong{color:var(--ink);font-size:13px}.calendar-note p{margin:3px 0 0;font-size:12px;line-height:1.5}.calendar-actions{flex-wrap:wrap;gap:8px;margin-top:11px;display:flex}.calendar-note.featured{border-color:color-mix(in srgb, var(--team) 28%, var(--line));background:var(--team-soft)}.calendar-help{margin-top:9px;font-size:11px}.calendar-help summary{color:var(--team-dark);cursor:pointer;font-weight:800}.empty-state{text-align:center;background:#fff;border:1px dashed #cbd3cd;border-radius:18px;padding:44px 24px}.empty-icon{width:52px;height:52px;color:var(--team);background:var(--team-soft);border-radius:15px;place-items:center;margin:auto auto 13px;display:grid}.empty-state h3{margin-bottom:7px}.empty-state p{color:var(--muted);margin-bottom:18px}.mode-tabs{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.mode-tabs button{height:41px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.mode-tabs button.active{color:var(--team-dark);background:var(--team-soft)}.availability-control-group{gap:7px;display:grid}.control-label{color:#667069;letter-spacing:.08em;text-transform:uppercase;margin:0 0 0 3px;font-size:10px;font-weight:800}.toggle-hint{color:var(--muted);text-align:center;margin:-3px 0 1px;font-size:11px}.availability-event-list{gap:10px;display:grid}.availability-summary{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:15px;grid-template-columns:55px minmax(105px,1fr) auto 18px;align-items:center;gap:10px;width:100%;padding:14px;display:grid}.availability-summary:hover{border-color:#bcc9c1}.summary-date,.summary-title{gap:2px;display:grid}.summary-date strong{color:var(--team);font-size:13px}.summary-date small,.summary-title small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.summary-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.summary-counts{gap:4px;display:grid}.count-strip{align-items:center;gap:3px;display:flex}.count-strip>small{width:49px;color:var(--muted);text-transform:uppercase;font-size:8px}.count{border-radius:6px;place-items:center;min-width:21px;height:21px;font-size:9px;font-weight:800;display:inline-grid}.count.yes{color:#086640;background:#daf1e6}.count.maybe{color:#875207;background:#ffedc8}.count.no{color:#962d2b;background:#f9dcda}.count.unset{color:#6b706d;background:#e9ecea}.availability-detail{gap:15px;display:grid}.select-label,.event-editor label,.login-form label{color:#4d5851;gap:6px;font-size:12px;font-weight:700;display:grid}select,input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd4ce;border-radius:10px}select,input{height:45px;padding:0 12px}textarea{resize:vertical;padding:11px 12px}.detail-event-head{color:#fff;background:var(--team-dark);border-radius:13px;padding:15px}.detail-event-head p{color:#ffffffad;margin-bottom:3px;font-size:11px}.detail-event-head h3{margin:0;font-size:17px}.detail-event-meta{gap:8px;margin-top:12px;display:grid}.detail-event-meta>span,.detail-event-meta>a{color:#ffffffe0;align-items:flex-start;gap:7px;font-size:12px;line-height:1.4;text-decoration:none;display:flex}.detail-event-meta svg{flex:none;margin-top:1px}.detail-event-meta>span>span,.detail-event-meta>a>span{gap:1px;display:grid}.detail-event-meta strong{color:#fff;font-family:inherit;font-weight:700}.detail-event-meta small{color:#ffffffa6}.detail-event-meta a:hover strong{text-decoration:underline}.detail-event-note{border-top:1px solid #ffffff2e;padding-top:11px;line-height:1.5;color:#ffffffc7!important;margin:12px 0 0!important;font-size:11px!important}.response-section{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.response-section.coach-section{border-color:#decfa8;margin-top:4px}.response-section>header{background:#f8faf8;justify-content:space-between;align-items:center;gap:8px;min-height:53px;padding:9px 13px;display:flex}.response-section>header>div{align-items:center;gap:7px;display:flex}.response-section>header svg{color:var(--team)}.response-section h3{margin:0;font-size:14px}.response-list{display:grid}.response-row{border-top:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:8px;min-height:66px;padding:10px 13px;display:flex}.response-row>div:first-child{gap:2px;min-width:100px;display:grid}.response-row strong{font-size:12px}.response-row small{color:var(--muted);font-size:9px}.status-control{gap:4px;display:flex}.status-button{border:1px solid var(--line);min-width:58px;height:37px;color:var(--muted);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:3px;padding:0 7px;font-size:10px;font-weight:700;display:flex}.status-button.yes.selected{border-color:var(--yes);color:#fff;background:var(--yes)}.status-button.maybe.selected{border-color:var(--maybe);color:#fff;background:var(--maybe)}.status-button.no.selected{border-color:var(--no);color:#fff;background:var(--no)}.status-button:disabled{cursor:wait;opacity:.55}.status-control.compact .status-button{min-width:49px;height:34px}.read-only-status{min-width:80px;color:var(--muted);text-transform:capitalize;background:#f1f3f1;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:7px 9px;font-size:10px;font-weight:700;display:inline-flex}.read-only-status.yes{color:#086640;background:#daf1e6}.read-only-status.maybe{color:#875207;background:#ffedc8}.read-only-status.no{color:#962d2b;background:#f9dcda}.person-event-list{gap:9px;display:grid}.person-event-row{border:1px solid var(--line);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:8px;padding:12px 13px;display:flex}.person-event-row>div:first-child{gap:3px;min-width:100px;display:grid}.person-event-row strong{font-size:12px}.person-event-row small{color:var(--muted);font-size:10px}.count-pill{color:var(--team-dark);background:var(--team-soft);padding:6px 10px;font-size:11px}.directory-section{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.directory-section.coaches-directory{border-color:#decea4}.subsection-title{background:#f7f9f7;align-items:center;gap:9px;padding:14px;display:flex}.subsection-title svg{color:var(--team)}.subsection-title h3{margin:0;font-size:14px}.subsection-title p{color:var(--muted);margin:2px 0 0;font-size:10px}.people-grid{grid-template-columns:repeat(2,1fr);display:grid}.player-directory-list{display:grid}.player-directory-card{border-top:1px solid #edf0ed;grid-template-columns:minmax(145px,.8fr) minmax(220px,1.2fr);gap:14px;min-width:0;padding:13px;display:grid}.player-directory-name{align-items:center;gap:9px;display:flex}.player-directory-name>span:last-child{gap:2px;min-width:0;display:grid}.player-directory-name strong{font-size:12px}.player-directory-name small{color:var(--muted);font-size:9px}.player-contact-list{align-content:center;gap:8px;min-width:0;display:grid}.player-contact{gap:5px;min-width:0;display:grid}.player-contact>div:first-child{align-items:baseline;gap:7px;display:flex}.player-contact strong{font-size:11px}.player-contact small{color:var(--muted);font-size:9px}.contact-actions{flex-wrap:wrap;gap:6px 12px;min-width:0;display:flex}.contact-actions a{min-width:0;color:var(--team);align-items:center;gap:4px;font-size:10px;text-decoration:none;display:inline-flex}.contact-actions a span{overflow-wrap:anywhere}.contact-pending{color:#969d98;font-size:10px;font-style:italic}.person-row{border-top:1px solid #edf0ed;align-items:center;gap:9px;min-height:66px;padding:10px 12px;display:flex}.person-row:nth-child(odd){border-right:1px solid #edf0ed}.person-row>span:last-child{gap:2px;min-width:0;display:grid}.person-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.person-row small,.contact-card small{color:var(--muted);font-size:9px}.coach-contact-row{align-items:flex-start;min-height:92px}.coach-contact-actions{gap:3px;margin-top:4px;display:grid}.coach-contact-actions a{overflow-wrap:anywhere;color:var(--team);align-items:center;gap:4px;font-size:9px;text-decoration:none;display:flex}.avatar{border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font:800 10px Manrope;display:grid}.avatar.player{color:var(--team-dark);background:var(--team-soft)}.avatar.coach{color:#775115;background:#fff0ca}.avatar.contact{color:#4b5663;background:#e9edf0}.contact-list{grid-template-columns:repeat(2,1fr);display:grid}.contact-card{border-top:1px solid #edf0ed;align-items:flex-start;gap:9px;padding:13px;display:flex}.contact-card:nth-child(odd){border-right:1px solid #edf0ed}.contact-card>div{gap:3px;min-width:0;display:grid}.contact-card strong{font-size:11px}.contact-card a{overflow-wrap:anywhere;color:var(--team);align-items:center;gap:4px;font-size:10px;text-decoration:none;display:flex}.boxed{margin:0;padding:18px;font-size:12px}.chat-panel{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 3px 15px #1c2a220a}.push-card{border:1px solid var(--line);color:var(--team-dark);background:var(--team-soft);border-radius:12px;grid-template-columns:20px 1fr auto;align-items:center;gap:9px;margin:11px 11px 0;padding:10px 11px;font-size:10px;display:grid}.push-card>svg{color:var(--team)}.push-card>span{gap:2px;line-height:1.35;display:grid}.push-card>span strong{font-size:11px}.push-card button{border:1px solid color-mix(in srgb, var(--team) 30%, var(--line));min-height:32px;color:var(--team-dark);cursor:pointer;background:#fff;border-radius:9px;padding:0 10px;font-size:10px;font-weight:800}.push-card button:disabled{cursor:wait;opacity:.6}.push-card small{color:#a23835;grid-column:2/-1}.push-card.enabled{background:#e3f3ea}.push-card.muted{color:var(--muted);background:#f5f6f5;grid-template-columns:20px 1fr}.push-card.install{color:#5f4a1f;background:#fff7df;grid-template-columns:20px 1fr}.push-card.install>span{display:block}.push-card.install strong{margin-bottom:2px;display:block}.chat-message-list{overscroll-behavior:contain;background:linear-gradient(#fbfcfb,#f5f7f5);height:min(54vh,540px);min-height:340px;padding:14px;overflow-y:auto}.chat-empty{height:100%;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:5px;display:grid}.chat-empty svg{color:var(--team);margin-bottom:6px}.chat-empty strong{color:var(--ink);font-size:13px}.chat-empty span{font-size:11px}.chat-date{color:#89918c;text-transform:uppercase;align-items:center;gap:8px;margin:13px 0 9px;font-size:9px;font-weight:800;display:flex}.chat-date:before,.chat-date:after{content:"";background:#e2e7e3;flex:1;height:1px}.chat-message{width:min(82%,560px);margin:0 0 10px}.chat-message.own{margin-left:auto}.chat-message-meta{align-items:baseline;gap:7px;margin:0 4px 4px;display:flex}.chat-message.own .chat-message-meta{justify-content:flex-end}.chat-message-meta strong{font-size:10px}.chat-message-meta time{color:var(--muted);font-size:9px}.chat-bubble{border:1px solid var(--line);background:#fff;border-radius:5px 15px 15px;padding:10px 32px 10px 12px;position:relative}.chat-message.own .chat-bubble{border-color:color-mix(in srgb, var(--team) 28%, var(--line));background:var(--team-soft);border-radius:15px 5px 15px 15px}.chat-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.45}.chat-bubble button{color:#929994;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:5px;right:5px}.chat-bubble button:hover{color:#a23835;background:#ffffffb3}.chat-composer{border-top:1px solid var(--line);background:#fff;grid-template-columns:1fr 45px;align-items:end;gap:8px;padding:11px;display:grid}.chat-composer textarea{resize:none;min-height:45px;max-height:120px;padding:11px 12px;line-height:1.4}.chat-send{color:#fff;background:var(--team);cursor:pointer;border:0;border-radius:12px;place-items:center;width:45px;height:45px;display:grid}.chat-send:disabled{cursor:not-allowed;opacity:.45}.chat-error{color:#a23835;margin:0;padding:0 13px 9px;font-size:11px}.chat-footnote{color:var(--muted);text-align:center;margin:0;padding:0 13px 11px;font-size:9px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.bottom-nav{z-index:25;height:calc(78px + env(safe-area-inset-bottom));padding:7px 6px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7;border-top:1px solid #d8dfda;grid-template-columns:repeat(4,1fr);gap:5px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -7px 28px #0f20161f}.bottom-nav button{color:#4e5a53;cursor:pointer;background:#f4f6f4;border:1px solid #e5e9e6;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;font-size:10px;font-weight:800;display:flex;position:relative}.bottom-nav button.active{border-color:color-mix(in srgb, var(--team) 24%, var(--line));color:var(--team-dark);background:var(--team-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--team) 8%, transparent)}.bottom-nav button.active:before{content:"";background:var(--team);border-radius:999px;width:24px;height:2px;position:absolute;top:5px}.drawer-scrim{z-index:50;background:#080f0b8a;border:0;position:fixed;inset:0}.app-drawer{z-index:51;background:#fff;flex-direction:column;gap:25px;width:min(88vw,370px);padding:22px;animation:.2s ease-out slideIn;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 40px #0000002e}.app-drawer>header{justify-content:space-between;gap:10px;display:flex}.app-drawer h2{margin:0 0 3px;font-size:20px}.app-drawer header span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.drawer-section{gap:6px;display:grid}.drawer-section>p{color:#8a918d;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:10px;font-weight:800}.drawer-section a,.drawer-section button,.drawer-signout{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;min-height:45px;padding:0 12px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.drawer-section a.active{color:var(--team-dark);background:var(--team-soft)}.drawer-section button:hover,.drawer-section a:hover{background:#f3f5f3}.drawer-section button span{color:var(--muted);margin-left:auto;font-size:9px}.drawer-section button:disabled{cursor:default;opacity:.55}.app-drawer form{margin-top:auto}.drawer-signout{color:#a23835;width:100%}.event-editor-page{background:var(--surface);min-height:100vh;padding:18px 14px 40px}.event-editor{border:1px solid var(--line);width:min(100%,680px);box-shadow:var(--shadow);background:#fff;border-radius:18px;margin:0 auto}.event-editor>header{border-bottom:1px solid var(--line);padding:19px}.event-editor h1{margin:8px 0 0;font-size:25px}.editor-back{color:var(--team);align-items:center;gap:5px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.event-editor form{gap:13px;padding:18px;display:grid}.event-editor .notification-option{border:1px solid var(--line);cursor:pointer;background:#f8faf8;border-radius:11px;align-items:flex-start;gap:10px;padding:12px;display:flex}.notification-option input{width:18px;height:18px;accent-color:var(--team);flex:none;margin:1px 0 0}.notification-option span{gap:3px;display:grid}.notification-option strong{color:var(--ink);font-size:12px}.notification-option small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.form-grid{gap:11px;display:grid}.form-grid.two{grid-template-columns:repeat(2,1fr)}.input-with-icon{position:relative}.input-with-icon>svg{z-index:1;color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-with-icon input{padding-left:39px}.modal-actions{justify-content:flex-end;gap:9px;margin-top:4px;display:flex}.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);width:min(100%,430px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:21px;padding:clamp(25px,6vw,40px)}.auth-card h1{letter-spacing:-.04em;margin-bottom:12px;font-size:27px}.brand-mark{width:57px;height:57px;color:var(--brand);background:var(--brand-soft);border-radius:17px;place-items:center;margin:0 auto 18px;display:grid}.brand-mark.warning{color:#a43d38;background:#f9e6e4}.auth-card form{margin-top:21px}.confirm-card form{margin-top:20px}.confirm-card .button{margin-top:4px}.team-picker{width:min(100%,650px)}.team-picker>h1{margin-bottom:7px;font-size:35px}.team-picker-grid{gap:13px;margin-top:25px;display:grid}.team-choice{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:13px 1fr auto;align-items:center;gap:14px;padding:20px;text-decoration:none;display:grid;box-shadow:0 4px 20px #1c2a220d}.team-choice span:nth-child(2){gap:3px;display:grid}.team-choice small{color:var(--muted)}.team-choice-dot{background:#398eb4;border-radius:7px;width:12px;height:42px}.team-choice.gold .team-choice-dot{background:#c2922c}.login-page{color:#fff;background:#123d30;place-items:center;min-height:100vh;padding:35px 22px;display:grid;position:relative;overflow:hidden}.login-backdrop{background:radial-gradient(circle at 13% 12%,#42a87f57,#0000 30%),radial-gradient(circle at 88% 86%,#daa83629,#0000 32%);position:absolute;inset:0}.login-shell{grid-template-columns:1fr minmax(320px,410px);align-items:center;gap:40px 75px;width:min(100%,980px);display:grid;position:relative}.login-brand{grid-column:1/-1;align-items:center;gap:11px;display:flex}.login-brand>div:last-child{display:grid}.login-brand small{color:#ffffff94;font-size:11px}.brand-badge{background:#ffffff1a;border:1px solid #ffffff40;border-radius:13px;place-items:center;width:42px;height:42px;font:800 19px Manrope;display:grid}.login-copy h1{letter-spacing:-.055em;margin-bottom:25px;font-size:clamp(38px,5vw,61px);line-height:1.04}.login-points{color:#ffffffc7;gap:12px;display:grid}.login-points span{align-items:center;gap:9px;display:flex}.login-card{color:var(--ink);text-align:left}.login-card h2{margin-bottom:7px;font-size:24px}.login-card .muted{margin-bottom:21px}.login-form{gap:12px;display:grid}.fine-print{color:var(--muted);text-align:center;margin:0;font-size:10px;line-height:1.5}.form-error{color:#b43a36;margin:0;font-size:12px}.login-success{text-align:center}.success-icon{width:52px;height:52px;color:var(--brand);background:var(--brand-soft);border-radius:50%;place-items:center;margin:auto auto 14px;display:grid}.login-success h2{margin-bottom:7px}.login-success>p{color:var(--muted);line-height:1.5}.toast{z-index:100;color:#fff;width:fit-content;max-width:calc(100% - 36px);box-shadow:var(--shadow);background:#17231c;border-radius:11px;margin:auto;padding:12px 16px;font-size:12px;font-weight:700;position:fixed;bottom:90px;left:18px;right:18px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{transform:translate(100%)}}@media (min-width:760px){.hub{padding-bottom:105px}.app-main{padding-top:38px}.event-card{grid-template-columns:68px 1fr;padding:20px}.date-tile{height:75px}.bottom-nav{border:1px solid var(--line);width:480px;height:72px;box-shadow:var(--shadow);border-radius:18px;padding:6px;bottom:20px;left:50%;right:auto;transform:translate(-50%)}.bottom-nav button.active:before{top:4px}}@media (max-width:700px){.login-shell{display:block}.login-brand{margin-bottom:45px}.login-copy{margin-bottom:28px}.login-copy h1{margin-bottom:0;font-size:38px}.login-points{display:none}}@media (max-width:560px){.hub{padding-bottom:calc(94px + env(safe-area-inset-bottom))}.app-main.chat-view{padding-top:18px}.chat-welcome{align-items:center;margin-bottom:14px}.chat-welcome h1{font-size:25px}.chat-panel{height:calc(100dvh - 206px - env(safe-area-inset-bottom));flex-direction:column;min-height:350px;display:flex}.chat-message-list{flex:1;height:auto;min-height:0}.chat-composer,.chat-footnote{flex:none}.heading-actions .button.secondary{width:41px;padding:0;font-size:0}.availability-summary{grid-template-columns:48px minmax(86px,1fr) auto 15px;gap:6px;padding:12px 9px}.count-strip>small{display:none}.response-row{flex-direction:column;align-items:flex-start}.response-row .status-control{width:100%}.response-row .status-button{flex:1}.person-event-row{flex-direction:column;align-items:flex-start}.person-event-row .status-control{width:100%}.person-event-row .status-button{flex:1}.form-grid.two{grid-template-columns:1fr}.player-directory-card{grid-template-columns:1fr;gap:9px}.player-contact-list{padding-left:45px}.event-filter{width:100%}.event-filter button{min-width:0;padding:0 7px}.event-editor-page{background:#fff;padding:0}.event-editor{box-shadow:none;border:0;border-radius:0}.event-editor form{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.modal-actions{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff7;margin:5px -18px -18px;position:sticky;bottom:0}.modal-actions .button{flex:1}}@media (max-width:400px){.people-grid,.contact-list{grid-template-columns:1fr}.person-row:nth-child(odd),.contact-card:nth-child(odd){border-right:0}.welcome-row{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
