:root{--ink:#141414;--ink-soft:#5c594e;--paper:#fff;--paper-deep:#f4f1e7;--line:#e4dfcb;--red:#c81e2c;--red-deep:#96141f;--green-deep:#12592c;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:Consolas, "SFMono-Regular", Menlo, monospace;--radius:8px;--radius-lg:12px;--shadow-card:0 1px 3px #1414140f;--focus-ring:0 0 0 3px #12592c2e}*{box-sizing:border-box}body{font-family:var(--sans);color:var(--ink);background:var(--paper-deep);margin:0}a{color:inherit}button,input,textarea,select{font-family:inherit;font-size:.95rem}#root{min-height:100vh}.shell{min-height:100vh;display:flex}.sidebar{background:var(--ink);color:#c9c6b8;flex-direction:column;flex:none;gap:.25rem;width:220px;padding:1.5rem 1rem;display:flex}.sidebar .brand{color:#fff;margin-bottom:1.5rem;font-size:1rem;font-weight:700;text-decoration:none}.sidebar nav{flex-direction:column;flex:1;gap:.2rem;display:flex}.sidebar a.nav-link{color:#c9c6b8;border-radius:7px;padding:.5rem .7rem;font-size:.9rem;text-decoration:none;transition:background .12s,color .12s}.sidebar a.nav-link:hover{color:#fff;background:#ffffff14}.sidebar a.nav-link.active{color:#fff;box-shadow:inset 3px 0 0 var(--green-deep);background:#ffffff1f}.sidebar .signed-in-as{color:#8b8877;border-top:1px solid #ffffff26;margin-top:.5rem;padding-top:.8rem;font-size:.75rem}.sidebar button.signout{color:#c9c6b8;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:4px;margin-top:.4rem;padding:.4rem .6rem;font-size:.8rem}.content{flex:1;min-width:0;max-width:none;padding:2rem 2.5rem}.admin-topbar{background:var(--ink);color:#fff;z-index:40;align-items:center;gap:.8rem;padding:.6rem 1rem;display:none;position:sticky;top:0}.admin-topbar .brand{color:#fff;font-size:.95rem;font-weight:700}.admin-burger{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:6px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.admin-burger svg{width:22px;height:22px}.admin-backdrop{display:none}@media (width<=860px){.shell{flex-direction:column}.admin-topbar{display:flex}.sidebar{z-index:60;width:260px;max-width:82vw;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 16px #00000040}.sidebar.open{transform:translate(0)}.admin-backdrop{z-index:50;background:#00000073;display:block;position:fixed;inset:0}.content{max-width:none;padding:1.1rem 1rem}}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{letter-spacing:-.01em;margin:0;font-size:1.4rem;font-weight:600}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:.4rem;padding:.55rem 1.05rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .13s,border-color .13s,color .13s;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:active{transform:translateY(.5px)}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-deep)}.btn-line{color:var(--ink);background:#fff;border-color:#d0cab6}.btn-line:hover{border-color:var(--green-deep);color:var(--green-deep);background:#fbfaf5}.btn-danger{border-color:var(--red);color:var(--red);background:0 0}.btn-danger:hover{background:var(--red);color:#fff}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.list-row:last-child{border-bottom:none}.list-row .drag-handle{cursor:grab;color:var(--ink-soft);font-family:var(--mono);-webkit-user-select:none;user-select:none}.list-row .row-main{flex:1;min-width:0}.list-row .row-main strong{font-size:.98rem;display:block}.list-row .row-main span{color:var(--ink-soft);margin-top:.15rem;font-size:.82rem;display:block}.color-dot{border-radius:50%;flex:none;width:10px;height:10px}.color-swatch-picker{flex-wrap:wrap;gap:.6rem;display:flex}.color-swatch-option{cursor:pointer;width:30px;height:30px;box-shadow:0 0 0 1px var(--line);border:2px solid #0000;border-radius:50%;padding:0}.color-swatch-option.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--paper), 0 0 0 3px var(--ink)}.row-actions{flex:none;gap:.5rem;display:flex}@media (width<=640px){.list-row{flex-wrap:wrap}.list-row .row-actions{flex-wrap:wrap;flex-basis:100%;justify-content:flex-start}.list-row .row-actions .btn{text-align:center;flex:auto}.list-row .row-actions .link-hint{flex-basis:100%}}.user-row{flex-direction:column;align-items:stretch;gap:.6rem}.user-row .row-actions{flex-wrap:wrap}.role-select{border:1px solid var(--line);background:#fff;border-radius:4px;padding:.45rem .55rem;font-size:.85rem}.rich-text-field .ql-toolbar{border-color:var(--line);background:var(--paper-deep);border-radius:4px 4px 0 0}.rich-text-field .ql-container{border-color:var(--line);font-family:var(--sans);border-radius:0 0 4px 4px;min-height:140px;font-size:.95rem}.image-manager-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.7rem;margin-bottom:.6rem;display:grid}.image-manager-item{border:1px solid var(--line);background:var(--paper-deep);border-radius:4px;overflow:hidden}.image-manager-item img{object-fit:cover;width:100%;height:80px;display:block}.image-manager-actions{gap:.25rem;padding:.35rem;display:flex}.image-manager-actions .btn{flex:1;padding:.25rem .5rem;font-size:.72rem}.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:1rem;max-width:720px;padding:1.5rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.78rem;font-family:var(--mono)}.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:.55rem .7rem;font-size:.95rem;line-height:1.3;transition:border-color .13s,box-shadow .13s}.field input:not([type=checkbox]):not([type=radio]):focus,.field textarea:focus,.field select:focus{border-color:var(--green-deep);box-shadow:var(--focus-ring);outline:none}.field textarea{resize:vertical;min-height:100px}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row .field{flex:1;min-width:180px}.field-row .color-field{flex:1.8}.form-actions{gap:.7rem;margin-top:.3rem;display:flex}.checkbox-field{flex-direction:row;align-items:center;gap:.5rem;display:flex}.checkbox-field input[type=checkbox],.installment-cashed input[type=checkbox]{appearance:none;background:var(--line);cursor:pointer;border-radius:999px;flex:none;width:38px;height:22px;margin:0;transition:background .15s;position:relative}.checkbox-field input[type=checkbox]:after,.installment-cashed input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.checkbox-field input[type=checkbox]:checked,.installment-cashed input[type=checkbox]:checked{background:var(--green-deep,#12592c)}.checkbox-field input[type=checkbox]:checked:after,.installment-cashed input[type=checkbox]:checked:after{transform:translate(16px)}.pw-wrap{display:flex;position:relative}.pw-wrap input{flex:1;padding-right:2.6rem!important}.pw-toggle{cursor:pointer;background:0 0;border:0;padding:.2rem;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.pw-checklist{border:1px solid var(--line);background:var(--paper,#f4f1e8);color:var(--ink-soft);border-radius:6px;flex-direction:column;gap:.3rem;margin:0;padding:.6rem .8rem;font-size:.85rem;list-style:none;display:flex}.pw-checklist li{align-items:center;gap:.5rem;display:flex}.pw-checklist li.ok{color:var(--green-deep,#12592c)}.pw-check-mark{justify-content:center;align-items:center;width:1.1rem;font-weight:700;display:inline-flex}.pw-checklist li.ok .pw-check-mark{color:var(--green-deep,#12592c)}.radio-row{flex-wrap:wrap;gap:1.2rem;display:flex}.radio-row input[type=radio],.radio-option input[type=radio]{accent-color:var(--green-deep,#12592c)}.radio-option{text-transform:none;font-family:var(--sans);color:var(--ink);cursor:pointer;align-items:center;gap:.4rem;font-size:.92rem;display:flex}.login-shell{background:var(--paper-deep);justify-content:center;align-items:center;min-height:100vh;display:flex}.error-banner{border:1px solid var(--red);color:var(--red-deep);border-radius:var(--radius);background:#fbe6e3;margin-bottom:1rem;padding:.7rem 1rem;font-size:.88rem}.empty-state{color:var(--ink-soft);text-align:center;padding:2rem 1.1rem;font-size:.92rem}.audit-table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;font-size:.88rem}.audit-table th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);border-bottom:1px solid var(--line);white-space:nowrap;padding:.7rem 1rem;font-size:.72rem}.audit-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem 1rem}.audit-table tr:last-child td{border-bottom:none}.audit-action{border-radius:3px;padding:.15rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.audit-action-create{color:var(--green-deep);background:#e3efe6}.audit-action-update{color:#8a6a10;background:#fdf3de}.audit-action-delete{color:var(--red-deep);background:#fbe6e6}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.gallery-tile{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden}.gallery-tile img{object-fit:cover;background:var(--paper-deep);width:100%;height:110px;display:block}.gallery-tile .tile-body{flex-direction:column;gap:.4rem;padding:.6rem .7rem;display:flex}.gallery-tile .tile-body span{color:var(--ink-soft);font-size:.82rem}.status-pill{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;background:var(--paper-deep);color:var(--ink-soft);border-radius:20px;padding:.15rem .5rem;font-size:.68rem}.status-pill.published{color:var(--green-deep);background:#e1f1e6}.success-banner{border:1px solid var(--green-deep);color:var(--green-deep);border-radius:var(--radius);background:#e3efe6;margin-bottom:1rem;padding:.7rem 1rem;font-size:.88rem}.form-section{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:1rem;margin:0;padding:1rem 1.1rem 1.1rem;display:flex}.form-section legend{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:0 .4rem;font-size:.78rem}.link-danger{color:var(--red);cursor:pointer;background:0 0;border:none;margin-left:.6rem;font-size:.78rem;text-decoration:underline}.membership-form .form-section{background:#fff;padding:1.1rem 1.2rem 1.2rem;box-shadow:0 1px 2px #0000000d}.membership-form .form-section legend{font-family:var(--body);text-transform:none;letter-spacing:0;color:var(--ink);font-size:.98rem;font-weight:700}.membership-form input.up{text-transform:uppercase}.membership-form input[type=email]{text-transform:lowercase}.membership-form input:disabled,.membership-form input[readonly]{background:var(--paper-deep,#efece2);color:var(--ink-soft);cursor:not-allowed;border-style:dashed}.membership-form .activity-line{border:1px solid var(--line);background:var(--paper,#f7f5ef);border-radius:6px;margin-bottom:.6rem;padding:.7rem .8rem .2rem}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.2rem;display:flex}.section-income{background:#eaf6ec;border-color:#cfe8d4}.section-expense{background:#fbecec;border-color:#f0d3d3}.link-hint{color:var(--ink-soft);white-space:nowrap;align-self:center;font-size:.8rem}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;font-size:.9rem;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{background:var(--line);border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch .track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch input:checked+.track{background:var(--green-deep,#12592c)}.switch input:checked+.track:after{transform:translate(16px)}.switch input:focus-visible+.track{outline:2px solid var(--ink);outline-offset:2px}@keyframes rowFlash{0%{background:#12592c38}to{background:0 0}}.row-flash>td{animation:1.6s ease-out rowFlash}.poste-cards{background:var(--paper);border:1px solid var(--line);border-radius:12px;flex-direction:column;margin-bottom:1.6rem;display:flex;overflow:hidden;box-shadow:0 1px 3px #1414140d}.poste-card{padding:12px 16px}.poste-card+.poste-card{border-top:1px solid var(--line)}.poste-card.open{background:#faf8f1}.poste-card-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.poste-card-name{flex:160px;min-width:130px;font-size:.95rem;font-weight:600}.poste-figs{flex:none;align-items:center;gap:14px;display:flex}.poste-fig{text-align:right;flex-direction:column;min-width:66px;display:flex}.poste-fig .pf-l{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:.66rem}.poste-fig .pf-v{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.poste-fig.in .pf-v{color:var(--green-deep,#12592c)}.poste-fig.out .pf-v{color:var(--red-deep,#96141f)}.poste-pill{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.9rem;font-weight:700}.poste-pill.pos{color:var(--green-deep,#12592c);background:#12592c1a}.poste-pill.neg{color:var(--red-deep,#96141f);background:#96141f17}.poste-card-actions{flex:none;align-items:center;gap:8px;display:flex}.poste-chev{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:.8rem;line-height:1;display:flex}.poste-chev:hover{color:var(--ink);background:#faf8f1}.poste-note{background:var(--paper-deep,#f4f1e7);color:var(--ink-soft);white-space:pre-wrap;border-radius:8px;margin-top:10px;padding:9px 11px;font-size:.82rem}.poste-card .poste-detail{margin-top:12px}.poste-detail-row>td{background:var(--paper-deep,#f4f1e7);padding:1rem 1.1rem}.poste-detail{flex-wrap:wrap;gap:1.2rem;display:flex}.poste-detail-col{background:var(--paper);border:1px solid var(--line);border-radius:12px;flex:300px;overflow:hidden;box-shadow:0 1px 3px #1414140f}.poste-detail-head{border-bottom:1px solid var(--line);align-items:center;gap:.55rem;padding:.6rem .9rem;display:flex}.poste-detail-col.recettes .poste-detail-head{background:#12592c14}.poste-detail-col.depenses .poste-detail-head{background:#96141f12}.poste-detail h4{text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;font-weight:700;font-family:var(--mono);margin:0}.poste-detail-col.recettes h4{color:var(--green-deep,#12592c)}.poste-detail-col.depenses h4{color:var(--red-deep,#96141f)}.poste-detail-count{font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:1.3rem;height:1.3rem;padding:0 .4rem;font-size:.72rem;font-weight:700;display:inline-flex}.poste-detail-col.recettes .poste-detail-count{color:var(--green-deep,#12592c);background:#12592c24}.poste-detail-col.depenses .poste-detail-count{color:var(--red-deep,#96141f);background:#96141f1f}.poste-detail ul{margin:0;padding:.35rem .55rem;list-style:none}.poste-detail li{border-radius:7px;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem;font-size:.9rem;display:flex}.poste-detail li:not(.pd-subtotal)+li:not(.pd-subtotal){border-top:1px solid #f1eee3}.poste-detail li:not(.pd-subtotal):hover{background:#faf8f1}.pd-desc{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.pd-cat{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.poste-detail-col.recettes .pd-cat{color:var(--green-deep,#12592c);background:#12592c1a}.poste-detail-col.depenses .pd-cat{color:var(--red-deep,#96141f);background:#96141f17}.pd-lbl{color:var(--ink)}.pd-amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.pd-in{color:var(--green-deep,#12592c)}.pd-out{color:var(--red-deep,#96141f)}.poste-detail li.pd-subtotal{border-top:1px solid var(--line);border-radius:0;margin:.3rem -.55rem -.35rem;padding:.55rem .95rem;font-weight:700}.poste-detail-col.recettes li.pd-subtotal{background:#12592c0d}.poste-detail-col.depenses li.pd-subtotal{background:#96141f0d}.poste-detail li.pd-subtotal>span:first-child{color:var(--ink);text-transform:uppercase;letter-spacing:.06em;font-size:.74rem}.poste-detail-empty{color:var(--ink-soft);margin:0;padding:.6rem .4rem;font-size:.85rem;font-style:italic}.filter-tabs{background:var(--paper,#f4f1e8);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:.3rem;max-width:100%;margin-bottom:1.1rem;padding:.25rem;display:inline-flex}.filter-tab{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:.4rem .9rem;font-size:.85rem}.filter-tab:hover{color:var(--ink)}.filter-tab.active{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 2px #00000014}.membership-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:1.1rem;display:flex}.membership-tab{border:1px solid var(--line);color:var(--ink-soft);font:inherit;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.9rem;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.membership-tab:hover{border-color:var(--green-deep);color:var(--ink)}.membership-tab.active{background:var(--green-deep,#12592c);border-color:var(--green-deep,#12592c);color:#fff;font-weight:600}.membership-tab-count{box-sizing:border-box;border:1.5px solid var(--red-deep,#96141f);min-width:1.5rem;height:1.5rem;color:var(--red-deep,#96141f);font-variant-numeric:tabular-nums;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.membership-tab-count.is-valid{border-color:var(--green-deep,#12592c);color:var(--green-deep,#12592c);background:0 0}.membership-tab-sep{color:var(--ink-soft);margin:0;font-weight:600}.membership-tab.active .membership-tab-count{color:#fff;background:#ffffff38}.folder-tabs{flex-wrap:wrap;align-items:flex-end;gap:.25rem;margin:0;padding-left:.4rem;display:flex}.folder-tab{border:1px solid var(--line);color:var(--ink-soft);font:inherit;cursor:pointer;background:#ece8db;border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:.3rem;padding:.65rem 1.15rem;font-size:.95rem;font-weight:600;line-height:1;transition:background .12s,color .12s;display:inline-flex;position:relative}.folder-tab:hover{color:var(--ink);background:#e3dece}.folder-tab.active{background:var(--paper);color:var(--ink);z-index:2;box-shadow:inset 0 3px 0 var(--green-deep,#12592c);margin-bottom:-1px;padding-bottom:calc(.65rem + 1px)}.folder-panel{border:1px solid var(--line);background:var(--paper);z-index:1;border-radius:0 8px 8px;padding:1.5rem;position:relative}.form-card-flush{background:0 0;border:0;border-radius:0;max-width:720px;padding:0}.folder-panel.folder-panel-groups{background:0 0;border:0;border-radius:0;padding:0}.folder-panel-groups>.activity-group:last-child{margin-bottom:0}.filter-field{flex-direction:column;gap:.35rem;display:flex}.filter-field>span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.72rem;font-family:var(--mono)}.filter-field select,.filter-field input{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:.5rem .7rem;transition:border-color .13s,box-shadow .13s}.filter-field select:focus,.filter-field input:focus{border-color:var(--green-deep);box-shadow:var(--focus-ring);outline:none}.filter-grow{flex:1;min-width:220px}.selection-bar{background:var(--paper);border:1px solid var(--line);border-radius:6px;align-items:center;gap:1rem;margin-bottom:1rem;padding:.6rem 1rem;display:flex}.email-panel{background:var(--paper);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:.9rem;max-width:720px;margin-bottom:1.2rem;padding:1.2rem 1.4rem;display:flex}.email-panel h2{margin:0;font-size:1.05rem}.email-panel .hint,.hint{color:var(--ink-soft);margin:0;font-size:.82rem}.activity-group{margin-bottom:1.8rem}.activity-group-title{margin:0;font-size:1.05rem}.activity-group-title .count{color:var(--ink-soft);font-size:.9rem;font-weight:400}.group-toggle{border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:#fff;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .9rem;display:flex;box-shadow:0 1px 2px #0000000a}.group-toggle:hover{background:#faf7f0}.group-toggle-open{box-shadow:none;border-bottom:0;border-radius:8px 8px 0 0}.activity-group .audit-table-wrap{border-top-left-radius:0;border-top-right-radius:0}.group-caret{color:var(--ink);flex:none;width:1.3rem;font-size:1.35rem;line-height:1}.group-name{font-weight:700}.group-stats{align-items:center;gap:.55rem;margin-left:auto;display:inline-flex}.group-count,.group-valid{white-space:nowrap;border-radius:999px;padding:.2rem .7rem;font-size:.82rem;font-weight:700;line-height:1.4}.group-count{color:var(--ink);background:#0000000f}.group-count:after{content:" inscrits";color:var(--ink-soft);font-weight:400}.group-valid{color:var(--green-deep,#12592c);background:#e1f1e6}.group-valid:after{content:" validés";opacity:.7;font-weight:400}.group-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:11rem;font-size:1.05rem;font-weight:800}.group-amount-ins{color:var(--ink)}.group-amount-sep{color:var(--ink-soft);margin:0 .15rem;font-weight:400}.group-amount-val{color:var(--green-deep,#12592c)}.group-print{cursor:pointer;border-radius:6px;flex:none;padding:.15rem .4rem;font-size:1.05rem;line-height:1}.group-print:hover{background:#00000014}.collapse-head{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;padding:0;display:flex}.collapse-caret{color:var(--ink-soft);flex:none;width:1.1rem;font-size:1.2rem;line-height:1}.collapse-title{font-size:1rem;font-weight:700}.collapse-head:hover .collapse-title{text-decoration:underline}.membership-table{font-size:.82rem}.membership-table th,.membership-table td{vertical-align:middle;padding:.4rem .45rem}.membership-table td.mark{text-align:center;color:var(--green-deep);font-weight:700}.membership-table .cell-input{border:1px solid var(--line);border-radius:4px;width:130px;padding:.3rem .4rem;font-size:.82rem}.membership-table .row-actions{white-space:nowrap;justify-content:flex-end;gap:.35rem;display:flex}.membership-table .row-actions .btn{padding:.25rem .55rem;font-size:.76rem}.installments{flex-direction:column;gap:.5rem;display:flex}.installment-row{background:var(--paper-deep);border:1px solid var(--line);border-radius:4px;flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem .7rem;display:flex}.installment-legend{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);min-width:90px;font-size:.72rem}.installment-date{color:var(--ink-soft);flex-direction:column;gap:.2rem;font-size:.72rem;display:flex}.installment-date input{border:1px solid var(--line);background:#fff;border-radius:4px;padding:.35rem .5rem}.installment-cashed{color:var(--ink);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.pay-cell{flex-flow:wrap;align-items:center;gap:.4rem;display:flex}.pay-mode{color:var(--ink-soft);font-size:.72rem}.pay-installments{flex-wrap:wrap;gap:.25rem;display:flex}.pay-chip{background:var(--paper-deep);color:var(--ink-soft);white-space:nowrap;border-radius:3px;padding:.1rem .35rem;font-size:.72rem}.pay-chip.cashed{color:var(--green-deep);background:#e3efe6;font-weight:600}.pay-chip.warn{color:#8a6a10;background:#fdf3de;font-weight:600}.membership-table tr.row-due td{background:#fbe6e3}.membership-table tr.row-struck td{color:var(--ink-soft);text-decoration:line-through}.membership-table tr.row-abandoned td{background:#f8dcd7}.membership-table tr.row-abandoned .btn,.membership-table tr.row-struck .btn{text-decoration:none}.membership-table tr.row-struck .cell-input{text-decoration:line-through}.status-todo{color:var(--ink-soft);font-size:.72rem}.finance-bilan-wrap{border-radius:12px;box-shadow:0 1px 3px #1414140f}.finance-bilan th:nth-child(2),.finance-bilan th:nth-child(3),.finance-bilan th:nth-child(4),.finance-bilan td:nth-child(2),.finance-bilan td:nth-child(3),.finance-bilan td:nth-child(4){text-align:right}.finance-bilan thead th{background:var(--paper-deep,#f4f1e7);border-bottom:1px solid var(--line);padding:.7rem 1rem}.finance-bilan thead th:nth-child(2){color:var(--green-deep,#12592c)}.finance-bilan thead th:nth-child(3){color:var(--red-deep,#96141f)}.finance-bilan tbody td{padding:.65rem 1rem}.finance-bilan tbody tr:not(.poste-detail-row):not(.finance-total-row) td{border-bottom:1px solid #f1eee3}.finance-bilan tbody tr:not(.poste-detail-row):not(.finance-total-row):hover td{background:#faf8f1}.finance-bilan tr.poste-open>td{background:#f4f1e7}.finance-bilan tr.finance-total-row>td{border-top:2px solid var(--ink-soft);background:#f0ece0;padding:.75rem 1rem;font-weight:700}.finance-entries th:nth-child(3),.finance-entries th:nth-child(4),.finance-entries th:nth-child(5),.finance-entries td:nth-child(3),.finance-entries td:nth-child(4),.finance-entries td:nth-child(5){text-align:right}.finance-entries tbody tr:hover td{background:#faf8f1}.finance-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin-bottom:1.4rem;display:grid}.finance-kpi{border:1px solid var(--line);background:var(--paper);border-left-width:4px;border-radius:8px;flex-direction:column;gap:.25rem;padding:.8rem 1rem;display:flex}.finance-kpi .kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.72rem;font-family:var(--mono)}.finance-kpi .kpi-value{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.35rem;font-weight:700}.finance-kpi.income{border-left-color:var(--green-deep,#12592c)}.finance-kpi.income .kpi-value{color:var(--green-deep,#12592c)}.finance-kpi.expense{border-left-color:var(--red-deep,#96141f)}.finance-kpi.expense .kpi-value{color:var(--red-deep,#96141f)}.finance-kpi.balance{border-left-color:var(--ink)}.finance-kpi.muted{border-left-color:var(--line)}.finance-kpi.muted .kpi-value{font-size:1.15rem}.breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem;margin-top:1.6rem;display:grid}.breakdown-card{border:1px solid var(--line);background:var(--paper);border-top-width:3px;border-radius:8px;padding:.9rem 1rem 1rem}.breakdown-card.income{border-top-color:var(--green-deep,#12592c)}.breakdown-card.expense{border-top-color:var(--red-deep,#96141f)}.breakdown-title{margin:0 0 .7rem;font-size:.95rem}.breakdown-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.breakdown-list li{flex-direction:column;gap:.25rem;display:flex}.breakdown-row-top{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.breakdown-label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.breakdown-fig{white-space:nowrap;flex:none;align-items:baseline;gap:.5rem;display:inline-flex}.breakdown-pct{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.72rem}.breakdown-amount{font-variant-numeric:tabular-nums;font-weight:600}.breakdown-bar{background:#ece8db;border-radius:999px;height:6px;overflow:hidden}.breakdown-bar>span{border-radius:999px;min-width:2px;height:100%;display:block}.breakdown-card.income .breakdown-amount{color:var(--green-deep,#12592c)}.breakdown-card.income .breakdown-bar>span{background:var(--green-deep,#12592c)}.breakdown-card.expense .breakdown-amount{color:var(--red-deep,#96141f)}.breakdown-card.expense .breakdown-bar>span{background:var(--red-deep,#96141f)}.breakdown-total{border-top:2px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;gap:.8rem;margin-top:.8rem;padding-top:.55rem;font-weight:700;display:flex}.season-total{background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);border-radius:6px;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-bottom:1rem;padding:.7rem 1rem;font-size:.9rem;display:flex}.season-total .grand{color:var(--ink);margin-left:auto;font-size:1rem;font-weight:700}.season-total .grand-valid{color:var(--green-deep,#12592c);margin-left:0}.detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.membership-table tr.row-clickable{cursor:pointer}.membership-table tr.row-clickable:hover td{background:var(--paper-deep)}.membership-table tr.row-due.row-clickable:hover td{background:#f7d9d5}.membership-table tr.row-abandoned.row-clickable:hover td{background:#f2cec8}.validated-switch{background:var(--paper-deep);border:1px solid var(--line);border-radius:4px;padding:.6rem .8rem}.public-site{--paper:#fff;--paper-deep:#f4f1e7;--ink:#141414;--ink-soft:#5c594e;--red:#c81e2c;--red-deep:#96141f;--gold:#efb50e;--gold-deep:#b4870a;--green:#1c8a44;--green-deep:#12592c;--line:#e4dfcb;--display:"Century Gothic", "Segoe UI Semibold", "Trebuchet MS", sans-serif;--body:Georgia, "Iowan Old Style", "Palatino Linotype", serif;--mono:Consolas, "SFMono-Regular", Menlo, monospace;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}.public-site *{box-sizing:border-box}.public-site img{max-width:100%;display:block}.public-site a{color:inherit}.public-site a:focus-visible,.public-site button:focus-visible{outline:3px solid var(--green-deep);outline-offset:2px}.public-site .wrap{max-width:1120px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.public-site h1,.public-site h2,.public-site h3{font-family:var(--display);text-wrap:balance;margin:0;font-weight:700}.public-site .eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--red);font-size:.7rem}.public-site .rule{background:var(--line);border:0;height:1px;margin:0}.public-site .chief{background:var(--red);height:7px}.public-site header{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.public-site .nav-row{--header-h:92px;min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;padding:.4rem 0;display:flex;position:relative}.public-site .nav-toggle{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:4px;flex-direction:column;flex:none;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:none}.public-site .nav-toggle span{background:var(--ink);width:18px;height:2px;margin:0 auto;transition:transform .2s,opacity .2s;display:block}.public-site .nav-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.public-site .nav-toggle.is-open span:nth-child(2){opacity:0}.public-site .nav-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.public-site .brand{color:var(--ink);flex:none;align-items:center;gap:.8rem;text-decoration:none;display:flex}.public-site .logo-mark{height:calc(var(--header-h) * .95);object-fit:contain;flex:none;width:auto;position:relative}.public-site .brand .word{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:1.2rem}.public-site nav ul{flex-wrap:nowrap;gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.public-site nav a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);white-space:nowrap;border-bottom:2px solid #0000;padding-bottom:4px;font-size:.76rem;text-decoration:none}.public-site nav a:hover,.public-site nav a.active{color:var(--green-deep);border-color:var(--green-deep)}@media (width<=980px){.public-site .nav-toggle{display:flex}.public-site .brand .word{display:none}.public-site header nav{background:var(--paper);border-bottom:1px solid var(--line);display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 16px #14141414}.public-site header nav.is-open{display:block}.public-site nav ul{flex-direction:column;gap:0;padding:.4rem 0}.public-site nav ul li{width:100%}.public-site nav a{border-bottom:1px solid var(--line);padding:.85rem clamp(1.25rem,4vw,3rem);display:block}.public-site nav a.active{background:var(--paper-deep)}}.public-site .news-banner{background:var(--paper-deep);border-bottom:1px solid var(--line);padding:1.2rem 0 .65rem;overflow:hidden}.public-site .news-banner-inner{flex-direction:column;gap:1rem;display:flex}.public-site .news-banner-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.public-site .news-banner-label{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--red);font-size:1.15rem}.public-site .news-banner-archive-link{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-size:.72rem;text-decoration:none;transition:color .15s}.public-site .news-banner-archive-link:hover{color:var(--green-deep)}.public-site .news-banner-scroller{align-items:center;gap:.6rem;display:flex}.public-site .news-banner-track{scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex:1;gap:1rem;min-width:0;padding:.2rem .15rem .35rem;display:flex;overflow-x:auto}.public-site .news-banner-track>:last-child{scroll-snap-align:end}.public-site .news-banner-track::-webkit-scrollbar{display:none}.public-site .news-banner-arrow{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;display:none}.public-site .news-banner-arrow svg{width:20px;height:20px;display:block}.public-site .news-banner-arrow:hover{border-color:var(--green-deep);color:var(--green-deep)}@media (width>=700px){.public-site .news-banner-arrow{display:flex}}.public-site .news-banner-dots{justify-content:center;gap:.55rem;margin-top:.34rem;display:flex}.public-site .news-banner-dot{cursor:pointer;background:#0000002e;border:none;border-radius:50%;width:11px;height:11px;padding:0;transition:background .2s,transform .2s}.public-site .news-banner-dot:hover{background:#12592c73}.public-site .news-banner-dot.active{background:var(--green-deep);transform:scale(1.3)}.public-site .news-banner-item{scroll-snap-align:start;width:160px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:none;text-decoration:none;display:flex;position:relative;overflow:hidden}.public-site .news-banner-item:after{content:"";border-radius:inherit;pointer-events:none;border:2px solid #0000;transition:border-color .15s;position:absolute;inset:0}.public-site .news-banner-item:hover:after{border-color:var(--green-deep)}.public-site .news-banner-item-image{box-sizing:border-box;background-color:var(--paper-deep);border-bottom:1px solid var(--line);background-position:50%;background-repeat:no-repeat;background-size:contain;background-origin:content-box;background-clip:content-box;flex:none;width:100%;height:130px;padding:10px 10px 12px}.public-site .news-banner-item .news-banner-item-body{flex-direction:column;gap:.3rem;padding:.6rem .7rem .75rem;display:flex}.public-site .news-banner-item h3{font-size:.88rem;line-height:1.25}.public-site .news-banner-item p{font-family:var(--body);color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.public-site .hero{padding:clamp(.9rem,2vw,1.6rem) 0 2rem;position:relative;overflow:hidden}.public-site .hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#1c8a4421,#1c8a4400 70%);width:60%;height:140%;position:absolute;top:-30%;right:-15%}.public-site .hero-grid{grid-template-columns:1.5fr .8fr;align-items:start;gap:3rem;display:grid;position:relative}@media (width<=820px){.public-site .hero-grid{grid-template-columns:1fr}}.public-site .hero h1{letter-spacing:-.01em;font-size:clamp(2.4rem,5.2vw,4rem);line-height:1.04}.public-site .hero h1 .ul{text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:6px;text-decoration-thickness:4px}.public-site .hero p.lede{font-family:var(--body);color:var(--ink-soft);max-width:58ch;margin-top:1.4rem;font-size:1.05rem}.public-site .cta-row{flex-wrap:wrap;gap:1rem;margin-top:2.1rem;display:flex}.public-site .btn{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:.9rem 1.5rem;font-size:.78rem;text-decoration:none;display:inline-block}.public-site .btn-primary{background:var(--red);color:#fff}.public-site .btn-primary:hover{background:var(--red-deep)}.public-site .btn-line{border:1px solid var(--ink);color:var(--ink)}.public-site .btn-line:hover{border-color:var(--green-deep);color:var(--green-deep)}.public-site .fact-list{border-top:1px solid var(--line);flex-direction:column;gap:0;display:flex}.public-site .fact-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.85rem 0;display:flex}.public-site .fact-list .k{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:.7rem}.public-site .fact-list .v{font-family:var(--display);font-size:1.05rem}.public-site section{padding:clamp(1.75rem,3vw,2.75rem) 0}.public-site .alt{background:var(--paper-deep)}.public-site .section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1.6rem;display:flex}.public-site .section-head>div:first-child{flex:auto;min-width:0}.public-site .section-head h1{white-space:nowrap;max-width:34ch;font-size:clamp(1.5rem,2.6vw,1.95rem)}.public-site .section-head p{color:var(--ink-soft);max-width:100%;margin:.5rem 0 0;font-size:.98rem}.public-site .num{font-family:var(--mono);color:var(--ink-soft);font-size:.85rem}.public-site .state-message{color:var(--ink-soft);font-size:.98rem}.public-site .state-message.is-error{color:var(--red-deep)}.public-site .activity-row{border-top:1px solid var(--line);align-items:flex-start;gap:2rem;padding:1.7rem 0;display:flex}.public-site .activity-row:last-child{border-bottom:1px solid var(--line)}.public-site .activity-row>.swatch{flex:0 0 180px;width:180px}.public-site .swatch{aspect-ratio:4/3;background:linear-gradient(150deg, var(--swatch-color,var(--ink-soft)), var(--swatch-color-deep,var(--ink)));border-radius:2px}.public-site .swatch-photo{object-fit:cover;background:var(--paper-deep);cursor:pointer}.public-site .swatch-logo{object-fit:contain;background:var(--paper);border:1px solid var(--line);padding:.6rem}.public-site .activity-info{overflow-wrap:break-word;flex:auto;min-width:0}.public-site .activity-row h3{margin-bottom:.4rem;font-size:1.35rem}.public-site .activity-row p{color:var(--ink-soft);overflow-wrap:break-word;max-width:52ch;margin:0;font-size:.98rem}.public-site .activity-tags{width:190px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--green-deep);text-align:right;flex:0 0 190px;font-size:.72rem;line-height:1.6}.public-site .thumb-strip{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}.public-site .thumb-strip img{object-fit:cover;border:1px solid var(--line);cursor:pointer;border-radius:2px;width:84px;height:64px}@media (width<=760px){.public-site .activity-row{flex-wrap:wrap}.public-site .activity-row>.swatch{flex:0 0 88px;width:88px}.public-site .activity-info{flex:calc(100% - 88px - 2rem)}.public-site .activity-tags{text-align:left;flex:0 0 100%;width:100%;margin-top:.6rem}}.public-site .timeline{padding-left:2.4rem;position:relative}.public-site .timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.public-site .t-item{padding-bottom:2.4rem;position:relative}.public-site .t-item:last-child{padding-bottom:0}.public-site .t-item:before{content:"";background:var(--paper);border:2px solid var(--dot,var(--ink));border-radius:50%;width:11px;height:11px;position:absolute;top:.35rem;left:-2.4rem}.public-site .alt .t-item:before{background:var(--paper-deep)}.public-site .t-item .when{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dot,var(--ink));margin-bottom:.4rem;font-size:.72rem;display:block}.public-site .t-item h3{margin-bottom:.4rem;font-size:1.25rem}.public-site .t-item p{color:var(--ink-soft);max-width:56ch;margin:0;font-size:.97rem}.public-site .filter-row{flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;display:flex}.public-site .chip{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:.5rem 1rem;font-size:.72rem}.public-site .chip:hover{border-color:var(--green-deep);color:var(--green-deep)}.public-site .chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.public-site .photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem;display:grid}.public-site .photo-grid figure{background:var(--paper-deep);aspect-ratio:4/3;cursor:pointer;border-radius:2px;margin:0;position:relative;overflow:hidden}.public-site .photo-grid figure img,.public-site .photo-grid figure video{transition:transform .25s}.public-site .photo-grid figure:hover img,.public-site .photo-grid figure:hover video{transform:scale(1.04)}.public-site .photo-grid img,.public-site .photo-grid video{object-fit:cover;background:#000;width:100%;height:100%}.public-site .photo-grid figcaption{color:#fff;font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em;background:linear-gradient(#0000,#0000008c);padding:.5rem .65rem;font-size:.66rem;position:absolute;bottom:0;left:0;right:0}.public-site .lightbox{z-index:100;background:#0a0906eb;justify-content:center;align-items:center;padding:clamp(1rem,4vw,3rem);animation:.15s lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.public-site .lightbox-media{flex-direction:column;align-items:center;gap:.9rem;max-width:min(100%,1100px);max-height:100%;display:flex}.public-site .lightbox-media img,.public-site .lightbox-media video{object-fit:contain;border-radius:3px;max-width:100%;max-height:80vh;box-shadow:0 10px 40px #00000080}.public-site .lightbox-caption{color:#f4f1e7;text-align:center;margin:0;font-size:.92rem}.public-site .lightbox-close{color:#f4f1e7;cursor:pointer;background:0 0;border:1px solid #f4f1e759;border-radius:50%;width:42px;height:42px;font-size:1.1rem;line-height:1;position:absolute;top:clamp(.8rem,3vw,1.8rem);right:clamp(.8rem,3vw,1.8rem)}.public-site .lightbox-close:hover{background:#f4f1e71f}.public-site .lightbox-nav{color:#f4f1e7;cursor:pointer;background:0 0;border:1px solid #f4f1e759;border-radius:50%;width:52px;height:52px;font-size:1.8rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.public-site .lightbox-nav:hover{background:#f4f1e71f}.public-site .lightbox-prev{left:clamp(.6rem,3vw,2rem)}.public-site .lightbox-next{right:clamp(.6rem,3vw,2rem)}@media (width<=640px){.public-site .lightbox-nav{width:42px;height:42px;font-size:1.4rem}}.public-site .archive-year-group{margin-top:2.2rem;scroll-margin-top:5.5rem}.public-site .archive-year-group:first-of-type{margin-top:1.6rem}.public-site .archive-year-heading{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--red);margin-bottom:1.4rem;padding-bottom:.6rem;font-size:.85rem;position:relative}.public-site .archive-year-heading:after{content:"";background:linear-gradient(90deg, var(--red) 0, var(--red) 48px, var(--line) 48px, var(--line) 100%);height:2px;position:absolute;bottom:0;left:0;right:0}.public-site .news-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.75rem;display:grid}.public-site .news-card{border-top:1px solid var(--line);padding-top:1.4rem}.public-site .news-card img{aspect-ratio:16/9;object-fit:cover;border-radius:2px;width:100%;margin-bottom:1rem}.public-site .news-card h3{margin-bottom:.5rem;font-size:1.2rem}.public-site .news-card .body{color:var(--ink-soft);font-size:.96rem}.public-site .news-card .date{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:.6rem;font-size:.68rem;display:block}.public-site .member-block{grid-template-columns:1fr 1px 320px;align-items:start;gap:2.5rem;display:grid}.public-site .member-block .divider{background:var(--line);align-self:stretch}.public-site .join-description{color:var(--ink-soft);max-width:52ch}.public-site .list-plain{color:var(--ink-soft);flex-direction:column;gap:.7rem;margin:1.4rem 0 0;padding:0;font-size:.98rem;list-style:none;display:flex}.public-site .price-card{border:1px solid var(--ink);border-top:4px solid var(--red);padding:1.8rem}.public-site .price-card .amount{font-family:var(--display);font-size:2.8rem;line-height:1}.public-site .price-card .amount sup{font-size:1.1rem}.public-site .price-card .cap{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-top:.4rem;font-size:.7rem;display:block}.public-site .price-card .btn{text-align:center;width:100%;margin-top:1.6rem}@media (width<=820px){.public-site .member-block{grid-template-columns:1fr}.public-site .member-block .divider{display:none}.public-site .price-card{max-width:320px}}.public-site footer{background:var(--ink);color:#c9c6b8;padding:1.5rem 0 .8rem}.public-site .foot-grid{border-bottom:1px solid #c9c6b82e;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem;padding-bottom:.4rem;display:grid}.public-site .foot-grid h4{font-family:var(--mono);color:#fff;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem;font-size:.72rem}.public-site .foot-grid p,.public-site .foot-grid a{color:#c9c6b8;align-items:center;gap:.45rem;margin-bottom:.4rem;font-size:.92rem;text-decoration:none;display:flex}.public-site .foot-grid a:hover{color:var(--gold)}.public-site .foot-brand{font-family:var(--display);color:#fff;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.6rem;font-size:1.3rem}.public-site .foot-bottom{color:#8b8877;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:.26rem;font-size:.78rem;display:flex}@media (width<=640px){.public-site .photo-grid{grid-template-columns:repeat(2,1fr)}.public-site .foot-grid{grid-template-columns:1fr 1fr;gap:1.4rem 1.2rem}}@media (width<=400px){.public-site .foot-grid{grid-template-columns:1fr}}.public-site .contact-form{flex-direction:column;gap:1.1rem;max-width:480px;display:flex}.public-site .contact-form .field{flex-direction:column;gap:.4rem;display:flex}.public-site .contact-form label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.72rem}.public-site .contact-form input,.public-site .contact-form textarea{font-family:var(--body);border:1px solid var(--line);background:var(--paper);color:var(--ink);resize:vertical;border-radius:2px;padding:.7rem .85rem;font-size:.95rem}.public-site .contact-form button{align-self:flex-start}.public-site .inscription-form{flex-direction:column;gap:1.3rem;max-width:780px;display:flex}.public-site .inscription-form fieldset{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:1rem;margin:0;padding:1.2rem 1.3rem 1.3rem;display:flex;box-shadow:0 1px 2px #0000000d}.public-site .inscription-form legend{font-family:var(--body);text-transform:none;letter-spacing:0;color:var(--ink);padding:0 .4rem;font-size:1.02rem;font-weight:700}.public-site .inscription-form .field{flex-direction:column;gap:.4rem;display:flex}.public-site .inscription-form label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.72rem}.public-site .inscription-form input,.public-site .inscription-form textarea,.public-site .inscription-form select{font-family:var(--body);border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:2px;padding:.7rem .85rem;font-size:.95rem}.public-site .inscription-form input.readonly{color:var(--ink-soft);cursor:not-allowed;background:#0000000d;border-style:dashed}.public-site .inscription-form input.up{text-transform:uppercase}.public-site .inscription-form input[type=email]{text-transform:lowercase}.public-site .inscription-form .row{flex-wrap:wrap;gap:1rem;display:flex}.public-site .inscription-form .row .field{flex:1;min-width:160px}.public-site .inscription-form .radio-row{gap:1.4rem;display:flex}.public-site .inscription-form .radio-row label{text-transform:none;font-family:var(--body);color:var(--ink);flex-direction:row;align-items:center;gap:.4rem;font-size:.92rem;display:flex}.public-site .inscription-form .child-remove{color:var(--red,#c81e2c);cursor:pointer;background:0 0;border:none;margin-left:.6rem;font-size:.78rem;text-decoration:underline}.public-site .inscription-form .hint{color:var(--ink-soft);font-size:.78rem}.public-site .news-detail{max-width:72ch}.public-site .news-detail .back-link{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:1.2rem;font-size:.78rem;text-decoration:none;display:block}.public-site .news-detail .back-link:hover{color:var(--red)}.public-site .news-detail h1{margin-top:.5rem;margin-bottom:1.5rem;font-size:clamp(1.8rem,4vw,2.6rem)}.public-site .news-detail-images{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:1.5rem;display:grid}.public-site .news-detail-images img{cursor:pointer;border-radius:4px;width:100%;height:auto;display:block}.public-site .news-detail-body{color:var(--ink-soft);overflow-wrap:break-word;max-width:100%;font-size:1.02rem;line-height:1.7}.public-site .news-detail-body *{overflow-wrap:break-word;box-sizing:border-box;width:auto!important;max-width:100%!important}.public-site .news-detail-body table{border-collapse:collapse;display:block;overflow-x:auto}.public-site .news-detail-body img{height:auto!important}.public-site .agenda-layout{grid-template-columns:1fr 260px;align-items:start;gap:3rem;display:grid}.public-site .agenda-main{min-width:0}.public-site .agenda-calendar{background:var(--paper-deep);border:1px solid var(--line);border-radius:8px;margin-top:-1.5rem;padding:.3rem 1.3rem 1.3rem;position:sticky;top:6.5rem}.public-site .agenda-calendar h4{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--red);margin-bottom:1rem;font-size:1.1rem}.public-site .agenda-calendar-empty{color:var(--ink-soft);font-size:.85rem}.public-site .agenda-calendar-list{flex-direction:column;gap:.6rem;display:flex}.public-site .home-agenda-tiles{flex-wrap:wrap;gap:1rem;display:flex}.public-site .home-agenda-tiles .calendar-tile{width:240px}.public-site .calendar-tile{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;align-items:center;gap:.8rem;padding:.5rem .7rem;text-decoration:none;transition:border-color .15s;display:flex}.public-site .calendar-tile:hover{border-color:var(--dot,var(--red))}.public-site .calendar-tile-date{border:2px solid var(--dot,var(--red));border-radius:6px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.1rem;width:48px;height:54px;line-height:1;display:flex}.public-site .calendar-tile-year{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-soft);font-size:.56rem}.public-site .calendar-tile-day{font-family:var(--display);color:var(--ink);font-size:1.15rem;font-weight:700}.public-site .calendar-tile-month{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--dot,var(--red));margin-top:.15rem;font-size:.62rem}.public-site .calendar-tile-title{font-size:.85rem;line-height:1.25}.public-site .agenda-calendar-tbd{border-top:1px solid var(--line);flex-direction:column;gap:.4rem;margin-top:1.2rem;padding-top:1rem;display:flex}.public-site .agenda-calendar-tbd h5{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 .3rem;font-size:.66rem}.public-site .agenda-calendar-tbd a{color:var(--ink-soft);flex-direction:column;gap:.15rem;font-size:.82rem;text-decoration:none;display:flex}.public-site .agenda-calendar-tbd a:hover{color:var(--red);text-decoration:underline}.public-site .agenda-calendar-tbd-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--green-deep);font-size:.7rem}@media (width<=820px){.public-site .agenda-layout{grid-template-columns:1fr}.public-site .agenda-calendar{position:static}}
