:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#17324d;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}.topbar{height:64px;background:#fff;border-bottom:1px solid #dfe7ef;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar a{color:#245f89}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 64px)}aside{background:#173f5f;padding:20px 12px}aside a{display:block;color:#eaf4fb;text-decoration:none;padding:12px 14px;border-radius:9px;margin-bottom:6px}aside a:hover,aside a.active{background:#2c678f}.content{padding:28px}.muted{color:#6b7f90}.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;margin:24px 0}.cards article,.panel{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:20px;box-shadow:0 5px 18px rgba(32,64,96,.05)}.cards span{display:block;color:#6b7f90}.cards strong{display:block;font-size:32px;margin-top:10px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e8f5f2,#edf4fb)}.login-card{width:min(430px,92vw);background:#fff;padding:30px;border-radius:18px;box-shadow:0 16px 50px rgba(23,63,95,.15)}label{display:block;margin:16px 0 6px;font-weight:600}input{width:100%;padding:12px;border:1px solid #c8d5df;border-radius:9px;margin-top:6px}button{width:100%;margin-top:18px;border:0;border-radius:9px;padding:13px;background:#1f7a8c;color:white;font-weight:700;cursor:pointer}.alert{padding:12px;border-radius:9px;margin:14px 0}.error{background:#fdecec;color:#9f2525}.success{background:#e9f7ef;color:#17683a}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{display:flex;overflow:auto}aside a{white-space:nowrap}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.cards{grid-template-columns:1fr}.content{padding:18px}.topbar{padding:0 14px}}

