/* Navigation commune de l’administration. */
.admin-workspace{--admin-sidebar-width:250px;--admin-header-height:88px}
.admin-workspace *{box-sizing:border-box}
.admin-topbar{position:sticky;top:0;z-index:950;display:flex;align-items:center;gap:1.5rem;min-height:88px;padding:1rem 2rem;background:#0d2b24;color:#f4eedf}
.admin-brand{display:flex;align-items:center;gap:.8rem;color:inherit;text-decoration:none;font-size:1.1rem;letter-spacing:.05em;white-space:nowrap}
.admin-brand>span:first-child{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#efad3f;color:#0d2b24}
.admin-brand small{display:block;margin-top:.2rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.admin-topbar nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.4rem;margin-left:auto}
.admin-topbar nav a,.admin-topbar nav button{padding:.35rem 0;border:0;border-bottom:1px solid #aab9b2;color:inherit;background:transparent;font:inherit;font-size:.875rem;text-decoration:none;cursor:pointer}
.admin-topbar form{margin:0}
.admin-sidebar{position:fixed;z-index:900;top:var(--admin-header-height);bottom:0;left:0;width:var(--admin-sidebar-width);overflow-y:auto;overscroll-behavior:contain;padding:1.3rem 1rem;border-right:1px solid #d2dacf;background:#e8eddf;color:#173a32;scrollbar-width:thin}
.admin-sidebar nav+nav{margin-top:1.5rem}
.admin-sidebar h2{margin:0 0 .5rem;padding:.6rem .7rem;border-left:4px solid #bf761c;background:#f8e8c5;font:800 .875rem/1.4 var(--sans,Arial,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:#173a32;overflow-wrap:anywhere}
.admin-sidebar a{display:flex;justify-content:space-between;align-items:center;gap:.4rem;margin:.15rem 0;padding:.65rem .7rem;border-radius:7px;color:inherit;font-size:.875rem;line-height:1.35;text-decoration:none}
.admin-sidebar a:hover{background:#dbe3ce}
.admin-sidebar a[aria-current=page]{background:#173a32;color:#fff8e8;font-weight:800}
.admin-nav-count{min-width:1.5rem;padding:.12rem .35rem;border-radius:12px;background:#efad3f;color:#173a32;text-align:center;font-size:.75rem;font-weight:800}
.admin-sidebar .admin-family-link{margin-top:1.3rem;border-top:1px solid #bac7b5;padding-top:1rem}
.admin-workspace>main{width:auto;max-width:none;margin:0 0 0 var(--admin-sidebar-width);min-height:calc(100vh - var(--admin-header-height));padding:2rem clamp(1rem,3vw,3rem) 5rem}
.admin-workspace>footer{margin-left:var(--admin-sidebar-width)}
.admin-workspace .family-admin-dashboard{width:auto;max-width:none;padding:0}
.admin-workspace main.family-admin-dashboard{padding:2rem clamp(1rem,3vw,3rem) 5rem}
.admin-workspace h1{font-size:clamp(2rem,3.7vw,3rem);line-height:1.1}
.admin-workspace main h2{font-size:clamp(1.4rem,2.5vw,2rem)}
.admin-workspace .family-section{margin-top:1.8rem;padding-top:1.5rem}
.admin-workspace .family-dashboard-heading{margin-bottom:1.5rem;align-items:center}
.admin-workspace .family-dashboard-guide{max-width:420px}
.admin-page-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.admin-page-heading h1{margin:.25rem 0}.admin-page-heading p{margin:.4rem 0;color:#52645b}
.admin-season-form{display:flex;align-items:end;gap:.6rem}.admin-season-form label{display:grid;gap:.35rem;font-size:.875rem}
.admin-season-form select,.admin-filter-form input,.admin-filter-form select{min-height:44px;border:1px solid #a9b8ae;border-radius:7px;padding:.55rem .7rem;color:#173a32;background:#fffdf7;font:inherit}
.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0 1.8rem}
.admin-summary-grid article{border:1px solid #cbd5c8;border-radius:12px 3px 12px 3px;padding:1.2rem;background:#fffdf7}
.admin-summary-grid span,.admin-summary-grid small{display:block;color:#52645b;font-size:.875rem}
.admin-summary-grid strong{display:block;margin:.4rem 0;color:#173a32;font-size:clamp(1.4rem,2.4vw,2rem)}
.admin-camp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.admin-camp-card{display:flex;flex-direction:column;gap:.8rem;border:1px solid #cbd5c8;border-top:5px solid #efad3f;border-radius:4px 14px 4px 14px;padding:1.25rem;background:#fffdf7}
.admin-camp-card h2,.admin-camp-card p{margin:0}.admin-camp-card p,.admin-camp-card dl{font-size:.875rem}
.admin-camp-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.3rem 0}
.admin-camp-card dl div{background:#f0f2e9;padding:.6rem;border-radius:5px}.admin-camp-card dt{color:#52645b}.admin-camp-card dd{margin:.3rem 0 0;font-size:1.2rem;font-weight:800}
.admin-camp-card .family-button{align-self:flex-start;margin-top:auto}
.admin-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.admin-action-grid a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #cbd5c8;border-radius:8px;background:#fffdf7;color:#173a32;text-decoration:none;font-size:.95rem}.admin-action-grid strong{font-size:1.4rem}
.admin-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;align-items:end;padding:1.2rem;border:1px solid #cbd5c8;border-radius:10px;background:#e8eddf}
.admin-filter-form label{display:grid;gap:.35rem;min-width:0;font-size:.875rem}.admin-filter-form input,.admin-filter-form select{width:100%;min-width:0}.admin-filter-form .admin-search{grid-column:span 2}
.admin-filter-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.admin-quick-filters,.admin-detail-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}
.admin-quick-filters a,.admin-detail-tabs a{display:inline-block;padding:.6rem .85rem;border:1px solid #aabcae;border-radius:7px;background:#fffdf7;color:#173a32;text-decoration:none;font-size:.875rem}
.admin-quick-filters a[aria-current=page],.admin-detail-tabs a[aria-current=page]{background:#173a32;color:#fffdf7;border-color:#173a32}
.admin-table-wrap{width:100%;overflow-x:auto;border:1px solid #cbd5c8;border-radius:10px;background:#fffdf7}
.admin-dossiers-table{border-collapse:collapse;width:100%;font-size:.875rem;line-height:1.4}
.admin-dossiers-table th{background:#e8eddf;color:#173a32;font-weight:800;text-align:left;white-space:nowrap}
.admin-dossiers-table th,.admin-dossiers-table td{border-bottom:1px solid #d9dfd3;padding:.8rem;vertical-align:middle}.admin-dossiers-table tr:last-child td{border-bottom:0}.admin-dossiers-table tbody tr:hover{background:#f5f4e9}
.admin-dossiers-table .admin-child-link{display:block;color:#173a32;font-size:1rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.admin-dossiers-table small{display:block;margin-top:.2rem;color:#52645b;font-size:.8rem}.admin-dossiers-table .admin-balance{white-space:nowrap;font-weight:800}
.admin-balance.is-due{color:#a53525}.admin-balance.is-settled{color:#246536}
.admin-pill{display:inline-block;border-radius:5px;padding:.25rem .45rem;color:#173a32;background:#e8eddf;font-size:.8rem}.admin-pill.warning{background:#ffedbd;color:#704f08}.admin-pill.good{background:#d7ead4;color:#245535}
.admin-pagination{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin:1rem 0;font-size:.875rem}.admin-pagination nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.admin-pagination a,.admin-pagination [aria-current=page]{display:inline-block;min-width:40px;padding:.6rem;border:1px solid #aabcae;border-radius:5px;text-align:center;text-decoration:none;color:#173a32;background:#fffdf7}.admin-pagination [aria-current=page]{background:#173a32;color:#fff}
.admin-empty{padding:2rem;border:1px dashed #aabcae;border-radius:10px;background:#fffdf7}
.admin-detail-heading{display:flex;flex-wrap:wrap;gap:1rem;align-items:start;justify-content:space-between}.admin-detail-heading h1{margin:.7rem 0}.admin-detail-heading p{margin:.4rem 0}
.admin-detail-neighbors{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;font-size:.875rem}
.admin-workspace .family-admin-detail{display:block;min-height:0}.admin-workspace .family-admin-detail-main{display:block;padding:0}.admin-workspace .family-admin-detail-main>section{margin-top:1.3rem}
.admin-workspace .family-main-card{padding:clamp(1rem,2vw,1.7rem)}.admin-workspace .family-form label{font-size:.9rem}.admin-workspace .family-form input,.admin-workspace .family-form select,.admin-workspace .family-form textarea{font-size:1rem}.admin-workspace .family-button.small{font-size:.875rem}
.admin-workspace .photo-admin-main,.admin-workspace .agenda-admin-main{display:block}.admin-workspace .photo-admin-intro,.admin-workspace .agenda-admin-intro{position:static;padding:0 0 1.5rem;max-width:none}.admin-workspace .photo-admin-intro h1,.admin-workspace .agenda-admin-intro h1{margin:.6rem 0}
.admin-workspace .photo-admin-workspace,.admin-workspace .agenda-admin-workspace{padding:0}
.admin-menu-toggle{display:none}.admin-skip-link{position:fixed;top:-100px;left:1rem;z-index:1100;padding:1rem;background:#efad3f;color:#173a32}.admin-skip-link:focus{top:1rem}
.admin-workspace :focus-visible{outline:3px solid #b65627;outline-offset:3px}.admin-workspace [id]{scroll-margin-top:calc(var(--admin-header-height) + 16px)}
@media(max-width:1100px){.admin-workspace{--admin-sidebar-width:220px}.admin-topbar{padding:1rem}.admin-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.admin-workspace>main,.admin-workspace>footer{margin-left:0}.admin-topbar{flex-wrap:wrap;gap:.75rem;min-height:80px}.admin-topbar nav{flex-basis:100%;margin-left:0;gap:1rem}.admin-topbar nav a,.admin-topbar nav button{font-size:.875rem}.admin-menu-toggle{display:inline-block;margin-left:auto;padding:.6rem .85rem;border:1px solid #b8c4b8;border-radius:6px;background:transparent;color:#fff8e8;font:inherit}.admin-sidebar{display:none;width:min(300px,90vw);box-shadow:10px 0 30px #0d2b2433}.admin-sidebar.is-open{display:block}.admin-workspace main.family-admin-dashboard,.admin-workspace>main{padding:1.4rem 1rem 5rem}.admin-camp-grid{grid-template-columns:1fr}.admin-dossiers-table thead{display:none}.admin-dossiers-table,.admin-dossiers-table tbody,.admin-dossiers-table tr{display:block}.admin-dossiers-table tr{padding:.7rem;border-bottom:1px solid #b9c9bb}.admin-dossiers-table td{display:flex;align-items:baseline;gap:1rem;justify-content:space-between;padding:.4rem;border:0}.admin-dossiers-table td::before{content:attr(data-label);flex:0 0 37%;color:#52645b}.admin-dossiers-table td.admin-child-cell{display:block;padding-bottom:.7rem}.admin-dossiers-table td.admin-child-cell::before{display:none}}
@media(max-width:480px){.admin-filter-form,.admin-action-grid{grid-template-columns:1fr}.admin-filter-form .admin-search{grid-column:auto}.admin-summary-grid{gap:.6rem}.admin-summary-grid article{padding:.8rem}.admin-season-form{flex-wrap:wrap}}
@media print{.admin-sidebar,.admin-topbar,.admin-menu-toggle,.admin-pagination,.back-to-top{display:none!important}.admin-workspace>main{margin:0;padding:0}}

.admin-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.admin-workspace .photo-admin-dashboard,.admin-workspace .agenda-admin-dashboard{min-width:0}
@media(max-width:800px){.admin-workspace.no-admin-js .admin-sidebar{display:block;position:static;width:auto;max-height:none;box-shadow:none}.admin-workspace.no-admin-js .admin-menu-toggle{display:none}}

/* Les anciens grands panneaux d’introduction deviennent des en-têtes compacts. */
.admin-workspace .photo-admin-intro,.admin-workspace .agenda-admin-intro{min-height:0;background:transparent;color:var(--forest,#173a32)}
.admin-workspace .photo-admin-intro>p:last-child,.admin-workspace .agenda-admin-intro>p:last-child{max-width:760px;color:#52645b}
.admin-workspace .photo-admin-intro h1 em,.admin-workspace .agenda-admin-intro h1 em{color:var(--forest,#173a32)}
.admin-workspace .agenda-admin-intro .eyebrow{color:#a34e32}
.admin-workspace .photo-admin-dashboard,.admin-workspace .photo-admin-panel,.admin-workspace .agenda-admin-dashboard{padding:1rem 0 2rem;min-width:0}
.admin-workspace .agenda-admin-dashboard>header h2,.admin-workspace .agenda-admin-library>header h2{font-size:clamp(1.4rem,2.5vw,2rem)}
.admin-workspace .family-dashboard-heading{grid-template-columns:minmax(0,1fr) minmax(240px,.6fr);gap:1.5rem}
@media(max-width:950px){.admin-workspace .family-dashboard-heading{grid-template-columns:1fr}.admin-workspace .family-document-list article{flex-direction:column;align-items:stretch}.admin-workspace .family-document-review{width:100%;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.admin-workspace .family-button{transition:none}.admin-workspace .family-button:hover{transform:none}}
.admin-role-label{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin:0 0 1.5rem;padding:1rem .85rem;border-top:4px solid #efad3f;border-radius:4px 4px 10px 10px;background:#0d2b24;color:#fff8e8;overflow-wrap:anywhere}
.admin-identity-caption{font-size:.75rem;font-weight:700;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:#efc985}
.admin-identity-name{max-width:100%;font-size:1.2rem;font-weight:800;line-height:1.3;color:#fff8e8}
.admin-identity-role{max-width:100%;padding:.35rem .5rem;border:1px solid #efad3f;border-radius:4px;background:#efad3f;color:#0d2b24;font-size:.875rem;font-weight:700;line-height:1.4}
.admin-team-list{display:grid;gap:1rem}
.admin-access-fields{min-width:0;margin:.5rem 0;padding:1rem;border:1px solid #d8dfd6;border-radius:12px}
.admin-access-fields legend{font-weight:700;padding:0 .4rem;font-size:.9rem}
.admin-access-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.65rem}
.admin-access-camps{max-height:280px;overflow-y:auto;display:grid;gap:.7rem;padding:.4rem}
.admin-access-fields:disabled{opacity:.7}
.admin-access-fields input[type=checkbox]{width:20px;min-width:20px;height:20px;accent-color:#173a32}
.admin-team-list .family-section-heading{align-items:flex-start;flex-wrap:wrap;gap:1rem}
.admin-team-list p{overflow-wrap:anywhere}
.admin-workspace [hidden]{display:none!important}
