@font-face{font-family:Club;src:local('Inter'),local('Segoe UI'),local('Arial')}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#f3f5f7;color:#1b2d27;font-family:Club,Arial,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.55;cursor:wait}h1,h2,h3,p{margin:0 0 1rem}h1{font-size:2.2rem;letter-spacing:-.065rem;line-height:1.17}h2{font-size:1.45rem;letter-spacing:-.03rem}h3{font-size:1.05rem}small,.small{font-size:.875rem}.muted{color:#66766f}.eyebrow{font-size:.8rem;letter-spacing:.12em;font-weight:750}.button{border:1px solid #d5dfd9;border-radius:9px;background:#fff;color:#18382a;padding:.7rem 1rem;display:inline-flex;gap:.6rem;align-items:center;justify-content:center;font-weight:650;min-height:44px}.button:hover{background:#eef4f0}.button.primary{background:#1b5139;color:#fff;border-color:#1b5139}.button.primary:hover{background:#123f2b}.button.lime{background:#d4fa75;border-color:#d4fa75;color:#163326}.button.danger{color:#a32c37}.button.small{font-size:.875rem;padding:.45rem .7rem}.wide{width:100%;justify-content:space-between}.icon-button{border:1px solid #d8e1dc;background:white;border-radius:8px;padding:.45rem .85rem;font-size:1.15rem;min-height:44px;min-width:44px}label{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:600;margin-bottom:1rem}input,select,textarea{width:100%;padding:.7rem .8rem;border:1px solid #cdd8d1;border-radius:8px;background:#fff;color:#1d3026;min-height:44px}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #95c6ae;outline-offset:2px}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:#1b5139}.checkbox{display:flex;flex-direction:row;align-items:center;gap:.7rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:1rem}.alert{background:#fff0f0;border:1px solid #edc9cd;border-radius:8px;padding:1rem;color:#8b2731;margin-bottom:1rem}.info{padding:1rem;background:#eef4f0;border-radius:9px;color:#395346;font-size:.875rem;margin-bottom:1.2rem}.monogram{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#d4fa75;color:#143626;font-weight:850;font-size:1.1rem;border-radius:14px;letter-spacing:-1px}.wordmark{display:flex;align-items:center;gap:.8rem;line-height:1.25;font-size:.95rem;font-weight:800;letter-spacing:.025em}.wordmark small{font-weight:500;font-size:.68rem;letter-spacing:.24em;opacity:.65}.login-wrap{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{background:#102d24;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:3rem 4rem;position:relative;overflow:hidden}.login-story::after{content:'';position:absolute;width:600px;height:600px;border:1px solid #32604b;border-radius:50%;right:-320px;top:17%;box-shadow:0 0 0 90px #16392d,0 0 0 91px #26513f;pointer-events:none}.login-story>*{position:relative;z-index:1}.login-story h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.06;letter-spacing:-.14rem}.login-story .eyebrow{color:#d4fa75}.login-story p{color:#b8d0c1;max-width:280px}.login-bottom{font-size:.875rem;color:#afc8b9;display:flex;justify-content:space-between;gap:1rem}.login-form{align-self:center;width:100%;max-width:510px;padding:3rem;margin:auto}.login-form h2{font-size:2.25rem;margin:.6rem 0}.login-form form{margin:2rem 0}.login-form .privacy-line{border-top:1px solid #dce3df;padding-top:1.5rem;margin-top:2rem;font-size:.8rem;color:#66766f}.mobile-mark{display:none}.setup{background:white;max-width:640px;margin:4rem auto;border:1px solid #dce3df;padding:2.5rem;border-radius:18px}.setup>.monogram{margin-bottom:1.5rem}.app-shell{display:flex;min-height:100dvh}.sidebar{width:244px;background:#102d24;color:#d4e4da;padding:1.8rem 1rem 1rem;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.sidebar>.wordmark{padding:0 .3rem;margin-bottom:2rem;font-size:.78rem;gap:.65rem}.sidebar .monogram{width:42px;height:42px;border-radius:12px}.team-switch{font-size:.69rem;letter-spacing:.1em;color:#9ebbad;padding:0 .4rem;margin-bottom:1.8rem}.team-switch select{background:#1d4032;border-color:#345746;color:#fff;font-size:.85rem;letter-spacing:normal;margin-top:.3rem}.nav-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.78rem .8rem;border:0;background:transparent;color:#c6d9ce;border-radius:8px;text-align:left;font-size:.94rem;margin-bottom:.3rem;font-weight:550}.nav-item:hover{background:#214433;color:#fff}.nav-item.active{background:#d4fa75;color:#142f23}.nav-icon{display:inline-block;width:23px;height:23px;line-height:23px;text-align:center;font-size:1.1rem}.nav-label{font-size:.68rem;letter-spacing:.1em;color:#8aaa97;margin:1.3rem .8rem .6rem}.side-bottom{margin-top:auto;padding-top:2rem}.account-chip{border-top:1px solid #335040;margin:.7rem .4rem 0;padding-top:1.2rem;display:flex;align-items:center;gap:.7rem;font-size:.86rem}.avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#dfece3;color:#254b33;font-size:.8rem;font-weight:700;flex-shrink:0}.account-chip small{display:block;color:#98b7a4;font-size:.75rem}.main{margin-left:244px;width:calc(100% - 244px);min-width:0}.topbar{height:76px;border-bottom:1px solid #e0e6e2;background:#fff;display:flex;align-items:center;padding:0 2.5rem;gap:1rem;color:#6c7972;font-size:.875rem}.topbar-right{margin-left:auto;display:flex;gap:.65rem;align-items:center;font-size:.8rem}.status-dot{width:7px;height:7px;border-radius:50%;background:#389868}.topbar #mobile-menu{display:none}#content{width:100%;padding:2.3rem 2.5rem 3rem;max-width:1600px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.8rem}.page-head h1{margin:.3rem 0 .6rem}.page-head p{margin:0}.page-head .eyebrow{color:#648271}.head-actions{display:flex;gap:.6rem;flex-wrap:wrap}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:1.5rem;margin-top:1.5rem}.card{background:#fff;border:1px solid #e0e6e2;border-radius:13px;padding:1.4rem;min-width:0;margin-bottom:1.3rem}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.card-header h2,.card-header h3{margin:0}.stat{display:flex;justify-content:space-between;gap:1rem;margin-bottom:0}.stat strong{display:block;font-size:2rem;line-height:1.2;margin:.5rem 0}.stat p{font-size:.85rem;margin:0;color:#64766a}.stat-symbol{width:45px;height:45px;background:#eef5ee;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;color:#3e6d4a}.feature-match{background:#163e2c;color:white;border:0;padding:1.5rem 1.7rem;overflow:hidden}.feature-match h2{font-size:1.8rem;line-height:1.2;margin:1.3rem 0}.feature-match .muted{color:#b3c9bb}.feature-match .eyebrow{color:#d4fa75}.feature-match .feature-details{display:flex;gap:1.8rem;border-top:1px solid #3c5e4a;margin-top:1.4rem;padding-top:1rem}.feature-details small{display:block;color:#b3c9bb;font-size:.75rem;margin-bottom:.2rem}.feature-details strong{font-size:1.2rem}.event-row{display:flex;gap:1rem;align-items:center;border-bottom:1px solid #edf0ed;padding:1rem 0}.event-row:last-child{border:0;padding-bottom:0}.date-block{width:53px;min-width:53px;background:#f1f5f0;border:1px solid #e3e9e2;border-radius:10px;text-align:center;padding:.45rem .25rem}.date-block strong{display:block;font-size:1.25rem;line-height:1.25}.date-block small{font-size:.7rem;letter-spacing:.04em;color:#647968}.event-row h3{font-size:.94rem;margin:.15rem 0}.event-row p{margin:0;font-size:.83rem;color:#64766a}.event-row .button{margin-left:auto}.badge{display:inline-block;border-radius:5px;padding:.2rem .5rem;background:#edf4ed;color:#376244;font-size:.73rem;font-weight:650;line-height:1.4}.badge.training{background:#e5f2e8;color:#22653c}.badge.matchday,.badge.cupfixture{background:#ebedf9;color:#3e50a5}.badge.friendly{background:#fff2df;color:#9b5c0c}.badge.cancelled,.badge.unavailable,.badge.injured{background:#fbe9eb;color:#a53846}.badge.available,.badge.confirmed{background:#e5f2e8;color:#22653c}.badge.pending{background:#fff2df;color:#9b5c0c}.news-item{padding:1.1rem 0;border-top:1px solid #e8eee9}.news-item h3{margin-bottom:.45rem}.news-item .news-body{white-space:pre-wrap;font-size:.92rem;color:#54675b}.news-item small{color:#738378;font-size:.75rem}.award{background:#f5f7ec;border-color:#dfe7c5}.award-symbol{font-size:2rem;display:block;margin:1rem 0}.award h2{font-size:1.9rem;margin:.3rem 0}.award p{color:#59644b;font-size:.9rem}.empty{padding:2.2rem 1rem;text-align:center;color:#728078}.empty strong{display:block;font-size:1.05rem;color:#405447;margin-bottom:.5rem}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar h2{margin:0}.toolbar .button-group{display:flex;gap:.4rem}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dce4dd;border-left:1px solid #dce4dd;border-radius:8px;overflow:hidden;background:#fff}.weekday{padding:.8rem .5rem;text-align:center;font-size:.75rem;font-weight:650;color:#6b7d70;background:#f7f9f7;border-right:1px solid #dce4dd;border-bottom:1px solid #dce4dd}.calendar-cell{min-height:120px;border-right:1px solid #dce4dd;border-bottom:1px solid #dce4dd;padding:.6rem;min-width:0}.calendar-cell.other{background:#fafbfa;color:#b1b9b3}.day-number{display:inline-flex;min-width:27px;height:27px;align-items:center;justify-content:center;font-size:.8rem;margin-bottom:.4rem}.today .day-number{background:#1c5137;color:#fff;border-radius:50%}.cal-event{display:block;width:100%;border:0;border-left:3px solid #52956a;text-align:left;background:#ecf4ed;color:#244d32;padding:.35rem .4rem;border-radius:3px;font-size:.75rem;line-height:1.4;margin-bottom:.3rem;word-break:break-word}.cal-event.matchday,.cal-event.cupfixture{background:#edf0fc;border-color:#6676ba;color:#405086}.cal-event.friendly{background:#fff4e3;border-color:#d89e40;color:#8b611d}.cal-event.cancelled{text-decoration:line-through;opacity:.6}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}th{font-weight:600;color:#6e7e74;background:#f8faf8;font-size:.77rem}td,th{padding:.85rem .7rem;border-bottom:1px solid #e6ece7;white-space:nowrap}td.wrap{white-space:normal;min-width:150px}tr:last-child td{border:0}.player-name{display:flex;align-items:center;gap:.6rem;font-weight:650}.text-button{border:0;background:none;color:#276242;padding:.25rem;text-decoration:underline;text-underline-offset:3px;font-size:.875rem}.tabs{display:flex;border-bottom:1px solid #dce4de;gap:1.2rem;overflow:auto;margin:1.2rem 0}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:.8rem .1rem;color:#6b7d70;white-space:nowrap;font-weight:600}.tabs button.active{border-bottom-color:#1c593b;color:#1c593b}.event-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.3rem 0}.event-meta>div{padding:1rem;background:#f5f8f5;border-radius:9px}.event-meta small{display:block;color:#6f8074;margin-bottom:.3rem}.event-meta strong{font-size:1.1rem}.availability-form{border-top:1px solid #e4ece5;padding:1.2rem 0}.availability-form h3{margin-bottom:.9rem}.availability-form .form-grid{grid-template-columns:1.2fr 1fr}.transport-list>div{padding:1rem 0;border-bottom:1px solid #e6ece7}.transport-list strong{display:block;margin-bottom:.5rem}.pitch{position:relative;background:repeating-linear-gradient(to top,#245839 0,#245839 14.28%,#2b6140 14.28%,#2b6140 28.56%);border:12px solid #2a6241;border-radius:9px;min-height:600px;display:flex;flex-direction:column-reverse;justify-content:space-around;padding:1rem .3rem;gap:.8rem;isolation:isolate}.pitch::before{content:'';position:absolute;inset:0;border:1px solid #ffffff70;z-index:-1}.pitch::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#ffffff70;z-index:-1}.pitch-row{display:flex;justify-content:space-evenly;gap:.5rem}.pitch-slot{max-width:130px;flex:1;text-align:center;color:white;min-width:0}.shirt{width:37px;height:38px;background:#fff;color:#223b2a;clip-path:polygon(25% 0,38% 7%,62% 7%,75% 0,100% 25%,82% 45%,75% 34%,75% 100%,25% 100%,25% 34%,18% 45%,0 25%);margin:0 auto .4rem;display:grid;place-items:center;font-size:.7rem;font-weight:800}.pitch-slot label{font-size:.68rem;gap:.2rem;margin:0}.pitch-slot select{padding:.4rem .2rem;font-size:.73rem;min-height:36px;background:#16492f;color:#fff;border-color:#7a9b83}.pitch-slot span{font-size:.78rem;display:block;font-weight:600}.pitch-slot small{font-size:.65rem;color:#cde0d0}.squad-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem}.bench-row{display:grid;grid-template-columns:50px 1fr;gap:.6rem;align-items:center;margin-bottom:.65rem}.bench-row label{margin:0}.message-layout{display:grid;grid-template-columns:230px 1fr;min-height:530px;gap:1.3rem}.contact-button{display:flex;align-items:center;gap:.65rem;width:100%;border:0;border-bottom:1px solid #edf0ed;background:#fff;text-align:left;padding:.9rem .6rem;border-radius:7px}.contact-button.active{background:#edf5ee}.contact-button strong{display:block;font-size:.9rem}.contact-button small{font-size:.75rem;color:#78897c}.messages{max-height:400px;min-height:280px;overflow:auto;display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.message{background:#f0f4f1;border-radius:10px;padding:.8rem 1rem;max-width:85%;align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}.message.mine{align-self:flex-end;background:#1e5439;color:#fff}.message small{display:block;font-size:.7rem;opacity:.75;margin-top:.5rem}.message-compose{display:flex;align-items:flex-end;gap:.6rem;margin-top:1rem}.message-compose textarea{min-height:65px}.admin-section details{border:1px solid #dfe7e1;background:white;border-radius:10px;padding:1.1rem 1.3rem;margin-bottom:1rem}.admin-section summary{font-weight:650;cursor:pointer}.admin-section details>div{margin-top:1.3rem}.admin-section .form-grid{max-width:900px}.check-list{display:flex;gap:1rem;flex-wrap:wrap}.check-list label{font-weight:normal}dialog{border:1px solid #d6e1d8;border-radius:16px;padding:1.8rem;width:min(720px,95vw);max-height:90dvh;overflow:auto;color:#1b2d27;box-shadow:0 22px 80px #071b2633}dialog::backdrop{background:#0b2117a3;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem}.modal-head h2{margin:0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:.9rem 1.5rem;border-radius:9px;background:#122f22;color:white;z-index:100;box-shadow:0 6px 30px #0002;max-width:90vw}#toast.error{background:#982d3b}.mobile-calendar{display:none}.spaced{margin-top:1.5rem}.no-margin{margin:0}.preline{white-space:pre-wrap;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(min-width:1450px){.calendar-cell{min-height:145px}}
@media(max-width:1100px){.sidebar{width:215px}.main{margin-left:215px;width:calc(100% - 215px)}#content{padding:1.7rem}.topbar{padding:0 1.7rem}.dashboard-grid{grid-template-columns:1.2fr 1fr}.squad-layout{grid-template-columns:1fr}.grid-3{gap:.7rem}.card{padding:1.1rem}.calendar-cell{min-height:105px;padding:.4rem}.login-story{padding:2.5rem}.message-layout{grid-template-columns:185px 1fr}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:245px;box-shadow:0 0 50px #102d2433}.sidebar.open{transform:translateX(0)}.main{width:100%;margin:0}.topbar{height:64px;padding:0 1rem}.topbar #mobile-menu{display:block}#content{padding:1.4rem 1rem}.topbar-right{font-size:.7rem}.page-head{flex-wrap:wrap}.page-head h1{font-size:1.85rem}.grid-3{grid-template-columns:repeat(3,1fr)}.stat-symbol{display:none}.stat strong{font-size:1.55rem}.stat p{font-size:.75rem}.dashboard-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.login-wrap{grid-template-columns:1fr}.login-story{display:none}.login-form{padding:2rem}.mobile-mark{display:inline-flex;margin-bottom:2rem}.setup{margin:1rem;padding:1.5rem}.calendar{display:none}.mobile-calendar{display:block}.calendar-card{padding:1rem}.event-meta{grid-template-columns:1fr 1fr}.event-meta>div:last-child{grid-column:1/-1}.message-layout{grid-template-columns:1fr}.contacts{display:flex;overflow:auto;gap:.5rem}.contact-button{min-width:175px}.pitch{min-height:550px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.feature-match .feature-details{gap:1rem;flex-wrap:wrap}.event-row .button{font-size:.75rem;padding:.4rem .6rem}.topbar-right .status-dot{display:none}.table-scroll{margin:0 -.4rem}.head-actions{width:100%}.head-actions .button{flex:1}.availability-form .form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