.page-head,.section-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.button,button{display:inline-block;background:#1769aa;color:#fff;border:0;border-radius:8px;padding:.7rem 1rem;text-decoration:none;cursor:pointer;font-weight:600}.button.secondary{background:#eef3f7;color:#234}.button.small,button.small{padding:.4rem .65rem;font-size:.88rem}.filters{display:flex;gap:.75rem;margin:1rem 0}.filters input{flex:1}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:.72rem;border:1px solid #cfd9e2;border-radius:8px;background:#fff}.table-wrap{overflow:auto;padding:0}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:.85rem;border-bottom:1px solid #e8edf1;text-align:left;vertical-align:middle}.table-wrap small{display:block;color:#687985;margin-top:.2rem}.signal-cell{width:28px}.red-dot{display:inline-block;width:12px;height:12px;background:#d92d20;border-radius:50%;box-shadow:0 0 0 3px rgba(217,45,32,.12)}.badge{background:#eef3f7;border-radius:999px;padding:.25rem .55rem;font-size:.82rem}.empty{text-align:center;color:#687985;padding:2rem!important}.narrow{max-width:900px;margin:0 auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid label{font-weight:600}.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical}.alert{padding:.8rem 1rem;border-radius:8px;margin:1rem 0}.alert.error{background:#fee4e2;color:#912018}.alert.success{background:#dcfae6;color:#176b3a}.detail-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem}.full-span{grid-column:1/-1}.phone-link{display:inline-block;font-size:1.1rem;margin:.2rem 0}.instruction{border-left:5px solid #98a2b3;background:#f8fafc;padding:1rem;margin:.8rem 0;border-radius:6px}.instruction.important{border-left-color:#f79009}.instruction.urgent{border-left-color:#d92d20}.instruction form{margin-top:.75rem}.ack{display:block;color:#18794e;margin-top:.5rem}.note-box{white-space:normal;min-height:90px;background:#f8fafc;padding:1rem;border-radius:8px}.checkbox{display:flex!important;align-items:center;gap:.6rem}.checkbox input{width:auto!important}@media(max-width:800px){.form-grid,.detail-grid{grid-template-columns:1fr}.filters,.page-head{align-items:stretch;flex-direction:column}.full-span{grid-column:auto}}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.admin-card{display:flex;flex-direction:column;gap:.55rem;padding:1.4rem;background:#fff;border:1px solid #dfe7ef;border-radius:14px;text-decoration:none;color:#17324d;box-shadow:0 5px 18px rgba(32,64,96,.05)}.admin-card:hover{border-color:#7ca8c4;transform:translateY(-1px)}.admin-card strong{font-size:1.08rem}.admin-card span{color:#6b7f90}.badge-ok{background:#dcfae6;color:#176b3a}.badge-off{background:#f2f4f7;color:#475467}@media(max-width:700px){.admin-grid{grid-template-columns:1fr}}
.brand{display:flex;align-items:center;gap:.7rem}.brand img{max-height:42px;max-width:150px;object-fit:contain}.app-footer{margin-top:2rem;padding:1rem 0;color:#6b7f90;font-size:.85rem;text-align:center}.logo-preview img{max-height:100px;max-width:280px;object-fit:contain;border:1px solid #dfe7ef;padding:.6rem;border-radius:8px}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:.8rem 0;border-bottom:1px solid #e8edf1}.timeline small{color:#6b7f90}.contact-card{border:1px solid #e1e8ef;border-radius:10px;padding:1rem;margin:.7rem 0}.status-active{background:#dcfae6;color:#176b3a}.status-archived,.status-suspended{background:#f2f4f7;color:#475467}

/* En-tete ProxiCCAS 0.5.1 */
.topbar{min-height:72px;height:auto;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex:0 0 52px}
.brand-logo img{display:block;max-width:52px;max-height:52px;width:auto;height:auto;object-fit:contain}
.brand-logo-placeholder{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#173f5f;color:#fff;font-weight:800;letter-spacing:.04em}
.brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.brand-text strong{font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-text small{margin-top:5px;color:#6b7f90;font-size:.76rem;font-weight:600}
.user-menu{display:flex;align-items:center;gap:8px;white-space:nowrap}
@media(max-width:620px){.topbar{align-items:flex-start;gap:10px}.brand-logo{width:44px;height:44px;flex-basis:44px}.brand-logo img{max-width:44px;max-height:44px}.brand-logo-placeholder{width:42px;height:42px}.brand-text strong{font-size:1rem}.user-menu span:first-child{display:none}}
.danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}.contact-card{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.contact-actions{display:flex;gap:.4rem;align-items:center}.contact-actions form,.page-head form{margin:0}.status-active{background:#d1fadf;color:#05603a}.status-suspended{background:#fef0c7;color:#93370d}.status-archived{background:#eaecf0;color:#344054}.status-deceased{background:#f2f4f7;color:#101828}.status-transferred{background:#e0e7ff;color:#3730a3}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.environment-badge{border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.env-development{background:#d1fadf;color:#05603a}.env-preproduction{background:#dbeafe;color:#1d4ed8}.env-production{background:#e5e7eb;color:#374151}.info-list>div{display:flex;justify-content:space-between;gap:2rem;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.info-list>div:last-child{border-bottom:0}.info-list span{color:#667085}
/* Module Appels 0.7.0 */
.cards>a{display:block;background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:20px;box-shadow:0 5px 18px rgba(32,64,96,.05);text-decoration:none;color:inherit}.cards>a:hover{border-color:#7ca8c4;transform:translateY(-1px)}.cards>a span{display:block;color:#6b7f90}.cards>a strong{display:block;font-size:32px;margin-top:10px}.tabs{display:flex;gap:.5rem;margin:1.2rem 0;flex-wrap:wrap}.tabs a{display:flex;align-items:center;gap:.5rem;padding:.65rem .9rem;border-radius:999px;background:#eaf0f5;color:#29465d;text-decoration:none}.tabs a.active{background:#173f5f;color:#fff}.tabs span{min-width:1.5rem;text-align:center;background:rgba(255,255,255,.65);color:#17324d;border-radius:999px;padding:.1rem .4rem;font-size:.78rem}.call-list{display:grid;gap:.8rem}.call-card{display:grid;grid-template-columns:minmax(250px,1fr) minmax(150px,.6fr) auto;align-items:center;gap:1rem;background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:1rem 1.2rem}.call-card.in-progress{border-left:5px solid #f79009}.call-main{display:flex;align-items:flex-start;gap:1rem}.call-time{font-size:.82rem;background:#edf4fb;padding:.4rem .55rem;border-radius:8px;white-space:nowrap}.call-card h2{font-size:1.05rem;margin:0 0 .35rem}.call-note{margin:.45rem 0 0}.call-phones{display:flex;flex-direction:column;gap:.35rem}.call-phones a{font-weight:650;text-decoration:none}.call-phones.large{font-size:1.25rem;flex-direction:row;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.call-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.call-actions form{margin:0}.call-actions button{width:auto;margin:0}.badge-progress{background:#fef0c7;color:#93370d}.status-choice{border:0;padding:0;margin:1.2rem 0}.status-choice legend{font-weight:700;margin-bottom:.7rem}.status-choice label{display:flex;align-items:center;gap:.65rem;margin:.5rem 0;font-weight:500}.status-choice input{width:auto;margin:0}.status-choice span{border-left:5px solid var(--status-color);background:#f8fafc;padding:.65rem .8rem;border-radius:6px;flex:1}.panel select,.panel textarea{width:100%;padding:.72rem;border:1px solid #cfd9e2;border-radius:8px;background:#fff}@media(max-width:950px){.call-card{grid-template-columns:1fr}.call-actions{justify-content:flex-start}}@media(max-width:600px){.call-main{flex-direction:column;gap:.5rem}.call-phones.large{flex-direction:column}}

/* ProxiCCAS 0.8.0 - fiche bénéficiaire enrichie */
.beneficiary-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.beneficiary-hero h1{margin:.35rem 0}.hero-badges{display:flex;gap:.45rem;flex-wrap:wrap}.badge.neutral{background:#eef2f5;color:#43515c}.vigilance-normal{background:#dff4e8;color:#21633d}.vigilance-watch{background:#fff3cd;color:#725600}.vigilance-priority{background:#ffe2bd;color:#8a4b00}.vigilance-urgent{background:#ffd8dc;color:#8d1c2a}.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;background:#fff;border:1px solid #dfe7ec;border-radius:12px;padding:1rem;margin-bottom:1rem}.summary-strip>div{display:flex;flex-direction:column;gap:.25rem}.summary-strip strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#647681}.summary-strip a{display:block}.profile-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 1rem}.profile-tabs a{background:#edf4f7;border-radius:999px;padding:.55rem .85rem;text-decoration:none;color:#244c5b;font-weight:600}.profile-tabs a:hover{background:#dcecf1}.profile-section{scroll-margin-top:90px}.rich-timeline{position:relative;padding-left:1.25rem}.rich-timeline:before{content:"";position:absolute;left:.35rem;top:.25rem;bottom:.25rem;width:2px;background:#dce5ea}.timeline-event{position:relative;display:grid;grid-template-columns:1fr;gap:.2rem;padding:0 0 1rem 1rem}.timeline-dot{position:absolute;left:-1.02rem;top:.25rem;width:.72rem;height:.72rem;border-radius:50%;background:#647681;border:2px solid #fff;box-shadow:0 0 0 2px #dce5ea}.timeline-event.type-call .timeline-dot{background:#2d8a57}.timeline-event small{display:block;color:#6a7881;margin-top:.15rem}.timeline-event p{margin:.4rem 0 0}.contact-card{align-items:flex-start}.note-box{min-height:3rem}.badge{display:inline-flex;align-items:center;padding:.3rem .55rem;border-radius:999px;font-size:.82rem;font-weight:700}
@media(max-width:760px){.beneficiary-hero{flex-direction:column}.beneficiary-hero .actions{width:100%}.beneficiary-hero .actions .button{flex:1;text-align:center}.summary-strip{grid-template-columns:1fr 1fr}.profile-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.profile-tabs a{white-space:nowrap}}
@media(max-width:480px){.summary-strip{grid-template-columns:1fr}}

/* ProxiCCAS 0.8.1 - fiche bénéficiaire aérée */
.beneficiary-page{max-width:1500px;margin:0 auto;padding:28px 30px 44px}.back-link{display:inline-flex;margin-bottom:18px;text-decoration:none;font-weight:650}.profile-overview-card,.profile-workspace{background:#fff;border:1px solid #dfe7ef;border-radius:18px;box-shadow:0 8px 24px rgba(31,57,79,.07)}.profile-overview-card{padding:24px;margin-bottom:22px}.profile-title-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.profile-identity{display:flex;align-items:center;gap:20px;min-width:0}.profile-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;flex:0 0 88px;background:linear-gradient(145deg,#edf0ff,#ded9ff);color:#5a45df;font-size:2rem;font-weight:800}.profile-title-row h1{margin:0 0 12px;font-size:clamp(1.65rem,2.6vw,2.35rem);line-height:1.12}.profile-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.profile-key-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #dde5ed;border-radius:14px;overflow:hidden;margin-bottom:18px}.key-item{display:flex;gap:14px;align-items:flex-start;padding:20px;min-height:125px}.key-item+.key-item{border-left:1px solid #e3e9ef}.key-icon{font-size:1.45rem;color:#5f48f2;line-height:1}.key-item div{display:flex;flex-direction:column;gap:7px;min-width:0}.key-item strong{font-size:.96rem}.key-item span:not(.key-icon),.key-item a{line-height:1.45;overflow-wrap:anywhere}.profile-status-row{display:grid;grid-template-columns:1.7fr .8fr .8fr auto;align-items:center;gap:20px;background:#fff8e8;border:1px solid #f6e6bc;border-radius:13px;padding:18px 20px;margin-bottom:16px}.profile-status-row.has-alert{background:#fff1f0;border-color:#fac7c3}.status-callout{display:flex;align-items:center;gap:14px}.status-callout>div,.status-metric{display:flex;flex-direction:column;gap:5px}.status-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ffe8a3}.status-metric{border-left:1px solid #d9dfe5;padding-left:20px}.followup-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;background:#f1f7ff;border:1px solid #d4e5fb;border-radius:13px;padding:18px 20px}.summary-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#dceaff;color:#3568d4;font-size:1.35rem}.summary-copy h2{font-size:1.05rem;margin:0 0 5px}.summary-copy p{margin:0;line-height:1.55}.profile-workspace{overflow:hidden}.modern-tabs{margin:0;padding:0 18px;border-bottom:1px solid #e3e9ef;gap:0}.modern-tabs a{position:relative;background:transparent!important;border-radius:0;padding:18px 22px;color:#4e5965}.modern-tabs a:hover{color:#5039e8}.modern-tabs a:first-child{color:#5039e8}.modern-tabs a:first-child:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;background:#6046f2;border-radius:3px}.tab-count{display:inline-grid;place-items:center;margin-left:5px;width:21px;height:21px;border-radius:50%;background:#e33f39;color:#fff;font-size:.72rem}.identity-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:22px}.info-card{border:1px solid #e0e7ee;border-radius:14px;padding:22px;background:#fff}.info-card h2{font-size:1.05rem;color:#5941df;margin:0 0 20px}.info-card dl{margin:0}.info-card dl>div{display:grid;grid-template-columns:minmax(120px,.9fr) 1.2fr;gap:14px;padding:9px 0}.info-card dt{color:#667085}.info-card dd{margin:0;font-weight:500}.map-button{display:inline-flex;margin-top:18px}.spacious-grid{padding:0 22px 24px;gap:20px}.spacious-grid .panel{margin:0;padding:22px;border-radius:14px}.compact-history{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid #e6ebef}.compact-history:last-child{border-bottom:0}.compact-history span{color:#687985;font-size:.88rem}.compact-history p{margin:5px 0 0}.contact-card>div{display:flex;flex-direction:column;gap:5px}.contact-card>div>span{color:#687985}.hero-badges{gap:8px}.hero-badges .badge{padding:.42rem .72rem}.button{border-radius:9px;padding:.72rem 1rem}.button.small{padding:.52rem .75rem}
@media(max-width:1180px){.profile-key-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.key-item+.key-item{border-left:0}.key-item:nth-child(even){border-left:1px solid #e3e9ef}.key-item:nth-child(n+3){border-top:1px solid #e3e9ef}.profile-status-row{grid-template-columns:1fr 1fr}.profile-status-row .button{justify-self:start}.identity-card-grid{grid-template-columns:1fr 1fr}.identity-card-grid .info-card:last-child{grid-column:1/-1}}
@media(max-width:760px){.beneficiary-page{padding:18px 14px 36px}.profile-overview-card{padding:18px}.profile-title-row{align-items:flex-start;flex-direction:column}.profile-identity{align-items:flex-start}.profile-avatar{width:66px;height:66px;flex-basis:66px;font-size:1.45rem}.profile-actions{width:100%;justify-content:flex-start}.profile-key-grid{grid-template-columns:1fr}.key-item,.key-item:nth-child(even){border-left:0}.key-item:nth-child(n+2){border-top:1px solid #e3e9ef}.profile-status-row{grid-template-columns:1fr}.status-metric{border-left:0;border-top:1px solid #d9dfe5;padding:14px 0 0}.followup-summary{grid-template-columns:auto 1fr}.followup-summary .button{grid-column:1/-1;justify-self:start}.modern-tabs{overflow-x:auto;flex-wrap:nowrap}.identity-card-grid{grid-template-columns:1fr;padding:16px}.identity-card-grid .info-card:last-child{grid-column:auto}.spacious-grid{padding:0 16px 18px}.info-card dl>div{grid-template-columns:1fr}.info-card dd{padding-bottom:4px}}

/* ProxiCCAS 0.9.1 - refonte de la liste des bénéficiaires */
.beneficiaries-page{max-width:1600px;margin:0 auto}.beneficiaries-title-row{margin-bottom:18px}.beneficiary-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:0 0 18px}.beneficiary-kpis article{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:18px 20px;box-shadow:0 5px 18px rgba(32,64,96,.05)}.beneficiary-kpis span{display:block;color:#6b7f90;font-size:.9rem}.beneficiary-kpis strong{display:block;font-size:1.8rem;margin-top:7px}.beneficiary-kpis .kpi-priority{border-left:4px solid #f79009}.beneficiary-kpis .kpi-urgent{border-left:4px solid #d92d20}.beneficiary-search-panel{background:#fff;border:1px solid #dfe7ef;border-radius:16px;padding:20px;margin-bottom:14px;box-shadow:0 5px 18px rgba(32,64,96,.05)}.beneficiary-search-panel label{margin:0}.beneficiary-search-panel label>span{display:block;font-size:.84rem;color:#667085;font-weight:700;margin-bottom:7px}.modern-search-field input{font-size:1rem;padding:.86rem 1rem}.search-filter-row{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:14px;align-items:end;margin-top:14px}.search-filter-row select{width:100%;min-height:45px;padding:.7rem;border:1px solid #cfd9e2;border-radius:9px;background:#fff}.search-actions{display:flex;gap:9px;align-items:center}.search-actions .button,.search-actions button{width:auto;margin:0;white-space:nowrap;padding:.72rem 1rem}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:12px 2px}.modern-beneficiary-table{border-radius:16px}.modern-beneficiary-table thead th{background:#f7f9fc;color:#4d5f70;font-size:.82rem;text-transform:uppercase;letter-spacing:.025em}.modern-beneficiary-table tbody tr{transition:background .15s ease}.modern-beneficiary-table tbody tr:hover{background:#f8fbfd}.modern-beneficiary-table .beneficiary-name{font-weight:750;color:#173f5f;text-decoration:none}.modern-beneficiary-table .beneficiary-name:hover{text-decoration:underline}.beneficiary-row{border-left:4px solid transparent}.beneficiary-row.vigilance-row-watch{border-left-color:#eab308}.beneficiary-row.vigilance-row-priority{border-left-color:#f79009}.beneficiary-row.vigilance-row-urgent{border-left-color:#d92d20}.due-today{display:inline-flex;background:#fff3cd;color:#725600;border-radius:999px;padding:.28rem .55rem;font-weight:700}.modern-beneficiary-table td:nth-child(5),.modern-beneficiary-table td:nth-child(6){white-space:nowrap}.modern-beneficiary-table small:empty{display:none}
@media(max-width:1100px){.beneficiary-kpis{grid-template-columns:repeat(2,1fr)}.search-filter-row{grid-template-columns:repeat(2,minmax(150px,1fr))}.search-actions{grid-column:1/-1}.modern-beneficiary-table table{min-width:1050px}}
@media(max-width:650px){.beneficiary-kpis{grid-template-columns:1fr 1fr}.search-filter-row{grid-template-columns:1fr}.search-actions{grid-column:auto;flex-wrap:wrap}.results-toolbar{align-items:flex-start;flex-direction:column}.beneficiary-search-panel{padding:16px}.beneficiary-kpis article{padding:15px}.beneficiary-kpis strong{font-size:1.45rem}}

/* ProxiCCAS 0.9.2 - vrais onglets et documents */
.modern-tabs{display:flex;align-items:stretch;overflow-x:auto}
.modern-tabs .profile-tab{width:auto;margin:0;padding:18px 22px;border:0;border-radius:0;background:transparent;color:#4e5965;font:inherit;font-weight:650;white-space:nowrap;position:relative;cursor:pointer}
.modern-tabs .profile-tab:hover{color:#5039e8;background:#fafaff}
.modern-tabs .profile-tab.is-active{color:#5039e8;background:transparent}
.modern-tabs .profile-tab.is-active:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:#6046f2;border-radius:3px 3px 0 0}
.tab-panel{display:none;margin:22px}
.tab-panel.is-active{display:block}
#panel-identite{margin:0}
#panel-identite .identity-card-grid{padding:22px}
.profile-workspace>.tab-panel.panel{box-shadow:none}
.documents-panel{padding:24px!important}
.documents-head{margin-bottom:20px}
.documents-head h2{margin:0 0 5px}
.documents-head p{margin:0}
.documents-empty{display:flex;flex-direction:column;gap:7px;padding:34px;border:1px dashed #cfd9e2;border-radius:12px;text-align:center;background:#fafcff;color:#667085}
.document-table-wrap{overflow-x:auto;border:1px solid #e3e9ef;border-radius:12px}
.document-table{width:100%;border-collapse:collapse;background:#fff}
.document-table th,.document-table td{padding:14px 16px;border-bottom:1px solid #e8edf2;text-align:left;vertical-align:middle}
.document-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#667085;background:#f8fafc}
.document-table tbody tr:last-child td{border-bottom:0}
.document-table tbody tr:hover{background:#fbfdff}
.document-name-cell{display:flex;align-items:center;gap:12px;min-width:260px}
.document-name-cell>div{display:flex;flex-direction:column;gap:4px}
.document-name-cell small{color:#667085}
.document-file-icon{width:38px;height:42px;border-radius:7px;display:grid;place-items:center;color:#fff;font-size:.72rem;font-weight:800;flex:0 0 auto}
.document-file-icon.pdf{background:#d92d20}.document-file-icon.image{background:#12a66a}
.document-category{display:inline-flex;padding:.28rem .6rem;border-radius:999px;background:#edf4ff;color:#175cd3;font-size:.8rem;font-weight:700;white-space:nowrap}
.document-actions-title{text-align:right!important}.document-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.document-actions form{margin:0}
.icon-button{width:36px!important;height:36px!important;margin:0!important;padding:0!important;display:inline-grid!important;place-items:center!important;border:1px solid #d8e1ea!important;border-radius:8px!important;background:#fff!important;color:#17324d!important;text-decoration:none!important;font-size:1rem!important;line-height:1!important;cursor:pointer}
.icon-button:hover{background:#f3f7fb!important;border-color:#9cb2c5!important}.icon-button.danger-outline{color:#b42318!important;border-color:#f4c7c3!important}.icon-button.danger-outline:hover{background:#fff1f0!important}
.documents-help{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#f2f7ff;color:#3568a8;font-size:.86rem}
@media(max-width:760px){.tab-panel{margin:16px}.documents-panel{padding:16px!important}.documents-head{align-items:stretch;flex-direction:column}.documents-head .button{align-self:flex-start}.document-table{min-width:860px}.modern-tabs .profile-tab{padding:15px 17px}}

/* ProxiCCAS 0.9.3 - édition directe de la note agent */
.notes-head {
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.notes-head h2 {
  margin-bottom: .35rem;
}

.agent-note-form {
  margin-top: .25rem;
}

.agent-note-form label {
  display: block;
  font-weight: 700;
  margin-bottom: .55rem;
}

.agent-note-form textarea {
  width: 100%;
  min-height: 12rem;
  resize: vertical;
  padding: 1rem;
  border: 1px solid #cfd9e8;
  border-radius: .75rem;
  background: #fff;
  color: #0b2d4d;
  font: inherit;
  line-height: 1.55;
  box-sizing: border-box;
}

.agent-note-form textarea:focus {
  outline: 3px solid rgba(76, 64, 255, .15);
  border-color: #5b4bff;
}

.compact-actions {
  display: flex;
  gap: .65rem;
  margin-top: .85rem;
  justify-content: flex-start;
}

.notes-panel .note-box {
  min-height: 5rem;
  line-height: 1.6;
  white-space: normal;
}

@media (max-width: 700px) {
  .notes-head {
    flex-direction: column;
  }
  .compact-actions {
    flex-wrap: wrap;
  }
}

/* ProxiCCAS 0.9.4 - refonte de la liste des campagnes */
.campaigns-page{max-width:1600px;margin:0 auto}.campaigns-title-row{margin-bottom:8px}.campaign-status-tabs{margin-bottom:18px}.campaign-status-tabs a span{margin-left:3px}.campaign-kpis{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;margin:0 0 18px}.campaign-kpis article{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:17px 19px;box-shadow:0 5px 18px rgba(32,64,96,.05);border-left:4px solid #7757f4}.campaign-kpis article.kpi-active{border-left-color:#12a66a}.campaign-kpis article.kpi-draft{border-left-color:#f79009}.campaign-kpis article.kpi-closed{border-left-color:#3787e8}.campaign-kpis article.kpi-archived{border-left-color:#98a2b3}.campaign-kpis span,.campaign-kpis small{display:block;color:#667085}.campaign-kpis strong{display:block;font-size:1.75rem;margin:5px 0 2px}.campaign-search-panel{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:16px 18px;margin-bottom:16px}.campaign-search-panel label{margin:0}.campaign-search-panel label span{display:block;font-size:.84rem;color:#667085;font-weight:700;margin-bottom:6px}.campaign-search-panel input{margin:0}.campaign-search-actions{display:flex;gap:8px}.campaign-search-actions button,.campaign-search-actions .button{width:auto;margin:0;white-space:nowrap}.campaign-list-panel{padding:0;overflow:visible}.campaign-list-head{padding:16px 20px;border-bottom:1px solid #e7edf3}.campaign-table-wrap{overflow-x:auto}.campaign-table{width:100%;border-collapse:collapse}.campaign-table th,.campaign-table td{padding:14px 16px;border-bottom:1px solid #e8edf2;text-align:left;vertical-align:middle}.campaign-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#667085;background:#f8fafc}.campaign-table tbody tr:hover{background:#fbfdff}.campaign-table tbody tr:last-child td{border-bottom:0}.campaign-name-cell{display:flex;align-items:center;gap:12px;min-width:290px}.campaign-name-cell>div{display:flex;flex-direction:column;gap:4px}.campaign-name-cell a{font-weight:750;color:#173f5f;text-decoration:none}.campaign-name-cell a:hover{text-decoration:underline}.campaign-name-cell small,.campaign-period small,.campaign-table td>small{display:block;color:#667085;margin-top:3px}.campaign-type-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#efeaff}.campaign-status-draft{background:#fff1cc;color:#8a5200}.campaign-status-active{background:#dff8e9;color:#087443}.campaign-status-closed{background:#e6f0ff;color:#175cd3}.campaign-status-archived{background:#edf0f4;color:#475467}.campaign-progress-cell{min-width:190px}.campaign-progress-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px}.campaign-progress-label span{color:#667085;font-size:.82rem}.campaign-row-actions{display:flex;justify-content:flex-end;gap:7px;align-items:center;position:relative}.campaign-actions-title{text-align:right!important}.campaign-action-menu{position:relative}.campaign-action-menu summary{list-style:none}.campaign-action-menu summary::-webkit-details-marker{display:none}.campaign-action-popover{position:absolute;right:0;top:43px;z-index:20;min-width:190px;background:#fff;border:1px solid #dfe7ef;border-radius:10px;padding:6px;box-shadow:0 14px 35px rgba(23,50,77,.16)}.campaign-action-popover form{margin:0}.campaign-action-popover .menu-action{display:block;width:100%;margin:0;padding:10px 11px;border-radius:7px;background:#fff;color:#17324d;text-align:left;font-size:.9rem}.campaign-action-popover .menu-action:hover{background:#f3f7fb}.campaign-action-popover .danger-text{color:#b42318}.campaign-action-popover .danger-text:hover{background:#fff1f0}.campaign-table .progress.mini{height:7px;background:#e8edf2;border-radius:999px;overflow:hidden}.campaign-table .progress.mini span{display:block;height:100%;background:#6046f2;border-radius:999px}
@media(max-width:1200px){.campaign-kpis{grid-template-columns:repeat(3,1fr)}.campaign-table{min-width:1050px}}@media(max-width:760px){.campaign-kpis{grid-template-columns:repeat(2,1fr)}.campaign-search-panel{grid-template-columns:1fr}.campaign-search-actions{flex-wrap:wrap}.campaigns-title-row{align-items:stretch}.campaigns-title-row .button{align-self:flex-start}}@media(max-width:480px){.campaign-kpis{grid-template-columns:1fr}}

/* ProxiCCAS 0.9.5 - fiche campagne aérée */
.campaign-detail-page{max-width:1600px;margin:0 auto}.campaign-detail-head{align-items:flex-start;margin-bottom:20px}.campaign-detail-head h1{margin:10px 0 10px}.campaign-detail-actions{flex-wrap:wrap;justify-content:flex-end}.campaign-detail-actions form{margin:0}.campaign-detail-actions button,.campaign-detail-actions .button{width:auto;margin:0;white-space:nowrap}.campaign-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;margin-bottom:18px}.campaign-detail-kpis article{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:20px;box-shadow:0 5px 18px rgba(32,64,96,.05);border-left:4px solid #7757f4}.campaign-detail-kpis article.kpi-completed{border-left-color:#12a66a}.campaign-detail-kpis article.kpi-pending{border-left-color:#f79009}.campaign-detail-kpis article.kpi-progress{border-left-color:#6046f2}.campaign-detail-kpis span,.campaign-detail-kpis small{display:block;color:#667085}.campaign-detail-kpis strong{display:block;font-size:2rem;line-height:1.15;margin:7px 0}.campaign-detail-kpis .progress{margin:10px 0 8px}.campaign-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:18px;margin-bottom:18px}.campaign-info-card,.campaign-progress-card{padding:24px}.campaign-info-card h2,.campaign-progress-card h2,.campaign-members-panel h2{margin:0 0 18px}.campaign-info-list{margin:0}.campaign-info-list>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;padding:12px 0;border-bottom:1px solid #edf1f5}.campaign-info-list>div:last-child{border-bottom:0}.campaign-info-list dt{color:#667085}.campaign-info-list dd{margin:0;line-height:1.55}.campaign-progress-summary{display:grid;gap:0}.campaign-progress-summary>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #edf1f5}.campaign-progress-summary strong{font-size:1.05rem}.progress-dot{width:10px;height:10px;border-radius:50%}.progress-dot.pending{background:#f79009}.progress-dot.running{background:#8b5cf6}.progress-dot.completed{background:#12a66a}.progress-dot.cancelled{background:#98a2b3}.campaign-main-progress{margin-top:22px;padding-top:2px}.campaign-progress-label{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}.campaign-main-progress .progress.large{height:12px}.campaign-main-progress p{margin:10px 0 0}.campaign-members-panel{padding:0;overflow:hidden}.campaign-members-panel .section-head{padding:22px 24px;border-bottom:1px solid #e8edf2}.campaign-members-panel .section-head h2{margin-bottom:4px}.campaign-members-panel .section-head p{margin:0}.campaign-members-table-wrap{overflow-x:auto}.campaign-members-table{width:100%;border-collapse:collapse}.campaign-members-table th,.campaign-members-table td{padding:15px 18px;border-bottom:1px solid #e8edf2;text-align:left;vertical-align:middle}.campaign-members-table th{background:#f8fafc;color:#667085;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.campaign-members-table tbody tr:hover{background:#fbfdff}.campaign-members-table tbody tr:last-child td{border-bottom:0}.campaign-member-name{font-weight:750;color:#173f5f;text-decoration:none}.campaign-member-name:hover{text-decoration:underline}.phone-link.compact{font-size:inherit;margin:0}.member-progress-cell{min-width:180px}.member-progress-cell .progress{margin-bottom:5px}.member-progress-cell small{color:#667085}.hero-badges{display:flex;flex-wrap:wrap;gap:8px}.progress.large{height:11px;background:#e8edf2;border-radius:999px;overflow:hidden}.progress.large span,.progress.mini span{display:block;height:100%;background:#6046f2;border-radius:999px}.progress.mini{height:7px;background:#e8edf2;border-radius:999px;overflow:hidden}
@media(max-width:1100px){.campaign-detail-kpis{grid-template-columns:repeat(2,1fr)}.campaign-detail-grid{grid-template-columns:1fr}.campaign-members-table{min-width:860px}}@media(max-width:700px){.campaign-detail-kpis{grid-template-columns:1fr}.campaign-detail-head{flex-direction:column}.campaign-detail-actions{justify-content:flex-start}.campaign-info-list>div{grid-template-columns:1fr;gap:5px}.campaign-info-card,.campaign-progress-card{padding:18px}.campaign-members-panel .section-head{padding:18px}.campaign-detail-page{padding-left:0;padding-right:0}}

/* Tableau de bord interactif - 0.9.6 */
.cards > a,
.cards > article {
  min-height: 132px;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.cards > a {
  position: relative;
  cursor: pointer;
}
.cards > a:hover,
.cards > a:focus-visible {
  transform: translateY(-3px);
  border-color: #5f8fb1;
  box-shadow: 0 12px 28px rgba(32,64,96,.13);
  outline: none;
}
.cards > a small {
  display: block;
  margin-top: 12px;
  color: #246b9b;
  font-weight: 650;
  font-size: .84rem;
}
.cards > a:focus-visible {
  box-shadow: 0 0 0 3px rgba(31,122,140,.18), 0 12px 28px rgba(32,64,96,.13);
}

/* ProxiCCAS 1.0.0 - Cartographie globale */
.map-page{max-width:1600px;margin:0 auto}.map-title-row{align-items:flex-start;margin-bottom:18px}.map-title-row .button{width:auto;margin:0}.map-kpis{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:15px;margin-bottom:18px}.map-kpis article{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:18px 20px;border-left:4px solid #6046f2;box-shadow:0 5px 18px rgba(32,64,96,.05)}.map-kpis article.kpi-warning{border-left-color:#f79009}.map-kpis span{display:block;color:#667085}.map-kpis strong{display:block;font-size:1.85rem;margin-top:7px}.map-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:17px 18px;margin-bottom:16px}.map-filter-panel label{margin:0}.map-filter-panel label span{display:block;font-size:.84rem;color:#667085;font-weight:700;margin-bottom:6px}.map-filter-panel select{margin:0}.map-filter-actions{display:flex;gap:8px}.map-filter-actions .button,.map-filter-actions button{width:auto;margin:0;white-space:nowrap}.map-warning{margin-bottom:16px}.map-card{padding:0;overflow:hidden}.map-legend{display:flex;flex-wrap:wrap;gap:18px;padding:14px 18px;border-bottom:1px solid #e7edf3;background:#fff}.map-legend span{display:flex;align-items:center;gap:7px;color:#475467;font-size:.9rem}.map-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.map-dot.normal{background:#18a66a}.map-dot.watch{background:#eab308}.map-dot.priority{background:#f79009}.map-dot.urgent{background:#dc2626}#beneficiary-map{height:620px;min-height:420px;background:#eaf0f5}.map-popup{min-width:220px;line-height:1.4}.map-popup strong{display:block;font-size:1rem;margin-bottom:8px;color:#17324d}.map-popup .badge{display:inline-block;margin-bottom:7px}.map-popup p{margin:5px 0;color:#475467}.map-popup .button{display:inline-block;width:auto;margin-top:8px;color:#fff!important}.leaflet-popup-content-wrapper{border-radius:12px}.leaflet-control-attribution{font-size:10px}
@media(max-width:1200px){.map-filter-panel{grid-template-columns:repeat(2,1fr)}.map-filter-actions{grid-column:1/-1}.map-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.map-title-row{flex-direction:column}.map-filter-panel{grid-template-columns:1fr}.map-filter-actions{flex-wrap:wrap}.map-kpis{grid-template-columns:1fr}#beneficiary-map{height:520px}.map-legend{gap:10px 14px}}
.address-help{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border-radius:12px;background:#f4f8ff;border:1px solid #dbe8fb}.address-help span{color:#64748b;font-size:.92rem}.inline-form{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.inline-form label{min-width:180px}

/* ==========================================================================
   CORRECTIF LEAFLET 1.0.2
   ========================================================================== */
#beneficiary-map,
#map {
    width: 100%;
    height: 620px;
    min-height: 520px;
    position: relative;
    overflow: hidden;
    border-radius: 0 0 14px 14px;
}
.leaflet-container {
    width: 100%;
    height: 100%;
}
.leaflet-container img {
    max-width: none !important;
    max-height: none !important;
}
.leaflet-container .leaflet-tile {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
@media (max-width: 900px) {
    #beneficiary-map,
    #map {
        height: 520px;
        min-height: 440px;
    }
}

/* ========================================================================== ZONES 1.1.0 */
.zones-page .filter-pills{display:flex;gap:.55rem;margin:1rem 0 1.25rem;flex-wrap:wrap}.filter-pills a{padding:.55rem .9rem;border-radius:999px;background:#eef3f8;color:#334155;text-decoration:none}.filter-pills a.active{background:#175fa7;color:#fff}.zone-list{padding:0;overflow:hidden}.zone-table-head,.zone-row{display:grid;grid-template-columns:1.2fr 2fr .7fr .55fr .7fr 1.35fr;gap:1rem;align-items:center;padding:1rem 1.15rem}.zone-table-head{font-size:.82rem;font-weight:700;color:#64748b;background:#f8fafc;border-bottom:1px solid #dce5ee}.zone-row{border-bottom:1px solid #e7edf3}.zone-row:last-child{border-bottom:0}.zone-name{display:flex;align-items:center;gap:.7rem}.zone-name i{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 4px #dbe4ee}.compact-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.compact-actions form{margin:0}.badge.neutral{background:#eef2f6;color:#64748b}.button.danger.secondary{color:#b42318;border-color:#fecaca;background:#fff}.form-grid input[type=color]{height:46px;padding:.3rem;width:100%}@media(max-width:1050px){.zone-table-head{display:none}.zone-row{grid-template-columns:1fr 1fr}.zone-row>div:before{display:block;font-size:.72rem;color:#64748b;margin-bottom:.2rem}.zone-row>div:nth-child(2):before{content:'Description'}.zone-row>div:nth-child(3):before{content:'Bénéficiaires'}.zone-row>div:nth-child(4):before{content:'Ordre'}.zone-row>div:nth-child(5):before{content:'État'}.zone-row>div:nth-child(6):before{content:'Actions'}}@media(max-width:640px){.zone-row{grid-template-columns:1fr}.compact-actions{justify-content:flex-start}}

/* ========================================================================== 
   ZONES GEOGRAPHIQUES 1.2.0
   ========================================================================== */
.zone-table-head-geo,.zone-row-geo{grid-template-columns:1.35fr 1.1fr .65fr .85fr .7fr 1.8fr}.zone-name>div{display:flex;flex-direction:column;gap:.25rem}.zone-name small,.zone-geometry-state{display:block;color:#667085;margin-top:.35rem}.badge.info{background:#e6f0ff;color:#175cd3}.badge.warning{background:#fff1cc;color:#8a5200}.checkbox-card{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid #dfe7ef;border-radius:12px;background:#f8fafc}.checkbox-card input{width:auto!important;margin:.2rem 0 0!important}.checkbox-card span{display:flex;flex-direction:column;gap:.25rem}.checkbox-card small{color:#667085;font-weight:400}.zone-draw-page{max-width:1600px;margin:0 auto}.zone-draw-toolbar,.zone-save-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;margin-bottom:1rem}.zone-draw-toolbar>div:first-child{display:flex;align-items:center;gap:.8rem}.zone-draw-toolbar #point-count{color:#667085}.zone-draw-card{padding:0;overflow:hidden}.zone-draw-card #zone-map{height:650px;min-height:520px;width:100%}.zone-save-panel{margin-top:1rem}.zone-save-panel p{margin:.25rem 0 0}.zone-save-panel button{width:auto;margin:0;white-space:nowrap}.zone-popup p{margin:.35rem 0}.campaign-zone-tools{display:grid;grid-template-columns:auto auto minmax(220px,1fr) minmax(180px,260px);gap:.6rem;align-items:center}.campaign-zone-tools input,.campaign-zone-tools select{margin:0}.setup-steps{display:grid;gap:12px}.setup-step{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;text-decoration:none;color:#17324d;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.setup-step:hover{transform:translateY(-2px);border-color:#5f8fb1;box-shadow:0 10px 24px rgba(32,64,96,.1)}.setup-step-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e6f0ff;color:#175cd3;font-weight:800}.setup-step.done .setup-step-icon{background:#dff8e9;color:#087443}.setup-step>div{display:flex;flex-direction:column;gap:.2rem}.setup-step small{color:#667085}
@media(max-width:1100px){.zone-table-head-geo{display:none}.zone-row-geo{grid-template-columns:1fr 1fr}.campaign-zone-tools{grid-template-columns:1fr 1fr}.campaign-zone-tools input,.campaign-zone-tools select{grid-column:span 1}}
@media(max-width:700px){.zone-draw-toolbar,.zone-save-panel{align-items:stretch;flex-direction:column}.zone-draw-toolbar .compact-actions{justify-content:flex-start}.zone-draw-card #zone-map{height:520px;min-height:430px}.campaign-zone-tools{grid-template-columns:1fr}.campaign-zone-tools>*{width:100%}.zone-row-geo{grid-template-columns:1fr}}

/* ProxiCCAS 1.4.0 - impressions et exports bénéficiaires */
.page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.page-head-actions .button{width:auto;margin:0;white-space:nowrap}
.print-document{max-width:1200px;margin:0 auto;padding:32px;background:#fff;color:#172b3a;font-family:Arial,Helvetica,sans-serif}.print-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:18px;margin-bottom:22px;border-bottom:2px solid #173f5f}.print-header h1{margin:0 0 5px;font-size:1.45rem}.print-header p{margin:0;color:#526575}.print-meta{text-align:right;font-size:.85rem;line-height:1.55;color:#526575}.print-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:22px}.print-actions .button{width:auto;margin:0}.print-table{width:100%;border-collapse:collapse;font-size:.82rem}.print-table th,.print-table td{padding:9px 10px;border:1px solid #d9e1e7;text-align:left;vertical-align:top}.print-table th{background:#edf3f7;color:#173f5f;font-size:.75rem;text-transform:uppercase;letter-spacing:.02em}.print-table td small{display:block;margin-top:4px;color:#667784}.print-footer{margin-top:24px;padding-top:12px;border-top:1px solid #d9e1e7;text-align:center;color:#667784;font-size:.76rem}.print-identity{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px;margin-bottom:20px;border:1px solid #dce5eb;border-radius:12px;background:#f8fbfd}.print-identity h2{margin:0 0 6px;font-size:1.65rem}.print-identity p{margin:0;color:#667784}.print-identity>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.print-identity span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8eef8;font-size:.82rem;font-weight:700}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.print-grid article,.print-section{padding:18px;border:1px solid #dce5eb;border-radius:10px;break-inside:avoid}.print-grid h3,.print-section h3{margin:0 0 14px;font-size:1.05rem;color:#173f5f}.print-grid dl{display:grid;grid-template-columns:135px 1fr;gap:8px 12px;margin:0}.print-grid dt{font-weight:700;color:#526575}.print-grid dd{margin:0}.print-section{margin-bottom:18px}.print-section p{margin:0;line-height:1.55}
@media(max-width:760px){.page-head-actions{justify-content:flex-start}.print-document{padding:18px}.print-header,.print-identity{flex-direction:column}.print-meta{text-align:left}.print-grid{grid-template-columns:1fr}.print-table{font-size:.75rem}}
@media print{body.print-document{max-width:none;margin:0;padding:0;font-size:10pt}.screen-only,.topbar,.layout>aside,.app-footer{display:none!important}.print-header{margin-bottom:14px}.print-table{font-size:8pt}.print-table th,.print-table td{padding:5px 6px}.print-section,.print-grid article,.print-identity{box-shadow:none}.print-footer{position:relative}.beneficiary-print-document .print-section{break-inside:avoid}@page{size:A4 landscape;margin:12mm}.beneficiary-print-document{@page{size:A4 portrait;margin:12mm}}}

/* ProxiCCAS 1.4.1 - assistant d'import */
.import-page{max-width:1500px;margin:0 auto}.import-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 20px}.import-steps span{padding:12px 14px;border:1px solid #dfe7ef;border-radius:10px;background:#fff;color:#667085;font-weight:700;text-align:center}.import-steps span.active{background:#173f5f;color:#fff;border-color:#173f5f}.import-card{padding:26px;margin-bottom:20px}.import-card-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}.import-card-head h2,.import-card h2{margin:0 0 5px}.import-card-head p{margin:0;color:#667085}.import-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf0ff;color:#3b5ccc;font-size:1.5rem;font-weight:800}.import-upload-form{display:grid;gap:18px}.file-drop{display:flex;flex-direction:column;gap:8px;padding:28px;border:2px dashed #cbd7e4;border-radius:14px;background:#f8fbfd;text-align:center}.file-drop input{margin:12px auto 0;max-width:460px}.template-links,.import-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.template-links{justify-content:flex-start}.template-links .button,.import-actions .button,.import-actions button{width:auto;margin:0}.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;margin-bottom:20px}.mapping-grid label{padding:14px;border:1px solid #e1e8ef;border-radius:10px;background:#fbfdff}.mapping-grid label span{display:block;margin-bottom:8px;font-weight:750;color:#344054}.compact-table{min-width:900px}.import-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.import-summary-grid article{padding:20px;border-left:4px solid #61758a}.import-summary-grid article span{display:block;color:#667085}.import-summary-grid article strong{display:block;font-size:2rem;margin-top:6px}.import-summary-grid .success-card{border-left-color:#12a66a}.import-summary-grid .warning-card{border-left-color:#f79009}.import-summary-grid .danger-card{border-left-color:#dc3545}.validation-details{margin:16px 0;border:1px solid #e1e8ef;border-radius:10px;overflow:hidden}.validation-details summary{cursor:pointer;padding:14px 16px;background:#f8fafc;font-weight:750}.validation-details .table-wrap{border-top:1px solid #e1e8ef}.duplicate-choice{margin-top:22px}.duplicate-choice fieldset{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border:0;padding:0;margin:0}.duplicate-choice legend{font-weight:800;margin-bottom:10px}.duplicate-choice label{display:flex;align-items:flex-start;gap:10px;padding:16px;border:1px solid #dfe7ef;border-radius:12px;background:#fff}.duplicate-choice input{width:auto;margin-top:4px}.duplicate-choice span{display:flex;flex-direction:column;gap:4px}.duplicate-choice small{color:#667085}.import-page table small{display:block;color:#667085;margin-top:3px}.button.small{padding:7px 10px;font-size:.82rem}
@media(max-width:1000px){.mapping-grid{grid-template-columns:repeat(2,1fr)}.import-summary-grid{grid-template-columns:repeat(2,1fr)}.duplicate-choice fieldset{grid-template-columns:1fr}}
@media(max-width:650px){.import-steps{grid-template-columns:1fr 1fr}.mapping-grid{grid-template-columns:1fr}.import-summary-grid{grid-template-columns:1fr}.import-card{padding:18px}.import-actions{justify-content:flex-start}}
