:root{color-scheme:light;--color-background:#f6f8fb;--color-surface:#ffffff;--color-surface-soft:#eef8f5;--color-surface-accent:#e5f5ef;--color-text:#17232f;--color-text-muted:#5e6c78;--color-heading:#102f2a;--color-primary:#087f6b;--color-primary-dark:#056452;--color-primary-deep:#064c40;--color-primary-light:#d4f1e8;--color-secondary:#e75a89;--color-secondary-dark:#c63d6d;--color-accent:#f3b63f;--color-border:#dce5e9;--color-border-strong:#bdcdd3;--color-success:#147a50;--color-success-bg:#e8f7ef;--color-danger:#b4233c;--color-danger-dark:#8c172d;--color-danger-bg:#fff0f2;--color-warning:#8a5b00;--color-warning-bg:#fff7dc;--color-info:#176b87;--color-info-bg:#e9f6fa;--shadow-sm:0 2px 10px rgba(16,47,42,0.07);--shadow-md:0 14px 35px rgba(16,47,42,0.1);--shadow-lg:0 24px 70px rgba(16,47,42,0.15);--radius-sm:0.5rem;--radius-md:0.85rem;--radius-lg:1.3rem;--radius-xl:1.8rem;--container-width:74rem;--header-height:4.75rem;--transition:180ms ease;--font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*,:after,:before{box-sizing:border-box}html{min-width:20rem;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1.5rem);background:var(--color-background)}body{margin:0;color:var(--color-text);background:radial-gradient(circle at 8% 8%,rgba(8,127,107,.08),transparent 24rem),radial-gradient(circle at 92% 22%,rgba(231,90,137,.07),transparent 23rem),var(--color-background);font-family:var(--font-sans);font-size:1rem;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#__next,body{min-height:100vh}::selection{color:#ffffff;background:var(--color-primary)}dd,dl,figure,h1,h2,h3,h4,ol,p,ul{margin-top:0}h1,h2,h3,h4{color:var(--color-heading);font-weight:800;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(2.35rem,6vw,4.8rem)}h2{font-size:clamp(1.8rem,4vw,2.7rem)}h3{font-size:clamp(1.15rem,2vw,1.4rem)}p{margin-bottom:1rem}a{color:var(--color-primary-dark);text-decoration-thickness:.08em;text-underline-offset:.18em;transition:color var(--transition),background-color var(--transition),border-color var(--transition),transform var(--transition)}a:hover{color:var(--color-secondary-dark)}img,svg{display:block;max-width:100%}button,input,select,textarea{margin:0;color:inherit;font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.66}:focus-visible{outline:3px solid rgba(8,127,107,.36);outline-offset:3px}main{display:block;min-height:calc(100vh - var(--header-height) - 11rem)}main:focus{outline:none}.container,.footer-container,.footer-inner,.header-container,.header-inner,.hero-inner,.page-container,.section-inner{width:min(calc(100% - 2rem),var(--container-width));margin-inline:auto}.club-overview,.dashboard-page,.page-section,.section{padding-block:clamp(3.25rem,8vw,6rem)}.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;white-space:nowrap!important;border:0!important;clip:rect(0,0,0,0)!important}.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.7rem 1rem;color:#ffffff;background:var(--color-primary-deep);border-radius:var(--radius-sm);font-weight:800;text-decoration:none;transform:translateY(-150%)}.skip-link:focus{color:#ffffff;transform:translateY(0)}.btn,.button,.hero-button,.logout-button,.membership-button,.primary-button,.retry-button,.secondary-button,.team-action,button[type=submit]{display:inline-flex;min-height:2.85rem;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.15rem;border:1px solid transparent;border-radius:999px;background:var(--color-primary);color:#ffffff;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;box-shadow:0 7px 18px rgba(8,127,107,.18);transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.btn:hover,.button:hover,.hero-button:hover,.logout-button:hover,.membership-button:hover:not(:disabled),.primary-button:hover,.retry-button:hover,.team-action:hover:not(:disabled),button[type=submit]:hover:not(:disabled){color:#ffffff;background:var(--color-primary-dark);box-shadow:0 10px 24px rgba(8,127,107,.25);transform:translateY(-1px)}.btn:active,.button:active,.hero-button:active,.membership-button:active:not(:disabled),.primary-button:active,.retry-button:active,.secondary-button:active,.team-action:active:not(:disabled),button[type=submit]:active:not(:disabled){transform:translateY(0)}.btn-secondary,.button-secondary,.button.outline,.hero-button.secondary,.secondary-button{color:var(--color-primary-dark);background:#ffffff;border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover,.button-secondary:hover,.button.outline:hover,.hero-button.secondary:hover,.secondary-button:hover{color:var(--color-primary-deep);background:var(--color-primary-light);border-color:rgba(8,127,107,.35)}.btn-danger,.button-danger,.leave-button,.membership-button.leave,.team-action.leave{color:var(--color-danger);background:#ffffff;border-color:#efb7c1;box-shadow:none}.btn-danger:hover:not(:disabled),.button-danger:hover:not(:disabled),.leave-button:hover:not(:disabled),.membership-button.leave:hover:not(:disabled),.team-action.leave:hover:not(:disabled){color:#ffffff;background:var(--color-danger);border-color:var(--color-danger);box-shadow:0 8px 20px rgba(180,35,60,.2)}.btn-small,.button-small{min-height:2.4rem;padding:.55rem .9rem;font-size:.9rem}.button-link{min-height:auto;padding:0;color:var(--color-primary-dark);border:0;font-weight:800;text-decoration:underline;text-underline-offset:.2em}.button-link,.button-link:hover{background:transparent;box-shadow:none}.button-link:hover{color:var(--color-secondary-dark)}.site-header{position:-webkit-sticky;position:sticky;z-index:100;top:0;min-height:var(--header-height);border-bottom:1px solid rgba(189,205,211,.68);background:rgba(255,255,255,.92);box-shadow:0 4px 18px rgba(16,47,42,.045);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header-container,.header-inner{display:flex;min-height:var(--header-height);align-items:center;justify-content:space-between;gap:1.5rem}.brand,.logo,.site-brand{display:inline-flex;flex:0 0 auto;align-items:center;gap:.7rem;color:var(--color-heading);font-size:1.05rem;font-weight:900;letter-spacing:-.025em;text-decoration:none}.brand:before,.site-brand:before{width:2.15rem;height:2.15rem;flex:0 0 auto;content:"";background:radial-gradient(circle at 35% 35%,#ffffff 0 7%,transparent 8%),linear-gradient(145deg,var(--color-secondary),var(--color-primary));border:3px solid #ffffff;border-radius:50%;box-shadow:0 0 0 2px var(--color-primary),0 5px 12px rgba(8,127,107,.2)}.brand:hover,.logo:hover,.site-brand:hover{color:var(--color-primary)}.main-nav,.navigation,.site-nav{display:flex;align-items:center;gap:.4rem}.main-nav ul,.nav-links,.site-nav ul{display:flex;align-items:center;gap:.25rem;padding:0;margin:0;list-style:none}.main-nav a,.nav-link,.site-nav a{display:inline-flex;min-height:2.55rem;align-items:center;justify-content:center;padding:.5rem .82rem;color:var(--color-text);border-radius:999px;font-size:.94rem;font-weight:750;text-decoration:none}.main-nav a:hover,.main-nav a[aria-current=page],.nav-link.active,.nav-link:hover,.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-primary-dark);background:var(--color-primary-light)}.member-nav,.nav-user,.user-navigation{display:flex;align-items:center;gap:.65rem}.member-name,.user-name,.welcome-user{max-width:12rem;overflow:hidden;color:var(--color-text-muted);font-size:.9rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.logout-button{min-height:2.5rem;padding:.55rem .9rem;color:var(--color-primary-dark);background:transparent;border-color:var(--color-border);box-shadow:none;font-size:.88rem}.logout-button:hover{color:var(--color-danger);background:var(--color-danger-bg);border-color:#efb7c1;box-shadow:none}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(46rem,calc(100vh - var(--header-height)));display:grid;align-items:center;padding-block:clamp(4.5rem,10vw,8.5rem);color:#ffffff;background:linear-gradient(115deg,rgba(5,65,56,.98),rgba(8,127,107,.92) 58%,rgba(16,143,121,.88)),#056452}.hero:after,.hero:before{position:absolute;z-index:-1;border-radius:50%;content:"";pointer-events:none}.hero:before{width:clamp(20rem,45vw,39rem);aspect-ratio:1;top:-45%;right:-7%;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 3rem rgba(255,255,255,.035),0 0 0 8rem rgba(255,255,255,.025)}.hero:after{width:22rem;aspect-ratio:1;bottom:-12rem;left:-8rem;background:rgba(231,90,137,.2);filter:blur(2px)}.hero-content,.hero-inner{position:relative;z-index:1}.hero-content{width:min(100%,49rem)}.eyebrow,.hero-eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--color-primary);font-size:.78rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero .eyebrow,.hero .hero-eyebrow{color:#cbfff1}.eyebrow:before,.hero-eyebrow:before,.section-kicker:before{width:1.75rem;height:.2rem;background:currentColor;border-radius:999px;content:""}.hero h1,.hero-title{max-width:13ch;margin-bottom:1.25rem;color:#ffffff;text-wrap:balance}.hero p,.hero-copy,.hero-description{max-width:40rem;margin-bottom:0;color:rgba(255,255,255,.88);font-size:clamp(1.05rem,2.2vw,1.28rem);line-height:1.7}.action-group,.form-actions,.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.hero .hero-button,.hero .primary-button,.hero-actions .button:first-child{color:var(--color-primary-deep);background:#ffffff;border-color:#ffffff;box-shadow:0 12px 30px rgba(4,46,40,.25)}.hero .hero-button:hover,.hero .primary-button:hover,.hero-actions .button:first-child:hover{color:var(--color-primary-deep);background:#dcfff5}.hero .hero-button.secondary,.hero .secondary-button,.hero-actions .button-secondary{color:#ffffff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);box-shadow:none}.hero .hero-button.secondary:hover,.hero .secondary-button:hover,.hero-actions .button-secondary:hover{color:#ffffff;background:rgba(255,255,255,.17);border-color:#ffffff}.section-header,.section-heading{max-width:46rem;margin-bottom:clamp(1.8rem,4vw,2.8rem)}.section-header.centered,.section-heading.centered{margin-inline:auto;text-align:center}.section-header h2,.section-heading h2{margin-bottom:.7rem;text-wrap:balance}.section-description,.section-header p,.section-heading p{margin-bottom:0;color:var(--color-text-muted);font-size:1.06rem}.club-overview{width:min(calc(100% - 2rem),var(--container-width));margin-inline:auto}.club-card,.club-details,.club-info{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(15rem,.6fr);grid-gap:clamp(1.5rem,5vw,4rem);gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.5rem,4vw,3rem);margin-bottom:clamp(3rem,8vw,5.5rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.club-card:after,.club-details:after,.club-info:after{position:absolute;width:11rem;height:11rem;right:-5rem;bottom:-6rem;background:var(--color-primary-light);border-radius:50%;content:"";pointer-events:none}.club-card h2,.club-details h2,.club-info h2{margin-bottom:1rem}.club-description{color:var(--color-text-muted);font-size:1.06rem;white-space:pre-line}.club-contact,.club-meta,.contact-details,.detail-list{position:relative;z-index:1;display:grid;align-content:start;grid-gap:.85rem;gap:.85rem;padding:1.2rem;margin:0;background:var(--color-surface-soft);border:1px solid rgba(8,127,107,.13);border-radius:var(--radius-lg)}.club-contact div,.club-meta div,.detail-list div{display:grid;grid-gap:.1rem;gap:.1rem}.club-contact dt,.club-meta dt,.detail-label,.detail-list dt{color:var(--color-text-muted);font-size:.77rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.club-contact dd,.club-meta dd,.detail-list dd,.detail-value{margin:0;color:var(--color-heading);font-weight:700;overflow-wrap:anywhere}.fixtures-section,.teams-section{scroll-margin-top:calc(var(--header-height) + 1.5rem)}.fixtures-section{margin-top:clamp(3rem,8vw,5.5rem)}.team-grid,.teams-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}.team-card{position:relative;overflow:hidden;display:flex;min-width:0;min-height:16rem;flex-direction:column;padding:1.45rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.team-card:before{width:3rem;height:.3rem;margin-bottom:1.3rem;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:999px;content:""}.team-card:hover{border-color:rgba(8,127,107,.34);box-shadow:var(--shadow-md);transform:translateY(-3px)}.team-card.is-member,.team-card.member,.team-card[data-member=true]{background:linear-gradient(160deg,#ffffff,var(--color-surface-soft));border-color:rgba(8,127,107,.38)}.team-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.team-card h3,.team-name{margin-bottom:.65rem;overflow-wrap:anywhere}.team-description{flex:1 1;margin-bottom:1.2rem}.team-description,.team-meta{color:var(--color-text-muted)}.team-meta{display:grid;grid-gap:.35rem;gap:.35rem;padding-top:.9rem;margin-top:auto;border-top:1px solid var(--color-border);font-size:.92rem}.team-actions,.team-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:1rem;margin-top:auto}.join-button,.leave-button,.membership-button,.team-action{width:100%}.badge,.membership-badge,.status-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.35rem;padding:.3rem .62rem;color:var(--color-primary-dark);background:var(--color-primary-light);border:1px solid rgba(8,127,107,.18);border-radius:999px;font-size:.75rem;font-weight:900;letter-spacing:.02em;line-height:1.25}.membership-badge:before{width:.45rem;height:.45rem;background:var(--color-primary);border-radius:50%;content:""}.badge.pending,.status-badge.pending{color:var(--color-warning);background:var(--color-warning-bg);border-color:#efd88a}.badge.inactive,.status-badge.inactive{color:var(--color-text-muted);background:#f0f3f5;border-color:var(--color-border)}.fixture-list,.fixtures-list{display:grid;grid-gap:.9rem;gap:.9rem;padding:0;margin:0;list-style:none}.fixture-card,.fixture-item{position:relative;display:grid;grid-template-columns:minmax(7rem,.75fr) minmax(13rem,1.8fr) minmax(10rem,1fr);align-items:center;grid-gap:1.2rem;gap:1.2rem;padding:1.25rem 1.4rem;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.fixture-card:hover,.fixture-item:hover{border-color:rgba(8,127,107,.35);border-left-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateX(2px)}.fixture-date,.fixture-datetime{display:grid;grid-gap:.08rem;gap:.08rem;color:var(--color-heading);font-weight:850}.fixture-date time,.fixture-datetime time{display:contents}.fixture-time{color:var(--color-text-muted);font-size:.9rem;font-weight:650}.fixture-matchup,.fixture-teams{min-width:0}.fixture-matchup h3,.fixture-teams h3,.fixture-title{margin-bottom:.25rem;font-size:1.08rem;overflow-wrap:anywhere}.fixture-opponent{color:var(--color-heading);font-weight:800}.fixture-location-type,.fixture-vs,.home-away{color:var(--color-text-muted);font-size:.84rem;font-weight:750;text-transform:uppercase}.fixture-details,.fixture-meta{display:grid;justify-items:start;grid-gap:.2rem;gap:.2rem;color:var(--color-text-muted);font-size:.9rem}.fixture-competition{color:var(--color-primary-dark);font-weight:800}.fixture-venue{overflow-wrap:anywhere}.fixture-status{display:inline-flex;padding:.25rem .55rem;color:var(--color-info);background:var(--color-info-bg);border-radius:999px;font-size:.72rem;font-weight:900;text-transform:capitalize}.empty-state,.no-fixtures,.no-results,.no-teams{padding:clamp(2rem,7vw,4rem);color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);text-align:center}.empty-state h2,.empty-state h3,.no-results h3{margin-bottom:.55rem}.empty-state p,.no-fixtures p,.no-results p,.no-teams p{max-width:35rem;margin:0 auto}.auth-page,.form-page,.login-page,.signup-page{display:grid;min-height:calc(100vh - var(--header-height) - 10rem);place-items:center;padding:clamp(2.5rem,8vw,5.5rem) 1rem}.auth-card,.auth-form-container,.form-card{position:relative;overflow:hidden;width:min(100%,31rem);padding:clamp(1.5rem,5vw,2.5rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.auth-card:before,.auth-form-container:before,.form-card:before{position:absolute;width:100%;height:.38rem;top:0;left:0;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary),var(--color-accent));content:""}.auth-header,.form-header{margin-bottom:1.7rem;text-align:center}.auth-card h1,.auth-header h1,.form-header h1{margin-bottom:.65rem;font-size:clamp(1.85rem,5vw,2.45rem)}.auth-header p,.auth-intro,.form-header p{margin-bottom:0;color:var(--color-text-muted)}.auth-form,.form{display:grid;grid-gap:1.15rem;gap:1.15rem}.field,.form-field,.form-group{display:grid;grid-gap:.42rem;gap:.42rem}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.form-label,label{color:var(--color-heading);font-size:.9rem;font-weight:800}.form-input,input,select,textarea{width:100%;min-height:3rem;padding:.68rem .82rem;color:var(--color-text);background:#ffffff;border:1px solid var(--color-border-strong);border-radius:.7rem;outline:none;box-shadow:0 1px 2px rgba(16,47,42,.03);transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}textarea{min-height:7rem;resize:vertical}.form-input:hover,input:hover,select:hover,textarea:hover{border-color:#8ca7af}.form-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(8,127,107,.12)}.form-input.invalid,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger);background:#fffafb}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{box-shadow:0 0 0 4px rgba(180,35,60,.11)}::placeholder{color:#87939c;opacity:1}.field-hint,.form-hint,.help-text{margin:0;color:var(--color-text-muted);font-size:.8rem;line-height:1.45}.field-error,.validation-error{margin:0;color:var(--color-danger);font-size:.82rem;font-weight:700}.auth-form button[type=submit],.form-submit,.submit-button{width:100%;min-height:3.1rem;margin-top:.3rem}.auth-alternate,.auth-switch,.form-footer{padding-top:1.3rem;margin:1.4rem 0 0;color:var(--color-text-muted);border-top:1px solid var(--color-border);text-align:center}.auth-alternate a,.auth-switch a{font-weight:850}.alert,.dashboard-error,.error-message,.form-error,.status-message,.success-message{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;margin-bottom:1rem;border:1px solid;border-radius:var(--radius-md);font-size:.92rem;font-weight:650;line-height:1.5}.alert:before,.dashboard-error:before,.error-message:before,.form-error:before,.status-message:before,.success-message:before{display:grid;width:1.35rem;height:1.35rem;flex:0 0 auto;place-items:center;border-radius:50%;content:"i";font-size:.78rem;font-weight:900}.alert-error,.alert.error,.dashboard-error,.error-message,.form-error{color:var(--color-danger-dark);background:var(--color-danger-bg);border-color:#efb7c1}.alert-error:before,.alert.error:before,.dashboard-error:before,.error-message:before,.form-error:before{color:#ffffff;background:var(--color-danger);content:"!"}.alert-success,.alert.success,.success-message{color:#0b6540;background:var(--color-success-bg);border-color:#aedfc6}.alert-success:before,.alert.success:before,.success-message:before{color:#ffffff;background:var(--color-success);content:"✓"}.alert-info,.alert.info,.status-message{color:var(--color-info);background:var(--color-info-bg);border-color:#b5dce8}.alert-warning,.alert.warning{color:var(--color-warning);background:var(--color-warning-bg);border-color:#ecd27a}.dashboard-error p,.error-message p,.form-error p,.status-message p,.success-message p{margin:0}.auth-loading,.loading,.loading-state,.page-loading{display:grid;min-height:13rem;place-items:center;align-content:center;grid-gap:.9rem;gap:.9rem;padding:2rem;color:var(--color-text-muted);text-align:center}.loading-spinner,.spinner{width:2.35rem;height:2.35rem;border:.25rem solid var(--color-primary-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .75s linear infinite}.button-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.45);border-top-color:currentcolor;border-radius:50%;animation:spin .7s linear infinite}.skeleton{overflow:hidden;min-height:1rem;background:#e6ecef;border-radius:var(--radius-sm);animation:pulse 1.4s ease-in-out infinite}.loading p,.loading-state p,.page-loading p{margin:0;font-weight:700}.dashboard,.dashboard-page{width:min(calc(100% - 2rem),var(--container-width));margin-inline:auto}.dashboard-header,.dashboard-hero,.welcome-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(13rem,.5fr);align-items:center;grid-gap:1.5rem;gap:1.5rem;padding:clamp(1.5rem,5vw,3rem);margin-bottom:clamp(2rem,5vw,3rem);color:#ffffff;background:linear-gradient(125deg,var(--color-primary-deep),var(--color-primary));border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.dashboard-header:after,.dashboard-hero:after,.welcome-panel:after{position:absolute;width:15rem;height:15rem;top:-8rem;right:-5rem;border:2.5rem solid rgba(255,255,255,.07);border-radius:50%;content:""}.dashboard-header h1,.dashboard-header h2,.dashboard-hero h1,.dashboard-hero h2,.welcome-panel h1{position:relative;z-index:1;margin-bottom:.65rem;color:#ffffff;font-size:clamp(1.8rem,5vw,3rem)}.dashboard-header p,.dashboard-hero p,.welcome-panel p{position:relative;z-index:1;max-width:45rem;margin-bottom:0;color:rgba(255,255,255,.84)}.dashboard-summary,.membership-summary,.summary-card{position:relative;z-index:1;min-width:11rem;padding:1rem 1.2rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-lg);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.membership-count,.summary-count{display:block;color:#ffffff;font-size:2rem;font-weight:900;line-height:1}.summary-label{display:block;margin-top:.35rem;color:rgba(255,255,255,.8);font-size:.82rem;font-weight:750}.dashboard-content,.memberships-section{min-width:0}.dashboard-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.dashboard-toolbar h2{margin-bottom:.35rem}.dashboard-toolbar p{margin:0;color:var(--color-text-muted)}.membership-feedback{margin-bottom:1.25rem}.error-page,.fallback-page,.not-found-page{display:grid;min-height:calc(100vh - var(--header-height) - 10rem);place-items:center;padding:3rem 1rem}.error-card,.fallback-card,.not-found-content{width:min(100%,40rem);padding:clamp(2rem,6vw,4rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);text-align:center}.error-code,.not-found-code{display:block;margin-bottom:.5rem;color:var(--color-primary);font-size:clamp(4rem,18vw,8rem);font-weight:950;line-height:.9;letter-spacing:-.07em}.error-card h1,.fallback-card h1,.not-found-content h1{margin-bottom:.8rem;font-size:clamp(1.8rem,5vw,2.7rem)}.error-card p,.fallback-card p,.not-found-content p{max-width:31rem;margin:0 auto 1.5rem;color:var(--color-text-muted)}.site-footer{margin-top:auto;color:rgba(255,255,255,.75);background:#0e2926;border-top:4px solid var(--color-primary)}.footer-container,.footer-inner{display:flex;min-height:10rem;align-items:center;justify-content:space-between;gap:2rem;padding-block:2rem}.footer-brand,.site-footer strong{color:#ffffff;font-weight:850}.site-footer p{margin:0}.footer-copy,.footer-meta{display:grid;grid-gap:.25rem;gap:.25rem}.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem 1rem;padding:0;margin:0;list-style:none}.site-footer a{color:#c9fff1;font-weight:700}.site-footer a:hover{color:#ffffff}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.stack{display:grid;grid-gap:1rem;gap:1rem}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.surface-card{padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.divider{height:1px;margin-block:1.5rem;background:var(--color-border);border:0}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@media (max-width:60rem){.team-grid,.teams-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fixture-card,.fixture-item{grid-template-columns:minmax(7rem,.65fr) minmax(12rem,1.35fr)}.fixture-details,.fixture-meta{grid-column:2}.club-card,.club-details,.club-info{grid-template-columns:minmax(0,1fr) minmax(13rem,.55fr);gap:1.5rem}}@media (max-width:48rem){:root{--header-height:4.25rem}.header-container,.header-inner{min-height:var(--header-height);align-items:flex-start;flex-direction:column;gap:.5rem;padding-block:.75rem}.site-header{position:relative}.brand,.logo,.site-brand{align-self:center}.main-nav,.navigation,.site-nav{width:100%;justify-content:center}.main-nav ul,.nav-links,.site-nav ul{width:100%;flex-wrap:wrap;justify-content:center}.main-nav a,.nav-link,.site-nav a{min-height:2.25rem;padding:.42rem .65rem;font-size:.88rem}.member-nav,.nav-user,.user-navigation{width:100%;flex-wrap:wrap;justify-content:center}.member-name,.user-name{max-width:100%}.hero{min-height:37rem;padding-block:4.5rem}.hero-content{text-align:center}.hero h1,.hero p,.hero-copy,.hero-description,.hero-title{margin-inline:auto}.hero .eyebrow,.hero-actions,.hero-eyebrow{justify-content:center}.club-card,.club-details,.club-info,.dashboard-header,.dashboard-hero,.welcome-panel{grid-template-columns:1fr}.dashboard-summary,.membership-summary,.summary-card{width:-moz-fit-content;width:fit-content;min-width:10rem;text-align:left}.fixture-card,.fixture-item{grid-template-columns:1fr;gap:.7rem}.fixture-details,.fixture-meta{grid-column:auto}.fixture-date,.fixture-datetime{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.footer-container,.footer-inner{align-items:flex-start;flex-direction:column;justify-content:center}.footer-links{justify-content:flex-start}}@media (max-width:38rem){.club-overview,.container,.dashboard,.dashboard-page,.footer-container,.footer-inner,.header-container,.header-inner,.hero-inner,.page-container,.section-inner{width:min(calc(100% - 1.25rem),var(--container-width))}.club-overview,.dashboard-page,.page-section,.section{padding-block:3rem}.team-grid,.teams-grid{grid-template-columns:1fr}.team-card{min-height:auto}.action-group,.form-actions,.hero-actions{align-items:stretch;flex-direction:column}.action-group .button,.form-actions button,.hero-actions .button,.hero-actions a{width:100%}.auth-card,.auth-form-container,.club-card,.club-details,.club-info,.dashboard-header,.dashboard-hero,.form-card,.welcome-panel{border-radius:var(--radius-lg)}.club-card,.club-details,.club-info{padding:1.25rem}.club-contact,.club-meta,.contact-details,.detail-list,.fixture-card,.fixture-item{padding:1rem}.form-row{grid-template-columns:1fr}.dashboard-toolbar{align-items:flex-start;flex-direction:column}.team-actions,.team-card-footer{align-items:stretch;flex-direction:column}.auth-page,.form-page,.login-page,.signup-page{padding-inline:.625rem}}@media (max-width:25rem){.brand,.logo,.site-brand{font-size:.95rem}.brand:before,.site-brand:before{width:1.85rem;height:1.85rem}.main-nav a,.nav-link,.site-nav a{padding-inline:.5rem;font-size:.82rem}.hero{min-height:34rem}.badge,.membership-badge,.status-badge{white-space:normal}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover,.button:hover,.fixture-card:hover,.fixture-item:hover,.team-card:hover{transform:none}}@media print{body{color:#000000;background:#ffffff}.hero-actions,.logout-button,.membership-button,.retry-button,.site-footer,.site-header,.team-action,.team-actions{display:none!important}.hero{min-height:auto;padding:2rem 0;background:#ffffff}.hero,.hero h1,.hero p,.hero-description{color:#000000}.club-card,.club-details,.club-info,.fixture-card,.fixture-item,.team-card{page-break-inside:avoid;break-inside:avoid;box-shadow:none}}