.assoc-public{--assoc-primary:var(--primary,#2254d8);--assoc-soft:var(--primary-soft,#eef4ff);--assoc-border:var(--border-color,#dbe3ef);--assoc-surface:var(--surface,#fff);--assoc-text:var(--text-color,#172033);--assoc-muted:var(--muted,#667085)}
.assoc-public-hero{position:relative;overflow:hidden;margin:0 0 1.25rem;padding:clamp(1.6rem,4vw,3.2rem);border:1px solid var(--assoc-border);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--assoc-primary) 12%,#fff),color-mix(in srgb,#7c3aed 9%,#fff));box-shadow:0 18px 48px rgba(15,23,42,.08)}
.assoc-public-hero:after{content:'';position:absolute;right:-80px;top:-90px;width:280px;height:280px;border-radius:50%;background:color-mix(in srgb,var(--assoc-primary) 16%,transparent)}
.assoc-public-hero-content{position:relative;z-index:1;max-width:760px}.assoc-public-eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .66rem;border-radius:999px;background:var(--assoc-surface);color:var(--assoc-primary);font-size:.75rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 14px rgba(15,23,42,.07)}
.assoc-public-hero h1{margin:.8rem 0 .45rem;font-size:clamp(2rem,5vw,3.6rem);line-height:1.03;color:var(--assoc-text)}.assoc-public-hero p{margin:0;color:var(--assoc-muted);font-size:1.05rem;line-height:1.6}
.assoc-public-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:1rem}.assoc-public-card{border:1px solid var(--assoc-border);border-radius:18px;background:var(--assoc-surface);box-shadow:0 8px 28px rgba(15,23,42,.05);padding:1.15rem}.assoc-public-card h2,.assoc-public-card h3{margin-top:0}.assoc-public-contact{display:grid;gap:.7rem}.assoc-public-contact-row{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem;border-radius:12px;background:color-mix(in srgb,var(--assoc-soft) 50%,#fff)}.assoc-public-contact-row svg{width:20px;height:20px;fill:none;stroke:var(--assoc-primary);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.assoc-public-contact-row strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;color:var(--assoc-muted)}.assoc-public-contact-row span,.assoc-public-contact-row a{display:block;margin-top:.12rem;color:var(--assoc-text);text-decoration:none;font-weight:720;word-break:break-word}
.assoc-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.assoc-event-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--assoc-border);border-radius:18px;background:var(--assoc-surface);box-shadow:0 8px 28px rgba(15,23,42,.05)}.assoc-event-top{padding:1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--assoc-primary) 12%,#fff),color-mix(in srgb,var(--assoc-soft) 70%,#fff))}.assoc-event-top h3{margin:.5rem 0 .2rem}.assoc-event-date{display:inline-flex;padding:.3rem .58rem;border-radius:999px;background:var(--assoc-surface);color:var(--assoc-primary);font-size:.78rem;font-weight:850}.assoc-event-body{display:flex;flex:1;flex-direction:column;padding:1rem}.assoc-event-meta{display:grid;gap:.4rem;margin:.7rem 0;color:var(--assoc-muted);font-size:.88rem}.assoc-event-meta strong{color:var(--assoc-text)}.assoc-event-form{display:grid;gap:.65rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--assoc-border)}.assoc-event-form label{display:grid;gap:.32rem;font-size:.82rem;font-weight:750}.assoc-event-form input,.assoc-event-form textarea{width:100%;border:1px solid var(--assoc-border);border-radius:10px;background:var(--assoc-surface)}
.assoc-payment-shell{max-width:760px;margin:0 auto}.assoc-payment-card{padding:1.3rem;border:1px solid var(--assoc-border);border-radius:20px;background:var(--assoc-surface);box-shadow:0 14px 40px rgba(15,23,42,.08)}.assoc-payment-summary{display:grid;gap:.65rem;margin:0 0 1.2rem}.assoc-payment-row{display:flex;justify-content:space-between;gap:1rem;padding:.72rem .8rem;border-radius:11px;background:color-mix(in srgb,var(--assoc-soft) 42%,#fff)}.assoc-payment-row dt{color:var(--assoc-muted);font-weight:700}.assoc-payment-row dd{margin:0;text-align:right;font-weight:800}.assoc-payment-total{font-size:1.2rem;color:var(--assoc-primary)}.assoc-payment-action .btn{width:100%;padding:.85rem;text-align:center}.assoc-result-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#ecfdf3;color:#027a48;font-size:1.7rem;font-weight:900}.assoc-result-icon.error{background:#fef3f2;color:#b42318}
@media(max-width:1000px){.assoc-public-grid{grid-template-columns:1fr}.assoc-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.assoc-event-grid{grid-template-columns:1fr}.assoc-public-hero{border-radius:18px}.assoc-public-card,.assoc-event-card,.assoc-payment-card{border-radius:15px}.assoc-payment-row{align-items:flex-start;flex-direction:column}.assoc-payment-row dd{text-align:left}}

/* Association 2.0 — foyers, calendriers et facturation */
.assoc-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin:1rem 0}.assoc-family-card{padding:1rem;border:1px solid var(--assoc-border,var(--border-color,#dbe3ef));border-radius:16px;background:var(--assoc-surface,var(--surface,#fff));box-shadow:0 6px 20px rgba(15,23,42,.04)}.assoc-family-card.holder{background:linear-gradient(135deg,color-mix(in srgb,var(--primary,#2254d8) 10%,#fff),#fff)}.assoc-family-card.inactive{opacity:.62}.assoc-family-card h3{margin:.65rem 0 .35rem}.assoc-family-card p{margin:.25rem 0;color:var(--muted,#667085)}.assoc-family-add{margin-top:1rem;padding:.85rem 1rem;border:1px dashed var(--border-color,#dbe3ef);border-radius:14px}.assoc-family-add summary{cursor:pointer;font-weight:850;color:var(--primary,#2254d8)}.assoc-family-add[open] summary{margin-bottom:1rem}
.assoc-activity-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.assoc-activity-choice{position:relative;overflow:hidden;display:grid;gap:.25rem;padding:1rem;border:1px solid var(--border-color,#dbe3ef);border-radius:15px;background:var(--surface,#fff);color:inherit;text-decoration:none}.assoc-activity-choice:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:var(--activity-color)}.assoc-activity-choice:hover,.assoc-activity-choice.active{border-color:var(--activity-color);box-shadow:0 9px 24px rgba(15,23,42,.08)}.assoc-activity-choice strong{font-size:1rem}.assoc-activity-choice span{font-weight:800;color:var(--activity-color)}.assoc-activity-choice small{color:var(--muted,#667085)}
.assoc-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;text-align:center}.assoc-calendar-toolbar h2{margin:0}.assoc-calendar-toolbar p{margin:.25rem 0 0;color:var(--muted,#667085)}.assoc-calendar-head,.assoc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.assoc-calendar-head{margin-bottom:.45rem}.assoc-calendar-head span{text-align:center;font-size:.75rem;font-weight:850;color:var(--muted,#667085);text-transform:uppercase}.assoc-calendar-day{min-height:150px;padding:.55rem;border:1px solid var(--border-color,#dbe3ef);border-radius:13px;background:var(--surface,#fff)}.assoc-calendar-day.outside{opacity:.35;background:color-mix(in srgb,var(--primary-soft,#eef4ff) 30%,#fff)}.assoc-calendar-day.today{border-color:var(--primary,#2254d8);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary,#2254d8) 12%,transparent)}.assoc-calendar-day>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.assoc-calendar-day>header span{font-size:.64rem;font-weight:850;color:var(--primary,#2254d8)}.assoc-calendar-closed{color:var(--muted,#667085)}.assoc-slot-list{display:grid;gap:.42rem}.assoc-slot{display:grid;gap:.38rem;padding:.48rem;border-radius:10px;background:color-mix(in srgb,var(--primary-soft,#eef4ff) 42%,#fff)}.assoc-slot.full{background:#fff1f0}.assoc-slot>div:first-child{display:grid}.assoc-slot small{font-size:.67rem;color:var(--muted,#667085)}.assoc-slot-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem}.assoc-slot-form select{min-width:0;padding:.35rem;border:1px solid var(--border-color,#dbe3ef);border-radius:8px;background:var(--surface,#fff);font-size:.72rem}.assoc-own-booking{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.35rem;border-radius:8px;background:#ecfdf3;color:#027a48;font-size:.69rem;font-weight:800}.assoc-own-booking form{margin:0}.assoc-own-booking .link{font-size:.68rem}
.assoc-invoice-card{page-break-inside:avoid}.assoc-admin-invoice{margin:.75rem 0;border:1px solid var(--border-color,#dbe3ef);border-radius:14px;background:var(--surface,#fff);overflow:hidden}.assoc-admin-invoice summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;cursor:pointer;background:color-mix(in srgb,var(--primary-soft,#eef4ff) 32%,#fff)}.assoc-admin-invoice summary span{display:grid;gap:.12rem}.assoc-admin-invoice summary small{color:var(--muted,#667085)}.assoc-admin-invoice>.assoc-table-wrap{margin:.8rem}.assoc-inline-payment{display:flex;align-items:end;gap:.6rem;padding:0 .8rem .8rem}.assoc-inline-payment label{display:grid;gap:.3rem;font-weight:750}.assoc-activity-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}.assoc-activity-admin-card{position:relative;overflow:hidden;padding:1rem;border:1px solid var(--border-color,#dbe3ef);border-radius:16px;background:var(--surface,#fff)}.assoc-activity-strip{position:absolute;inset:0 0 auto;height:5px;background:var(--activity-color)}.assoc-activity-admin-card h3{margin:.8rem 0 .35rem}.assoc-activity-admin-card p{color:var(--muted,#667085);min-height:3em}.assoc-activity-admin-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.8rem 0}.assoc-activity-admin-card dl div{padding:.5rem;border-radius:9px;background:color-mix(in srgb,var(--primary-soft,#eef4ff) 38%,#fff)}.assoc-activity-admin-card dt{font-size:.65rem;text-transform:uppercase;color:var(--muted,#667085)}.assoc-activity-admin-card dd{margin:.15rem 0 0;font-weight:850;font-size:.78rem}
@media(max-width:1100px){.assoc-calendar-head,.assoc-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assoc-calendar-head{display:none}.assoc-calendar-day.outside{display:none}}
@media(max-width:650px){.assoc-calendar-toolbar{align-items:stretch;flex-direction:column}.assoc-calendar-head,.assoc-calendar-grid{grid-template-columns:1fr}.assoc-calendar-day{min-height:auto}.assoc-inline-payment{align-items:stretch;flex-direction:column}.assoc-admin-invoice summary{align-items:flex-start;flex-direction:column}.assoc-slot-form{grid-template-columns:1fr}}

/* Calendriers mensuels cliquables et réservation groupée — beta3.83 */
.assoc-booking-intro{overflow:hidden}.assoc-global-month-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border-color,#dbe3ef);border-radius:16px;background:color-mix(in srgb,var(--primary-soft,#eef4ff) 45%,#fff)}.assoc-global-month-nav>div{display:grid;gap:.2rem;text-align:center}.assoc-global-month-nav strong{font-size:1.15rem}.assoc-global-month-nav small{color:var(--muted,#667085)}
.assoc-activity-calendars{display:grid;gap:1.4rem}.assoc-activity-calendar{scroll-margin-top:1rem;border-top:5px solid var(--activity-color,#2563eb)}.assoc-activity-calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1rem}.assoc-activity-title{display:flex;align-items:flex-start;gap:.8rem;max-width:720px}.assoc-activity-title h2{margin:.3rem 0}.assoc-activity-title p{margin:0;color:var(--muted,#667085)}.assoc-activity-dot{width:18px;height:18px;margin-top:.45rem;border-radius:50%;background:var(--activity-color,#2563eb);box-shadow:0 0 0 6px color-mix(in srgb,var(--activity-color,#2563eb) 15%,transparent)}.assoc-activity-facts{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:.45rem;min-width:min(100%,360px)}.assoc-activity-facts span{display:grid;gap:.1rem;padding:.6rem .7rem;border:1px solid var(--border-color,#dbe3ef);border-radius:12px;background:var(--surface,#fff);font-size:.76rem;color:var(--muted,#667085)}.assoc-activity-facts strong{font-size:.84rem;color:var(--text,#182230)}
.assoc-month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.assoc-month-day{min-height:105px;padding:.65rem;border:1px solid var(--border-color,#dbe3ef);border-radius:13px;background:var(--surface,#fff);text-align:left;color:inherit}.assoc-month-day.available{display:flex;flex-direction:column;gap:.22rem;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.assoc-month-day.available:hover,.assoc-month-day.available.is-selected{transform:translateY(-2px);border-color:var(--activity-color,#2563eb);box-shadow:0 8px 24px color-mix(in srgb,var(--activity-color,#2563eb) 18%,transparent)}.assoc-month-day.is-selected{background:color-mix(in srgb,var(--activity-color,#2563eb) 9%,#fff)}.assoc-month-day.today{outline:2px solid color-mix(in srgb,var(--activity-color,#2563eb) 42%,transparent);outline-offset:1px}.assoc-month-day.full{background:#fff7f6}.assoc-month-day.closed{display:flex;flex-direction:column;gap:.25rem;opacity:.66;background:color-mix(in srgb,var(--primary-soft,#eef4ff) 28%,#fff)}.assoc-month-day.outside{opacity:.25;background:transparent}.assoc-month-day-number{font-size:1.05rem;font-weight:900}.assoc-month-day strong{margin-top:auto;font-size:.78rem}.assoc-month-day small{font-size:.68rem;color:var(--muted,#667085)}.assoc-month-day em{margin-top:.25rem;padding:.22rem .35rem;border-radius:7px;background:#ecfdf3;color:#027a48;font-size:.65rem;font-style:normal;font-weight:850}
.assoc-day-panels{margin-top:1rem}.assoc-day-panel{padding:1rem;border:1px solid color-mix(in srgb,var(--activity-color,#2563eb) 32%,var(--border-color,#dbe3ef));border-radius:16px;background:color-mix(in srgb,var(--activity-color,#2563eb) 5%,#fff)}.assoc-day-panel[hidden]{display:none}.assoc-day-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.assoc-day-panel-header h3{margin:.25rem 0 0}.assoc-day-panel-header>span{font-weight:850;color:var(--activity-color,#2563eb)}.assoc-day-slot-list{display:grid;gap:.65rem}.assoc-day-slot{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(160px,.8fr) minmax(250px,1.65fr);align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--border-color,#dbe3ef);border-radius:13px;background:var(--surface,#fff)}.assoc-day-slot.full{background:#fff7f6}.assoc-day-slot.is-selected{border-color:var(--activity-color,#2563eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--activity-color,#2563eb) 13%,transparent)}.assoc-slot-time{display:grid}.assoc-slot-time strong{font-size:1rem}.assoc-slot-time small{color:var(--muted,#667085)}.assoc-slot-existing{display:flex;flex-wrap:wrap;gap:.3rem}.assoc-slot-existing span{padding:.25rem .45rem;border-radius:8px;background:#ecfdf3;color:#027a48;font-size:.68rem;font-weight:800}.assoc-participant-select{display:grid;gap:.3rem}.assoc-participant-select>span{font-size:.72rem;font-weight:850;color:var(--muted,#667085);text-transform:uppercase}.assoc-participant-select select{width:100%;padding:.66rem;border:1px solid var(--border-color,#dbe3ef);border-radius:10px;background:var(--surface,#fff);font:inherit}
.assoc-batch-confirmation{position:sticky;bottom:.7rem;z-index:15;display:grid;gap:1rem;border:2px solid var(--primary,#2254d8);box-shadow:0 16px 40px rgba(15,23,42,.16)}.assoc-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}.assoc-selection-summary>div{display:grid;gap:.2rem}.assoc-selection-summary strong{font-size:1.16rem}.assoc-selection-summary small,.assoc-selection-summary span{color:var(--muted,#667085)}.assoc-selection-summary>div:last-child{text-align:right}.assoc-confirm-bookings{width:100%;justify-content:center;padding:.85rem 1rem}.assoc-batch-confirmation .captcha-box{margin:0}
@media(max-width:1000px){.assoc-activity-calendar-header{flex-direction:column}.assoc-activity-facts{width:100%}.assoc-month-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.assoc-calendar-head{display:none}.assoc-month-day.outside{display:none}.assoc-day-slot{grid-template-columns:1fr 1fr}.assoc-participant-select{grid-column:1/-1}}
@media(max-width:650px){.assoc-global-month-nav{align-items:stretch;flex-direction:column}.assoc-global-month-nav .btn{text-align:center;justify-content:center}.assoc-activity-facts{grid-template-columns:1fr}.assoc-month-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assoc-month-day{min-height:92px}.assoc-day-panel-header,.assoc-selection-summary{align-items:stretch;flex-direction:column}.assoc-selection-summary>div:last-child{text-align:left}.assoc-day-slot{grid-template-columns:1fr}.assoc-participant-select{grid-column:auto}.assoc-batch-confirmation{position:static}}

/* Association beta3.84 — planning familial professionnel */
.assoc-page-actions{margin-bottom:1rem}.assoc-booking-command-bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.15rem 1.25rem}.assoc-booking-command-copy{display:flex;align-items:flex-start;gap:1rem}.assoc-booking-command-copy h2{margin:.1rem 0 .3rem}.assoc-booking-command-copy p{margin:0;max-width:760px;color:var(--muted,#667085)}.assoc-month-navigation{display:flex;align-items:center;gap:.65rem;flex:0 0 auto;padding:.42rem;border:1px solid var(--border-color,#dbe3ef);border-radius:15px;background:color-mix(in srgb,var(--primary-soft,#eef4ff) 45%,#fff)}.assoc-month-navigation>div{display:grid;min-width:155px;text-align:center}.assoc-month-navigation small{font-size:.66rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#667085)}.assoc-month-navigation strong{font-size:.95rem}.assoc-month-arrow,.assoc-week-nav{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--border-color,#dbe3ef);border-radius:10px;background:var(--surface,#fff);color:var(--primary,#2254d8);font:inherit;font-size:1.08rem;font-weight:900;text-decoration:none;cursor:pointer}.assoc-month-arrow:hover,.assoc-week-nav:hover:not(:disabled){border-color:var(--primary,#2254d8);transform:translateY(-1px)}.assoc-week-nav:disabled{opacity:.38;cursor:not-allowed}
.assoc-activity-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:.65rem;margin:1rem 0}.assoc-activity-selector-item{display:flex;align-items:center;gap:.72rem;min-width:0;padding:.78rem .85rem;border:1px solid var(--border-color,#dbe3ef);border-radius:14px;background:var(--surface,#fff);color:inherit;text-decoration:none;transition:.16s ease}.assoc-activity-selector-item:hover,.assoc-activity-selector-item.is-current{border-color:var(--activity-color,#2563eb);background:color-mix(in srgb,var(--activity-color,#2563eb) 6%,#fff);box-shadow:0 8px 22px color-mix(in srgb,var(--activity-color,#2563eb) 14%,transparent);transform:translateY(-1px)}.assoc-activity-selector-icon{width:11px;height:38px;border-radius:999px;background:var(--activity-color,#2563eb);flex:0 0 auto}.assoc-activity-selector-item>span:last-child{display:grid;min-width:0}.assoc-activity-selector-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assoc-activity-selector-item small{margin-top:.12rem;color:var(--muted,#667085);font-size:.7rem}
.assoc-booking-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,335px);align-items:start;gap:1rem}.assoc-booking-main{display:grid;gap:1rem;min-width:0}.assoc-activity-card{scroll-margin-top:1rem;border:1px solid var(--border-color,#dbe3ef);border-radius:18px;background:var(--surface,#fff);box-shadow:0 8px 28px rgba(15,23,42,.055);overflow:hidden}.assoc-activity-card[open]{border-color:color-mix(in srgb,var(--activity-color,#2563eb) 36%,var(--border-color,#dbe3ef));box-shadow:0 13px 36px color-mix(in srgb,var(--activity-color,#2563eb) 11%,transparent)}.assoc-activity-card-summary{display:grid;grid-template-columns:8px minmax(0,1fr) auto 28px;align-items:center;gap:1rem;padding:1rem 1.1rem;cursor:pointer;list-style:none;user-select:none}.assoc-activity-card-summary::-webkit-details-marker{display:none}.assoc-activity-card-color{align-self:stretch;min-height:68px;border-radius:999px;background:var(--activity-color,#2563eb)}.assoc-activity-card-heading{display:grid;min-width:0}.assoc-activity-card-heading small{font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--activity-color,#2563eb)}.assoc-activity-card-heading strong{margin:.12rem 0;font-size:1.16rem}.assoc-activity-card-heading em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#667085);font-size:.82rem;font-style:normal}.assoc-activity-card-metrics{display:grid;grid-template-columns:repeat(4,minmax(74px,1fr));gap:.42rem}.assoc-activity-card-metrics>span{display:grid;padding:.46rem .54rem;border:1px solid color-mix(in srgb,var(--activity-color,#2563eb) 15%,var(--border-color,#dbe3ef));border-radius:10px;background:color-mix(in srgb,var(--activity-color,#2563eb) 5%,#fff);text-align:center}.assoc-activity-card-metrics small{font-size:.6rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase;color:var(--muted,#667085)}.assoc-activity-card-metrics strong{font-size:.78rem;white-space:nowrap}.assoc-activity-card-toggle{color:var(--activity-color,#2563eb);font-size:1.35rem;transition:transform .18s ease}.assoc-activity-card[open] .assoc-activity-card-toggle{transform:rotate(180deg)}.assoc-activity-card-body{padding:0 1rem 1rem;border-top:1px solid var(--border-color,#dbe3ef)}
.assoc-planning-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0}.assoc-planning-toolbar-title,.assoc-planning-toolbar-actions{display:flex;align-items:center;gap:.6rem}.assoc-planning-toolbar-title>div{display:grid}.assoc-planning-toolbar-title small{color:var(--muted,#667085);font-size:.7rem}.assoc-calendar-status-dot{width:9px;height:9px;border-radius:50%;background:var(--activity-color,#2563eb);box-shadow:0 0 0 4px color-mix(in srgb,var(--activity-color,#2563eb) 15%,transparent)}.assoc-location-pill{padding:.38rem .58rem;border-radius:999px;background:color-mix(in srgb,var(--activity-color,#2563eb) 7%,#fff);color:var(--activity-color,#2563eb);font-size:.72rem;font-weight:850}.assoc-planning-layout{display:grid;grid-template-columns:235px minmax(0,1fr);align-items:start;gap:1rem}.assoc-month-picker{position:sticky;top:1rem;padding:.85rem;border:1px solid var(--border-color,#dbe3ef);border-radius:14px;background:color-mix(in srgb,var(--activity-color,#2563eb) 3%,#fff)}.assoc-month-picker-title{display:grid;margin-bottom:.7rem}.assoc-month-picker-title small{margin-top:.1rem;color:var(--muted,#667085);font-size:.67rem}.assoc-month-picker-head,.assoc-month-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.24rem}.assoc-month-picker-head{margin-bottom:.25rem}.assoc-month-picker-head span{text-align:center;color:var(--muted,#667085);font-size:.58rem;font-weight:900;text-transform:uppercase}.assoc-month-day{position:relative;display:grid;place-items:center;min-height:34px;padding:.18rem;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:center}.assoc-month-day strong{font-size:.7rem}.assoc-month-day small{display:none}.assoc-month-day.is-outside{opacity:.2}.assoc-month-day.is-closed{opacity:.42}.assoc-month-day.is-available{border-color:color-mix(in srgb,var(--activity-color,#2563eb) 20%,var(--border-color,#dbe3ef));background:#fff;cursor:pointer}.assoc-month-day.is-available:hover,.assoc-month-day.is-week{border-color:var(--activity-color,#2563eb);background:color-mix(in srgb,var(--activity-color,#2563eb) 8%,#fff)}.assoc-month-day.is-selected{color:#fff;background:var(--activity-color,#2563eb);box-shadow:0 4px 10px color-mix(in srgb,var(--activity-color,#2563eb) 30%,transparent)}.assoc-month-day.is-today{outline:2px solid color-mix(in srgb,var(--activity-color,#2563eb) 35%,transparent);outline-offset:1px}.assoc-month-day i{position:absolute;right:-2px;top:-3px;display:grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:#027a48;color:#fff;font-size:.52rem;font-style:normal;font-weight:900}.assoc-month-picker-legend{display:grid;gap:.28rem;margin-top:.7rem;padding-top:.65rem;border-top:1px solid var(--border-color,#dbe3ef)}.assoc-month-picker-legend span{display:flex;align-items:center;gap:.42rem;color:var(--muted,#667085);font-size:.63rem}.assoc-month-picker-legend i{width:10px;height:10px;border-radius:3px;background:#fff;border:1px solid var(--activity-color,#2563eb)}.assoc-month-picker-legend i.selected{background:color-mix(in srgb,var(--activity-color,#2563eb) 18%,#fff)}.assoc-month-picker-legend i.booked{border:0;border-radius:50%;background:#027a48}
.assoc-week-planner-shell{min-width:0}.assoc-week-panel[hidden]{display:none}.assoc-week-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem;padding:.7rem .8rem;border:1px solid var(--border-color,#dbe3ef);border-radius:12px;background:color-mix(in srgb,var(--activity-color,#2563eb) 4%,#fff)}.assoc-week-panel-header small{font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--activity-color,#2563eb)}.assoc-week-panel-header h3{margin:.1rem 0 0;font-size:1rem}.assoc-week-panel-header>span{color:var(--muted,#667085);font-size:.7rem}.assoc-week-scroll{overflow:auto;border:1px solid var(--border-color,#dbe3ef);border-radius:14px;background:#fff;box-shadow:inset 0 1px 0 rgba(15,23,42,.03)}.assoc-week-grid{position:relative;display:grid;grid-template-columns:62px repeat(7,minmax(145px,1fr));grid-template-rows:58px repeat(var(--time-rows),28px);min-width:1080px}.assoc-week-corner,.assoc-week-day-head,.assoc-week-time,.assoc-week-grid-cell{border-right:1px solid var(--border-color,#dbe3ef);border-bottom:1px solid color-mix(in srgb,var(--border-color,#dbe3ef) 72%,#fff)}.assoc-week-corner{position:sticky;left:0;top:0;z-index:8;display:grid;place-items:center;grid-column:1;grid-row:1;background:#f8fafc;color:var(--muted,#667085);font-size:.64rem;font-weight:900;text-transform:uppercase}.assoc-week-day-head{position:sticky;top:0;z-index:7;display:grid;place-items:center;padding:.45rem;background:#f8fafc;text-align:center}.assoc-week-day-head small{font-size:.62rem;font-weight:850;text-transform:uppercase;color:var(--muted,#667085)}.assoc-week-day-head strong{font-size:.82rem}.assoc-week-day-head.is-today{color:var(--activity-color,#2563eb);background:color-mix(in srgb,var(--activity-color,#2563eb) 9%,#fff)}.assoc-week-day-head.is-outside{opacity:.42}.assoc-week-day-head.is-focused-day{box-shadow:inset 0 -4px 0 var(--activity-color,#2563eb)}.assoc-week-time{position:sticky;left:0;z-index:5;padding:.2rem .38rem;background:#fbfcfe;color:var(--muted,#667085);font-size:.62rem;text-align:right}.assoc-week-time.is-hour{font-weight:850;color:var(--text,#182230)}.assoc-week-grid-cell{background:#fff}.assoc-week-grid-cell.is-hour{border-bottom-color:var(--border-color,#dbe3ef)}.assoc-week-grid-cell.is-outside{background:#f8fafc}.assoc-week-grid-cell.is-focused-day{background:color-mix(in srgb,var(--activity-color,#2563eb) 3.5%,#fff)}
.assoc-schedule-slot{position:relative;z-index:3;display:flex;flex-direction:column;gap:.25rem;margin:3px;padding:.48rem .5rem;border:1px solid color-mix(in srgb,var(--activity-color,#2563eb) 44%,var(--border-color,#dbe3ef));border-left:5px solid var(--activity-color,#2563eb);border-radius:9px;background:color-mix(in srgb,var(--activity-color,#2563eb) 10%,#fff);overflow:auto;box-shadow:0 3px 10px rgba(15,23,42,.07);transition:.15s ease}.assoc-schedule-slot:hover,.assoc-schedule-slot.is-selected{z-index:6;border-color:var(--activity-color,#2563eb);box-shadow:0 8px 22px color-mix(in srgb,var(--activity-color,#2563eb) 18%,transparent)}.assoc-schedule-slot.is-warning{border-left-color:#f79009;background:#fffaeb}.assoc-schedule-slot.is-full{border-left-color:#d92d20;background:#fff1f0}.assoc-schedule-slot.is-focused-day{outline:2px solid color-mix(in srgb,var(--activity-color,#2563eb) 28%,transparent);outline-offset:-1px}.assoc-schedule-slot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.assoc-schedule-slot-head strong{font-size:.74rem;white-space:nowrap}.assoc-schedule-slot-head span{padding:.12rem .28rem;border-radius:6px;background:rgba(255,255,255,.78);color:var(--text,#182230);font-size:.55rem;font-weight:900;white-space:nowrap}.assoc-schedule-meter{display:block;height:4px;border-radius:999px;background:rgba(255,255,255,.75);overflow:hidden}.assoc-schedule-meter i{display:block;width:var(--slot-fill,0%);height:100%;border-radius:inherit;background:var(--activity-color,#2563eb)}.assoc-schedule-slot.is-warning .assoc-schedule-meter i{background:#f79009}.assoc-schedule-slot.is-full .assoc-schedule-meter i{background:#d92d20}.assoc-schedule-slot>small{color:var(--muted,#667085);font-size:.58rem;line-height:1.25}.assoc-schedule-slot>em{padding:.18rem .28rem;border-radius:6px;background:#ecfdf3;color:#027a48;font-size:.56rem;font-style:normal;font-weight:850}.assoc-schedule-participant{display:grid;gap:.16rem;margin-top:auto}.assoc-schedule-participant>span{font-size:.55rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase;color:var(--muted,#667085)}.assoc-schedule-participant select{width:100%;min-width:0;padding:.32rem .38rem;border:1px solid color-mix(in srgb,var(--activity-color,#2563eb) 30%,var(--border-color,#dbe3ef));border-radius:7px;background:#fff;font:inherit;font-size:.62rem}.assoc-schedule-participant select:focus{outline:2px solid color-mix(in srgb,var(--activity-color,#2563eb) 25%,transparent);border-color:var(--activity-color,#2563eb)}.assoc-schedule-full{margin-top:auto;padding:.24rem;border-radius:7px;background:#fff;color:#b42318;font-size:.6rem;font-weight:900;text-align:center}
.assoc-booking-sidebar{position:sticky;top:1rem}.assoc-booking-summary-card{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--border-color,#dbe3ef);border-top:5px solid var(--primary,#2254d8);border-radius:17px;background:var(--surface,#fff);box-shadow:0 14px 38px rgba(15,23,42,.1)}.assoc-booking-summary-card header h2{margin:.3rem 0 .2rem;font-size:1.12rem}.assoc-booking-summary-card header p{margin:0;color:var(--muted,#667085);font-size:.78rem;line-height:1.45}.assoc-booking-summary-total{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.assoc-booking-summary-total>div{display:grid;padding:.62rem;border-radius:10px;background:var(--primary-soft,#eef4ff)}.assoc-booking-summary-total span,.assoc-booking-summary-total strong{font-weight:900}.assoc-booking-summary-total small{margin-top:.1rem;color:var(--muted,#667085);font-size:.62rem}.assoc-booking-summary-list{display:grid;gap:.42rem;max-height:285px;overflow:auto;margin:0;padding:0;list-style:none}.assoc-booking-summary-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.55rem;border:1px solid var(--border-color,#dbe3ef);border-radius:9px;background:#fff}.assoc-booking-summary-list li>div{display:grid;min-width:0}.assoc-booking-summary-list li strong{font-size:.72rem}.assoc-booking-summary-list li small{margin-top:.08rem;color:var(--muted,#667085);font-size:.63rem;line-height:1.3}.assoc-booking-summary-list li>span{color:var(--primary,#2254d8);font-size:.68rem;font-weight:900;white-space:nowrap}.assoc-booking-summary-list li.empty{display:block;text-align:center;color:var(--muted,#667085);font-size:.72rem;background:color-mix(in srgb,var(--primary-soft,#eef4ff) 28%,#fff)}.assoc-clear-bookings{justify-self:start;padding:0;border:0;background:none;color:var(--primary,#2254d8);font:inherit;font-size:.7rem;font-weight:850;cursor:pointer}.assoc-single-captcha{display:grid;gap:.4rem;padding-top:.7rem;border-top:1px solid var(--border-color,#dbe3ef)}.assoc-single-captcha>span{font-size:.65rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#667085)}.assoc-single-captcha .captcha-box{margin:0}.assoc-confirm-bookings{width:100%;justify-content:center;padding:.78rem}.assoc-confirm-bookings:disabled{opacity:.48;cursor:not-allowed}.assoc-booking-legal{color:var(--muted,#667085);font-size:.64rem;line-height:1.4;text-align:center}.assoc-reservations-history{margin-top:1rem}.empty-state.compact{padding:1rem}.empty-state.compact strong,.empty-state.compact span{display:block}
@media(max-width:1240px){.assoc-planning-layout{grid-template-columns:205px minmax(0,1fr)}.assoc-activity-card-summary{grid-template-columns:8px minmax(0,1fr) 28px}.assoc-activity-card-metrics{grid-column:2/4;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}}
@media(max-width:1050px){.assoc-booking-workspace{grid-template-columns:1fr}.assoc-booking-sidebar{position:static}.assoc-booking-summary-card{grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);align-items:start}.assoc-booking-summary-card header,.assoc-booking-summary-list{grid-column:1}.assoc-booking-summary-total,.assoc-clear-bookings,.assoc-single-captcha,.assoc-confirm-bookings,.assoc-booking-legal{grid-column:2}.assoc-booking-summary-total{grid-row:1}.assoc-planning-layout{grid-template-columns:1fr}.assoc-month-picker{position:static}.assoc-month-picker-grid{grid-template-columns:repeat(7,minmax(34px,1fr))}.assoc-month-day small{display:none}}
@media(max-width:760px){.assoc-booking-command-bar{align-items:stretch;flex-direction:column}.assoc-month-navigation{align-self:stretch;justify-content:space-between}.assoc-activity-selector{grid-template-columns:1fr 1fr}.assoc-activity-card-summary{gap:.7rem;padding:.85rem}.assoc-activity-card-heading em{white-space:normal}.assoc-activity-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.assoc-activity-card-body{padding:0 .75rem .75rem}.assoc-planning-toolbar{align-items:flex-start;flex-direction:column}.assoc-planning-toolbar-actions{width:100%;flex-wrap:wrap}.assoc-location-pill{margin-right:auto}.assoc-week-panel-header{align-items:flex-start;flex-direction:column}.assoc-booking-summary-card{grid-template-columns:1fr}.assoc-booking-summary-card>*{grid-column:1!important;grid-row:auto!important}}
@media(max-width:520px){.assoc-booking-command-copy{display:grid}.assoc-activity-selector{grid-template-columns:1fr}.assoc-activity-card-summary{grid-template-columns:7px minmax(0,1fr) 24px}.assoc-activity-card-metrics{grid-column:1/4}.assoc-month-picker{padding:.65rem}.assoc-month-picker-head,.assoc-month-picker-grid{gap:.12rem}.assoc-month-day{min-height:31px}.assoc-week-grid{grid-template-columns:54px repeat(7,minmax(132px,1fr))}.assoc-booking-summary-total{grid-template-columns:1fr}.assoc-month-navigation>div{min-width:0}}

/* Portix V3 beta3.86 — activation visible et tableaux Association. */
.assoc-module-state-panel{border-left:5px solid var(--primary,#2563eb)}
.assoc-public-admin-control{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--border-color,#dbe3ef);border-radius:16px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.assoc-public-admin-control>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.2rem .6rem;margin-right:auto}.assoc-public-admin-control>div small{grid-column:2;color:var(--muted,#667085)}
.assoc-activities-admin-table{min-width:980px}.assoc-activities-admin-table td:nth-child(2){min-width:230px}.assoc-activities-admin-table td:nth-child(2) strong,.assoc-reservations-table td:nth-child(2) strong{display:block}.assoc-activities-admin-table td:nth-child(2) small,.assoc-reservations-table td:nth-child(2) small{display:block;margin-top:.2rem;color:var(--muted,#667085)}.assoc-activities-admin-table td:nth-child(2) em{display:block;max-width:330px;margin-top:.35rem;color:var(--muted,#667085);font-size:.76rem;font-style:normal;line-height:1.35}.assoc-activity-table-state{display:flex;align-items:center;gap:.45rem}.assoc-activity-table-state>i{width:10px;height:10px;border-radius:999px;background:var(--activity-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--activity-color) 18%,transparent)}.assoc-table-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.assoc-table-actions form{margin:0}.assoc-reservations-table td{vertical-align:middle}
@media(max-width:760px){.assoc-public-admin-control{align-items:stretch}.assoc-public-admin-control>div{width:100%}.assoc-public-admin-control form,.assoc-public-admin-control .btn{width:100%}.assoc-public-admin-control button{width:100%}}

/* Portix V3 beta3.87 — CAPTCHA sous le planning des activités. */
.assoc-planning-captcha{display:grid;gap:.55rem;padding:1rem;border:1px solid var(--border-color,#dbe3ef);border-top:4px solid var(--primary,#2254d8);border-radius:16px;background:var(--surface,#fff);box-shadow:0 8px 28px rgba(15,23,42,.055)}
.assoc-planning-captcha>span{font-size:.7rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;color:var(--muted,#667085)}
.assoc-planning-captcha .captcha-box{max-width:100%;margin:0}


/* Portix V3 beta3.88 — tableau des réservations membre et formulaire activité sous la liste. */
.assoc-activities-stack{display:grid;gap:1rem}
.assoc-recent-reservations .assoc-table-wrap{overflow-x:auto;border:1px solid var(--border-color,#dbe3ef);border-radius:16px;background:var(--surface,#fff);box-shadow:0 8px 26px rgba(15,23,42,.05)}
.assoc-recent-reservations .assoc-table{width:100%;min-width:780px;border-collapse:separate;border-spacing:0}
.assoc-recent-reservations .assoc-table-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.assoc-recent-reservations .assoc-table th,.assoc-recent-reservations .assoc-table td{padding:.82rem .9rem;border-bottom:1px solid var(--border-color,#e7ebf1);text-align:left;vertical-align:middle}
.assoc-recent-reservations .assoc-table th{background:color-mix(in srgb,var(--primary-soft,#eef4ff) 58%,#fff);color:var(--muted,#667085);font-size:.72rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.assoc-recent-reservations .assoc-table tbody tr{transition:background .15s ease}
.assoc-recent-reservations .assoc-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft,#eef4ff) 30%,transparent)}
.assoc-recent-reservations .assoc-table tbody tr:last-child td{border-bottom:0}
.assoc-recent-reservations .assoc-table td small{display:block;margin-top:.18rem;color:var(--muted,#667085)}
.assoc-recent-reservations .assoc-table td:nth-child(4),.assoc-recent-reservations .assoc-table td:nth-child(5){white-space:nowrap}
/* Portix V3 beta3.89 — sélection des réservations placée au-dessus du CAPTCHA. */
.assoc-booking-workspace-stacked{grid-template-columns:minmax(0,1fr)}
.assoc-booking-summary-inline{width:100%;box-sizing:border-box}
@media(min-width:761px){.assoc-booking-summary-inline{grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);align-items:start}.assoc-booking-summary-inline header,.assoc-booking-summary-inline .assoc-booking-summary-list{grid-column:1}.assoc-booking-summary-inline .assoc-booking-summary-total,.assoc-booking-summary-inline .assoc-clear-bookings,.assoc-booking-summary-inline .assoc-confirm-bookings,.assoc-booking-summary-inline .assoc-booking-legal{grid-column:2}.assoc-booking-summary-inline .assoc-booking-summary-total{grid-row:1}}
