@import"https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap";:root{--ds-bg: #f5f7fa;--ds-surface: #ffffff;--ds-primary: #0c1b3a;--ds-primary-light: #132d5e;--ds-accent: #42D3EC;--ds-accent-hover: #2bc4dd;--ds-text: #1a1a2e;--ds-text-muted: #6b7280;--ds-border: #e5e7eb;--ds-border-light: #f0f1f3;--ds-success: #10b981;--ds-success-bg: #ecfdf5;--ds-danger: #ef4444;--ds-danger-bg: #fef2f2;--ds-warning: #f59e0b;--ds-info: #3b82f6;--ds-info-bg: #eff6ff;--ds-radius: 8px;--ds-radius-sm: 6px;--ds-radius-lg: 12px;--ds-shadow-sm: 0 1px 3px rgba(0,0,0,.06);--ds-shadow-md: 0 4px 12px rgba(0,0,0,.08);--ds-shadow-lg: 0 10px 30px rgba(0,0,0,.12);--ds-font: "Raleway", -apple-system, sans-serif;--ds-transition: .2s ease}.epci-header,.interloc-header,.admin-enums-header,.ref-header,.agents-header,.audit-header,.communes-epci-header,.export-panel h2{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.epci-header h2,.interloc-header h2,.admin-enums-header h2,.ref-header h2,.agents-header h2,.audit-header h2{display:flex;align-items:center;gap:10px;font-family:var(--ds-font);font-size:20px;font-weight:700;color:var(--ds-primary);margin:0}.epci-table-container,.interloc-table-container,.enum-table-container,.ref-table-container,.agents-table-container,.audit-table-container,.communes-epci-table-container{background:var(--ds-surface);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm);overflow:hidden}.users-table,.epci-table,.interloc-table,.enum-table,.ref-table,.agents-table,.audit-table,.communes-epci-table{width:100%;border-collapse:collapse;font-size:13.5px;font-family:var(--ds-font)}.users-table thead tr,.epci-table thead tr,.interloc-table thead tr,.enum-table thead tr,.ref-table thead tr,.agents-table thead tr,.audit-table thead tr,.communes-epci-table thead tr{background:var(--ds-primary);color:#fff}.users-table th,.epci-table th,.interloc-table th,.enum-table th,.ref-table th,.agents-table th,.audit-table th,.communes-epci-table th{padding:11px 16px;text-align:left;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.users-table td,.epci-table td,.interloc-table td,.enum-table td,.ref-table td,.agents-table td,.audit-table td,.communes-epci-table td{padding:10px 16px;border-bottom:1px solid var(--ds-border-light);color:var(--ds-text)}.users-table tbody tr:hover,.epci-table tbody tr:hover,.interloc-table tbody tr:hover,.enum-table tbody tr:hover,.ref-table tbody tr:hover,.agents-table tbody tr:hover,.audit-table tbody tr:hover,.communes-epci-table tbody tr:hover{background:#f8fafc}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content{background:var(--ds-surface);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-lg);width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;animation:modalIn .25s ease-out}@keyframes modalIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--ds-border);background:var(--ds-surface);border-radius:var(--ds-radius-lg) var(--ds-radius-lg) 0 0;flex-shrink:0;position:sticky;top:0;z-index:1;box-shadow:0 2px 6px #0000000a}.modal-header h3{margin:0;font-family:var(--ds-font);font-size:15px;font-weight:700;color:var(--ds-primary);flex:1}.modal-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.modal-content form,.modal-content>div:not(.modal-header):not(.modal-actions){overflow-y:auto;flex:1;padding:0}.btn-close-modal{background:none;border:none;cursor:pointer;color:var(--ds-text-muted);padding:4px;border-radius:var(--ds-radius-sm);transition:all var(--ds-transition)}.btn-close-modal:hover{background:var(--ds-border-light);color:var(--ds-danger)}.modal-actions{display:none!important}.modal-header-actions .btn-cancel{padding:7px 14px!important;font-size:12.5px!important;gap:5px!important}.modal-header-actions button[type=submit],.modal-header-actions .btn-save-epci,.modal-header-actions .btn-save-interloc,.modal-header-actions .btn-save-user,.modal-header-actions .btn-save-ref,.modal-header-actions .btn-save-agent{padding:7px 16px!important;font-size:12.5px!important;gap:5px!important}.modal-content form{padding:20px 24px;overflow-y:auto;flex:1}.btn-add-epci,.btn-add-interloc,.btn-add-user,.btn-add-ref,.btn-add-agent,.btn-add-enum-row{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:var(--ds-primary);color:#fff;border:none;border-radius:var(--ds-radius);font-family:var(--ds-font);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--ds-transition)}.btn-add-epci:hover,.btn-add-interloc:hover,.btn-add-user:hover,.btn-add-ref:hover,.btn-add-agent:hover,.btn-add-enum-row:hover{background:var(--ds-primary-light);transform:translateY(-1px);box-shadow:var(--ds-shadow-md)}.btn-save-epci,.btn-save-interloc,.btn-save-user,.btn-save-ref,.btn-save-agent{display:inline-flex;align-items:center;gap:6px;padding:9px 22px;background:var(--ds-accent);color:var(--ds-primary);border:none;border-radius:var(--ds-radius);font-family:var(--ds-font);font-size:13.5px;font-weight:700;cursor:pointer;transition:all var(--ds-transition)}.btn-save-epci:hover,.btn-save-interloc:hover,.btn-save-user:hover,.btn-save-ref:hover,.btn-save-agent:hover{background:var(--ds-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #42d3ec4d}.btn-cancel{display:inline-flex;align-items:center;gap:6px;padding:9px 22px;background:transparent;color:var(--ds-text-muted);border:1.5px solid var(--ds-border);border-radius:var(--ds-radius);font-family:var(--ds-font);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--ds-transition)}.btn-cancel:hover{background:#f9fafb;border-color:#c0c5cc;color:var(--ds-text)}.action-buttons{display:flex;gap:4px}.btn-edit,.btn-delete-epci,.btn-delete-interloc,.btn-delete-user,.btn-delete-ref,.btn-delete-agent,.btn-enum-edit,.btn-enum-delete,.btn-enum-save,.btn-enum-cancel{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--ds-radius-sm);cursor:pointer;transition:all var(--ds-transition);background:transparent;color:var(--ds-text-muted)}.btn-edit:hover,.btn-enum-edit:hover{background:var(--ds-info-bg);color:var(--ds-info)}.btn-delete-epci:hover,.btn-delete-interloc:hover,.btn-delete-user:hover,.btn-delete-ref:hover,.btn-delete-agent:hover,.btn-enum-delete:hover{background:var(--ds-danger-bg);color:var(--ds-danger)}.btn-enum-save:hover{background:var(--ds-success-bg);color:var(--ds-success)}.btn-enum-cancel:hover{background:var(--ds-danger-bg);color:var(--ds-danger)}.modal-content input[type=text],.modal-content input[type=email],.modal-content input[type=password],.modal-content input[type=number],.modal-content input[type=date],.modal-content input[type=tel],.modal-content select,.modal-content textarea,.commune-form input[type=text],.commune-form input[type=email],.commune-form input[type=number],.commune-form input[type=date],.commune-form select{width:100%;padding:9px 12px;border:1.5px solid var(--ds-border);border-radius:var(--ds-radius-sm);font-family:var(--ds-font);font-size:13.5px;color:var(--ds-text);background:var(--ds-surface);transition:border-color var(--ds-transition),box-shadow var(--ds-transition);box-sizing:border-box}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus,.commune-form input:focus,.commune-form select:focus{outline:none;border-color:var(--ds-accent);box-shadow:0 0 0 3px #42d3ec26}.modal-content input:invalid:not(:focus):not(:placeholder-shown),.modal-content select:invalid:not(:focus),.commune-form input:invalid:not(:focus):not(:placeholder-shown),.commune-form select:invalid:not(:focus){border-color:var(--ds-danger);box-shadow:0 0 0 2px #ef44441a}.modal-content label .required-star,.commune-form label .required-star{color:var(--ds-danger);margin-left:2px}.input-formatted{position:relative}.input-formatted .input-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;color:#b0b8c4;font-family:var(--ds-font);pointer-events:none}.modal-content label,.commune-form label{display:block;font-family:var(--ds-font);font-size:12px;font-weight:600;color:var(--ds-text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}.modal-content input[type=checkbox]{accent-color:var(--ds-accent)}.form-section{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--ds-border-light)}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section-title{font-family:var(--ds-font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ds-text-muted);margin:0 0 12px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.form-group{margin-bottom:12px}.badge-oui,.enum-badge-actif,.badge-creation{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;font-family:var(--ds-font);background:var(--ds-success-bg);color:#059669}.badge-non,.enum-badge-inactif,.row-inactive td:first-child:before{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;font-family:var(--ds-font);background:#f3f4f6;color:#9ca3af}.badge-modification{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;font-family:var(--ds-font);background:var(--ds-info-bg);color:#2563eb}.role-badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;font-family:var(--ds-font)}.role-admin{background:#fef3c7;color:#d97706}.role-user{background:var(--ds-info-bg);color:#2563eb}.role-lecteur{background:#f3f4f6;color:#6b7280}.role-none{background:#f9fafb;color:#d1d5db}.commune-count-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--ds-success-bg);color:#059669;border-radius:99px;font-size:12px;font-weight:600}.enum-tabs,.ref-tabs{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap;background:var(--ds-surface);padding:4px;border-radius:var(--ds-radius);box-shadow:var(--ds-shadow-sm)}.enum-tab,.ref-tab{padding:8px 16px;border:none;border-radius:var(--ds-radius-sm);background:transparent;font-family:var(--ds-font);font-size:12.5px;font-weight:600;color:var(--ds-text-muted);cursor:pointer;transition:all var(--ds-transition)}.enum-tab:hover,.ref-tab:hover{background:#f1f5f9;color:var(--ds-primary)}.enum-tab-active,.ref-tab-active,.enum-tab.enum-tab-active,.ref-tab.ref-tab-active{background:var(--ds-primary)!important;color:#fff!important}.multi-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}.multi-select-item{display:flex!important;align-items:center;gap:8px;padding:8px 12px;background:var(--ds-surface);border:1.5px solid var(--ds-border);border-radius:var(--ds-radius-sm);cursor:pointer;transition:all var(--ds-transition);font-size:13px!important;font-weight:500!important;font-family:var(--ds-font)}.multi-select-item:hover{border-color:var(--ds-accent);background:#42d3ec0d}.multi-select-item input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--ds-accent);flex-shrink:0}.multi-select-item input[type=checkbox]:checked+span{color:var(--ds-primary);font-weight:600}.epci-error,.interloc-error,.admin-enums-error,.ref-error,.agents-error,.audit-error,.form-error,.communes-epci-error{background:var(--ds-danger-bg);color:var(--ds-danger);padding:12px 16px;border-radius:var(--ds-radius);border-left:4px solid var(--ds-danger);margin-bottom:16px;font-size:13px;font-family:var(--ds-font)}.success-message{background:var(--ds-success-bg);color:#059669;padding:12px 16px;border-radius:var(--ds-radius);border-left:4px solid var(--ds-success);margin-bottom:16px;font-size:13px;font-family:var(--ds-font);font-weight:600;animation:fadeIn .3s ease-out}.epci-loading,.interloc-loading,.admin-enums-loading,.ref-loading,.agents-loading,.audit-loading,.communes-epci-loading{text-align:center;padding:60px 20px;font-size:15px;color:var(--ds-text-muted);font-family:var(--ds-font)}.interloc-placeholder,.audit-empty,.communes-epci-empty,.epci-empty{text-align:center;padding:48px 20px;color:var(--ds-text-muted);font-family:var(--ds-font)}.input-readonly{background:#f8f9fa!important;color:#9ca3af!important;cursor:not-allowed!important;border-color:var(--ds-border-light)!important}.input-readonly:focus{box-shadow:none!important;border-color:var(--ds-border-light)!important}.audit-section{background:#fafbfc;border-top:1px dashed var(--ds-border);margin-top:16px;padding-top:12px}.audit-section h3,.audit-section h4{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#b0b8c4;margin-bottom:8px}.interloc-filters,.audit-filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.btn-filter{padding:6px 14px;border:1.5px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:var(--ds-surface);font-family:var(--ds-font);font-size:12.5px;font-weight:600;color:var(--ds-text-muted);cursor:pointer;transition:all var(--ds-transition)}.btn-filter:hover{border-color:var(--ds-accent);color:var(--ds-primary)}.btn-filter.active{background:var(--ds-primary);color:#fff;border-color:var(--ds-primary)}.interloc-pagination,.audit-load-more{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;padding:12px 0}.btn-page,.btn-load-more{padding:7px 18px;background:var(--ds-surface);color:var(--ds-primary);border:1.5px solid var(--ds-border);border-radius:var(--ds-radius-sm);font-family:var(--ds-font);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--ds-transition)}.btn-page:hover,.btn-load-more:hover{background:var(--ds-primary);color:#fff;border-color:var(--ds-primary)}.btn-page:disabled{opacity:.35;cursor:not-allowed}.btn-page:disabled:hover{background:var(--ds-surface);color:var(--ds-primary)}.page-info{font-size:13px;color:var(--ds-text-muted);font-weight:600;font-family:var(--ds-font)}.interloc-search-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--ds-surface);border:1.5px solid var(--ds-border);border-radius:var(--ds-radius);min-width:280px;transition:border-color var(--ds-transition)}.interloc-search-bar:focus-within{border-color:var(--ds-accent);box-shadow:0 0 0 3px #42d3ec1f}.interloc-search-bar input{border:none!important;padding:0!important;font-size:14px;width:100%;outline:none;box-shadow:none!important;background:transparent;font-family:var(--ds-font)}.commune-row-clickable,.commune-count-link{cursor:pointer;transition:background var(--ds-transition)}.commune-count-link:hover{background:#d1fae5;transform:scale(1.05)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.epci-page,.interloc-page,.admin-enums-page,.ref-page,.agents-page,.audit-page,.communes-epci-page,.export-panel{animation:fadeIn .3s ease-out}@media(max-width:768px){.modal-overlay{padding:0}.modal-content{width:100%;max-width:100%;height:100vh;max-height:100vh;margin:0;border-radius:0}.modal-header{border-radius:0}.users-table th:last-child,.users-table td:last-child,.interloc-table th:last-child,.interloc-table td:last-child,.epci-table th:last-child,.epci-table td:last-child,.ref-table th:last-child,.ref-table td:last-child,.enum-table th:last-child,.enum-table td:last-child,.agents-table th:last-child,.agents-table td:last-child{position:sticky;right:0;z-index:2;box-shadow:-6px 0 8px -4px #0000001f}.users-table thead th:last-child,.interloc-table thead th:last-child,.epci-table thead th:last-child,.ref-table thead th:last-child,.enum-table thead th:last-child,.agents-table thead th:last-child{background:var(--ds-surface, #fff)}.users-table tbody td:last-child,.interloc-table tbody td:last-child,.epci-table tbody td:last-child,.ref-table tbody td:last-child,.enum-table tbody td:last-child,.agents-table tbody td:last-child{background:var(--ds-surface, #fff)}.users-table tbody tr:hover td:last-child,.interloc-table tbody tr:hover td:last-child,.epci-table tbody tr:hover td:last-child,.ref-table tbody tr:hover td:last-child,.enum-table tbody tr:hover td:last-child,.agents-table tbody tr:hover td:last-child{background:#f8fafc}.form-row,.multi-select-grid{grid-template-columns:1fr}.enum-tabs,.ref-tabs{flex-wrap:wrap}.interloc-search-bar{min-width:unset;width:100%}}.enum-inline-input{padding:6px 10px;border:1.5px solid var(--ds-accent);border-radius:var(--ds-radius-sm);font-size:13px;font-family:var(--ds-font);width:100%;box-sizing:border-box}.enum-cell-clickable{cursor:pointer;padding:2px 4px;border-radius:4px;transition:background var(--ds-transition)}.enum-cell-clickable:hover{background:#42d3ec1a}.enum-checkbox{accent-color:var(--ds-accent);width:16px;height:16px}.enum-new-row{background:#42d3ec0a}.enum-new-id{color:var(--ds-text-muted);font-style:italic}.no-data-text{color:var(--ds-text-muted);font-size:13px;font-style:italic}.spinner-icon{animation:spin 1s linear infinite;display:inline-block}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer;flex-shrink:0}.toggle-switch input:checked+.toggle-slider{background:var(--ds-primary, #3b82f6)}@media(max-width:768px){input,select,textarea{font-size:16px}}:root{--primary-blue: #0c1b3a;--accent-blue: #3b82f6;--accent-cyan: #42D3EC;--dark-gray: #1a1a2e;--medium-gray: #6b7280;--light-gray: #e5e7eb;--text-primary: #1a1a2e;--text-secondary: #6b7280;--background-white: #f5f7fa;font-family:Raleway,Sen,system-ui,sans-serif;line-height:1.5;font-weight:400;font-size:16px;color-scheme:light;color:var(--text-primary);background-color:var(--background-white);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}#root{width:100%;min-height:100vh}a{font-weight:500;color:var(--accent-blue);text-decoration:inherit;transition:color .25s}a:hover{color:var(--primary-blue)}body{margin:0;padding:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden;background-color:var(--background-white);color:var(--text-primary)}h1{font-size:2.625em;line-height:1.2;font-weight:700;color:var(--primary-blue);margin:0}h2{font-size:2.25em;font-weight:600;color:var(--primary-blue);margin:0}h3{font-size:1.25em;font-weight:600;color:var(--dark-gray);margin:0}button{border-radius:8px;border:none;padding:0;font-size:inherit;font-weight:500;font-family:inherit;background:transparent;color:inherit;cursor:pointer;transition:all .2s}button:hover{background-color:var(--primary-blue);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}button:focus,button:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}.sidebar-app-selector{padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}.app-selector{position:relative}.app-selector-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;font-family:Raleway,sans-serif;font-size:13px;font-weight:600;color:#ffffffbf;transition:all .2s}.app-selector-btn:hover{background:#ffffff1f;color:#fff;border-color:#fff3}.app-selector-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#42d3ec33;border-radius:6px;color:#42d3ec;flex-shrink:0}.app-selector-label{flex:1;text-align:left}.app-selector-popup{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:10px;box-shadow:0 12px 40px #00000040;padding:6px;z-index:1500;animation:appPopIn .15s ease-out}@keyframes appPopIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.app-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;text-decoration:none;color:#1a1a2e;transition:all .15s;cursor:pointer}.app-card:hover{background:#f0f7ff}.app-card.active{background:#42d3ec1f;cursor:default}.app-card.active .app-card-name{color:#0c1b3a}.app-card.active .app-card-icon{background:#42d3ec33;color:#0c1b3a}.app-card.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.app-card-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:8px;flex-shrink:0;color:#6b7280}.app-card:hover .app-card-icon{background:#e0ecff;color:#2563eb}.app-card-info{display:flex;flex-direction:column;gap:1px;overflow:hidden}.app-card-name{font-family:Raleway,sans-serif;font-size:13px;font-weight:700;color:#0c1b3a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card-desc{font-family:Raleway,sans-serif;font-size:11px;color:#9ca3af}@media(max-width:768px){.sidebar-app-selector{padding:8px 6px}.app-selector-btn{justify-content:center;padding:8px}.app-selector-label{display:none}.app-selector-popup{left:-4px;right:auto;width:220px}}.sidebar{width:240px;min-width:240px;height:calc(100vh - 64px);background:linear-gradient(180deg,#0c1b3a,#132d5e);display:flex;flex-direction:column;position:sticky;top:64px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.sidebar-nav{flex:1;padding:16px 0;display:flex;flex-direction:column;gap:4px}.sidebar-section{padding:0 12px;margin-bottom:8px}.sidebar-section-label{display:flex;align-items:center;gap:6px;padding:8px 12px 6px;font-family:Raleway,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#ffffff59}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:1px 0;border-radius:8px;color:#ffffffa6;text-decoration:none;font-family:Raleway,sans-serif;font-size:13.5px;font-weight:500;transition:all .2s ease;position:relative}.sidebar-link:hover{color:#fff;background:#ffffff14}.sidebar-link.active{color:#fff;background:#42d3ec26;font-weight:600}.sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:#42d3ec;border-radius:0 4px 4px 0}.sidebar-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#ffffff0f;flex-shrink:0;transition:background .2s}.sidebar-link:hover .sidebar-icon,.sidebar-link.active .sidebar-icon{background:#42d3ec33}.sidebar-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user-badge{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;background:#ffffff0d}.sidebar-user-avatar{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#42d3ec,#1e88e5);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Raleway,sans-serif;font-size:14px;font-weight:700;flex-shrink:0}.sidebar-user-info{display:flex;flex-direction:column;overflow:hidden}.sidebar-user-name{font-family:Raleway,sans-serif;font-size:12.5px;font-weight:600;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-family:Raleway,sans-serif;font-size:11px;font-weight:500;color:#42d3eccc}.sidebar-backdrop{display:none}@media(max-width:768px){.sidebar{position:fixed;top:58px;left:0;width:240px;min-width:240px;height:calc(100vh - 58px);transform:translate(-100%);transition:transform .25s ease;z-index:1300;box-shadow:2px 0 16px #00000040}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:58px 0 0;background:#0006;z-index:1299}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#42D3EC 0%,var(--primary-blue) 100%);padding:20px}.login-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;width:100%;max-width:450px;padding:40px;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-logo{width:150px;height:auto;margin-bottom:20px}.login-header h1{font-family:Raleway,sans-serif;font-size:2em;font-weight:700;color:var(--primary-blue);margin:0 0 10px}.login-subtitle{font-family:Raleway,sans-serif;font-size:1em;color:var(--text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.login-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:12px 15px;border-radius:6px;display:flex;align-items:center;gap:10px;font-size:14px;animation:shake .4s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-icon{font-size:18px}.login-form .form-group{display:flex;flex-direction:column;gap:8px}.login-form label{font-family:Raleway,sans-serif;font-size:14px;font-weight:600;color:var(--dark-gray)}.login-form input{padding:12px 16px;border:2px solid var(--light-gray);border-radius:8px;font-size:16px;font-family:Raleway,sans-serif;transition:all .3s;background:#fff}.login-form input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.login-form input:disabled{background:#f5f5f5;cursor:not-allowed}.btn-login{padding:14px 20px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s;margin-top:10px;box-shadow:0 4px 12px #4a8eff4d}.btn-login:hover:not(:disabled){background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 6px 20px #4a8eff66}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{background:var(--light-gray);cursor:not-allowed;box-shadow:none}.login-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.login-footer p{font-family:Raleway,sans-serif;font-size:13px;color:var(--text-secondary);margin:0}@media(max-width:768px){.login-container{padding:30px 20px}.login-logo{width:120px}.login-header h1{font-size:1.5em}}.search-container{position:relative;z-index:1100;width:100%;max-width:100%;margin:0 auto}.search-input-wrapper{position:relative}.search-input{width:100%;padding:.95rem 1.25rem;font-size:16px;border:2px solid var(--light-gray);border-radius:3.125rem;outline:none;transition:all .3s;box-shadow:0 2px 4px #0000000d;font-family:Raleway,sans-serif;background:#fff}.search-input:focus{border-color:var(--accent-blue);box-shadow:0 4px 12px #4a8eff26}.search-input::placeholder{color:var(--text-secondary)}.search-loader{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--medium-gray);font-size:14px}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-top:8px;max-height:420px;overflow-y:auto;box-shadow:0 8px 30px #0000001f;z-index:1100}.search-section-header{display:flex;align-items:center;gap:6px;padding:10px 20px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#999}.search-section-divider{height:1px;background:linear-gradient(90deg,transparent,#e0e0e0,transparent);margin:6px 0}.search-result-item{padding:12px 20px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:10px}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item.active{background:#f0f4ff}.search-result-main{flex:1;min-width:0}.search-result-epci{padding:8px 20px;background:#f8faff;border-left:3px solid var(--primary-blue)}.search-result-epci:hover{background:#edf2ff!important}.search-result-epci .commune-name{color:var(--primary-blue);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin:0}.search-badge-epci{background:var(--primary-blue);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;flex-shrink:0;letter-spacing:.3px}.search-epci-count{color:#999;font-weight:400;font-size:13px}.search-result-commune{border-left:3px solid transparent}.search-result-commune:hover{border-left-color:var(--accent-cyan)}.commune-name{font-weight:600;font-size:15px;color:var(--dark-gray);margin-bottom:3px}.search-epci-tag{font-size:11px;color:#999;font-weight:400;margin-left:6px;padding:1px 6px;background:#f0f0f0;border-radius:3px}.commune-info{display:flex;gap:12px;font-size:12px;color:#888;flex-wrap:wrap}.commune-info span{display:inline-block}.insee{color:var(--accent-blue);font-weight:600;font-family:monospace;font-size:12px}.population{color:#666}.maire{color:var(--primary-blue);font-weight:500}.maire:before{content:"Maire : ";font-weight:400;color:#999}.search-locate-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;background:transparent;color:#bbb;cursor:pointer;transition:all .15s}.search-locate-btn:hover{background:#42d3ec26;color:var(--accent-cyan)}.no-results{padding:20px;text-align:center;color:var(--text-secondary);font-style:italic}.commune-map-container{width:100%;margin:30px 0;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.commune-map-header{background:linear-gradient(135deg,#14006f,#1a0a7f);padding:20px 30px;color:#fff}.commune-map-header h3{margin:0 0 8px;font-family:Raleway,sans-serif;font-size:1.4em;font-weight:700}.commune-map-hint{margin:0;font-family:Raleway,sans-serif;font-size:.95em;color:#ffffffe6}.map-controls{position:absolute;top:80px;left:10px;z-index:800;display:flex;flex-direction:column;box-shadow:0 1px 5px #000000a6}.map-ctrl-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-bottom:1px solid #ccc;background:#fff;color:#000;cursor:pointer;transition:background .15s}.map-ctrl-btn:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.map-ctrl-btn:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-bottom:none}.map-ctrl-btn:hover{background:#f4f4f4}.map-ctrl-btn.map-ctrl-active{background:#e8f0fe;color:var(--accent-blue)}.map-ctrl-btn.map-ctrl-disabled{background:#f4f4f4;color:#bbb;cursor:default}.commune-map-wrapper{position:relative}.commune-map{width:100%;height:calc(100vh - 290px);min-height:400px;background:#f8f9fa}.map-legend{position:absolute;bottom:20px;right:20px;z-index:500;background:#fff;border-radius:10px;box-shadow:0 2px 12px #0003;max-width:280px;max-height:60vh;overflow:hidden;transition:max-height .3s ease}.legend-closed{max-height:40px}.legend-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:var(--primary-blue, #1a3a5c);color:#fff;border:none;cursor:pointer;font-family:Raleway,sans-serif;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.legend-toggle:hover{background:#2a4a6c}.legend-content{padding:8px 0;max-height:50vh;overflow-y:auto}.legend-actions{display:flex;gap:6px;padding:6px 10px;border-bottom:1px solid #eee}.legend-btn{flex:1;padding:4px 8px;font-size:11px;font-family:Raleway,sans-serif;font-weight:600;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;color:#555}.legend-btn:hover{background:#e0e0e0}.legend-item{display:flex;align-items:center;gap:8px;padding:5px 14px;font-size:12px;font-family:Raleway,sans-serif;color:#333;cursor:pointer;transition:opacity .2s}.legend-item-active{background:#fff}.legend-item-active:hover{background:#f0f4ff}.legend-item-inactive{background:#f5f5f5;opacity:.4}.legend-item-inactive:hover{opacity:.6}.legend-item-inactive .legend-label{text-decoration:line-through;color:#999}.legend-color{display:inline-block;width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.legend-label{line-height:1.3;word-break:break-word}.commune-map-loading,.commune-map-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:500px;background:#f8f9fa;font-family:Raleway,sans-serif}.commune-map-loading p,.commune-map-error p{margin:20px 0 0;font-size:1.1em;color:var(--primary-blue);font-weight:600}.loading-spinner{width:50px;height:50px;border:4px solid rgba(66,211,236,.3);border-top-color:var(--accent-cyan);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.commune-map-error button{margin-top:15px;padding:10px 24px;background:var(--accent-cyan);color:var(--primary-blue);border:none;border-radius:8px;font-family:Raleway,sans-serif;font-size:14px;font-weight:600;cursor:pointer}.leaflet-tooltip.commune-tooltip{background:#fff;border:2px solid var(--accent-cyan, #42D3EC);border-radius:8px;padding:8px 12px;font-family:Raleway,sans-serif;font-size:14px;font-weight:600;color:var(--primary-blue, #1a3a5c);box-shadow:0 2px 8px #00000026}.leaflet-tooltip.commune-tooltip:before{border-top-color:var(--accent-cyan, #42D3EC)}.leaflet-control-zoom a{color:var(--primary-blue)!important;border-color:var(--accent-cyan)!important}.leaflet-control-zoom a:hover{background:var(--accent-cyan)!important;color:#fff!important}@media(max-width:768px){.commune-map{height:400px}.commune-map-header{padding:15px 20px}.commune-map-header h3{font-size:1.15em}.map-legend{bottom:10px;right:10px;left:10px;max-width:none;max-height:45vh}.legend-content{max-height:35vh;display:grid;grid-template-columns:1fr 1fr;gap:0}}@media(max-width:480px){.commune-map{height:300px}.commune-map-header{padding:12px 15px}.commune-map-header h3{font-size:1em}.commune-map-hint{font-size:.8em}.legend-content{grid-template-columns:1fr}.legend-item{font-size:11px;padding:4px 10px}}.dashboard{width:100%}.search-section{margin-bottom:40px;animation:slideDown .5s ease-out;display:flex;gap:20px;align-items:flex-start}.btn-back-to-map{padding:12px 24px;background:transparent;color:var(--primary-blue);border:2px solid var(--primary-blue);border-radius:8px;font-family:Raleway,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;margin-top:10px}.btn-back-to-map:hover{background:var(--primary-blue);color:#fff;transform:translateY(-2px)}.map-section,.form-section{animation:fadeIn .5s ease-out}.confirm-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px}.confirm-box{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:400px;padding:28px 24px 20px;text-align:center;animation:confirmIn .2s ease-out}@keyframes confirmIn{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-icon-wrap{margin-bottom:12px}.confirm-icon-danger{color:#ef4444}.confirm-icon-info{color:#3b82f6}.confirm-title{margin:0 0 6px;font-family:Raleway,sans-serif;font-size:17px;font-weight:700;color:#1a1a2e}.confirm-message{margin:0 0 22px;font-family:Raleway,sans-serif;font-size:13.5px;color:#6b7280;line-height:1.5}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-btn-cancel{padding:9px 16px;background:transparent;color:#6b7280;border:1.5px solid #e5e7eb;border-radius:8px;font-family:Raleway,sans-serif;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn-cancel:hover{background:#f9fafb;border-color:#c0c5cc;color:#1a1a2e}.confirm-btn-ok{padding:9px 16px;border:none;border-radius:8px;font-family:Raleway,sans-serif;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .2s}.confirm-btn-danger{background:#ef4444;color:#fff}.confirm-btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.confirm-btn-primary{background:#0c1b3a;color:#fff}.confirm-btn-primary:hover{background:#132d5e}.commune-form-container{max-width:100%;margin:0 auto;padding:30px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;border:1px solid var(--light-gray)}.commune-form-placeholder{max-width:1000px;margin:40px auto;padding:60px 20px;text-align:center;background:#f8f9fa;border-radius:8px;color:var(--text-secondary);font-size:18px;border:2px dashed var(--light-gray)}.loading,.error{text-align:center;padding:40px;font-size:18px;display:flex;align-items:center;justify-content:center;gap:10px}.error{color:#d32f2f}.commune-form-header{display:flex;align-items:center;gap:14px;margin-bottom:12px;border-bottom:2px solid var(--accent-cyan);padding-bottom:14px}.btn-back-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;color:var(--primary-blue);border:1.5px solid var(--primary-blue);border-radius:8px;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-back-icon:hover{background:var(--primary-blue);color:#fff}.commune-inactive-badge{padding:3px 10px;background:#fef2f2;color:#dc2626;border-radius:4px;font-size:12px;font-weight:600}.commune-form-header .toggle-switch{flex-shrink:0}.commune-name-wrapper{flex:1;display:flex;align-items:center;gap:8px}.commune-name-display{margin:0;color:var(--primary-blue);font-family:Raleway,sans-serif;font-size:1.5em;font-weight:700}.commune-name-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:#9ca3af;cursor:pointer;transition:color .15s;flex-shrink:0}.commune-name-edit-btn:hover{color:var(--accent-cyan)}.commune-name-input{flex:1;margin:0;padding:4px 6px;color:var(--primary-blue);font-family:Raleway,sans-serif;font-size:1.5em;font-weight:700;border:none;border-bottom:2px solid transparent;border-radius:4px;background:transparent;outline:none;transition:all .2s}.commune-name-input:hover{background:#42d3ec0a;border-bottom-color:#e0e0e0}.commune-name-input:focus{background:#42d3ec0f;border-bottom-color:var(--accent-cyan)}.commune-name-changed{border-bottom-color:var(--accent-cyan)!important;background:#42d3ec14!important}.commune-name-actions{display:flex;gap:4px;flex-shrink:0}.commune-name-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid;border-radius:8px;cursor:pointer;transition:all .15s}.commune-name-btn.save{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.commune-name-btn.save:hover{background:#d1fae5;border-color:#059669}.commune-name-btn.cancel{background:#fef2f2;color:#ef4444;border-color:#fecaca}.commune-name-btn.cancel:hover{background:#fee2e2;border-color:#ef4444}.commune-insee-badge{display:inline-flex;align-items:center;padding:6px 18px;background:var(--primary-blue);color:#fff;border-radius:8px;font-size:15px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.message{padding:14px 18px;border-radius:8px;margin-bottom:20px;font-weight:500;display:flex;align-items:center;gap:10px}.message.success{background-color:#d4edda;color:#155724;border-left:4px solid #28a745}.message.error{background-color:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.form-section{margin-bottom:30px;padding:25px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.form-section h3{margin-top:0;margin-bottom:20px;color:var(--primary-blue);font-size:1.25em;font-weight:600;border-left:4px solid var(--accent-cyan);padding-left:12px}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header-row h3{margin-bottom:0}.btn-manage-link{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;color:var(--accent-blue);border:1px solid var(--accent-blue);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Raleway,sans-serif}.btn-manage-link:hover{background:var(--accent-blue);color:#fff}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:16px}@media(min-width:1400px){.form-row{grid-template-columns:repeat(3,1fr)}}@media(min-width:1000px)and (max-width:1399px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:600;color:var(--dark-gray);font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;border:1px solid var(--light-gray);border-radius:5px;font-size:15px;font-family:Raleway,sans-serif;transition:all .3s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.form-group textarea{resize:vertical;min-height:80px}.form-group input.readonly-field,.form-group input:disabled{background-color:#f5f5f5;color:var(--medium-gray);cursor:not-allowed;border-color:var(--light-gray)}.form-group input.readonly-field:hover,.form-group input:disabled:hover{border-color:var(--light-gray)}.form-actions{margin-top:30px;padding-top:25px;border-top:2px solid #e9ecef;display:flex;justify-content:center;align-items:center;gap:15px}.btn-back{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;background:transparent;color:var(--primary-blue);border:2px solid var(--primary-blue);border-radius:8px;font-family:Raleway,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-back:hover{background:var(--primary-blue);color:#fff;transform:translateY(-2px)}.btn-save{display:inline-flex;align-items:center;gap:8px;padding:14px 40px;background-color:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff33;font-family:Raleway,sans-serif}.btn-save:hover:not(:disabled){background-color:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff4d}.btn-save:disabled{background-color:var(--light-gray);cursor:not-allowed;transform:none;box-shadow:none}.form-group-population{max-width:220px}.form-group-epci{flex:1}.form-group-ruralite{max-width:240px}.form-row.form-row-population{grid-template-columns:auto 1fr}.form-row.form-row-ruralite{grid-template-columns:auto repeat(3,auto);justify-content:start;align-items:end}.form-row-ruralite .checkbox-group{padding-bottom:10px}.form-row.form-row-cp{grid-template-columns:120px 150px 1fr}.form-row.form-row-contact-details{grid-template-columns:repeat(2,1fr)}.population-field-wrapper{display:flex;gap:8px;align-items:stretch}.population-input{width:110px!important;flex:none}.insee-logo-img{height:22px;width:auto;display:block}.btn-fetch-insee{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;color:var(--dark-gray);border:1px solid var(--light-gray);border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;font-family:Raleway,sans-serif}.btn-fetch-insee:hover:not(:disabled){border-color:var(--accent-blue);box-shadow:0 1px 4px #0000001a;transform:translateY(-1px)}.btn-fetch-insee:disabled{background-color:#f5f5f5;opacity:.6;cursor:not-allowed}.ae-inline-section{margin-top:20px;padding:16px;background:#fff;border-radius:6px;border:1px solid #e9ecef}.ae-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ae-code-badge{display:inline-flex;align-items:center;padding:3px 10px;background:var(--primary-blue);color:#fff;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.5px;font-family:monospace}.ae-title{font-weight:600;color:var(--dark-gray);font-size:14px}.ae-empty-tag{font-size:12px;color:var(--medium-gray);font-style:italic}.ae-actions{display:flex;gap:4px}.ae-fields{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.ae-check{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--dark-gray);cursor:pointer}.ae-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-blue)}.ae-check input:disabled{cursor:default}.ae-date-field{display:flex;flex-direction:column;gap:4px}.ae-date-field label{font-size:12px;font-weight:600;color:var(--medium-gray)}.ae-date-field input{padding:6px 10px;border:1px solid var(--light-gray);border-radius:4px;font-size:13px;font-family:Raleway,sans-serif}.ae-date-field input:disabled{background:#f5f5f5;color:var(--medium-gray)}.ae-date-value{font-size:13px;color:var(--dark-gray)}.ca-list{display:flex;flex-direction:column;gap:6px}.ca-row{padding:10px 14px;border-radius:6px;border:1px solid #e9ecef;transition:all .15s}.ca-row-linked{background:#fff;border-color:var(--accent-blue)}.ca-row-greyed{background:#f5f5f5;opacity:.6}.ca-row-greyed:hover{opacity:.85}.ca-row-warning{border-color:#f59e0b;background:#f59e0b0f}.ca-row-main{display:flex;align-items:center;gap:14px}.ca-lib{flex:1;font-size:13px;font-weight:500;color:var(--dark-gray)}.ca-row-greyed .ca-lib{color:var(--medium-gray)}.ca-delib{font-size:12px;color:var(--accent-blue);font-weight:600}.ca-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;z-index:3500;align-items:center;justify-content:center;z-index:1000}.ca-modal{background:#fff;border-radius:10px;padding:28px;width:380px;max-width:90vw;box-shadow:0 8px 30px #00000026}.ca-modal h4{margin:0 0 8px;color:var(--primary-blue);font-size:16px}.ca-modal-lib{font-size:13px;color:var(--medium-gray);margin:0 0 18px}.ca-modal-field{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.ca-modal-field label{font-size:13px;font-weight:600;color:var(--dark-gray)}.ca-modal-field input{padding:10px 14px;border:1px solid var(--light-gray);border-radius:5px;font-size:15px;font-family:Raleway,sans-serif}.ca-modal-field input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.ca-modal-actions{display:flex;justify-content:flex-end;gap:10px}.ca-modal-actions .btn-back,.ca-modal-actions .btn-save{padding:8px 18px;font-size:14px}.accise-list{display:flex;flex-direction:column;gap:8px}.accise-item{display:flex;align-items:center;gap:14px;padding:10px 14px;background:#fff;border:1px solid #e9ecef;border-radius:6px}.accise-item-selected{border-color:var(--accent-blue);background:#3b82f60a}.accise-item-warning{border-color:#f59e0b;background:#f59e0b0f}.accise-pct{font-weight:700;font-size:15px;min-width:40px}.accise-date{font-size:13px;color:var(--medium-gray)}.accise-status{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}.accise-active{background:#ecfdf5;color:#059669}.accise-inactive{background:#fef2f2;color:#dc2626}.accise-alert{font-size:12px;color:#f59e0b;font-weight:600}.accise-tag-zero{font-size:11px;color:var(--medium-gray);font-style:italic}.interloc-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border-radius:6px;border:1px solid #e9ecef;flex-wrap:wrap}.interloc-expired{opacity:.5;background:#f9f9f9}.interloc-crown{flex-shrink:0;color:#d4a017;display:inline-flex}.interloc-expired .interloc-crown{color:#bbb}.interloc-identity{display:flex;flex-direction:column;gap:2px;flex:1;min-width:180px}.interloc-name{font-weight:600;font-size:14px;color:var(--dark-gray)}.interloc-sub{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.interloc-fct{font-size:12px;color:var(--accent-blue);font-weight:500}.interloc-dates{font-size:12px;color:var(--medium-gray);white-space:nowrap}.interloc-expired .interloc-dates{color:#dc2626;font-weight:600}.interloc-contact{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--medium-gray)}.treso-select-inline{padding:4px 8px;border:1px solid var(--light-gray);border-radius:4px;font-size:13px;font-family:Raleway,sans-serif;flex:1;max-width:350px}.treso-details{display:flex;gap:20px;flex-wrap:wrap}.treso-detail-field{display:flex;flex-direction:column;gap:4px}.treso-detail-field label{font-size:12px;font-weight:600;color:var(--medium-gray)}.treso-detail-field span{font-size:13px;color:var(--dark-gray);font-family:monospace}.treso-detail-field input{padding:6px 10px;border:1px solid var(--light-gray);border-radius:4px;font-size:13px;font-family:monospace}.checkbox-group{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;color:var(--dark-gray);margin-bottom:0!important}.checkbox-input{width:22px;height:22px;cursor:pointer;accent-color:var(--accent-blue);border:2px solid var(--medium-gray);border-radius:4px;background:#fff}.checkbox-label span{-webkit-user-select:none;user-select:none}.interlocuteurs-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;padding:12px 0}.interlocuteurs-empty{color:var(--text-secondary);font-style:italic;font-size:14px;margin:0;padding:8px 0}.interlocuteurs-list{display:flex;flex-direction:column;gap:10px}.interlocuteur-card{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;border-radius:6px;border:1px solid #e9ecef;transition:box-shadow .2s}.interlocuteur-card:hover{box-shadow:0 2px 8px #0000000f}.interlocuteur-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#4a8eff1a;color:var(--accent-blue);flex-shrink:0}.interlocuteur-info{display:flex;flex-direction:column;gap:2px}.interlocuteur-nom{font-weight:600;color:var(--dark-gray);font-size:14px}.interlocuteur-fonction{font-size:13px;color:var(--text-secondary)}@media(max-width:768px){.form-row{grid-template-columns:1fr}.commune-form-container,.form-section{padding:15px}.commune-form-header{flex-direction:column;align-items:flex-start;gap:8px}.commune-name-input{font-size:1.2em;width:100%}.form-actions{flex-direction:column}.btn-back,.btn-save{width:100%;justify-content:center}.form-row.form-row-population,.form-row.form-row-ruralite,.form-row.form-row-cp,.form-row.form-row-contact-details{grid-template-columns:1fr}.form-row.form-row-ruralite{align-items:stretch}.form-row.form-row-ruralite .form-group-ruralite{max-width:none}.form-row.form-row-ruralite .checkbox-group{padding-bottom:0}}.input-readonly{background-color:#f5f5f5!important;color:var(--medium-gray)!important;cursor:not-allowed!important;border-color:var(--light-gray)!important}.input-readonly:focus{box-shadow:none!important;border-color:var(--light-gray)!important}.audit-section{background:#fafbfc;border:1px dashed #d0d7de}.audit-section h3{color:var(--medium-gray);font-size:1.1em}.interlocuteur-card{position:relative}.interlocuteur-actions{display:flex;gap:4px;align-items:center;margin-left:auto}.btn-icon{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;color:#666;border-radius:4px;cursor:pointer;font-size:12px;transition:all .15s}.btn-icon:hover{background:#f0f0f0;color:#333}.btn-icon-edit:hover{background:#e3f2fd;color:#1565c0}.btn-icon-delete:hover{background:#ffebee;color:#c62828}.btn-icon-save{background:#e8f5e9;color:#2e7d32}.btn-icon-save:hover{background:#c8e6c9}.interlocuteur-card-expanded{flex-direction:column;align-items:stretch;padding:15px;border:1px solid #e0e0e0;border-radius:8px;background:#fafbfc}.interlocuteur-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.interlocuteur-card-header .interlocuteur-nom{flex:1}.interlocuteur-details{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid #eee;border-bottom:1px solid #eee;margin-bottom:10px}.detail-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#555}.detail-row strong{color:#333}.interlocuteur-card-editing{border-color:#90caf9;background:#f5f9ff}.interlocuteur-edit-form{display:flex;flex-direction:column;gap:8px;padding:10px 0}.edit-row{display:flex;gap:8px}.edit-row input,.edit-row select{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.edit-row select{max-width:120px}@media(max-width:600px){.edit-row{flex-direction:column}.edit-row select{max-width:none}}.epci-page{width:100%;animation:fadeIn .5s ease-out}.epci-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.epci-search-wrapper{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;padding:10px 16px;border:1px solid var(--light-gray);border-radius:8px;background:#fff}.epci-search-input{border:none;outline:none;font-size:14px;font-family:Raleway,sans-serif;width:100%}.epci-filters{display:flex;gap:8px}.epci-loading{text-align:center;padding:60px 20px;font-size:18px;color:var(--text-secondary)}.epci-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:3px solid var(--accent-cyan)}.epci-header h2{font-family:Raleway,sans-serif;font-size:2em;font-weight:700;color:var(--primary-blue);margin:0;display:flex;align-items:center;gap:10px}.btn-add-epci{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-add-epci:hover{background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}.epci-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:12px 15px;border-radius:6px;margin-bottom:20px}.epci-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;border:1px solid var(--light-gray)}.epci-table{width:100%;border-collapse:collapse}.epci-table thead{background:var(--ds-primary);color:#fff}.epci-table th{padding:15px;text-align:left;font-family:Raleway,sans-serif;font-size:14px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.epci-table td{padding:15px;border-bottom:1px solid #e9ecef;font-family:Raleway,sans-serif;font-size:15px;color:var(--dark-gray)}.epci-table tbody tr:hover{background:#f8f9fa}.epci-table tbody tr:last-child td{border-bottom:none}.epci-nom-cell{font-weight:600;color:var(--primary-blue)}.epci-empty{text-align:center;padding:40px 20px!important;color:var(--medium-gray);font-style:italic}.commune-count-link{cursor:pointer;transition:background .2s,transform .15s}.commune-count-link:hover{background:#c8e6c9;transform:scale(1.1);text-decoration:underline}.badge-oui{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.badge-non{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;background:#f5f5f5;color:#999;border:1px solid #ddd}.epci-page .action-buttons{display:flex;gap:8px}.epci-page .btn-edit,.btn-delete-epci{padding:6px 10px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s;background:transparent;color:var(--dark-gray)}.epci-page .btn-edit svg,.btn-delete-epci svg{display:block}.epci-page .btn-edit:hover{background:#e3f2fd;color:var(--accent-blue);transform:scale(1.1)}.btn-delete-epci:hover{background:#ffebee;color:#d32f2f;transform:scale(1.1)}.epci-modal{max-width:680px}.epci-form{padding:25px}.form-section{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.form-section-title{font-family:Raleway,sans-serif;font-size:15px;font-weight:700;color:var(--primary-blue);margin:0 0 15px;padding-bottom:8px;border-bottom:1px solid var(--accent-cyan)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row-3{grid-template-columns:1fr 1fr 1fr}.epci-form .form-group{margin-bottom:15px}.epci-form label{display:block;font-family:Raleway,sans-serif;font-size:14px;font-weight:600;color:var(--dark-gray);margin-bottom:6px}.epci-form input[type=text],.epci-form input[type=email],.epci-form input[type=number],.epci-form select{width:100%;padding:10px 14px;border:2px solid var(--light-gray);border-radius:8px;font-size:14px;font-family:Raleway,sans-serif;transition:all .3s;box-sizing:border-box}.epci-form input:focus,.epci-form select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.form-group-inline{margin-top:5px}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-weight:600}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-blue)}.epci-form .form-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:10px 12px;border-radius:6px;margin-bottom:20px;font-size:14px}.epci-form .btn-cancel{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:transparent;color:var(--dark-gray);border:2px solid var(--light-gray);border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}.epci-form .btn-cancel:hover{background:#f8f9fa;border-color:var(--medium-gray)}.btn-save-epci{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-save-epci:hover{background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}@media(max-width:768px){.epci-header{flex-direction:column;gap:15px;align-items:flex-start}.epci-table-container{overflow-x:auto}.epci-table{min-width:900px}.epci-modal{margin:20px;max-height:calc(100vh - 40px)}.form-row,.form-row-3{grid-template-columns:1fr}}.epci-form .input-readonly{background-color:#f5f5f5!important;color:var(--medium-gray)!important;cursor:not-allowed!important;border-color:var(--light-gray)!important}.epci-form .input-readonly:focus{box-shadow:none!important;border-color:var(--light-gray)!important}.epci-form .audit-section{background:#fafbfc;border:1px dashed #d0d7de}.epci-form .audit-section .form-section-title{color:var(--medium-gray);font-size:14px}.users-page{width:100%;animation:fadeIn .5s ease-out}.users-loading{text-align:center;padding:60px 20px;font-size:18px;color:var(--text-secondary)}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:3px solid var(--accent-cyan)}.users-header h2{font-family:Raleway,sans-serif;font-size:2em;font-weight:700;color:var(--primary-blue);margin:0}.btn-add-user{padding:12px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-add-user:hover{background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}.users-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:12px 15px;border-radius:6px;margin-bottom:20px}.users-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;border:1px solid var(--light-gray)}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--ds-primary);color:#fff}.users-table th{padding:15px;text-align:left;font-family:Raleway,sans-serif;font-size:14px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:15px;border-bottom:1px solid #e9ecef;font-family:Raleway,sans-serif;font-size:15px;color:var(--dark-gray)}.users-table tbody tr:hover{background:#f8f9fa}.users-table tbody tr:last-child td{border-bottom:none}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.role-admin{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.role-badge.role-user{background:#e3f2fd;color:#1565c0;border:1px solid #2196f3}.action-buttons{display:flex;gap:8px}.btn-edit,.btn-delete-user{padding:6px 10px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s;background:transparent;color:var(--dark-gray)}.btn-edit svg,.btn-delete-user svg{display:block}.btn-edit:hover{background:#e3f2fd;color:var(--accent-blue);transform:scale(1.1)}.btn-delete-user{color:#999}.btn-delete-user:hover:not(:disabled){background:#ffebee;color:#d32f2f;transform:scale(1.1)}.btn-delete-user:disabled{opacity:.3;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:2px solid var(--accent-cyan)}.modal-header h3{font-family:Raleway,sans-serif;font-size:1.5em;font-weight:700;color:var(--primary-blue);margin:0}.btn-close-modal{background:transparent;border:none;font-size:32px;color:var(--medium-gray);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;transition:all .3s}.btn-close-modal:hover{color:var(--primary-blue);transform:rotate(90deg)}.user-form{padding:25px}.form-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:10px 12px;border-radius:6px;margin-bottom:20px;font-size:14px}.user-form .form-group{margin-bottom:20px}.user-form label{display:block;font-family:Raleway,sans-serif;font-size:14px;font-weight:600;color:var(--dark-gray);margin-bottom:8px}.user-form input,.user-form select{width:100%;padding:12px 16px;border:2px solid var(--light-gray);border-radius:8px;font-size:15px;font-family:Raleway,sans-serif;transition:all .3s}.user-form input:focus,.user-form select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.btn-cancel{padding:10px 24px;background:transparent;color:var(--dark-gray);border:2px solid var(--light-gray);border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel:hover{background:#f8f9fa;border-color:var(--medium-gray)}.btn-save-user{padding:10px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-save-user:hover{background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}.role-select{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid #ddd;cursor:pointer;background:#fff;color:var(--dark-gray);font-family:Raleway,sans-serif;transition:border-color .3s}.role-select:hover{border-color:var(--accent-blue)}.role-select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a8eff26}.role-badge.role-lecteur{background:#fff3e0;color:#e65100;border:1px solid #ff9800}.role-badge.role-none{background:#f5f5f5;color:#999;border:1px solid #ddd}.form-roles-section{margin-top:10px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.form-roles-title{font-family:Raleway,sans-serif;font-size:15px;font-weight:700;color:var(--primary-blue);margin-bottom:15px;display:block}.commune-count-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:13px;font-weight:600}.form-communes-section{margin-top:10px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.form-communes-title{font-family:Raleway,sans-serif;font-size:15px;font-weight:700;color:var(--primary-blue);margin-bottom:12px;display:flex;align-items:center;gap:6px}.commune-search-wrapper{position:relative;margin-bottom:10px}.commune-search-input{display:flex;align-items:center;gap:8px;padding:8px 12px;border:2px solid var(--light-gray);border-radius:8px;background:#fff;transition:border-color .3s}.commune-search-input:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.commune-search-input svg{color:var(--medium-gray);flex-shrink:0}.commune-search-input input{border:none!important;padding:0!important;font-size:14px;width:100%;outline:none;box-shadow:none!important}.commune-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--light-gray);border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:10;margin-top:4px}.commune-dropdown-item{padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.commune-dropdown-item:hover{background:#e3f2fd}.commune-dropdown-item .commune-name{font-weight:600;color:var(--dark-gray);font-size:14px}.commune-dropdown-item .commune-meta{font-size:12px;color:var(--medium-gray)}.selected-communes-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.selected-commune-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#e3f2fd;color:var(--primary-blue);border-radius:20px;font-size:13px;font-weight:500}.btn-remove-commune{background:none;border:none;cursor:pointer;padding:0;color:#999;display:flex;align-items:center;transition:color .2s}.btn-remove-commune:hover{color:#d32f2f}.no-communes-text{color:var(--medium-gray);font-size:13px;font-style:italic;margin:8px 0 0}.modal-wide{max-width:700px}.form-section{margin-top:10px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;margin-bottom:6px}.form-section-title{font-family:Raleway,sans-serif;font-size:15px;font-weight:700;color:var(--primary-blue);margin:0 0 12px}.form-row{display:flex;gap:12px}.form-row>.form-group{flex:1;min-width:0}.form-row>.form-group-small{flex:0 0 140px}.btn-add-user{display:inline-flex;align-items:center;gap:8px}@media(max-width:768px){.users-header{flex-direction:column;gap:15px;align-items:flex-start}.users-table-container{overflow-x:auto}.users-table{min-width:800px}.modal-content{margin:20px;max-height:calc(100vh - 40px)}.modal-wide{max-width:100%}.form-row{flex-direction:column;gap:0}.form-row>.form-group-small{flex:1}}.interloc-page{width:100%;animation:fadeIn .5s ease-out}.interloc-loading{text-align:center;padding:30px 20px;font-size:16px;color:var(--text-secondary)}.interloc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:3px solid var(--accent-cyan)}.interloc-header h2{font-family:Raleway,sans-serif;font-size:2em;font-weight:700;color:var(--primary-blue);margin:0;display:flex;align-items:center;gap:10px}.btn-add-interloc{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-add-interloc:hover{background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}.interloc-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:12px 15px;border-radius:6px;margin-bottom:20px}.interloc-search-section{display:flex;gap:15px;align-items:center;margin-bottom:25px;flex-wrap:wrap}.interloc-search-bar{display:flex;align-items:center;gap:10px;padding:12px 18px;border:2px solid var(--light-gray);border-radius:8px;background:#fff;flex:1;min-width:280px;transition:border-color .3s;box-shadow:0 2px 8px #0000000d}.interloc-search-bar:focus-within{border-color:var(--accent-blue);box-shadow:0 2px 12px #4a8eff26}.interloc-search-bar svg{color:var(--medium-gray);flex-shrink:0}.interloc-search-bar input{border:none;outline:none;font-size:15px;font-family:Raleway,sans-serif;width:100%;background:transparent;color:var(--dark-gray)}.interloc-search-bar input::placeholder{color:var(--medium-gray)}.interloc-filters{display:flex;gap:8px}.btn-filter{padding:10px 20px;border:2px solid var(--light-gray);border-radius:8px;background:#fff;font-family:Raleway,sans-serif;font-size:14px;font-weight:600;color:var(--dark-gray);cursor:pointer;transition:all .3s}.btn-filter:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.btn-filter.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;box-shadow:0 2px 8px #4a8eff4d}.interloc-placeholder{text-align:center;padding:60px 20px;color:var(--medium-gray)}.interloc-placeholder svg{margin-bottom:15px;opacity:.3}.interloc-placeholder p{font-family:Raleway,sans-serif;font-size:16px;font-style:italic}.interloc-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;border:1px solid var(--light-gray)}.interloc-table{width:100%;border-collapse:collapse}.interloc-table thead{background:var(--ds-primary);color:#fff}.interloc-table th{padding:15px;text-align:left;font-family:Raleway,sans-serif;font-size:13px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.interloc-table td{padding:15px;border-bottom:1px solid #e9ecef;font-family:Raleway,sans-serif;font-size:14px;color:var(--dark-gray)}.interloc-table tbody tr:hover{background:#f8f9fa}.interloc-table tbody tr:last-child td{border-bottom:none}.interloc-nom-cell{font-weight:600;color:var(--primary-blue)}.fonctions-text{font-size:13px;color:var(--medium-gray);max-width:200px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.interloc-page .action-buttons{display:flex;gap:8px}.interloc-page .btn-edit,.btn-delete-interloc{padding:6px 10px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s;background:transparent;color:var(--dark-gray)}.interloc-page .btn-edit svg,.btn-delete-interloc svg{display:block}.interloc-page .btn-edit:hover{background:#e3f2fd;color:var(--accent-blue);transform:scale(1.1)}.btn-delete-interloc:hover{background:#ffebee;color:#d32f2f;transform:scale(1.1)}.interloc-modal{max-width:700px}.interloc-form{padding:25px}.interloc-form .form-section{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.interloc-form .form-section-title{font-family:Raleway,sans-serif;font-size:15px;font-weight:700;color:var(--primary-blue);margin:0 0 15px;padding-bottom:8px;border-bottom:1px solid var(--accent-cyan)}.interloc-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.interloc-form .form-row-3{grid-template-columns:1fr 1fr 1fr}.interloc-form .form-group{margin-bottom:15px}.interloc-form label{display:block;font-family:Raleway,sans-serif;font-size:14px;font-weight:600;color:var(--dark-gray);margin-bottom:6px}.interloc-form input[type=text],.interloc-form input[type=email],.interloc-form input[type=date],.interloc-form select{width:100%;padding:10px 14px;border:2px solid var(--light-gray);border-radius:8px;font-size:14px;font-family:Raleway,sans-serif;transition:all .3s;box-sizing:border-box}.interloc-form input:focus,.interloc-form select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.interloc-form .commune-search-wrapper{position:relative}.interloc-form .commune-search-input{display:flex;align-items:center;gap:8px;padding:8px 12px;border:2px solid var(--light-gray);border-radius:8px;background:#fff;transition:border-color .3s}.interloc-form .commune-search-input:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.interloc-form .commune-search-input svg{color:var(--medium-gray);flex-shrink:0}.interloc-form .commune-search-input input{border:none!important;padding:0!important;font-size:14px;width:100%;outline:none;box-shadow:none!important}.commune-insee-tag{font-size:11px;background:#e3f2fd;color:var(--primary-blue);padding:2px 8px;border-radius:10px;white-space:nowrap;font-weight:600}.interloc-form .commune-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--light-gray);border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto;z-index:10;margin-top:4px}.interloc-form .commune-dropdown-item{padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.interloc-form .commune-dropdown-item:hover{background:#e3f2fd}.interloc-form .commune-dropdown-item .commune-name{font-weight:600;color:var(--dark-gray);font-size:14px}.interloc-form .commune-dropdown-item .commune-meta{font-size:12px;color:var(--medium-gray)}.multi-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.multi-select-item{display:flex!important;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;transition:all .2s;font-size:13px!important;font-weight:500!important}.multi-select-item:hover{border-color:var(--accent-blue);background:#f0f7ff}.multi-select-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-blue);flex-shrink:0}.multi-select-item input[type=checkbox]:checked+span{color:var(--accent-blue);font-weight:600}.no-data-text{color:var(--medium-gray);font-size:13px;font-style:italic;margin:5px 0;grid-column:1 / -1}.interloc-form .form-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:10px 12px;border-radius:6px;margin-bottom:20px;font-size:14px}.interloc-form .btn-cancel{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:transparent;color:var(--dark-gray);border:2px solid var(--light-gray);border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}.interloc-form .btn-cancel:hover{background:#f8f9fa;border-color:var(--medium-gray)}.btn-save-interloc{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-save-interloc:hover{background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}@media(max-width:768px){.interloc-header{flex-direction:column;gap:15px;align-items:flex-start}.interloc-search-section{flex-direction:column;align-items:stretch}.interloc-search-bar{min-width:unset}.interloc-filters{justify-content:center}.interloc-table-container{overflow-x:auto}.interloc-table{min-width:1000px}.interloc-modal{margin:20px;max-height:calc(100vh - 40px)}.interloc-form .form-row,.interloc-form .form-row-3,.multi-select-grid{grid-template-columns:1fr}}.input-readonly{background:#f5f5f5!important;color:#888;cursor:not-allowed}.audit-section{border-top:2px dashed #e0e0e0;margin-top:20px;padding-top:15px;opacity:.8}.interloc-count{font-size:14px;color:#888;font-style:italic;white-space:nowrap}.interloc-pagination{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:20px;padding:15px 0}.btn-page{padding:8px 20px;background:var(--primary-blue, #1a3a5c);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.btn-page:hover{background:#2a4a6c}.btn-page:disabled{opacity:.4;cursor:not-allowed}.page-info{font-size:14px;color:#555;font-weight:600}.interloc-title-counts{font-size:14px;font-weight:400;color:var(--medium-gray)}.interloc-row-inactive,.interloc-row-expired{opacity:.45}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#ccc;border-radius:20px;transition:.2s}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--accent-blue)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.maire-crown{cursor:help;margin-right:4px;color:#d4a017;display:inline-flex;vertical-align:middle}.export-panel{width:100%;max-width:600px;animation:fadeIn .5s ease-out}.export-panel-header{display:flex;align-items:center;gap:12px;margin-bottom:30px;padding-bottom:15px;border-bottom:3px solid var(--accent-cyan)}.export-panel-header svg{color:var(--accent-blue)}.export-panel-header h2{font-family:Raleway,sans-serif;font-size:2em;font-weight:700;color:var(--primary-blue);margin:0}.export-panel-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:12px 15px;border-radius:6px;margin-bottom:20px}.export-panel-body{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;border:1px solid var(--light-gray);padding:30px}.export-form-group{margin-bottom:24px}.export-form-group>label{display:block;font-family:Raleway,sans-serif;font-size:14px;font-weight:700;color:var(--primary-blue);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.export-select{width:100%;padding:12px 16px;border:2px solid var(--light-gray);border-radius:8px;font-size:15px;font-family:Raleway,sans-serif;color:var(--dark-gray);background:#fff;cursor:pointer;transition:all .3s;appearance:auto}.export-select:hover{border-color:var(--accent-blue)}.export-select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.export-format-options{display:flex;gap:20px}.export-radio-label{display:flex;align-items:center;gap:8px;font-family:Raleway,sans-serif;font-size:15px;font-weight:500;color:var(--dark-gray);cursor:pointer;padding:8px 16px;border:2px solid var(--light-gray);border-radius:8px;transition:all .3s}.export-radio-label:has(input:checked){border-color:var(--accent-blue);background:#f0f7ff;color:var(--accent-blue);font-weight:600}.export-radio-label input[type=radio]{accent-color:var(--accent-blue);width:16px;height:16px;cursor:pointer}.export-info{margin-bottom:24px;padding:14px 18px;background:#f0f7ff;border:1px solid #d0e3ff;border-radius:8px;border-left:4px solid var(--accent-blue)}.export-info p{margin:0;font-family:Raleway,sans-serif;font-size:14px;color:var(--dark-gray);line-height:1.5}.btn-export-download{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-export-download:hover:not(:disabled){background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}.btn-export-download:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.export-panel{max-width:100%}.export-panel-body{padding:20px}.export-panel-header h2{font-size:1.5em}}.admin-enums-page{width:100%;animation:fadeIn .5s ease-out}.admin-enums-loading{text-align:center;padding:60px 20px;font-size:18px;color:var(--text-secondary)}.admin-enums-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:3px solid var(--accent-cyan)}.admin-enums-header h2{font-family:Raleway,sans-serif;font-size:2em;font-weight:700;color:var(--primary-blue);margin:0}.admin-enums-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:12px 15px;border-radius:6px;margin-bottom:20px}.enum-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;align-items:center}.enum-tabs-separator{width:1px;height:28px;background:#ddd;margin:0 4px}.enum-tab{padding:10px 20px;background:#fff;color:var(--dark-gray);border:2px solid var(--light-gray);border-radius:8px;font-size:14px;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s}.enum-tab:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.enum-tab-active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:0 2px 8px #4a8eff4d}.enum-tab-active:hover{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.enum-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;border:1px solid var(--light-gray)}.enum-table{width:100%;border-collapse:collapse}.enum-table thead{background:var(--ds-primary);color:#fff}.enum-table th{padding:15px;text-align:left;font-family:Raleway,sans-serif;font-size:14px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.enum-table td{padding:12px 15px;border-bottom:1px solid #e9ecef;font-family:Raleway,sans-serif;font-size:15px;color:var(--dark-gray)}.enum-table tbody tr:hover{background:#f8f9fa}.enum-table tbody tr:last-child td{border-bottom:none}.row-inactive{opacity:.5}.row-inactive:hover{opacity:.75}.enum-inline-input{width:100%;padding:8px 12px;border:2px solid var(--accent-blue);border-radius:6px;font-size:14px;font-family:Raleway,sans-serif;outline:none;box-shadow:0 0 0 3px #4a8eff1a;transition:border-color .3s}.enum-inline-input:focus{border-color:var(--primary-blue)}.enum-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-blue)}.enum-cell-clickable{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.enum-cell-clickable:hover{background:#e3f2fd}.enum-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .2s}.enum-badge:hover{opacity:.8}.enum-badge-actif{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.enum-badge-inactif{background:#f5f5f5;color:#999;border:1px solid #ddd}.enum-action-buttons{display:flex;gap:6px}.btn-enum-edit,.btn-enum-delete,.btn-enum-save,.btn-enum-cancel{padding:6px 10px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s;background:transparent;color:var(--dark-gray);display:flex;align-items:center;justify-content:center}.btn-enum-edit:hover{background:#e3f2fd;color:var(--accent-blue);transform:scale(1.1)}.btn-enum-delete{color:#999}.btn-enum-delete:hover:not(:disabled){background:#ffebee;color:#d32f2f;transform:scale(1.1)}.btn-enum-delete:disabled{opacity:.3;cursor:not-allowed}.btn-enum-save{color:#2e7d32}.btn-enum-save:hover:not(:disabled){background:#e8f5e9;transform:scale(1.1)}.btn-enum-save:disabled{opacity:.3;cursor:not-allowed}.btn-enum-cancel{color:#999}.btn-enum-cancel:hover{background:#f5f5f5;color:#d32f2f;transform:scale(1.1)}.enum-new-row{background:#f0f7ff}.enum-new-id{color:var(--medium-gray);font-style:italic}.btn-add-enum-row{display:flex;align-items:center;gap:8px;width:100%;padding:14px 20px;background:transparent;color:var(--accent-blue);border:none;border-top:1px dashed var(--light-gray);font-size:14px;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s}.btn-add-enum-row:hover{background:#f0f7ff;color:var(--primary-blue)}@media(max-width:768px){.admin-enums-header{flex-direction:column;gap:15px;align-items:flex-start}.enum-tabs{gap:6px}.enum-tab{padding:8px 14px;font-size:13px}.enum-table-container{overflow-x:auto}.enum-table{min-width:500px}}.perm-header-actions{display:flex;gap:8px;align-items:center}.perm-app-select{padding:8px 12px;border-radius:6px;border:1px solid var(--light-gray, #ddd);font-size:14px}.perm-section{margin:16px 0;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.perm-add-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:12px;align-items:flex-end}.perm-add-row>.form-group{flex:0 1 200px;margin-bottom:0;width:auto}.perm-add-btn{white-space:nowrap;flex-shrink:0;align-self:flex-end;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--fde-blue, #1a5276);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;height:36px}.perm-add-btn:hover{opacity:.9}.perm-select-ecriture{background-color:#e8f5e9!important}.perm-select-lecture{background-color:#e3f2fd!important}.perm-select-aucun{background-color:#fff!important}.perm-code{font-size:11px;color:#666}.admin-refs-page{width:100%;animation:fadeIn .5s ease-out}.admin-refs-loading{text-align:center;padding:60px 20px;font-size:18px;color:var(--text-secondary)}.admin-refs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:3px solid var(--accent-cyan)}.admin-refs-header h2{font-family:Raleway,sans-serif;font-size:2em;font-weight:700;color:var(--primary-blue);margin:0;display:flex;align-items:center;gap:10px}.btn-add-ref{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-add-ref:hover{background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}.admin-refs-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:12px 15px;border-radius:6px;margin-bottom:20px}.ref-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.ref-tab{padding:10px 20px;background:#fff;color:var(--dark-gray);border:2px solid var(--light-gray);border-radius:8px;font-size:14px;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s}.ref-tab:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.ref-tab-active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:0 2px 8px #4a8eff4d}.ref-tab-active:hover{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.ref-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow-x:auto;border:1px solid var(--light-gray)}.ref-table{width:100%;border-collapse:collapse}.ref-table thead{background:var(--ds-primary);color:#fff}.ref-table th{padding:15px;text-align:left;font-family:Raleway,sans-serif;font-size:14px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.ref-table td{padding:12px 15px;border-bottom:1px solid #e9ecef;font-family:Raleway,sans-serif;font-size:15px;color:var(--dark-gray)}.ref-table tbody tr:hover{background:#f8f9fa}.ref-table tbody tr:last-child td{border-bottom:none}.ref-empty{text-align:center;padding:40px 20px!important;color:var(--medium-gray);font-style:italic}.ref-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.ref-badge-oui{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.ref-badge-non{background:#f5f5f5;color:#999;border:1px solid #ddd}.ref-action-buttons{display:flex;gap:6px}.btn-ref-edit,.btn-ref-delete{padding:6px 10px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s;background:transparent;color:var(--dark-gray);display:flex;align-items:center;justify-content:center}.btn-ref-edit:hover{background:#e3f2fd;color:var(--accent-blue);transform:scale(1.1)}.btn-ref-delete{color:#999}.btn-ref-delete:hover:not(:disabled){background:#ffebee;color:#d32f2f;transform:scale(1.1)}.btn-ref-delete:disabled{opacity:.3;cursor:not-allowed}.ref-modal{max-width:560px}.ref-form{padding:25px}.ref-form-fields{display:flex;flex-direction:column;gap:16px}.ref-form-group{display:flex;flex-direction:column}.ref-form-group label{font-family:Raleway,sans-serif;font-size:14px;font-weight:600;color:var(--dark-gray);margin-bottom:6px}.ref-form-group input[type=text],.ref-form-group input[type=email],.ref-form-group input[type=number],.ref-form-group input[type=date]{width:100%;padding:10px 14px;border:2px solid var(--light-gray);border-radius:8px;font-size:14px;font-family:Raleway,sans-serif;transition:all .3s;box-sizing:border-box}.ref-form-group input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a8eff1a}.ref-input-readonly{background:#f0f0f0;color:var(--medium-gray);cursor:not-allowed}.ref-form-group-inline{flex-direction:row;align-items:center}.ref-epci-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid var(--light-gray);border-radius:6px;background:#fafbfc}.ref-epci-item{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.ref-epci-item input{accent-color:var(--accent-blue)}.ref-epci-mine{background:#3b82f614;padding:2px 6px;border-radius:4px}.ref-epci-mine input{accent-color:#059669}.ref-epci-hint{margin:8px 0 0;font-size:11px;color:var(--medium-gray);font-style:italic}.ref-checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-family:Raleway,sans-serif;font-size:14px;font-weight:600;color:var(--dark-gray)}.ref-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-blue)}.ref-form .form-error{background:#fee;border:1px solid #fcc;border-left:4px solid #d32f2f;color:#d32f2f;padding:10px 12px;border-radius:6px;margin-bottom:20px;font-size:14px}.ref-form .btn-cancel{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:transparent;color:var(--dark-gray);border:2px solid var(--light-gray);border-radius:8px;font-size:15px;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s}.ref-form .btn-cancel:hover{background:#f8f9fa;border-color:var(--medium-gray)}.btn-save-ref{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #4a8eff4d}.btn-save-ref:hover:not(:disabled){background:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #4a8eff66}.btn-save-ref:disabled{opacity:.5;cursor:not-allowed}.ref-modal .btn-close-modal{background:transparent;border:none;color:var(--dark-gray);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.ref-modal .btn-close-modal:hover{background:#f5f5f5;color:#d32f2f}@media(max-width:768px){.admin-refs-header{flex-direction:column;gap:15px;align-items:flex-start}.ref-tabs{gap:6px}.ref-tab{padding:8px 14px;font-size:13px}.ref-table{min-width:600px}.ref-modal{margin:20px;max-height:calc(100vh - 40px)}}.communes-epci-page{width:100%;animation:fadeIn .5s ease-out}.communes-epci-loading,.communes-epci-error{text-align:center;padding:60px 20px;font-size:18px;color:var(--text-secondary, #666)}.communes-epci-error{color:#c62828}.communes-epci-header{margin-bottom:25px;padding-bottom:15px;border-bottom:3px solid var(--accent-cyan, #42D3EC)}.communes-epci-header-left{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.communes-epci-header h2{display:flex;align-items:center;gap:8px;font-family:Raleway,sans-serif;font-size:22px;color:var(--primary-blue, #1a3a5c);margin:0}.btn-back-epci{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary-blue, #1a3a5c);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.btn-back-epci:hover{background:#2a4a6c}.communes-epci-count{padding:5px 14px;background:#e8f5e9;color:#2e7d32;border-radius:20px;font-size:14px;font-weight:600}.communes-epci-table-container{overflow-x:auto;border-radius:8px;box-shadow:0 2px 8px #00000014}.communes-epci-table{width:100%;border-collapse:collapse;font-size:14px}.communes-epci-table thead tr{background:var(--primary-blue, #1a3a5c);color:#fff}.communes-epci-table th{padding:12px 15px;text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.communes-epci-table td{padding:10px 15px;border-bottom:1px solid #eee}.commune-row-clickable{cursor:pointer;transition:background .15s}.commune-row-clickable:hover{background:#e3f2fd}.commune-insee{font-family:monospace;font-weight:600;color:var(--primary-blue, #1a3a5c)}.commune-nom{font-weight:600}.communes-epci-empty{text-align:center;padding:40px;color:#999;font-style:italic}.badge-oui{display:inline-block;padding:3px 10px;background:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:12px;font-weight:600}.badge-non{display:inline-block;padding:3px 10px;background:#fafafa;color:#999;border-radius:12px;font-size:12px}.spinner-icon{animation:spin 1s linear infinite;display:inline-block;vertical-align:middle;margin-right:8px}@media(max-width:768px){.communes-epci-header-left{flex-direction:column;align-items:flex-start}}.audit-page{width:100%;animation:fadeIn .5s ease-out}.audit-header{margin-bottom:25px;padding-bottom:15px;border-bottom:3px solid var(--accent-cyan, #42D3EC);display:flex;justify-content:space-between;align-items:center}.btn-purge-audit{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.btn-purge-audit:hover{background:#c82333}.audit-header h2{display:flex;align-items:center;gap:10px;font-family:Raleway,sans-serif;font-size:24px;color:var(--primary-blue, #1a3a5c);margin:0}.audit-error{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:20px}.audit-filters{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;flex-wrap:wrap}.audit-filter-group{display:flex;align-items:center;gap:8px;color:#666}.audit-filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:200px}.audit-count{font-size:14px;color:#888;font-style:italic}.audit-loading,.audit-empty{text-align:center;padding:60px 20px;color:#999}.audit-empty p{margin-top:15px;font-size:16px}.audit-table-container{overflow-x:auto;border-radius:8px;box-shadow:0 2px 8px #00000014}.audit-table{width:100%;border-collapse:collapse;font-size:14px}.audit-table thead tr{background:var(--primary-blue, #1a3a5c);color:#fff}.audit-table th{padding:12px 15px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.audit-table td{padding:10px 15px;border-bottom:1px solid #f0f0f0}.audit-table tbody tr:hover{background:#f8f9fa}.audit-date{white-space:nowrap;font-family:monospace;font-size:13px;color:#555}.audit-id{font-family:monospace;font-size:13px;color:var(--primary-blue, #1a3a5c);font-weight:600}.audit-libelle{font-weight:500;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-auteur{color:#666;font-style:italic}.audit-entite-badge{display:inline-block;padding:3px 10px;background:#e8eaf6;color:#3949ab;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.audit-action-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.badge-creation{background:#e8f5e9;color:#2e7d32}.badge-modification{background:#e3f2fd;color:#1565c0}.audit-load-more{text-align:center;margin-top:20px}.btn-load-more{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:var(--primary-blue, #1a3a5c);color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.btn-load-more:hover{background:#2a4a6c}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}.spinner-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:#f5f7fa}.app-header{background:#fff;height:64px;display:flex;align-items:center;padding:0 24px;box-shadow:0 1px 3px #00000014;border-bottom:2px solid #42D3EC;position:sticky;top:0;z-index:1200}.header-content{width:100%;display:flex;align-items:center;gap:20px}.header-menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:1.5px solid #d0d7de;border-radius:6px;color:#0c1b3a;cursor:pointer;transition:all .2s}.header-menu-toggle:hover{background:#0c1b3a;color:#fff;border-color:#0c1b3a}.app-logo{height:42px;width:auto;object-fit:contain}.header-text{flex:1;display:flex;align-items:baseline;gap:12px}.app-header h1{margin:0;color:#0c1b3a;font-family:Raleway,sans-serif;font-size:1.15em;font-weight:700;white-space:nowrap}.header-subtitle{margin:0;color:#8896a6;font-family:Raleway,sans-serif;font-size:.8em;font-weight:400;display:none}.header-user{display:flex;align-items:center;gap:12px;flex-shrink:0}.user-info{display:flex;align-items:center;gap:6px;font-family:Raleway,sans-serif;font-size:13px;font-weight:600;color:#0c1b3a;white-space:nowrap}.btn-logout{padding:6px 16px;background:transparent;color:#0c1b3a;border:1.5px solid #d0d7de;border-radius:6px;font-family:Raleway,sans-serif;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#0c1b3a;color:#fff;border-color:#0c1b3a}.app-body{display:flex;flex:1}.app-main{flex:1;min-width:0;padding:28px 32px;background:#f5f7fa;overflow-x:hidden;overflow-y:auto;min-height:calc(100vh - 64px)}.app-footer{background:linear-gradient(135deg,#0c1b3a,#132d5e);color:#fff;padding:40px 32px 20px}.footer-content{max-width:1200px;margin:0 auto}.footer-columns{display:flex;gap:48px;align-items:flex-start}.footer-column{display:flex;flex-direction:column}.footer-logo-section{flex-shrink:0}.footer-logo{height:50px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}.footer-contact{flex:1}.footer-contact p{margin:0 0 4px;font-family:Raleway,sans-serif;font-size:13px;font-weight:400;line-height:1.6;color:#ffffffb3}.footer-contact p strong{color:#fff;font-weight:600}.footer-links{flex:1}.footer-links nav ul,.footer-links-secondary nav ul{list-style:none;padding:0;margin:0}.footer-links nav ul li,.footer-links-secondary nav ul li{padding:4px 0}.footer-links nav ul li a,.footer-links-secondary nav ul li a{font-family:Raleway,sans-serif;font-size:13px;font-weight:500;color:#fff9;text-decoration:none;transition:color .2s}.footer-links nav ul li a:hover,.footer-links-secondary nav ul li a:hover{color:#42d3ec}.footer-links-secondary{flex-shrink:0}.footer-bottom{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer-bottom p{margin:0;font-family:Raleway,sans-serif;font-size:12px;font-weight:500;color:#fff6}.search-section{margin-bottom:30px}.form-section{animation:fadeIn .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(min-width:1024px){.header-subtitle{display:block}}@media(max-width:768px){.app-header{height:56px;padding:0 12px}.header-menu-toggle{display:inline-flex;width:36px;height:36px}.app-logo{height:32px}.app-header h1{font-size:.95em}.user-info{display:none}.btn-logout{padding:5px 12px;font-size:11px}.app-main{padding:16px 12px;min-height:calc(100vh - 56px)}.app-footer{padding:24px 16px 16px}.footer-columns{flex-direction:column;gap:20px}.footer-logo{height:36px}}
