/* Site-wide control pairs, and isolated light dialogs. No shell styles leak in. */
:root{--ui-primary:#00cfc7;--ui-primary-text:#052e35;--ui-secondary:#154755;--ui-secondary-text:#f4fbfc;--ui-light:#eef5f6;--ui-light-text:#173b47;--ui-muted:#46616c;--ui-border:#b9d1d8}
body .btn{background:var(--ui-primary);color:var(--ui-primary-text);border-color:var(--ui-primary);border-radius:12px;min-height:44px;padding:11px 17px;line-height:1.4;text-align:center;white-space:normal;gap:10px}
body .btn.secondary{background:var(--ui-secondary);color:var(--ui-secondary-text);border-color:#568a96}
body .btn:disabled,body button:disabled{opacity:.65;cursor:not-allowed;transform:none}
body .btn:focus-visible,body button:focus-visible{outline:3px solid #00ded4;outline-offset:3px}
body :is(.sport-pager,.agenda-pager,.agenda-month-controls,.agenda-month-shortcuts,.rsvp-page-tools) button{background:var(--ui-secondary);color:var(--ui-secondary-text);border:1px solid #5b8b97;border-radius:10px;min-height:44px;padding:10px 15px;line-height:1.35}
body :is(.agenda-button,.agenda-button.secondary){background:var(--ui-secondary);color:var(--ui-secondary-text);border-color:#5b8b97;min-height:44px;line-height:1.4}
body .agenda-button.publish,body .agenda-reader-views button[aria-pressed=true]{background:#b8d132;color:#102d34;border-color:#b8d132}
body .form-row{align-items:end;gap:16px}
body .form-row>label{min-width:0;margin:0}
body label{line-height:1.5}
body label input,body label select,body label textarea{margin-top:7px}
body :is(.my-match-filters,.finance-controls,.agenda-reader-filters){align-items:end;gap:16px}
body :is(.my-match-filters,.finance-controls)>.btn{margin-bottom:0;min-height:48px}
body :is(.club-member-actions,.member-manager-buttons,.directory-actions,.agenda-editor-actions){display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body :is(td,dd,.club-form-status,[role=status]){overflow-wrap:anywhere}
body dialog{--muted:#46616c;--white:#173b47;background:var(--ui-light);color:var(--ui-light-text);border:1px solid var(--ui-border);border-radius:20px;box-shadow:0 24px 80px #001b2699;max-width:calc(100vw - 24px)}
body dialog::backdrop{background:#05232bc7}
body dialog header{position:relative;z-index:auto;background:transparent;color:inherit;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border:0;border-bottom:1px solid #c5dbe0;padding:0 0 16px;margin:0 0 18px}
body dialog h1,body dialog h2,body dialog h3{color:var(--ui-light-text);line-height:1.2;letter-spacing:-.4px}
body dialog p{color:var(--ui-muted);line-height:1.65;margin:0 0 16px}
body dialog header h2{margin:5px 0 0}
body dialog header .eyebrow{color:#37646f;line-height:1.5}
body dialog :is(.btn,.btn.secondary){color:var(--ui-secondary-text)!important;background:var(--ui-secondary);border-color:#3d7280;min-height:44px;border-radius:12px;padding:11px 17px}
body dialog .btn:not(.secondary){background:#00bcb5;color:#052e35!important;border-color:#008d8b}
body dialog :is(.link,.dashboard-text-link){color:#145d6d}
body dialog :is(input,textarea,select){--field-text:#f4fbfc;--field-muted:#c5dce3}
body dialog dl{margin-block:18px}
body dialog :is(dt,dd){line-height:1.5}
body dialog dd{margin:0}
body .projection-dialog{padding:24px}
body .projection-dialog header>button{background:#154755;color:#fff;border-radius:12px;flex:0 0 44px;min-height:44px}
body .projection-dialog dl>div{gap:22px;padding:13px 16px}
body .projection-dialog dl dd{font-weight:800}
body .projection-dialog>.btn{margin-top:20px}
#joueur .rubric-welcome{padding:12px 18px;min-height:0;gap:12px;align-items:center}
#joueur .rubric-welcome .rubric-club-mark{display:flex;align-items:baseline;gap:3px;white-space:nowrap;min-width:0;font-size:25px;line-height:1;position:relative;padding:0}
#joueur .rubric-welcome .rubric-club-mark>span{display:inline;font-size:31px;line-height:1}
#joueur .rubric-welcome .rubric-club-mark>small{display:none}
#joueur .rubric-welcome:after,#joueur .rubric-club-mark:after{display:none}
#joueur .rubric-welcome h1{font-size:25px;line-height:1.2;margin:0}
#joueur .rubric-welcome .eyebrow{display:none}
#joueur .rubric-welcome p{display:none}
#joueur .rubric-section-heading{padding:14px 18px;margin-bottom:16px;gap:14px;min-height:0;border-radius:16px}
#joueur .rubric-section-heading .rubric-icon{width:42px;height:42px;min-width:42px}
#joueur .rubric-section-heading h2{font-size:26px;margin:0;line-height:1.2}
#joueur .rubric-section-heading .eyebrow,#joueur .rubric-section-heading p{display:none}
#joueur:has(#player-history:not([hidden])) .rubric-welcome{display:none}
#player-history .career-profile{padding:16px 20px;min-height:0;margin:0 0 14px}
#player-history .career-profile h2,#player-history .career-profile h1{font-size:27px;margin:0 0 5px}
#player-history .career-profile .eyebrow{display:none}
#player-history .career-profile p{margin:0}
.date-availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.date-availability-card{background:#113540;border:1px solid #487580;border-radius:16px;padding:16px;display:grid;gap:12px;min-width:0}
.date-availability-card h3{font-size:20px;margin:0;color:#f3fafb;line-height:1.3}
.date-availability-card small{color:#c4d9de;line-height:1.5}
.date-availability-actions{display:flex;gap:7px;flex-wrap:wrap}
.date-availability-actions button{flex:1 1 70px;min-height:44px;padding:9px 10px;border-radius:10px;border:1px solid #688e98;background:#123440;color:#eff9fb;line-height:1.3}
.date-availability-actions button[aria-pressed=true]{background:#b8d132;border-color:#b8d132;color:#142f34;font-weight:800}
.date-availability-card>label{display:flex;align-items:center;gap:8px;margin:0;color:#d7e8ec}
.member-team-card{background:#123540;border:1px solid #487580;border-radius:17px;padding:20px;margin:16px 0;color:#f1f8fa}
.member-team-card h3{font-size:24px;line-height:1.25;margin:7px 0 14px}
.member-team-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.member-team-facts>div{padding:12px;border-radius:11px;background:#0b2b36}
.member-team-facts dt{font-size:11px;color:#bdd6dc}
.member-team-facts dd{font-weight:750;margin:4px 0 0;line-height:1.5}
.member-team-card table{background:#0a2a35;border-radius:12px;overflow:hidden}
.member-team-card td,.member-team-card th{padding:11px 14px;line-height:1.5}
.member-team-card p{color:#c3d9df;line-height:1.6}
.member-team-card .tag{margin-bottom:4px}
.member-payment-summary{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;align-items:start}
.member-payment-card{background:#123c48;border:1px solid #4c7d88;padding:20px;border-radius:17px;color:#f0f9fb}
.member-payment-card h3{line-height:1.3;margin-bottom:10px}
.member-payment-card p{color:#c4dbe1}
.member-payment-card strong{font-size:36px;display:block;margin:12px 0}
.member-payment-card .btn{margin-top:12px}
.member-payment-qr{background:white;border-radius:12px;padding:14px;width:min(100%,260px);margin:14px auto}
.member-payment-qr svg{width:100%;height:auto;display:block}
.payment-details{display:grid;gap:12px;margin:18px 0}
.payment-details>div{padding:12px 14px;border:1px solid #5d8791;border-radius:11px;background:#0c2c37}
.payment-details dt{font-size:11px;color:#bcd8de;margin-bottom:5px}
.payment-details dd{margin:0;font-weight:750;overflow-wrap:anywhere;line-height:1.5}
.member-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.member-shop-product{border:1px solid #477480;border-radius:17px;padding:20px;background:#123540;display:grid;gap:12px}
.member-shop-product h3{font-size:24px;line-height:1.25;margin:0}
.member-shop-product p{margin:0;color:#c1d8de;line-height:1.6}
.member-shop-product .btn{align-self:end}
.member-shop-price{color:#b8d132;font-size:24px;font-weight:800}
.member-shop-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.member-shop-head h2{font-size:29px;line-height:1.25;margin:0}
.member-orders{margin-top:20px}
.member-order{padding:14px 16px;border:1px solid #477480;border-radius:12px;margin:10px 0;background:#0d303b}
@media(max-width:1000px){.date-availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.date-availability-grid,.member-payment-summary,.member-shop-grid{grid-template-columns:1fr}.member-team-facts{grid-template-columns:1fr 1fr}body .projection-dialog{padding:18px}body dialog dl>div{align-items:flex-start;gap:15px}#joueur .rubric-welcome h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){body .btn{transition:none}body .btn:hover{transform:none}}
[hidden]{display:none!important}
#player-history .career-intro{padding:15px 20px;gap:16px;margin-bottom:14px;flex-direction:row;align-items:center}#player-history .career-intro .eyebrow,#player-history .rubric-section-heading{display:none}#player-history .career-intro h3{font-size:26px;margin:0 0 6px}#player-history .career-intro p{font-size:13px;line-height:1.5}
#joueur .my-match-heading{padding:16px 20px;min-height:0;gap:16px;align-items:center}#joueur .my-match-heading h2{font-size:28px;line-height:1.25;margin:0}#joueur .my-match-heading .btn{flex-shrink:0}#joueur .date-availability-grid{align-items:stretch}
.finance-history-tools{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:18px 0}.finance-history-tools>label{min-width:160px}.finance-history-tools .sport-pager{margin:0}.finance-history-tools+details{margin-block:12px}
body dialog .agenda-audience{color:#264d5b;background:#dcebed;border:1px solid #b2ccd3}body dialog .agenda-date-line,body dialog .agenda-place,body dialog .agenda-help{color:#365c69}
body .member-payment-dialog{width:760px;padding:24px;max-height:calc(100dvh - 32px);overflow-y:auto}body .member-payment-dialog .member-payment-card{background:transparent;border:0;padding:0;color:#173b47;margin:0}body .member-payment-dialog .member-payment-card p{color:#365762}body .member-payment-dialog .payment-details{margin:0}body .member-payment-dialog .payment-details>div{background:#fff;border-color:#bdd3d9;padding:10px 13px}body .member-payment-dialog .payment-details dt{color:#49646f}body .member-payment-dialog .payment-details dd{color:#173b47;font-size:14px}body .member-payment-dialog .member-payment-qr{margin:0 auto 10px}body .member-payment-dialog .member-payment-summary{grid-template-columns:230px minmax(0,1fr);gap:20px;margin-bottom:18px}body .member-payment-dialog .member-payment-card .btn{margin:0}body .member-payment-dialog .payment-confirmation-note{margin:18px 0 10px}body .member-payment-dialog details p{margin-top:10px}body .member-payment-dialog .date-availability-actions{justify-content:flex-end}body .member-payment-dialog .date-availability-actions .btn{flex:0 1 auto}
.site-footer{position:relative;background:linear-gradient(135deg,#092c34,#06222c 65%,#103e46);border-top:1px solid #3d7880;padding:42px 0 24px;overflow:hidden;margin-top:40px}.site-footer:before{content:'';position:absolute;width:400px;height:400px;border:1px solid #00cfc725;border-radius:50%;right:-150px;top:-260px;box-shadow:0 0 0 45px #00cfc708,0 0 0 90px #00cfc705;pointer-events:none;animation:footer-orbit 10s ease-in-out infinite alternate}
.club-footer-heading{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-bottom:28px;border-bottom:1px solid #42747a}.site-footer .brand img{width:116px;height:104px;object-fit:contain;transition:transform .35s}.site-footer .brand:hover img{transform:rotate(-5deg)}.site-footer .brand b{display:block;font-size:19px;color:#f2fbfb;line-height:1.4}.site-footer .brand small{font-size:9px;color:#a9d9dc;display:block;letter-spacing:2px}.club-footer-heading p{color:#bed9de;margin:0;font-size:15px;line-height:1.7}.club-footer-heading p strong{color:#f3fafb;font-weight:500}
.club-footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:30px 0}.club-footer-links h2{font:750 16px/1.4 Arial,sans-serif;color:#00dfd2;margin:0 0 13px}.club-footer-links a,.site-footer .footer-link{display:flex;justify-content:space-between;gap:12px;padding:9px 0;color:#d3e5e9;font:400 14px/1.5 Arial,sans-serif;text-align:left;background:transparent;border:0}.club-footer-links a span{color:#ff9b75;transition:transform .2s}.club-footer-links a:hover,.site-footer .footer-link:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}.club-footer-links a:hover span{transform:translate(3px,-3px)}.club-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid #42747a;padding:22px 38px 0;color:#c3dce1;font-size:12px}.club-footer-bottom b{white-space:nowrap;color:#fff}
.club-floating{position:fixed;bottom:22px;z-index:80;border:1px solid #64939b;border-radius:17px;background:#e8f4f4;color:#123a45!important;box-shadow:0 5px 20px #001d2855;display:grid;justify-items:center;align-content:center;min-width:64px;min-height:70px;padding:6px;font-size:10px;font-weight:800;line-height:1.4;transition:transform .2s,box-shadow .2s}.club-floating:hover{transform:translateY(-4px);box-shadow:0 9px 25px #001d2877}.club-cookie-button{left:18px}.club-cookie-button svg{width:43px;height:43px;transition:transform .3s}.club-cookie-button:hover svg{transform:rotate(-12deg)}.club-top-button{right:18px}.club-top-button svg{width:43px;height:43px;fill:none;stroke:#174856;stroke-width:2}.club-scroll-track{stroke:#b7d1d7}.club-top-button .club-scroll-value{stroke:#008f8b;stroke-width:3;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--scroll-progress,0));transform:rotate(-90deg);transform-origin:center}
.club-cookie-dialog{width:620px;padding:26px}.club-cookie-essential{padding:16px;border:1px solid #a5c7cf;border-radius:13px;background:#dcebec;margin:18px 0;color:#173c47}.club-cookie-essential p{margin:8px 0 0}
.club-legal-page .wrap{max-width:1050px}.club-legal-page .page-top{padding-block:24px}.club-legal-page .page-title{font-size:clamp(32px,5vw,52px);line-height:1.1}.club-legal-page .panel{padding:28px;margin-bottom:40px;background:#eaf3f4;color:#173b47}.club-legal-page .panel h2,.club-legal-page .panel h3{color:#173b47;line-height:1.3}.club-legal-page .panel p{color:#365762;line-height:1.8}.club-legal-page .panel h3{margin:26px 0 12px}.club-legal-page .panel a:not(.btn){color:#076e7a;text-decoration:underline;text-underline-offset:3px}.club-legal-page .notice{background:#dbe9eb;color:#314f5b;border-color:#97bac2}.legal-facts{display:grid;gap:0;margin:20px 0}.legal-facts>div{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:18px;border-bottom:1px solid #bfd4d9;padding:13px 0}.legal-facts dt{font-weight:750}.legal-facts dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
#club-shop-management fieldset{border:1px solid #6e98a3;border-radius:12px;padding:15px;margin:16px 0}#club-shop-management legend{font-weight:800;padding:0 8px}#club-legal-settings form{display:grid;gap:16px}
@keyframes footer-orbit{to{transform:translate(-30px,25px)}}
@media(max-width:1000px){.club-footer-heading{flex-wrap:wrap}.club-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.club-footer-heading{align-items:flex-start;gap:20px}.club-footer-heading p{width:100%}.club-footer-links{gap:20px}.club-footer-links a,.site-footer .footer-link{font-size:13px}.club-footer-bottom{padding-inline:0;padding-bottom:90px}.site-footer .brand img{width:90px;height:85px}.legal-facts>div{grid-template-columns:1fr;gap:6px}.club-legal-page .panel{padding:20px}#player-history .career-intro{flex-direction:column;align-items:flex-start}.club-cookie-dialog{padding:20px}#joueur .club-session-toolbar{padding:10px 12px;gap:4px;margin-top:12px}#joueur .club-session-links{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;width:100%;justify-content:space-between}#joueur .club-session-links>a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}#joueur .club-session-toolbar [data-club-logout]{padding-inline:10px}#joueur .rubric-toggle{min-height:48px;padding:12px 14px}#joueur .app-shell{gap:16px}#joueur .my-match-heading [data-player-tab=matches]{display:none}#joueur .my-match-heading{padding:15px 18px}#joueur .my-match-heading h2{font-size:24px}.club-floating{bottom:76px;min-width:46px;min-height:46px;border-radius:14px;padding:5px}.club-floating>span{display:none}.club-floating svg{width:34px;height:34px}.club-cookie-button{left:10px}.club-top-button{right:10px}}
@media(max-width:620px){body .member-payment-dialog .member-payment-summary{grid-template-columns:1fr}body .member-payment-dialog{padding:18px}body .member-payment-dialog .member-payment-qr{max-width:215px}}
body.paused .site-footer:before{animation:none}@media(prefers-reduced-motion:reduce){.site-footer:before{animation:none}.club-floating,.club-cookie-button svg,.club-footer-links a span,.site-footer .brand img{transition:none}.club-floating:hover,.club-cookie-button:hover svg,.club-footer-links a:hover span,.site-footer .brand:hover img{transform:none}}
@media print{body:has(.member-team-card) .site-header,body:has(.member-team-card) .site-footer,body:has(.member-team-card) .club-floating{display:none}body:has(.member-team-card) .member-team-card{break-inside:avoid;background:#fff;color:#111}body:has(.member-team-card) .member-team-card :is(p,th,td,dt,dd){color:#111;background:#fff}}
