html,body,#root{width:100%;height:100%;margin:0;padding:0;font-family:sans-serif;overflow:hidden}.leaflet-container{background-color:#f8fafc;width:100%;height:100%}.app-container{width:100%;height:100vh;font-family:sans-serif;display:flex;overflow:hidden}@media (width<=768px){.app-container{flex-direction:column}.sidebar{border-right:none;width:100%!important;height:45vh!important}.map-area{flex:none;height:55vh!important}.sidebar-header{height:6rem!important}}.sidebar{z-index:20;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:384px;display:flex}.sidebar-header{background-image:url(/monnaie_CERS.jpg);background-position:50%;background-size:cover;flex-shrink:0;height:10rem;position:relative}.header-overlay{background:#0006;position:absolute;inset:0}.header-content{z-index:10;color:#fff;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.header-content h1{text-transform:uppercase;filter:drop-shadow(0 2px 4px #000c);font-size:1.6rem;font-weight:900}.filters-section{background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:1rem}.search-box{margin-bottom:.75rem;position:relative}.search-icon{color:#94a3b8;position:absolute;top:.75rem;left:.75rem}.search-box input{border:1px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:.5rem 1rem .5rem 2.5rem;font-size:13px}.main-nav{-webkit-overflow-scrolling:touch;gap:.5rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.cat-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:700}.cat-btn.active{color:#fff;background:#0f172a;border-color:#0f172a}.sub-nav{border-top:1px solid #e2e8f0;gap:.4rem;padding-top:.75rem;display:flex;overflow-x:auto}.sub-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;padding:4px 10px;font-size:10px;font-weight:600;transition:all .2s}.sub-btn:hover{background:#e2e8f0}.sub-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.merchants-list{flex:1;padding:0;list-style:none;overflow-y:auto}.merchant-item{cursor:pointer;border-bottom:1px solid #f1f5f9;padding:1rem}.merchant-item:hover{background:#f8fafc}.merchant-item.selected{background:#eff6ff;border-left:4px solid #2563eb}.merchant-summary{flex-direction:column;gap:6px;display:flex}.title-text{color:#0f172a;text-transform:uppercase;margin-bottom:4px;font-size:13px}.summary-row{color:#475569;align-items:center;gap:8px;font-size:11px;display:flex}.icon-blue{color:#3b82f6;flex-shrink:0}.pourquoi-text i{color:#64748b;font-size:10.5px;line-height:1.4}.city-label{text-transform:uppercase;color:#1d4ed8;font-weight:800}.merchant-link{color:#2563eb;font-weight:600;text-decoration:underline}.map-area{flex:1;position:relative}.leaflet-map{width:100%;height:100%}.detail-card{z-index:1000;background:#fff;border:1px solid #f1f5f9;border-radius:12px;max-width:320px;padding:20px;position:absolute;bottom:20px;left:20px;right:20px;box-shadow:0 10px 15px #0000001a}.detail-card h2{text-transform:uppercase;color:#0f172a;margin-bottom:12px;font-size:16px;font-weight:900}.detail-info p{color:#475569;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.route-btn{color:#fff;cursor:pointer;text-transform:uppercase;background:#0f172a;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px;font-size:10px;font-weight:700;display:flex}.close-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:8px;right:12px}.admin-access-link{z-index:2000;color:#fff;cursor:pointer;background-color:#1a237e;border:none;border-radius:30px;padding:12px 24px;font-weight:700;transition:transform .2s,background-color .2s;position:absolute;bottom:20px;right:20px;box-shadow:0 4px 12px #0000004d}.admin-access-link:hover{background-color:#3949ab;transform:scale(1.05)}.login-screen-bg{z-index:3000;background:linear-gradient(135deg,#1a237e 0%,#000 100%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.login-card-container{text-align:center;background:#fff;border-radius:15px;width:100%;max-width:400px;padding:40px;box-shadow:0 15px 35px #00000080}.login-header-block{color:#1a237e;margin-bottom:30px}.login-header-block h2{margin-top:10px;font-size:1.5rem}.login-fields-form{flex-direction:column;gap:20px;display:flex}.form-input-wrapper{text-align:left;flex-direction:column;display:flex}.form-input-wrapper label{color:#555;margin-bottom:8px;font-size:.9rem;font-weight:700}.form-input-wrapper input{border:1px solid #ddd;border-radius:8px;outline:none;padding:12px;font-size:1rem}.form-input-wrapper input:focus{border-color:#1a237e;box-shadow:0 0 0 2px #1a237e1a}.login-buttons-row{gap:12px;margin-top:10px;display:flex}.btn-confirm{color:#fff;cursor:pointer;background-color:#1a237e;border:none;border-radius:8px;flex:2;padding:14px;font-size:1rem;font-weight:700}.btn-cancel{color:#1a237e;cursor:pointer;background-color:#0000;border:1px solid #1a237e;border-radius:8px;flex:1;padding:14px;font-weight:700}.btn-confirm:hover{background-color:#3949ab}.btn-cancel:hover{background-color:#1a237e0d}.admin-layout{max-width:1200px;margin:0 auto;padding:40px;font-family:Segoe UI,sans-serif}.admin-header{border-bottom:2px solid #eee;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.table-responsive{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px #00000014}.admin-table-full{border-collapse:collapse;text-align:left;width:100%}.admin-table-full th{color:#1a237e;text-transform:uppercase;background:#f8f9fa;padding:15px;font-size:.85rem;font-weight:700}.admin-table-full td{vertical-align:middle;border-bottom:1px solid #eee;padding:15px}.form-admin-cers{background:#fff;border-radius:12px;padding:30px;box-shadow:0 10px 30px #0000001a}.form-grid{grid-template-columns:1fr 1fr;gap:25px;margin-bottom:20px;display:grid}.form-column{flex-direction:column;gap:15px;display:flex}.form-column legend,.form-full-width legend{color:#3949ab;margin-bottom:10px;font-weight:700;display:block}.form-admin-cers input,.form-admin-cers select,.form-admin-cers textarea{border:1px solid #ddd;border-radius:6px;width:100%;padding:12px;font-size:14px}.form-full-width{margin-top:20px}.form-full-width textarea{height:100px;margin-bottom:15px}.admin-actions-btns{gap:15px;margin-top:30px;display:flex}.btn-save{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:6px;padding:12px 30px;font-weight:700}.btn-cancel{color:#666;cursor:pointer;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:12px 30px}.btn-add{color:#fff;cursor:pointer;background:#1a237e;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;display:flex}.actions-cell button{cursor:pointer;background:0 0;border:none;margin-right:10px}.delete-icon{color:#d32f2f}.edit-icon{color:#1a237e}html,body,#root{margin:0;padding:0;height:auto!important;overflow-y:auto!important}.admin-layout{background-color:#f8fafc;flex-direction:column;gap:20px;min-height:100vh;padding:2rem;display:flex}.popup-card{color:#0f172a;font-family:inherit}.popup-card .popup-title{text-transform:uppercase;margin:0 0 6px;font-size:14px;font-weight:800}.popup-card .popup-line{color:#475569;margin:0;font-size:13px}.popup-card .popup-line strong{color:#0f172a;margin-right:6px;font-weight:700}
