/* Trésors des Lavoirs V5 hybride — administration centralisée */
:root{--primary:#0284c7;--bg:#f1f5f9;--dark:#0f172a;--sidebar-bg:#0f172a;--card-bg:#ffffff;--text-muted:#64748b}
body{display:flex;height:100vh;overflow:hidden}
.sidebar{width:280px;background:var(--sidebar-bg);color:white;display:flex;flex-direction:column;box-shadow:4px 0 10px rgba(0,0,0,0.1)}
.sidebar-header{padding:30px 20px;border-bottom:1px solid #1e293b}
.sidebar-header h2{margin:0;font-size:1.3rem;color:#38bdf8}
.sidebar-header p{margin:5px 0 0;font-size:0.8rem;opacity:0.6}
.stats-container{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stat-item{background:#1e293b;padding:10px;border-radius:8px;text-align:center;border-left:3px solid var(--primary)}
.stat-item.warning{border-left-color:#f59e0b}
.stat-label{display:block;font-size:0.65rem;opacity:0.6;text-transform:uppercase}
.stat-value{font-size:1.1rem;font-weight:bold}
.sidebar-nav{flex-grow:1;padding:15px}
.nav-link{display:flex;align-items:center;gap:12px;padding:12px 15px;color:#94a3b8;text-decoration:none;border-radius:8px;margin-bottom:5px;transition:0.2s}
.nav-link:hover, .nav-link.active{background:#1e293b;color:#fff}
.nav-link.active{background:var(--primary)}
.nav-divider{height:1px;background:#1e293b;margin:15px 0}
.sidebar-footer{padding:20px;border-top:1px solid #1e293b}
.logout-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#450a0a;color:#f87171;padding:12px;border-radius:8px;text-decoration:none;font-size:0.9rem}
.main{flex:1;overflow-y:auto;padding:30px;scroll-behavior:smooth}
.card-admin{background:var(--card-bg);padding:25px;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,0.05);margin-bottom:30px}
h2{margin-top:0;font-size:1.25rem;color:var(--dark);border-bottom:2px solid #f1f5f9;padding-bottom:15px;margin-bottom:20px}
.form-grid{margin-bottom:15px}
input, select{padding:12px;border:1px solid #cbd5e1;border-radius:8px;font-size:0.95rem;width:100%;box-sizing:border-box}
input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(2, 132, 199, 0.1)}
.map-section{background:#f8fafc;padding:15px;border-radius:10px;margin-bottom:20px}
#map-picker{height:300px;border-radius:8px;margin-bottom:15px;border:1px solid #cbd5e1}
.upload-section{margin-bottom:20px;padding:10px 0}
.btn-save{background:var(--primary);color:white;border:none;padding:14px 28px;border-radius:8px;cursor:pointer;font-weight:600;width:100%;font-size:1rem}
table{width:100%;border-collapse:collapse}
th{text-align:left;padding:15px;color:var(--text-muted);font-size:0.8rem;text-transform:uppercase;border-bottom:2px solid #f1f5f9}
td{padding:15px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.thumb{width:60px;height:60px;object-fit:cover;border-radius:8px;border:1px solid #eee}
.td-actions{display:flex;gap:8px}
.action-btn{width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:6px;text-decoration:none}
.edit{background:#fef3c7;color:#92400e}
.del{background:#fee2e2;color:#991b1b}
.autocomplete-suggestions{border:1px solid #cbd5e1;background:white;position:absolute;z-index:1000;width:100%;max-height:200px;overflow-y:auto;border-radius:8px;box-shadow:0 10px 15px rgba(0,0,0,0.1)}
.suggestion-item{padding:12px;cursor:pointer;border-bottom:1px solid #f8fafc}
.suggestion-item:hover{background:#f1f5f9;color:var(--primary)}
/* ========================================= RESPONSIVE MOBILE (SMARTPHONES) ========================================= */
@media (max-width: 768px){
  body{flex-direction:column;height:auto;overflow-y:auto}
  .sidebar{width:100%;box-shadow:0 4px 10px rgba(0,0,0,0.1)}
  .dept-stat-list{max-height:150px;overflow-y:auto}
  .main{padding:15px;overflow:visible}
  /* 4. Les cartes et formulaires s'empilent */
  .card-admin{padding:15px}
  .form-grid{grid-template-columns:1fr}
  table, .validation-table, .photo-manage-table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  /* Ajustement de la carte Leaflet */
  #map-picker{height:250px}
}
\n
:root{--sky:#38bdf8;--purple:#8b5cf6}
.inventory-body{margin:0;min-height:100vh;background:var(--bg);font-family:'Segoe UI',system-ui,sans-serif;color:var(--navy);display:block;overflow:auto}
.inventory-sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:var(--navy);color:white;padding:24px 16px;overflow-y:auto;z-index:50}
.inventory-brand{display:flex;gap:12px;align-items:center;padding:8px 10px 24px;border-bottom:1px solid #1e293b}
.inventory-brand>i{font-size:2rem;color:var(--sky)}
.inventory-brand strong,.inventory-brand small{display:block}
.inventory-brand small{color:#94a3b8;margin-top:3px}
.inventory-sidebar nav{padding-top:18px}
.inventory-sidebar nav a{display:flex;align-items:center;gap:11px;color:#cbd5e1;text-decoration:none;padding:12px 14px;border-radius:9px;margin:3px 0;font-weight:600}
.inventory-sidebar nav a:hover,.inventory-sidebar nav a.active{background:#1e293b;color:white}
.inventory-sidebar nav a.active{background:var(--blue)}
.inventory-sidebar nav i{width:20px;text-align:center}
.inventory-nav-separator{height:1px;background:#1e293b;margin:14px 8px}
.inventory-main{margin-left:260px;padding:30px;max-width:1800px}
.inventory-header{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}
.inventory-header h1{font-size:2rem;margin:4px 0 5px}
.inventory-header p{margin:0;color:var(--muted)}
.eyebrow{font-size:.72rem;letter-spacing:1.5px;font-weight:800;color:var(--blue)}
.header-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-primary,.btn-radar,.btn-light{border:0;border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-primary{background:var(--blue);color:white}
.btn-radar{background:var(--navy);color:white}
.btn-light{background:white;color:var(--navy);border:1px solid var(--line)}
.inventory-stats{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:20px}
.stat-card{background:white;border:1px solid var(--line);border-top:4px solid #94a3b8;border-radius:12px;padding:15px;text-align:left;cursor:pointer;box-shadow:0 3px 8px rgba(15,23,42,.04)}
.stat-card span{display:block;font-size:1.65rem;font-weight:900}
.stat-card small{color:var(--muted);font-weight:700}
.stat-red{border-top-color:var(--red)}
.stat-orange{border-top-color:var(--orange)}
.stat-blue{border-top-color:var(--blue)}
.stat-green{border-top-color:var(--green)}
.stat-purple{border-top-color:var(--purple)}
.inventory-toolbar{position:sticky;top:0;z-index:20;background:rgba(241,245,249,.95);backdrop-filter:blur(10px);padding:12px 0;display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(160px,.7fr)) 46px auto;gap:10px;align-items:center}
.inventory-toolbar input,.inventory-toolbar select{height:46px;border:1px solid #cbd5e1;border-radius:10px;background:white;padding:0 12px;font:inherit}
.search-box{position:relative}
.search-box i{position:absolute;left:15px;top:15px;color:#94a3b8}
.search-box input{width:100%;padding-left:42px}
.visible-count{color:var(--muted);white-space:nowrap}
.visible-count strong{color:var(--navy)}
.inventory-list{display:flex;flex-direction:column;gap:10px;padding-bottom:50px}
.inventory-row{display:grid;grid-template-columns:minmax(360px,1fr) 315px 190px;gap:18px;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 3px 8px rgba(15,23,42,.035)}
.inventory-row[hidden]{display:none}
.identity-block{display:flex;gap:14px;min-width:0}
.dept-pill{width:48px;height:48px;border-radius:12px;background:#e0f2fe;color:#0369a1;font-weight:900;display:flex;align-items:center;justify-content:center;flex:0 0 48px}
.identity-text{min-width:0;flex:1}
.row-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.row-title-line h2{font-size:1rem;margin:0;padding:0;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.identity-text p{font-size:.84rem;margin:4px 0;color:var(--muted)}
.identity-text .address{font-style:italic}
.status-badge,.meta-tags span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;font-size:.68rem;font-weight:800;padding:4px 8px}
.status-termine{background:#d1fae5;color:#047857}
.meta-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.meta-tags span{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
.meta-tags .revisit-tag{background:#ede9fe;color:#6d28d9}
.gps-exact{color:#047857!important}
.gps-village{color:#92400e!important}
.gps-a_verifier{color:#b91c1c!important}
.workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.step-toggle{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:8px 5px;cursor:pointer;min-height:67px;color:#64748b}
.step-toggle i,.step-toggle span,.step-toggle b{display:block}
.step-toggle i{font-size:1rem;margin-bottom:4px}
.step-toggle span{font-size:.68rem;text-transform:uppercase;font-weight:800}
.step-toggle b{font-size:.72rem;margin-top:2px}
.step-toggle.is-done{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
.step-toggle:disabled{opacity:.5}
.row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.icon-action{width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:white;color:#475569;text-decoration:none;display:flex;align-items:center;justify-content:center;cursor:pointer}
.icon-action:hover{background:#f8fafc;color:var(--blue)}
.icon-action.directions{background:#eff6ff;color:#1d4ed8}
.icon-action.public{background:#ecfdf5;color:#047857}
.icon-action.publish{background:#fff7ed;color:#c2410c}
.icon-action.is-active{background:#ede9fe;color:#6d28d9;border-color:#c4b5fd}
.empty-state{text-align:center;padding:70px;color:var(--muted)}
.empty-state i{font-size:3rem;color:#cbd5e1}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.65);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}
.modal.open{display:flex}
.modal-card{background:white;border-radius:16px;padding:25px;width:min(720px,100%);max-height:90vh;overflow:auto;position:relative}
.modal-card h2{margin:0 0 20px}
.modal-close{position:absolute;right:15px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f9;cursor:pointer}
.modal-card label{display:block;font-size:.8rem;font-weight:800;color:#475569;margin-bottom:12px}
.modal-card input,.modal-card select,.modal-card textarea{display:block;width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:11px;margin-top:5px;font:inherit}
.form-two,.form-three{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.form-three{grid-template-columns:repeat(3,1fr)}
.inventory-toast{position:fixed;right:25px;top:25px;background:#047857;color:white;padding:13px 18px;border-radius:10px;transform:translateY(-100px);opacity:0;transition:.25s;z-index:200;font-weight:700}
.inventory-toast.show{transform:none;opacity:1}
.inventory-toast.error{background:#b91c1c}
@media (max-width:1250px){
  .inventory-stats{grid-template-columns:repeat(3,1fr)}
  .inventory-row{grid-template-columns:1fr 285px}
  .row-actions{grid-column:1/-1}
  .inventory-toolbar{grid-template-columns:1fr 1fr 1fr}
  .visible-count{display:none}
}
@media (max-width:900px){
  .inventory-sidebar{position:static;width:100%;padding:10px}
  .inventory-brand{padding:8px 10px 12px}
  .inventory-sidebar nav{display:flex;overflow-x:auto;padding:8px 0;gap:4px}
  .inventory-sidebar nav a{flex:0 0 auto;margin:0;padding:10px}
  .inventory-sidebar nav a span{display:none}
  .inventory-nav-separator{display:none}
  .inventory-main{margin-left:0;padding:16px}
  .inventory-header{align-items:flex-start;flex-direction:column}
  .inventory-header h1{font-size:1.55rem}
  .header-actions{width:100%}
  .header-actions>*{flex:1}
  .inventory-toolbar{grid-template-columns:1fr 1fr}
  .search-box{grid-column:1/-1}
  .inventory-row{grid-template-columns:1fr;padding:15px}
  .workflow{order:2}
  .row-actions{order:3;justify-content:flex-start}
  .inventory-stats{grid-template-columns:repeat(2,1fr)}
  .form-two,.form-three{grid-template-columns:1fr}
}
@media (max-width:520px){
  .inventory-main{padding:10px}
  .inventory-stats{grid-template-columns:repeat(2,1fr);gap:7px}
  .stat-card{padding:11px}
  .inventory-toolbar{grid-template-columns:1fr}
  .inventory-toolbar .btn-light{display:none}
  .workflow{gap:4px}
  .step-toggle{min-height:62px}
  .row-title-line{display:block}
  .status-badge{margin-top:5px}
  .identity-block{gap:9px}
  .dept-pill{width:42px;height:42px;flex-basis:42px}
  .modal{padding:8px}
  .modal-card{padding:20px 15px}
}
/* V5 - administration harmonisée et mobile */
.gps-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:-7px 0 16px}
.gps-summary-strip button{border:1px solid #dce5ef;background:#fff;border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#475569;text-align:left}
.gps-summary-strip i{color:#0284c7}
.gps-summary-strip strong{font-size:1rem;color:#0f172a}
.gps-summary-strip span{font-size:.72rem;font-weight:700}
.inventory-focus{outline:4px solid rgba(14,165,233,.25);border-color:#38bdf8!important;animation:inventoryPulse 1.2s ease 2}
@keyframes inventoryPulse{
  50%{transform:scale(1.01);box-shadow:0 0 0 8px rgba(56,189,248,.12)}
}
@media (max-width:900px){
  .inventory-main.pro-admin-main{margin-left:0;padding:70px 12px 92px}
  .gps-summary-strip{grid-template-columns:repeat(2,1fr)}
  .inventory-toolbar{position:sticky;top:0;z-index:30;background:#f1f5f9;padding:8px 0}
  .inventory-row{border-radius:15px}
  .row-actions{width:100%;display:grid;grid-template-columns:repeat(5,1fr)}
  .icon-action{width:100%;height:44px}
  .workflow .step-toggle{min-height:70px}
  .inventory-header.pro-page-header{margin-bottom:14px}
}
@media (max-width:520px){
  .gps-summary-strip{gap:6px}
  .gps-summary-strip button{padding:9px 8px;display:grid;grid-template-columns:25px 35px 1fr}
  .inventory-toolbar select{font-size:.82rem}
  .identity-text p{font-size:.78rem}
  .row-actions{grid-template-columns:repeat(4,1fr)}
}
.traceability-panel{margin:16px 0;padding:0;border:1px solid #dbe4ee;border-radius:13px;background:#f8fafc;overflow:hidden}
.traceability-panel summary{cursor:pointer;display:flex;align-items:center;gap:9px;padding:13px 15px;font-weight:800;color:#475569;list-style:none}
.traceability-panel summary::-webkit-details-marker{display:none}
.traceability-panel[open] summary{border-bottom:1px solid #e2e8f0;background:#f1f5f9}
.traceability-panel>p{margin:13px 15px 5px;color:#64748b;font-size:.86rem;line-height:1.5}
.traceability-panel label{margin:12px 15px;display:block}
.traceability-link{display:inline-flex;align-items:center;gap:7px;margin:0 15px 15px;color:#0369a1;font-weight:750;text-decoration:none}
.traceability-link:hover{text-decoration:underline}
\n
:root{--pro-navy:#0b1325;--pro-navy-2:#111d34;--pro-blue:#0797d6;--pro-sky:#42c4f5;--pro-green:#12b981;--pro-orange:#f59e0b;--pro-red:#ef4444;--pro-purple:#8b5cf6;--pro-bg:#f4f7fb;--pro-card:#fff;--pro-text:#122033;--pro-muted:#64748b;--pro-line:#dce5ef;--pro-shadow:0 8px 25px rgba(15,23,42,.07)}
.admin-pro-body{margin:0!important;display:block!important;height:auto!important;min-height:100vh;overflow:auto!important;background:var(--pro-bg)!important;color:var(--pro-text);font-family:'Segoe UI',system-ui,-apple-system,sans-serif}
.pro-admin-sidebar{position:fixed;z-index:1200;inset:0 auto 0 0;width:278px;background:linear-gradient(180deg,var(--pro-navy),#0d172b);color:#fff;padding:18px 14px;overflow-y:auto;box-shadow:8px 0 24px rgba(4,12,28,.18)}
.pro-admin-brand{display:flex;align-items:center;justify-content:space-between;padding:5px 7px 18px;border-bottom:1px solid #21304a}
.pro-admin-brand a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.pro-admin-brand i{color:var(--pro-sky);font-size:1.8rem}
.pro-admin-brand strong,.pro-admin-brand small{display:block}
.pro-admin-brand strong{font-size:1rem}
.pro-admin-brand small{color:#8fa5c1;margin-top:3px;font-size:.73rem}
.pro-menu-close{display:none}
.pro-sidebar-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 5px}
.pro-sidebar-summary span{background:#17243a;border:1px solid #223551;border-radius:10px;padding:9px;text-align:center;font-size:.67rem;color:#9fb1c7}
.pro-sidebar-summary strong{display:block;font-size:1.05rem;color:#fff}
.pro-admin-nav{display:flex;flex-direction:column;gap:3px}
.pro-admin-nav a{min-height:46px;padding:11px 12px;border-radius:10px;color:#c7d4e4;text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:700;font-size:.88rem;transition:.18s}
.pro-admin-nav a:hover{background:#17243a;color:#fff}
.pro-admin-nav a.active{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 6px 15px rgba(2,132,199,.25)}
.pro-admin-nav a i{width:22px;text-align:center;font-size:.98rem}
.pro-nav-separator{height:1px;background:#20304a;margin:10px 6px}
.pro-nav-badge{margin-left:auto;background:#ef4444;color:#fff;border-radius:999px;min-width:23px;padding:2px 7px;text-align:center;font-size:.68rem}
.pro-admin-nav .pro-logout{color:#fda4af}
.pro-menu-open,.pro-menu-overlay,.pro-mobile-nav{display:none}
.pro-admin-main{margin-left:278px;min-height:100vh;padding:28px 32px 80px}
.pro-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.pro-page-header h1{margin:2px 0 7px;padding:0;border:0;font-size:clamp(1.55rem,3vw,2.25rem);color:var(--pro-text)}
.pro-page-header p{margin:0;color:var(--pro-muted)}
.pro-eyebrow{display:block;color:var(--pro-blue);font-weight:900;font-size:.72rem;letter-spacing:1.25px;text-transform:uppercase}
.pro-header-actions{display:flex;flex-wrap:wrap;gap:9px}
.pro-btn{border:0;border-radius:11px;min-height:44px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:800;cursor:pointer;font-size:.88rem}
.pro-btn.primary{background:var(--pro-blue);color:#fff}
.pro-btn.dark{background:var(--pro-navy);color:#fff}
.pro-btn.light{background:#fff;color:var(--pro-text);border:1px solid var(--pro-line)}
.pro-btn.green{background:var(--pro-green);color:#fff}
.pro-btn.orange{background:var(--pro-orange);color:#fff}
.pro-card{background:var(--pro-card);border:1px solid var(--pro-line);border-radius:16px;box-shadow:var(--pro-shadow);padding:20px}
.pro-card h2{margin:0 0 8px;padding:0;border:0;color:var(--pro-text);font-size:1.08rem}
.pro-card-sub{margin:0 0 18px;color:var(--pro-muted);font-size:.86rem}
.pro-grid{display:grid;gap:14px}
.pro-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pro-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pro-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.pro-kpis{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:11px;margin-bottom:18px}
.pro-kpi{background:#fff;border:1px solid var(--pro-line);border-radius:14px;padding:16px;text-decoration:none;color:inherit;box-shadow:0 4px 15px rgba(15,23,42,.04);display:flex;align-items:center;gap:13px;min-height:90px}
.pro-kpi-icon{width:47px;height:47px;border-radius:13px;display:grid;place-items:center;background:#e0f2fe;color:#0369a1;font-size:1.2rem;flex:0 0 auto}
.pro-kpi strong{display:block;font-size:1.55rem;line-height:1}
.pro-kpi span{display:block;color:var(--pro-muted);font-size:.76rem;font-weight:700;margin-top:6px}
.pro-kpi.red .pro-kpi-icon{background:#fee2e2;color:#b91c1c}
.pro-kpi.orange .pro-kpi-icon{background:#fef3c7;color:#92400e}
.pro-kpi.green .pro-kpi-icon{background:#d1fae5;color:#047857}
.pro-kpi.purple .pro-kpi-icon{background:#ede9fe;color:#6d28d9}
.pro-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pro-action-card{display:flex;flex-direction:column;gap:11px;min-height:175px;text-decoration:none;color:inherit;border:1px solid var(--pro-line);border-radius:15px;padding:18px;background:#fff;transition:.18s}
.pro-action-card:hover{transform:translateY(-2px);box-shadow:var(--pro-shadow);border-color:#b8d8ea}
.pro-action-card i{font-size:1.5rem;color:var(--pro-blue)}
.pro-action-card strong{font-size:1rem}
.pro-action-card p{margin:0;color:var(--pro-muted);font-size:.82rem;line-height:1.45}
.pro-action-card span{margin-top:auto;font-size:.78rem;font-weight:800;color:var(--pro-blue)}
.pro-section{margin-top:18px}
.pro-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.pro-section-title h2{margin:0;font-size:1.05rem}
.pro-search-panel{position:relative}
.pro-search-panel input{width:100%;height:50px;border:1px solid #cbd5e1;border-radius:12px;padding:0 45px 0 44px;font:inherit;background:#fff}
.pro-search-panel>i{position:absolute;left:16px;top:17px;color:#94a3b8}
.pro-search-results{display:none;position:absolute;z-index:30;left:0;right:0;top:57px;background:#fff;border:1px solid var(--pro-line);border-radius:13px;box-shadow:0 18px 35px rgba(15,23,42,.18);max-height:420px;overflow:auto}
.pro-search-results.open{display:block}
.pro-search-item{padding:12px 14px;border-bottom:1px solid #edf2f7;display:flex;align-items:center;gap:12px}
.pro-search-item:last-child{border:0}
.pro-search-item:hover{background:#f8fbfe}
.pro-search-item .dept{width:40px;height:40px;border-radius:10px;background:#e0f2fe;color:#0369a1;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.pro-search-item .info{min-width:0;flex:1}
.pro-search-item strong,.pro-search-item small{display:block}
.pro-search-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pro-search-item small{color:var(--pro-muted);margin-top:3px}
.pro-search-item .actions{display:flex;gap:6px}
.pro-search-item .actions a{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;text-decoration:none;background:#eef6ff;color:#1d4ed8}
.pro-empty-search{padding:20px;text-align:center;color:var(--pro-muted)}
.pro-progress-list{display:flex;flex-direction:column;gap:15px}
.pro-progress-row{display:grid;grid-template-columns:150px 1fr 55px;gap:12px;align-items:center;font-size:.82rem}
.pro-progress-row span:first-child{font-weight:800}
.pro-progress-track{height:9px;background:#e8eef5;border-radius:999px;overflow:hidden}
.pro-progress-track i{display:block;height:100%;border-radius:999px;background:var(--pro-blue)}
.pro-progress-row.exact i{background:var(--pro-green)}
.pro-progress-row.village i{background:var(--pro-orange)}
.pro-progress-row.verify i{background:var(--pro-red)}
.pro-notice{border-radius:12px;padding:13px 15px;display:flex;gap:10px;align-items:flex-start;font-size:.84rem;line-height:1.45}
.pro-notice.info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}
.pro-notice.warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.pro-notice.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.pro-mobile-only{display:none}
/* Formulaire mobile pro */
.pro-form-card{max-width:900px}
.pro-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.pro-form label{display:block;font-size:.78rem;font-weight:800;color:#475569;margin-bottom:12px}
.pro-form input,.pro-form select,.pro-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:10px;padding:12px;font:inherit;background:#fff}
.pro-form textarea{min-height:100px;resize:vertical}
.pro-form .field-help{display:block;color:#94a3b8;font-weight:500;font-size:.7rem;margin-top:4px}
.pro-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.pro-check-card{position:relative}
.pro-check-card input{position:absolute;opacity:0}
.pro-check-card span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:82px;border:1px solid var(--pro-line);border-radius:12px;background:#f8fafc;color:#64748b;font-weight:800;font-size:.75rem;cursor:pointer}
.pro-check-card span i{font-size:1.2rem}
.pro-check-card input:checked+span{background:#ecfdf5;color:#047857;border-color:#6ee7b7}
.pro-map{height:320px;border-radius:14px;border:1px solid var(--pro-line);overflow:hidden;margin-bottom:13px}
.pro-step-tabs{background:#e9eff6;padding:5px;border-radius:12px}
.pro-step-tabs button{flex:1;color:#64748b}
.pro-step-tabs button.active{box-shadow:0 3px 10px rgba(15,23,42,.08)}
.pro-duplicate-box{display:none;margin:12px 0}
.pro-duplicate-box.show{display:block}
.pro-duplicate-item{display:flex;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #fed7aa}
.pro-duplicate-item:last-child{border:0}
.pro-duplicate-item .info{flex:1}
.pro-duplicate-item strong,.pro-duplicate-item small{display:block}
.pro-duplicate-item small{color:#9a3412;margin-top:3px}
.legacy-admin-main>.pro-page-header{margin-bottom:18px}
.legacy-admin-main .card-admin{border-radius:16px!important;box-shadow:var(--pro-shadow)!important;border:1px solid var(--pro-line)!important}
.legacy-admin-main table.dataTable{width:100%!important}
@media (max-width:1180px){
  .pro-kpis,.pro-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pro-grid.three,.pro-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .admin-pro-body{padding-bottom:76px!important}
  .pro-admin-sidebar{transform:translateX(-102%);transition:.25s;width:min(86vw,310px)}
  .pro-menu-visible .pro-admin-sidebar{transform:none}
  .pro-menu-overlay{display:block;position:fixed;z-index:1150;inset:0;background:rgba(3,10,24,.6);opacity:0;pointer-events:none;transition:.25s}
  .pro-menu-visible .pro-menu-overlay{opacity:1;pointer-events:auto}
  .pro-menu-close{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:10px;background:#17243a;color:#fff}
  .pro-menu-open{display:grid;position:fixed;z-index:1100;top:10px;left:10px;width:45px;height:45px;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:var(--pro-navy);color:#fff;box-shadow:0 6px 20px rgba(15,23,42,.3)}
  .pro-admin-main{margin-left:0;padding:70px 14px 95px}
  .pro-page-header{flex-direction:column;gap:13px}
  .pro-header-actions{width:100%}
  .pro-header-actions .pro-btn{flex:1}
  .pro-mobile-nav{display:grid;position:fixed;z-index:1050;bottom:0;left:0;right:0;height:69px;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--pro-line);box-shadow:0 -7px 22px rgba(15,23,42,.1);padding-bottom:env(safe-area-inset-bottom)}
  .pro-mobile-nav a{color:#64748b;text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.65rem;font-weight:800}
  .pro-mobile-nav a i{font-size:1.05rem}
  .pro-mobile-nav a.active{color:var(--pro-blue)}
  .pro-mobile-nav a:nth-child(3){transform:translateY(-12px)}
  .pro-mobile-nav a:nth-child(3) i{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--pro-blue);color:#fff;box-shadow:0 6px 15px rgba(2,132,199,.32)}
  .pro-mobile-nav a:nth-child(3) span{margin-top:-2px}
  .pro-mobile-only{display:block}
  .pro-search-results{position:fixed;left:10px;right:10px;top:130px;max-height:58vh}
  .pro-grid.two,.pro-grid.three,.pro-grid.four{grid-template-columns:1fr}
  .pro-form-grid,.pro-form-grid.three{grid-template-columns:1fr}
  .pro-toggle-grid{grid-template-columns:repeat(2,1fr)}
  .pro-progress-row{grid-template-columns:120px 1fr 45px}
}
@media (max-width:560px){
  .pro-admin-main{padding-left:10px;padding-right:10px}
  .pro-kpis,.pro-quick-actions{grid-template-columns:1fr 1fr;gap:8px}
  .pro-kpi{min-height:82px;padding:12px;gap:9px}
  .pro-kpi-icon{width:42px;height:42px}
  .pro-kpi strong{font-size:1.3rem}
  .pro-kpi span{font-size:.69rem}
  .pro-action-card{min-height:150px;padding:14px}
  .pro-card{padding:15px}
  .pro-header-actions{display:grid;grid-template-columns:1fr 1fr}
  .pro-btn{font-size:.8rem;padding:10px}
  .pro-search-item{align-items:flex-start}
  .pro-search-item .actions{flex-direction:column}
  .pro-step-tabs{flex-direction:column}
  .pro-step-tabs button{padding:9px}
  .pro-progress-row{grid-template-columns:1fr 45px}
  .pro-progress-track{grid-column:1/-1;grid-row:2}
  .legacy-admin-main{padding-left:8px!important;padding-right:8px!important}
  .legacy-admin-main .card-admin{padding:14px!important}
}
@media (max-width:700px){
  .legacy-admin-main .validation-table{display:block;background:transparent;box-shadow:none;white-space:normal!important;overflow:visible!important}
  .legacy-admin-main .validation-table thead{display:none}
  .legacy-admin-main .validation-table tbody,.legacy-admin-main .validation-table tr,.legacy-admin-main .validation-table td{display:block;width:100%}
  .legacy-admin-main .validation-table tr{background:#fff;border:1px solid var(--pro-line);border-radius:14px;margin-bottom:12px;padding:12px;box-shadow:0 4px 14px rgba(15,23,42,.05)}
  .legacy-admin-main .validation-table td{padding:8px!important;border:0!important;white-space:normal!important}
  .legacy-admin-main .validation-table td:last-child{display:flex;gap:8px}
  .legacy-admin-main .validation-table .action-btn{width:48px;height:44px;display:grid;place-items:center;border-radius:10px}
  .legacy-admin-main .dataTables_wrapper .dataTables_filter,.legacy-admin-main .dataTables_wrapper .dataTables_length{float:none!important;text-align:left!important;margin-bottom:10px}
  .legacy-admin-main .dataTables_wrapper .dataTables_filter input{width:calc(100% - 90px);min-height:42px}
  .legacy-admin-main .dataTables_wrapper .dataTables_paginate{float:none!important;text-align:center!important;margin-top:15px}
  .legacy-admin-main .form-grid{grid-template-columns:1fr!important}
  .legacy-admin-main .form-grid>*{grid-column:1!important}
}
\n
:root{--navy:#0b1b31;--navy2:#102a4b;--blue:#0b68bf;--red:#d71f2b;--green:#15803d;--orange:#d97706;--bg:#f3f6fa;--card:#fff;--ink:#142033;--muted:#64748b;--line:#dbe4ee;--shadow:0 10px 30px rgba(15,35,65,.08)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.skip-link{position:absolute;left:-9999px}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:linear-gradient(180deg,var(--navy),#071321);color:#fff;padding:14px;overflow:auto;z-index:1000}
.admin-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:8px 8px 18px;border-bottom:1px solid #20354f}
.admin-brand img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.admin-brand strong,.admin-brand small{display:block}
.admin-brand small{color:#9fb2c8;font-size:.72rem}
.admin-sidebar nav{display:grid;gap:4px;padding-top:14px}
.admin-sidebar nav a{color:#cad7e5;text-decoration:none;padding:11px 12px;border-radius:10px;font-weight:750;font-size:.88rem}
.admin-sidebar nav a:hover{background:#173252;color:#fff}
.admin-sidebar nav .logout{color:#ffb4ba;margin-top:12px;border-top:1px solid #20354f}
.admin-topbar{display:none}
.admin-main{margin-left:270px;padding:28px 30px 70px;min-height:100vh}
.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.admin-page-head h1{margin:0;font-size:2rem}
.admin-page-head p{margin:5px 0;color:var(--muted)}
.admin-grid{display:grid;gap:14px}
.admin-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.kpi strong{display:block;font-size:2rem}
.kpi small{color:var(--muted)}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 14px;border:0;border-radius:10px;text-decoration:none;font-weight:800;cursor:pointer}
.btn.blue{background:var(--blue);color:#fff}
.btn.red{background:var(--red);color:#fff}
.btn.green{background:var(--green);color:#fff}
.btn.light{background:#fff;color:var(--ink);border:1px solid var(--line)}
.toolbar{display:grid;grid-template-columns:1fr 160px 170px auto;gap:9px;margin-bottom:14px}
.toolbar input,.toolbar select,input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:11px;background:#fff}
.table-wrap{overflow:auto}
.admin-table{width:100%;border-collapse:collapse;background:#fff}
.admin-table th,.admin-table td{text-align:left;padding:11px 9px;border-bottom:1px solid #e8edf3;font-size:.84rem;vertical-align:top}
.admin-table th{position:sticky;top:0;background:#f8fafc;color:#475569;z-index:2}
.status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.68rem;font-weight:850;background:#eaf4ff;color:#0b5da8}
.status.red{background:#ffe9eb;color:#ae1a24}
.status.green{background:#e5f7eb;color:#126b39}
.status.orange{background:#fff3de;color:#9a5a00}
.toggle-group{display:flex;gap:5px;flex-wrap:wrap}
.toggle-group button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font-size:.74rem}
.toggle-group button.on{background:#e5f7eb;border-color:#94d2aa;color:#126b39}
.flash-stack{position:fixed;right:16px;top:16px;z-index:3000;display:grid;gap:8px}
.flash{background:#fff;border-left:5px solid var(--blue);box-shadow:var(--shadow);padding:12px 14px;border-radius:9px}
.flash.error{border-color:var(--red)}
.flash.ok{border-color:var(--green)}
.notice{padding:12px 14px;border-radius:10px;background:#eaf4ff;border:1px solid #b8d7f5}
.notice.error{background:#fff0f1;border-color:#efb9bd;color:#9e1822}
.notice.ok{background:#e9f8ef;border-color:#b8dfc5;color:#126b39}
.pagination{display:flex;justify-content:center;gap:6px;margin-top:20px}
.pagination a{width:39px;height:39px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none}
.pagination a.active{background:var(--blue);color:#fff}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-grid .full{grid-column:1/-1}
label{font-size:.82rem;font-weight:750}
label input,label select,label textarea{margin-top:5px;font-weight:400}
textarea{min-height:120px}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#173f70,#071321)}
.login-card{width:min(460px,100%);background:#fff;border-radius:20px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.3)}
.login-card img{width:70px;height:70px;border-radius:50%;object-fit:cover;margin:auto}
.login-card h1{text-align:center}
.login-card .btn{width:100%;margin-top:12px}
.install-progress{height:14px;background:#e4eaf0;border-radius:999px;overflow:hidden}
.install-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--green));transition:.2s}
.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#0b1b31;color:#e9f4ff;padding:12px;border-radius:10px;word-break:break-all}
@media (max-width:900px){
  .admin-sidebar{transform:translateX(-100%);transition:.2s}
  .admin-sidebar.open{transform:none}
  .admin-topbar{display:flex;position:sticky;top:0;z-index:900;background:var(--navy);color:#fff;padding:10px 12px;align-items:center;gap:10px}
  .admin-topbar button{border:1px solid #35506f;background:#122c4c;color:#fff;border-radius:8px;padding:7px 10px}
  .admin-topbar a{color:#fff;text-decoration:none}
  .admin-topbar strong,.admin-topbar small{display:block}
  .admin-topbar small{font-size:.67rem;color:#a9bed3}
  .admin-topbar span{margin-left:auto;font-size:.76rem}
  .admin-main{margin-left:0;padding:18px 12px 55px}
  .admin-grid.four{grid-template-columns:1fr 1fr}
  .toolbar{grid-template-columns:1fr 1fr}
  .toolbar input{grid-column:1/-1}
  .admin-page-head{flex-direction:column}
  .form-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
}
@media (max-width:520px){
  .admin-grid.two,.admin-grid.four,.toolbar{grid-template-columns:1fr}
  .toolbar input{grid-column:auto}
  .admin-table th:nth-child(4),.admin-table td:nth-child(4){display:none}
}
/* ========================================================= V5 HYBRIDE — administration MySQL, pagination et terrain ========================================================= */
:root{--pro-navy:#0b1325;--pro-navy-2:#111d34;--pro-blue:#0797d6;--pro-sky:#42c4f5;--pro-green:#12b981;--pro-orange:#f59e0b;--pro-red:#ef4444;--pro-purple:#8b5cf6;--pro-bg:#f4f7fb;--pro-card:#fff;--pro-text:#122033;--pro-muted:#64748b;--pro-line:#dce5ef;--pro-shadow:0 8px 25px rgba(15,23,42,.07)}
.admin-flash-stack{position:fixed;z-index:2000;top:12px;right:14px;width:min(420px,calc(100vw - 28px));display:grid;gap:8px}
.admin-flash-stack .pro-notice{box-shadow:0 12px 28px rgba(15,23,42,.18);background:#fff}
.pro-btn.red{background:var(--pro-red);color:#fff}
.pro-notice.danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.pro-kpi.compact{min-height:78px;padding:12px}
.pro-kpi.compact .pro-kpi-icon{width:40px;height:40px}
.pro-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pro-form-grid label,.config-card label{display:flex;flex-direction:column;gap:7px;font-weight:800;font-size:.77rem;color:#475569}
.pro-form-grid label.full{grid-column:1/-1}
.pro-form-grid input,.pro-form-grid select,.pro-form-grid textarea,.compact-input,.compact-textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:#0f172a;outline:none}
.pro-form-grid input:focus,.pro-form-grid select:focus,.pro-form-grid textarea:focus,.compact-input:focus,.compact-textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.14)}
.inventory-toolbar-server{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(150px,.6fr)) auto 48px;gap:9px;position:sticky;z-index:50;top:0;background:rgba(244,247,251,.96);backdrop-filter:blur(10px);padding:10px 0 13px;margin-bottom:12px}
.inventory-toolbar-server .search-box{position:relative}
.inventory-toolbar-server .search-box>i{position:absolute;left:15px;top:15px;color:#94a3b8}
.inventory-toolbar-server input,.inventory-toolbar-server select{height:46px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0 11px;font:inherit;min-width:0}
.inventory-toolbar-server .search-box input{width:100%;padding-left:42px}
.inventory-server-list{display:flex;flex-direction:column;gap:10px}
.inventory-server-row{background:#fff;border:1px solid var(--pro-line);border-radius:15px;padding:13px;display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(430px,1.4fr) auto;gap:12px;align-items:center;box-shadow:0 4px 14px rgba(15,23,42,.035)}
.inventory-server-main{display:flex;align-items:flex-start;gap:11px;min-width:0}
.inventory-marker{width:44px;height:44px;border-radius:12px;background:#e0f2fe;color:#0369a1;display:grid;place-items:center;flex:0 0 auto}
.inventory-server-main h2{font-size:.97rem;margin:2px 0 5px}
.inventory-server-main h2 a{color:var(--pro-text);text-decoration:none}
.inventory-server-main p{margin:0;color:var(--pro-muted);font-size:.74rem}
.inventory-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.inventory-tags>span,.status-badge,.gps-tag{border-radius:999px;padding:4px 8px;font-size:.64rem;font-weight:800;background:#eef2f7;color:#475569}
.status-a_photographier{background:#fee2e2;color:#991b1b}
.status-a_publier{background:#ffedd5;color:#9a3412}
.status-a_google_maps{background:#dbeafe;color:#1e40af}
.status-a_revisiter{background:#ede9fe;color:#6d28d9}
.status-termine,.status-approved,.status-published{background:#d1fae5;color:#065f46}
.status-pending{background:#fef3c7;color:#92400e}
.status-rejected{background:#fee2e2;color:#991b1b}
.gps-exact{background:#d1fae5;color:#065f46}
.gps-village{background:#fef3c7;color:#92400e}
.gps-a_verifier{background:#f1f5f9;color:#64748b}
.inventory-switches{display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));gap:6px}
.inventory-toggle{border:1px solid #dce5ef;border-radius:10px;background:#f8fafc;color:#64748b;min-height:62px;padding:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;font-size:.67rem}
.inventory-toggle i{font-size:1rem}
.inventory-toggle b{font-size:.62rem}
.inventory-toggle.is-on{background:#e9f9f3;border-color:#8dddc0;color:#047857}
.inventory-row-actions{display:flex;gap:6px}
.pro-pagination{display:flex;justify-content:center;gap:7px;margin:22px 0}
.pro-pagination a{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--pro-line);background:#fff;color:#334155;text-decoration:none;font-weight:800}
.pro-pagination a.active{background:var(--pro-blue);color:#fff;border-color:var(--pro-blue)}
.admin-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-edit-grid>.pro-card:nth-child(2){grid-row:span 2}
.admin-edit-map,.admin-create-map{height:390px;border-radius:12px;border:1px solid var(--pro-line);margin-top:15px;overflow:hidden}
.admin-check-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;border:1px solid #dce5ef;border-radius:10px;padding:10px;background:#f8fafc;cursor:pointer}
.admin-check input{width:18px!important;height:18px}
.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.admin-photo-grid article{border:1px solid var(--pro-line);border-radius:12px;overflow:hidden;background:#fff}
.admin-photo-grid img{width:100%;height:155px;object-fit:cover;display:block}
.admin-photo-grid article>div{padding:9px}
.admin-photo-grid form{display:flex;gap:7px}
.pro-step-tabs{display:flex;gap:8px;margin-bottom:14px}
.pro-step-tabs button{border:1px solid var(--pro-line);background:#fff;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer}
.pro-step-tabs button.active{background:var(--pro-blue);color:#fff}
.pro-tab-panel{display:none}
.pro-tab-panel.active{display:block}
.pro-search-empty{padding:16px;color:var(--pro-muted);text-align:center}
/* Studio de circuits */
.studio-layout{display:grid;grid-template-columns:405px minmax(0,1fr);gap:24px;align-items:start}
.left-panel{display:flex;flex-direction:column;gap:14px}
.config-card,.selector-box{background:#fff;border:1px solid var(--pro-line);border-radius:14px;box-shadow:var(--pro-shadow)}
.config-card{padding:18px}
.studio-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.studio-title-row h2{margin:0;font-size:1.05rem}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.compact-input{margin-bottom:12px}
.compact-textarea{height:105px;resize:vertical;margin-bottom:12px}
.heart-toggle{align-self:end;margin-bottom:12px}
.heart-toggle input{position:absolute;opacity:0}
.heart-toggle span{min-height:44px;border:1px solid #cbd5e1;border-radius:999px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:7px;background:#f8fafc;color:#64748b}
.heart-toggle input:checked+span{background:#fff1f2;color:#be123c;border-color:#fda4af}
.selector-box{height:535px;display:flex;flex-direction:column;overflow:hidden}
.modern-search{display:flex;align-items:center;background:#f8fafc;border:1px solid #dce5ef;border-radius:10px;margin:13px;padding:0 12px}
.modern-search i{color:#94a3b8}
.modern-search input{flex:1;border:0;background:transparent;padding:12px;outline:none;font:inherit}
.lavoir-list-scroll{overflow:auto;flex:1}
.lavoir-pick-item{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;padding:10px 13px;border-top:1px solid #eef2f7;cursor:pointer}
.lavoir-pick-item:hover{background:#f0f9ff}
.lavoir-pick-item input{width:18px;height:18px}
.lavoir-pick-item strong,.lavoir-pick-item small{display:block}
.lavoir-pick-item small{color:#64748b;margin-top:3px}
.preview-sidebar{background:#0b1325;color:#fff;border-radius:15px;padding:20px;display:flex;flex-direction:column;gap:15px;min-height:780px;box-shadow:0 12px 30px rgba(15,23,42,.2)}
#map-preview{height:390px;border-radius:10px;overflow:hidden;border:2px solid #263750}
.transport-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.custom-radio{display:flex;border:1px solid #334155;border-radius:9px;overflow:hidden}
.custom-radio label{flex:1;margin:0!important}
.custom-radio input{display:none}
.custom-radio span{min-height:44px;padding:9px 7px;display:flex;justify-content:center;align-items:center;gap:5px;color:#b7c4d6;font-size:.73rem;cursor:pointer;border-right:1px solid #334155}
.custom-radio label:last-child span{border-right:0}
.custom-radio input:checked+span{background:#12324f;color:#fff}
.studio-save-row{display:grid;grid-template-columns:1fr 96px;gap:12px}
.stats-banner{background:#12304b;border:1px solid #1d4568;border-radius:10px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.stats-banner>div{text-transform:uppercase;font-size:.65rem;color:#8fa5bd}
.stats-banner strong,.stats-banner small{display:block}
.stats-banner strong{font-size:1.3rem;color:#38bdf8;margin-top:5px}
.stats-banner small{color:#94a3b8;text-transform:none;margin-top:3px}
.studio-save{border:0;border-radius:10px;background:#10b981;color:#fff;font-weight:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;font-size:.8rem}
.studio-save i{font-size:1.3rem}
.steps-container{border:1px solid #25354d;border-radius:11px;overflow:hidden;min-height:235px}
.steps-head{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-bottom:1px solid #25354d}
.steps-head h3{font-size:.85rem;margin:0}
.steps-head button{border:1px solid #0ea5e9;background:transparent;color:#38bdf8;border-radius:7px;padding:6px 9px;cursor:pointer}
.sortable-list{list-style:none;margin:0;padding:8px;display:grid;gap:6px}
.sortable-list li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;background:#14233a;border:1px solid #253b58;border-radius:8px;padding:9px;cursor:grab}
.sortable-list small{display:block;color:#94a3b8}
.saved-circuits{display:grid;gap:9px}
.saved-circuits>article{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--pro-line);border-radius:13px;padding:14px}
.saved-circuits h3{margin:0 0 5px}
.saved-circuits p{margin:0;color:var(--pro-muted);font-size:.78rem}
.saved-circuits>article>div:last-child{display:flex;gap:7px}
.saved-circuits form{margin:0}
.contribution-admin-list{display:grid;gap:12px}
.contribution-admin-list article{background:#fff;border:1px solid var(--pro-line);border-radius:14px;padding:16px}
.contribution-head{display:flex;justify-content:space-between;gap:12px}
.contribution-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.featured-admin-preview{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}
.featured-admin-preview img{width:100%;height:150px;object-fit:cover;border-radius:12px}
.tool-check-list{display:grid}
.tool-check{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eef2f7}
.tool-check:last-child{border:0}
.tool-check i{font-size:1.1rem}
.tool-check.good i{color:#10b981}
.tool-check.bad i{color:#ef4444}
.tool-check strong,.tool-check small{display:block}
.tool-check small{color:var(--pro-muted);margin-top:3px}
.recent-admin-list{display:grid;gap:6px}
.recent-admin-list>a{display:grid;grid-template-columns:48px 1fr 20px;gap:10px;align-items:center;text-decoration:none;color:inherit;padding:7px;border-radius:9px}
.recent-admin-list>a:hover{background:#f5f9fd}
.recent-admin-thumb{width:48px;height:42px;border-radius:8px;overflow:hidden;background:#e0f2fe;display:grid;place-items:center;color:#0369a1}
.recent-admin-thumb img{width:100%;height:100%;object-fit:cover}
.recent-admin-list small{display:block;color:var(--pro-muted);margin-top:3px}
.radar-admin-main{padding-bottom:28px}
.radar-shell{display:grid;grid-template-columns:minmax(330px,430px) minmax(0,1fr);gap:16px;min-height:calc(100vh - 145px)}
.radar-panel{background:linear-gradient(180deg,#0b1325,#0d1d33);color:#fff;border-radius:17px;padding:16px;overflow:auto;max-height:calc(100vh - 145px);box-shadow:0 14px 34px rgba(15,23,42,.2)}
.radar-map{border-radius:17px;overflow:hidden;min-height:650px;border:1px solid var(--pro-line);box-shadow:var(--pro-shadow)}
.radar-card{background:#14233a;border:1px solid #263954;border-radius:13px;padding:14px;margin-bottom:10px}
.radar-status{display:flex;align-items:center;gap:13px}
.radar-status h2{margin:3px 0;color:#fff}
.radar-status p,.radar-card p{margin:3px 0;color:#a9bfd4}
.radar-orb{width:54px;height:54px;flex:0 0 auto;border-radius:50%;border:4px solid rgba(56,189,248,.3);background:#38bdf8;box-shadow:0 0 0 10px rgba(56,189,248,.08),0 0 28px rgba(56,189,248,.55);animation:radarPulse 1.8s infinite}
.radar-orb.stopped{background:#64748b;box-shadow:none;animation:none}
.radar-eyebrow{color:#67c8f6!important}
.radar-alert-eyebrow{color:#ffb1b8!important}
.radar-main-button{width:100%;margin-bottom:10px}
.radar-card-heading{display:flex;justify-content:space-between;align-items:center}
.radar-card-heading>i{color:#38bdf8}
.radar-range{width:100%;accent-color:#38bdf8}
.radar-range-labels{display:flex;justify-content:space-between;color:#8da6be;font-size:.68rem}
.radar-options{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}
.radar-options button{border:1px solid #334a68;border-radius:9px;background:#0d1d33;color:#9fb3c9;padding:9px;cursor:pointer}
.radar-options button.active{background:#0d6b9d;color:#fff;border-color:#38bdf8}
.nearest #nearest-distance{display:block;font-size:1.65rem;color:#fff}
.nearest .actions{display:flex;gap:7px;margin-top:11px}
.nearest .actions>*{flex:1}
.radar-list-heading h2{color:#fff;margin:15px 0 2px}
.radar-list-heading p{color:#a9bfd4;margin:0 0 8px}
.near-list{display:grid;gap:7px}
.near-item{background:#14233a;border:1px solid #263954;border-radius:11px;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.near-item strong,.near-item small{display:block}
.near-item small{color:#9fb3c9;margin-top:3px}
.near-item a{color:#55c8ff}
.radar-privacy{color:#7f96ae!important;font-size:.7rem;margin:13px 0 0!important}
.radar-privacy i{margin-right:5px}
@keyframes radarPulse{
  50%{box-shadow:0 0 0 18px rgba(56,189,248,0),0 0 38px rgba(56,189,248,.75)}
}
@media (max-width:1250px){
  .inventory-server-row{grid-template-columns:1fr}
  .inventory-switches{grid-template-columns:repeat(5,1fr)}
  .inventory-row-actions{justify-content:flex-end}
  .studio-layout{grid-template-columns:360px minmax(0,1fr)}
}
@media (max-width:1000px){
  .inventory-toolbar-server{grid-template-columns:1fr 1fr}
  .inventory-toolbar-server .search-box{grid-column:1/-1}
  .studio-layout{grid-template-columns:1fr}
  .selector-box{height:430px}
  .preview-sidebar{min-height:700px}
  .radar-shell{grid-template-columns:1fr}
  .radar-panel{max-height:none}
  .radar-map{min-height:520px}
  .admin-edit-grid{grid-template-columns:1fr}
  .admin-edit-grid>.pro-card:nth-child(2){grid-row:auto}
}
@media (max-width:900px){
  .inventory-toolbar-server{top:62px}
  .radar-admin-main{padding-top:68px}
  .radar-page-header{display:none}
  .radar-shell{min-height:auto}
  .radar-panel{border-radius:14px}
  .radar-map{min-height:58vh}
  .admin-flash-stack{top:64px}
}
@media (max-width:620px){
  .inventory-toolbar-server{grid-template-columns:1fr}
  .inventory-server-row{padding:10px}
  .inventory-switches{grid-template-columns:repeat(3,1fr)}
  .inventory-row-actions{display:grid;grid-template-columns:1fr auto}
  .pro-form-grid,.admin-check-grid,.form-two{grid-template-columns:1fr}
  .pro-form-grid label.full{grid-column:auto}
  .studio-save-row{grid-template-columns:1fr 74px}
  .transport-controls{grid-template-columns:1fr}
  .preview-sidebar{padding:12px}
  #map-preview{height:320px}
  .stats-banner{padding:10px}
  .radar-options{grid-template-columns:1fr 1fr}
  .radar-map{min-height:52vh}
  .nearest .actions{flex-direction:column}
  .featured-admin-preview{grid-template-columns:1fr}
  .pro-kpis,.pro-quick-actions{grid-template-columns:1fr}
}
/* V5.1 — onglets liens et contrôle visuel des contributions */
.pro-step-tabs a{flex:1;display:flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:11px 14px;background:transparent;color:#64748b;text-decoration:none;font-weight:800;transition:.18s}
.pro-step-tabs a:hover{background:rgba(255,255,255,.65);color:var(--pro-blue)}
.pro-step-tabs a.active{background:#fff;color:var(--pro-blue);box-shadow:0 3px 10px rgba(15,23,42,.08)}
.contribution-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:9px;margin:14px 0}
.contribution-photo-grid a{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--pro-line);background:#e2e8f0}
.contribution-photo-grid img{display:block;width:100%;height:125px;object-fit:cover;transition:transform .2s}
.contribution-photo-grid a:hover img{transform:scale(1.035)}
@media (max-width:560px){
  .pro-step-tabs a{padding:9px}
  .contribution-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contribution-photo-grid img{height:105px}
}
/* V5.1 — suivi local de la messagerie */
.mail-log-list{display:flex;flex-direction:column;margin-top:15px}
.mail-log-list article{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--pro-line)}
.mail-log-list article:last-child{border-bottom:0}
.mail-log-list article>div{min-width:0}
.mail-log-list strong,.mail-log-list small{display:block}
.mail-log-list strong{overflow-wrap:anywhere}
.mail-log-list small{color:var(--pro-muted);margin-top:4px}
.mail-state{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%}
.mail-state.ok{background:#d1fae5;color:#047857}
.mail-state.fail{background:#fee2e2;color:#b91c1c}
/* V5.3 — sécurité, sauvegardes et statuts terrain */
.pro-logout-form{margin:0}
.pro-logout-form button{width:100%;border:0;background:transparent;font:inherit;text-align:left}
.maintenance-grid{margin-top:16px}
.maintenance-kpis .pro-kpi{min-height:100px}
.maintenance-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.maintenance-actions form{margin:0}
.maintenance-help{margin:16px 0 0;color:var(--pro-muted);font-size:.86rem;line-height:1.55}
.maintenance-copy{display:grid;grid-template-columns:1fr 46px;gap:8px;align-items:end}
.maintenance-copy span{grid-column:1/-1;font-size:.76rem;font-weight:800;color:var(--pro-muted);text-transform:uppercase}
.maintenance-copy input{height:46px;width:100%;border:1px solid var(--pro-line);border-radius:10px;padding:0 12px;background:#f8fafc}
.maintenance-copy button{height:46px;border:0;border-radius:10px;background:var(--pro-navy);color:#fff;cursor:pointer}
.maintenance-checks{display:grid;gap:8px}
.maintenance-check{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:11px 12px;border:1px solid var(--pro-line);border-radius:10px}
.maintenance-check.ok i{color:#10b981}
.maintenance-check.warn i{color:#f59e0b}
.maintenance-check strong{font-size:1rem}
.maintenance-details{margin-top:14px;border-top:1px solid var(--pro-line);padding-top:12px}
.maintenance-details summary{cursor:pointer;font-weight:800}
.maintenance-details h3{font-size:.9rem;margin:15px 0 6px}
.maintenance-details ul{margin:0;padding-left:20px;color:var(--pro-muted);font-size:.82rem}
.maintenance-backups{margin-top:16px}
.maintenance-backups h3{margin:12px 0 8px}
.maintenance-backups ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.maintenance-backups li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 12px;border:1px solid var(--pro-line);border-radius:10px}
.maintenance-backups li span{font-weight:800;overflow-wrap:anywhere}
.maintenance-backups li small{color:var(--pro-muted)}
.maintenance-backups li a{grid-column:2;grid-row:1/3;align-self:center;color:var(--pro-blue);font-weight:800;text-decoration:none}
.field-tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;background:#eef2f7;color:#475569;font-size:.68rem;font-weight:800}
.field-confirme{background:#dcfce7;color:#166534}
.field-trouve{background:#e0f2fe;color:#075985}
.field-introuvable{background:#fee2e2;color:#991b1b}
.field-a_revisiter{background:#ffedd5;color:#9a3412}
.login-security-note{margin-top:15px;color:#64748b;font-size:.78rem;line-height:1.45}
.login-security-note i{color:#0284c7;margin-right:5px}
@media (max-width:760px){
  .maintenance-copy{grid-template-columns:minmax(0,1fr) 44px}
  .maintenance-backups li{grid-template-columns:minmax(0,1fr)}
  .maintenance-backups li a{grid-column:1;grid-row:auto}
  .maintenance-actions .pro-btn{width:100%}
  .maintenance-actions form{width:100%}
}

/* V6.9 — workflow de validation des contributions */
.status-reviewing{background:#dbeafe;color:#1d4ed8}
.contributions-v69 .contribution-workflow-note{margin-bottom:14px}
.contribution-tabs-v69{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.contribution-card-v69{position:relative;overflow:hidden;border-radius:17px}
.contribution-card-v69::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#f59e0b}
.contribution-card-v69.status-card-reviewing::before{background:#3b82f6}.contribution-card-v69.status-card-approved::before{background:#10b981}.contribution-card-v69.status-card-rejected::before{background:#ef4444}
.contribution-description-v69{padding:12px 13px;border-radius:11px;background:#f8fafc;color:#475569;font-size:.82rem;line-height:1.55}
.contribution-meta-v69{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:12px 0;color:#64748b;font-size:.74rem}
.contribution-meta-v69 span{display:inline-flex;align-items:center;gap:6px}.contribution-meta-v69 .ok{color:#047857}.contribution-meta-v69 .missing{color:#b91c1c;font-weight:800}
.contribution-actions-v69{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center;margin-top:13px}.contribution-actions-v69 input{height:44px;border:1px solid #cbd5e1;border-radius:11px;padding:0 12px;font:inherit;min-width:0}
.contribution-review-actions-v69{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff}.contribution-review-actions-v69>div:first-child{display:flex;align-items:center;gap:10px;flex:1;color:#1e40af}.contribution-review-actions-v69>div:first-child>i{width:36px;height:36px;border-radius:11px;background:#3b82f6;color:#fff;display:grid;place-items:center}.contribution-review-actions-v69 strong,.contribution-review-actions-v69 small{display:block}.contribution-review-actions-v69 strong{font-size:.82rem}.contribution-review-actions-v69 small{font-size:.68rem;color:#5d76a1;margin-top:3px}.contribution-review-actions-v69 form{margin:0}.danger-text{color:#b91c1c!important}
.contribution-empty-v69{display:flex;flex-direction:column;align-items:center;text-align:center;padding:42px;color:#64748b}.contribution-empty-v69 i{font-size:2rem;color:#10b981;margin-bottom:10px}.contribution-empty-v69 strong{color:#0f172a}.contribution-empty-v69 span{font-size:.78rem;margin-top:5px}
@media(max-width:760px){.contribution-tabs-v69{grid-template-columns:repeat(2,minmax(0,1fr))}.contribution-actions-v69{grid-template-columns:1fr}.contribution-actions-v69 .pro-btn{width:100%}.contribution-review-actions-v69{align-items:stretch;flex-wrap:wrap}.contribution-review-actions-v69>a{width:100%}}

/* ========================================================= V7 — liste admin, anti-doublons et fusion ========================================================= */
.pro-btn.amber{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.pro-btn.amber:hover{background:#ffedd5}
.inventory-quick-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.inventory-quick-filters a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--pro-line);border-radius:999px;background:#fff;color:#475569;text-decoration:none;font-size:.75rem;font-weight:800}
.inventory-quick-filters a.active{background:#e0f2fe;border-color:#7dd3fc;color:#075985}
.inventory-quick-filters a.warning.active{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.inventory-toolbar-v7{display:block;position:sticky;top:0;padding:12px;background:rgba(244,247,251,.97);border:1px solid #e2e8f0;border-radius:15px;box-shadow:0 7px 22px rgba(15,23,42,.06)}
.inventory-search-v7{margin-bottom:10px}
.inventory-search-v7 input{width:100%;padding-left:42px!important}
.inventory-search-v7 small{display:block;margin:6px 3px 0;color:#94a3b8;font-size:.68rem}
.inventory-filter-grid-v7{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:8px}
.inventory-filter-grid-v7 select{width:100%}
.inventory-duplicate-check{display:flex;align-items:center;min-height:46px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;padding:0 12px;color:#9a3412;font-weight:800;font-size:.72rem;cursor:pointer}
.inventory-duplicate-check input{width:18px;height:18px;margin-right:8px}
.inventory-filter-actions-v7{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.inventory-server-row.has-duplicate{border-color:#fdba74;box-shadow:0 5px 18px rgba(249,115,22,.09)}
.inventory-marker.duplicate{background:#fff7ed;color:#c2410c}
.inventory-main-copy-v7{min-width:0;width:100%}
.inventory-server-main h2 small{font-size:.62rem;color:#94a3b8;font-weight:700}
.inventory-switches{grid-template-columns:repeat(4,minmax(76px,1fr))}
.inventory-toggle.is-automatic{cursor:default;background:#e9f9f3;border-color:#8dddc0;color:#047857;opacity:1}
.inventory-toggle:disabled{opacity:.85}
.duplicate-warning-v7{margin-top:9px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:.69rem}
.duplicate-warning-v7>span{flex:1;min-width:0}
.duplicate-warning-v7 a{color:#9a3412;font-weight:900;white-space:nowrap}
.inventory-row-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.icon-only-v7{width:42px;padding-left:0;padding-right:0;justify-content:center}
.inventory-empty-v7{text-align:center;padding:34px 20px;color:#64748b}
.inventory-empty-v7>i{font-size:2rem;color:#94a3b8;margin-bottom:10px}
.inventory-empty-v7 strong{display:block;color:#0f172a;font-size:1rem}
.inventory-empty-v7 p{margin:6px 0 0}
.inline-delete-form-v7{margin:0}
.duplicate-origin-v7{display:flex;align-items:center;gap:13px;margin:0 0 16px;padding:13px 15px;border:1px solid #fdba74;border-radius:14px;background:#fff7ed;color:#9a3412}
.duplicate-origin-v7>span{width:42px;height:42px;border-radius:12px;background:#ffedd5;display:grid;place-items:center;font-size:1.1rem;flex:0 0 auto}
.duplicate-origin-v7>div{flex:1;min-width:0}
.duplicate-origin-v7 strong{display:block;color:#7c2d12}
.duplicate-origin-v7 p{margin:3px 0 0;font-size:.76rem}
.admin-check.is-automatic{background:#ecfdf5;border-color:#86efac;color:#047857}

/* Fusion des doublons */
.merge-safety-v7{margin-bottom:18px}
.merge-source-wrap-v7{max-width:620px;margin-bottom:16px}
.merge-search-v7{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:9px;margin:0 0 18px}
.merge-search-v7 .search-box{position:relative}
.merge-search-v7 .search-box i{position:absolute;left:15px;top:15px;color:#94a3b8}
.merge-search-v7 input{width:100%;height:46px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px 0 42px;font:inherit}
.merge-candidate-list-v7{display:grid;gap:16px}
.merge-pair-v7{background:#fff;border:1px solid var(--pro-line);border-radius:16px;padding:15px;box-shadow:var(--pro-shadow)}
.merge-pair-grid-v7{display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);gap:12px;align-items:stretch}
.merge-record-card-v7{border:1px solid #dce5ef;border-radius:14px;padding:15px;background:#f8fafc}
.merge-record-card-v7.is-public{border-color:#86efac;background:#f0fdf4}
.merge-card-title-v7{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;color:#64748b;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.merge-card-title-v7 strong{font-size:.7rem;color:#334155}
.merge-record-card-v7 h2{margin:0 0 6px;font-size:1.05rem;color:#0f172a}
.merge-record-card-v7>p{margin:0 0 10px;color:#64748b;font-size:.75rem}
.merge-card-tags-v7{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.merge-card-tags-v7 span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#e2e8f0;color:#475569;padding:5px 8px;font-size:.65rem;font-weight:800}
.merge-card-tags-v7 span.ok{background:#d1fae5;color:#065f46}
.merge-source-v7,.merge-coords-v7{font-size:.69rem!important}
.merge-arrow-v7{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f97316;gap:5px}
.merge-arrow-v7 i{width:46px;height:46px;border-radius:50%;background:#fff7ed;border:1px solid #fdba74;display:grid;place-items:center;font-size:1.1rem}
.merge-arrow-v7 small{font-weight:800;color:#9a3412}
.merge-decisions-v7{display:flex;justify-content:center;gap:10px;padding-top:13px;margin-top:13px;border-top:1px solid #e2e8f0}
.merge-decisions-v7 form{margin:0}

/* Contributions : rattachement anti-doublon */
.contribution-duplicate-v7{display:flex;align-items:center;gap:12px;margin:12px 0;padding:11px 13px;border:1px solid #fdba74;border-radius:12px;background:#fff7ed;color:#9a3412}
.contribution-duplicate-v7>i{font-size:1.15rem}
.contribution-duplicate-v7>div{flex:1;min-width:0}
.contribution-duplicate-v7 strong{display:block;color:#7c2d12}
.contribution-duplicate-v7 p{margin:3px 0 0;font-size:.72rem}
.contribution-actions-v7{align-items:end!important;flex-wrap:wrap}
.contribution-target-v7{display:flex;flex-direction:column;gap:5px;min-width:min(100%,430px);flex:1;color:#475569;font-size:.7rem;font-weight:800}
.contribution-target-v7 select{height:44px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0 10px;font:inherit;color:#0f172a}
.contribution-target-v7 small{font-size:.64rem;color:#64748b;font-weight:600}

@media(max-width:1280px){
  .inventory-filter-grid-v7{grid-template-columns:repeat(3,minmax(145px,1fr))}
  .inventory-server-row{grid-template-columns:minmax(280px,1fr) minmax(330px,.9fr) auto}
}
@media(max-width:980px){
  .inventory-filter-grid-v7{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-server-row{grid-template-columns:1fr}
  .inventory-row-actions{justify-content:flex-start}
  .merge-pair-grid-v7{grid-template-columns:1fr}
  .merge-arrow-v7{transform:rotate(90deg);min-height:48px}
  .merge-arrow-v7 small{transform:rotate(-90deg)}
}
@media(max-width:640px){
  .inventory-toolbar-v7{position:static;padding:10px}
  .inventory-filter-grid-v7{grid-template-columns:1fr}
  .inventory-filter-actions-v7{display:grid;grid-template-columns:1fr 1fr}
  .inventory-switches{grid-template-columns:repeat(2,1fr)}
  .duplicate-warning-v7{align-items:flex-start;flex-wrap:wrap}
  .duplicate-warning-v7 a{margin-left:25px}
  .duplicate-origin-v7{align-items:flex-start;flex-wrap:wrap}
  .duplicate-origin-v7 .pro-btn{width:100%}
  .merge-search-v7{grid-template-columns:1fr}
  .merge-decisions-v7{display:grid;grid-template-columns:1fr}
  .merge-decisions-v7 button{width:100%}
  .contribution-duplicate-v7{align-items:flex-start;flex-wrap:wrap}
  .contribution-duplicate-v7 .pro-btn{width:100%}
}

/* ========================================================= V8 — comparaison fidèle, filtres persistants et fusion groupée ========================================================= */
.admin-merge-v8{padding-bottom:110px}
.merge-safety-v8{margin-bottom:16px}
.merge-section-title-v8{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.merge-section-title-v8 span{display:block;color:#0284c7;font-size:.68rem;font-weight:900;letter-spacing:.08em}
.merge-section-title-v8 h2{margin:3px 0 0;color:#0f172a;font-size:1.12rem}
.merge-section-title-v8 p{margin:0;color:#64748b;font-size:.76rem;text-align:right}
.merge-compare-panel-v8,.merge-batch-panel-v8{margin-top:16px;padding:16px;border-radius:17px}
.merge-compare-selector-v8{display:grid;grid-template-columns:minmax(210px,1fr) 46px minmax(210px,1fr) auto;gap:9px;align-items:end;margin-bottom:15px;padding:12px;border:1px solid #dbe5ef;border-radius:13px;background:#f8fafc}
.merge-compare-selector-v8 label{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:.7rem;font-weight:900}
.merge-compare-selector-v8 select{height:44px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0 10px;color:#0f172a;font:inherit}
.merge-swap-v8{width:44px;height:44px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#475569;cursor:pointer}
.merge-swap-v8:hover{border-color:#38bdf8;color:#0369a1;background:#f0f9ff}
.merge-detail-grid-v8{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.merge-detail-card-v8{min-width:0;border:1px solid #dce5ef;border-radius:15px;background:#f8fafc;padding:15px}
.merge-detail-card-v8.is-public{border-color:#86efac;background:#f0fdf4}
.merge-detail-head-v8{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.merge-detail-head-v8>div{display:flex;align-items:center;gap:7px;color:#64748b;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.merge-detail-head-v8 strong{color:#0f172a}
.merge-confidence-v8{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 8px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.62rem;font-weight:900}
.merge-confidence-v8.certain{background:#fee2e2;color:#991b1b}
.merge-confidence-v8.probable{background:#ffedd5;color:#9a3412}
.merge-confidence-v8.possible{background:#fef3c7;color:#92400e}
.merge-confidence-v8.manual{background:#e0f2fe;color:#075985}
.merge-confidence-v8.source{background:#ede9fe;color:#5b21b6}
.merge-photo-strip-v8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px}
.merge-photo-strip-v8 img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;background:#e2e8f0}
.merge-no-photo-v8{display:flex;align-items:center;justify-content:center;gap:8px;min-height:88px;margin-bottom:12px;border:1px dashed #cbd5e1;border-radius:11px;background:#fff;color:#94a3b8;font-size:.73rem;font-weight:800}
.merge-detail-card-v8 h2{margin:0 0 5px;color:#0f172a;font-size:1.05rem}
.merge-place-v8{margin:0 0 9px;color:#64748b;font-size:.73rem}
.merge-distance-v8{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:6px 8px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:.68rem;font-weight:800}
.merge-detail-list-v8{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:11px 0}
.merge-detail-list-v8 div{min-width:0;padding:8px 9px;border:1px solid #e2e8f0;border-radius:9px;background:rgba(255,255,255,.78)}
.merge-detail-list-v8 dt{margin-bottom:3px;color:#94a3b8;font-size:.59rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.merge-detail-list-v8 dd{margin:0;color:#334155;font-size:.69rem;line-height:1.35;overflow-wrap:anywhere}
.merge-description-v8{margin:10px 0;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.merge-description-v8 strong{display:block;margin-bottom:5px;color:#334155;font-size:.67rem}
.merge-description-v8 p{max-height:150px;overflow:auto;margin:0;color:#64748b;font-size:.7rem;line-height:1.48}
.merge-source-link-v8{display:flex;align-items:center;gap:7px;margin:8px 0;color:#0369a1;font-size:.7rem;font-weight:800;text-decoration:none;overflow-wrap:anywhere}
.merge-detail-card-v8>.pro-btn{margin-top:4px}
.merge-field-table-v8{margin-top:14px;border:1px solid #dbe5ef;border-radius:13px;overflow:hidden;background:#fff}
.merge-field-head-v8,.merge-field-row-v8{display:grid;grid-template-columns:minmax(0,1fr) 155px minmax(0,1fr);align-items:stretch}
.merge-field-head-v8{background:#0f172a;color:#fff;font-size:.69rem}
.merge-field-head-v8>*{padding:9px 11px;text-align:center}
.merge-field-row-v8{border-top:1px solid #e2e8f0;font-size:.68rem}
.merge-field-row-v8>div{padding:9px 11px;color:#334155;overflow-wrap:anywhere}
.merge-field-row-v8>span{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;color:#64748b;font-weight:900;text-align:center}
.merge-field-row-v8.is-different{background:#fffaf5}
.merge-field-row-v8.is-different>span{color:#c2410c;background:#fff7ed}
.merge-field-row-v8.is-same>span{color:#047857;background:#ecfdf5}
.merge-batch-tools-v8{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.merge-batch-tools-v8>span{margin-left:auto;color:#64748b;font-size:.72rem}
.merge-batch-tools-v8>span strong{color:#0f172a;font-size:.86rem}
.merge-record-list-v8{display:grid;gap:8px}
.merge-select-row-v8{display:grid;grid-template-columns:42px minmax(220px,1fr) auto minmax(210px,auto);gap:11px;align-items:center;padding:11px;border:1px solid #dbe5ef;border-radius:12px;background:#fff}
.merge-select-row-v8.is-recommended{border-color:#86efac;box-shadow:inset 4px 0 #10b981}
.merge-check-v8{display:grid;place-items:center;cursor:pointer}
.merge-check-v8 input{position:absolute;opacity:0;pointer-events:none}
.merge-check-v8 span{width:30px;height:30px;border:2px solid #cbd5e1;border-radius:9px;background:#fff;color:transparent;display:grid;place-items:center;transition:.15s ease}
.merge-check-v8 input:checked+span{border-color:#10b981;background:#10b981;color:#fff}
.merge-select-main-v8{min-width:0}
.merge-select-main-v8 strong,.merge-select-main-v8 small,.merge-select-main-v8 em{display:block}
.merge-select-main-v8 strong{color:#0f172a;font-size:.78rem}
.merge-select-main-v8 small{margin-top:3px;color:#64748b;font-size:.66rem}
.merge-select-main-v8 em{margin-top:4px;color:#9a3412;font-size:.62rem;font-style:normal;overflow-wrap:anywhere}
.merge-keep-v8{cursor:pointer}
.merge-keep-v8 input{position:absolute;opacity:0;pointer-events:none}
.merge-keep-v8 span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#475569;font-size:.67rem;font-weight:900;white-space:nowrap}
.merge-keep-v8 input:checked+span{border-color:#34d399;background:#ecfdf5;color:#047857}
.merge-batch-dock-v8{position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(15,23,42,.16);backdrop-filter:blur(10px)}
.merge-batch-dock-v8 strong,.merge-batch-dock-v8 small{display:block}
.merge-batch-dock-v8 strong{color:#0f172a;font-size:.76rem}
.merge-batch-dock-v8 small{margin-top:3px;color:#64748b;font-size:.65rem}
.merge-batch-dock-v8 button:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:1100px){
  .merge-compare-selector-v8{grid-template-columns:1fr 46px 1fr}.merge-compare-selector-v8>.pro-btn{grid-column:1/-1}
  .merge-select-row-v8{grid-template-columns:42px minmax(0,1fr) auto}.merge-keep-v8{grid-column:2/-1}
}
@media(max-width:820px){
  .merge-section-title-v8{align-items:flex-start;flex-direction:column}.merge-section-title-v8 p{text-align:left}
  .merge-detail-grid-v8{grid-template-columns:1fr}
  .merge-field-head-v8,.merge-field-row-v8{grid-template-columns:1fr}.merge-field-head-v8 span{display:none}.merge-field-row-v8>span{order:-1;border:0;border-bottom:1px solid #e2e8f0}.merge-field-row-v8>div{border-bottom:1px dashed #e2e8f0}
  .merge-record-list-v8{gap:10px}.merge-select-row-v8{grid-template-columns:38px minmax(0,1fr)}.merge-select-row-v8>.merge-confidence-v8{grid-column:2;justify-self:start}.merge-keep-v8{grid-column:2}
  .merge-batch-dock-v8{align-items:stretch;flex-direction:column}.merge-batch-dock-v8 button{width:100%}
}
@media(max-width:620px){
  .merge-compare-selector-v8{grid-template-columns:1fr}.merge-swap-v8{justify-self:center;transform:rotate(90deg)}
  .merge-detail-list-v8{grid-template-columns:1fr}.merge-photo-strip-v8{grid-template-columns:repeat(2,1fr)}
  .merge-batch-tools-v8{align-items:stretch;flex-wrap:wrap}.merge-batch-tools-v8 .pro-btn{flex:1}.merge-batch-tools-v8>span{width:100%;margin-left:0}
}

/* Administration V9 — menu simplifié et couleurs sémantiques */
.pro-sidebar-summary .is-published{
  background:rgba(16,185,129,.12);
  border-color:rgba(52,211,153,.38);
  color:#a7f3d0;
}
.pro-sidebar-summary .is-published strong{color:#6ee7b7}
.pro-nav-badge{background:#334155;color:#fff}
.pro-nav-badge.badge-danger{background:#ef4444;color:#fff}
.pro-nav-badge.badge-success{background:#16a34a;color:#fff}
.pro-nav-badge.badge-info{background:#2563eb;color:#fff}
.pro-admin-nav a.active .pro-nav-badge.badge-success{background:#dcfce7;color:#166534}
.pro-admin-nav a.active .pro-nav-badge.badge-danger{background:#fee2e2;color:#b91c1c}
.pro-admin-nav a.active .pro-nav-badge.badge-info{background:#dbeafe;color:#1d4ed8}
.inventory-quick-filters a.danger.active{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}
.inventory-quick-filters a.success.active{background:#ecfdf5;border-color:#86efac;color:#047857}

/* Administration V10 — typographie allégée et inventaire compact */
.admin-pro-body{
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.pro-admin-brand strong{font-weight:700}
.pro-admin-nav a{font-weight:600}
.pro-sidebar-summary strong{font-weight:700}
.pro-page-header h1{font-weight:700;letter-spacing:-.02em}
.pro-page-header p{font-weight:400}
.pro-eyebrow{font-weight:750}
.pro-btn{font-weight:650}
.pro-card h2,.pro-section-title h2{font-weight:700}
.pro-kpi strong{font-weight:750}
.pro-kpi span{font-weight:500}
.pro-action-card strong{font-weight:700}
.pro-action-card span{font-weight:650}

/* Le vert représente un élément publié/terminé, même hors lien actif. */
.pro-admin-nav .pro-nav-badge.badge-success{
  background:#16a34a!important;
  color:#fff!important;
}
.pro-admin-nav a.active .pro-nav-badge.badge-success{
  background:#dcfce7!important;
  color:#166534!important;
}

/* Filtres rapides plus discrets : ils restent visibles sans dominer la page. */
.admin-inventory-v7 .inventory-quick-filters{
  gap:6px;
  margin-bottom:9px;
}
.admin-inventory-v7 .inventory-quick-filters a{
  padding:7px 10px;
  font-size:.72rem;
  font-weight:600;
}

/* Zone de recherche et filtres un peu plus compacte. */
.admin-inventory-v7 .inventory-toolbar-v7{
  padding:10px;
  border-radius:13px;
}
.admin-inventory-v7 .inventory-toolbar-server input,
.admin-inventory-v7 .inventory-toolbar-server select{
  height:42px;
  font-weight:400;
  font-size:.86rem;
}
.admin-inventory-v7 .inventory-toolbar-server .search-box>i{top:13px}
.admin-inventory-v7 .inventory-search-v7 small{font-weight:400}
.admin-inventory-v7 .inventory-duplicate-check{
  min-height:42px;
  font-weight:600;
}
.admin-inventory-v7 .inventory-filter-actions-v7 .pro-btn{
  min-height:40px;
  padding:9px 13px;
  font-size:.8rem;
}

/* Inventaire : lignes plus lisibles, moins hautes et davantage d'éléments à l'écran. */
.admin-inventory-v7 .inventory-server-list{gap:7px}
.admin-inventory-v7 .inventory-server-row{
  grid-template-columns:minmax(380px,1.42fr) minmax(310px,.82fr) auto;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  box-shadow:0 2px 8px rgba(15,23,42,.035);
}
.admin-inventory-v7 .inventory-server-main{gap:9px}
.admin-inventory-v7 .inventory-marker{
  width:38px;
  height:38px;
  flex-basis:38px;
  border-radius:10px;
  font-size:.88rem;
}
.admin-inventory-v7 .inventory-server-main h2{
  margin:0 0 4px;
  font-size:.9rem;
  font-weight:650;
  line-height:1.25;
}
.admin-inventory-v7 .inventory-server-main h2 a{font-weight:650}
.admin-inventory-v7 .inventory-server-main h2 small{font-weight:500}
.admin-inventory-v7 .inventory-server-main p{
  font-size:.7rem;
  font-weight:400;
  line-height:1.3;
}
.admin-inventory-v7 .inventory-tags{
  gap:4px;
  margin-top:6px;
}
.admin-inventory-v7 .inventory-tags>span,
.admin-inventory-v7 .status-badge,
.admin-inventory-v7 .gps-tag,
.admin-inventory-v7 .field-tag{
  padding:3px 7px;
  font-size:.6rem;
  font-weight:600;
}
.admin-inventory-v7 .duplicate-warning-v7{
  margin-top:7px;
  padding:6px 8px;
  font-size:.65rem;
}
.admin-inventory-v7 .duplicate-warning-v7 strong,
.admin-inventory-v7 .duplicate-warning-v7 a{font-weight:700}

/* Boutons Photo / Site / Google / Radar plus petits sans sacrifier la lisibilité. */
.admin-inventory-v7 .inventory-switches{
  grid-template-columns:repeat(4,minmax(64px,1fr));
  gap:5px;
}
.admin-inventory-v7 .inventory-toggle{
  min-height:48px;
  padding:5px 6px;
  border-radius:9px;
  gap:1px;
  font-size:.61rem;
  font-weight:500;
}
.admin-inventory-v7 .inventory-toggle i{font-size:.88rem}
.admin-inventory-v7 .inventory-toggle span{font-weight:500;line-height:1.1}
.admin-inventory-v7 .inventory-toggle b{font-size:.56rem;font-weight:600;line-height:1.1}

/* Actions de ligne plus compactes. */
.admin-inventory-v7 .inventory-row-actions{gap:5px}
.admin-inventory-v7 .inventory-row-actions .pro-btn{
  min-height:38px;
  padding:8px 11px;
  border-radius:9px;
  font-size:.77rem;
  font-weight:650;
}
.admin-inventory-v7 .inventory-row-actions .icon-only-v7{
  width:38px;
  padding-left:0;
  padding-right:0;
}

@media(max-width:1280px){
  .admin-inventory-v7 .inventory-server-row{
    grid-template-columns:minmax(330px,1.2fr) minmax(300px,.9fr) auto;
  }
}
@media(max-width:1080px){
  .admin-inventory-v7 .inventory-server-row{grid-template-columns:1fr}
  .admin-inventory-v7 .inventory-switches{max-width:560px}
  .admin-inventory-v7 .inventory-row-actions{justify-content:flex-start}
}
@media(max-width:620px){
  .admin-inventory-v7 .inventory-quick-filters a{min-height:36px}
  .admin-inventory-v7 .inventory-toolbar-server input,
  .admin-inventory-v7 .inventory-toolbar-server select{height:46px;font-size:.88rem}
  .admin-inventory-v7 .inventory-switches{grid-template-columns:repeat(2,1fr);max-width:none}
  .admin-inventory-v7 .inventory-toggle{min-height:52px}
  .admin-inventory-v7 .inventory-row-actions .pro-btn{min-height:42px}
}

/* ========================================================================== */
/* ADMIN V11 — titres de l'inventaire plus propres et plus faciles à balayer */
/* ========================================================================== */

/* Le style h2 historique ajoutait une longue ligne sous chaque nom de lavoir. */
.admin-inventory-v7 .inventory-title-line-v11{
  display:flex;
  align-items:flex-start;
  gap:7px;
  min-width:0;
  margin:0 0 5px;
}
.admin-inventory-v7 .inventory-title-line-v11 h2{
  flex:0 1 auto;
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:var(--pro-text);
  font-size:.88rem;
  font-weight:600;
  line-height:1.28;
}
.admin-inventory-v7 .inventory-title-line-v11 h2 a{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:var(--pro-text);
  text-decoration:none;
  font-weight:600;
  overflow-wrap:anywhere;
}
.admin-inventory-v7 .inventory-title-line-v11 h2 a:hover{
  color:#0284c7;
  text-decoration:underline;
  text-underline-offset:3px;
}
.admin-inventory-v7 .inventory-id-v11{
  flex:0 0 auto;
  margin-top:1px;
  padding:2px 6px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#94a3b8;
  font-size:.56rem;
  font-weight:500;
  line-height:1.25;
}

/* Le bloc d'identité forme désormais un ensemble compact, sans trait vide. */
.admin-inventory-v7 .inventory-server-main{
  align-items:center;
}
.admin-inventory-v7 .inventory-main-copy-v7{
  max-width:650px;
}
.admin-inventory-v7 .inventory-server-main p{
  margin:0;
  color:#64748b;
}
.admin-inventory-v7 .inventory-marker{
  align-self:center;
}

/* Un peu plus d'air entre identité, états et actions, sans augmenter la ligne. */
.admin-inventory-v7 .inventory-server-row{
  grid-template-columns:minmax(390px,1.25fr) minmax(315px,.75fr) auto;
  column-gap:14px;
}
.admin-inventory-v7 .inventory-switches{
  width:100%;
  max-width:500px;
  justify-self:end;
}

@media(max-width:1280px){
  .admin-inventory-v7 .inventory-server-row{
    grid-template-columns:minmax(330px,1.1fr) minmax(300px,.9fr) auto;
  }
  .admin-inventory-v7 .inventory-main-copy-v7{max-width:none}
}
@media(max-width:1080px){
  .admin-inventory-v7 .inventory-server-row{grid-template-columns:1fr}
  .admin-inventory-v7 .inventory-switches{justify-self:start}
}
@media(max-width:620px){
  .admin-inventory-v7 .inventory-title-line-v11 h2{font-size:.9rem}
  .admin-inventory-v7 .inventory-id-v11{font-size:.6rem}
}

/* Studio circuits terrain — v13 */
.circuit-studio-admin{padding-bottom:34px}
.circuit-studio-hero{background:linear-gradient(135deg,#ffffff 0%,#eef8ff 55%,#e6fff6 100%);border:1px solid #d9e8f3;border-radius:20px;padding:24px;box-shadow:0 16px 45px rgba(15,23,42,.08)}
.studio-metrics-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0 18px}
.studio-metrics-row span{background:#fff;border:1px solid #dce8f2;border-radius:14px;padding:13px;color:#64748b;box-shadow:0 8px 22px rgba(15,23,42,.05);font-weight:800;font-size:.76rem}
.studio-metrics-row strong{display:block;color:#0f172a;font-size:1.3rem;margin-bottom:2px}
.studio-shell{display:grid;grid-template-columns:minmax(330px,420px) minmax(0,1fr);gap:18px;align-items:start}
.studio-control-panel{display:grid;gap:14px}
.studio-card{background:#fff;border:1px solid #dce8f2;border-radius:18px;padding:16px;box-shadow:0 12px 32px rgba(15,23,42,.07)}
.studio-card h2{margin:0 0 14px;font-size:1rem;color:#0f172a}
.studio-card-accent{background:linear-gradient(180deg,#fff,#f4fbff)}
.studio-geocode-row{display:grid;grid-template-columns:1fr 46px;gap:8px;align-items:start}
.studio-geocode-row button{height:46px;border:0;border-radius:12px;background:#0ea5e9;color:#fff;cursor:pointer;font-size:1rem;box-shadow:0 10px 20px rgba(14,165,233,.2)}
.studio-mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-2px 0 10px}
.studio-mini-actions button,.studio-tool-btn{border:1px solid #cfe0ee;background:#fff;border-radius:12px;padding:10px 11px;cursor:pointer;color:#0f3554;font-weight:900;font-size:.72rem}
.studio-mini-actions button:hover,.studio-tool-btn:hover{border-color:#38bdf8;background:#f0f9ff}
.studio-start-current{border:1px dashed #b6d7ea;background:#f7fcff;border-radius:12px;padding:10px 12px;color:#486278;font-size:.76rem;margin-bottom:12px}
.studio-start-current i{color:#0ea5e9;margin-right:6px}
.studio-switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.studio-switch-grid label{margin:0!important;display:block!important}
.studio-switch-grid input{position:absolute;opacity:0}
.studio-switch-grid span{min-height:44px;border:1px solid #d5e4ef;border-radius:12px;background:#fff;color:#52677d;display:flex;align-items:center;gap:7px;justify-content:center;padding:8px;font-size:.72rem;font-weight:900;cursor:pointer}
.studio-switch-grid input:checked+span{background:#e7f8ff;color:#0369a1;border-color:#7dd3fc}
.studio-generate{width:100%;min-height:50px;border:0;border-radius:14px;background:linear-gradient(135deg,#0ea5e9,#10b981);color:#fff;font-weight:1000;cursor:pointer;box-shadow:0 14px 28px rgba(14,165,233,.22);font-size:.86rem}
.studio-help{margin:10px 0 0;color:#64748b;font-size:.74rem;line-height:1.35}
.studio-public-check{font-size:.76rem;color:#475569}
.studio-filter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.studio-filter-head h2{margin:0;font-size:.95rem}.studio-filter-head span{font-size:.7rem;color:#64748b;font-weight:900}
.studio-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 13px 10px}.studio-filter-grid .compact-input{margin:0}
.studio-map-panel{background:#081225;border-radius:20px;padding:16px;color:#fff;box-shadow:0 18px 50px rgba(15,23,42,.22);position:sticky;top:16px}
.studio-map-toolbar{display:grid;grid-template-columns:minmax(250px,1fr) minmax(230px,.8fr) auto;gap:10px;margin-bottom:12px;align-items:center}
.studio-map-panel .custom-radio{background:#0d1c33;border-color:#263a56}.studio-map-panel .custom-radio span{min-height:46px;font-size:.76rem}.studio-map-panel .custom-radio input:checked+span{background:#0d72a7;color:#fff}
.studio-map-wrap{position:relative;border-radius:16px;overflow:hidden;border:1px solid #29415e;background:#102038}
.circuit-studio-admin #map-preview{height:560px;border:0;border-radius:0;cursor:grab}.circuit-studio-admin #map-preview.is-picking{cursor:crosshair;outline:4px solid rgba(56,189,248,.25);outline-offset:-4px}
.studio-legend{position:absolute;left:12px;bottom:12px;z-index:450;background:rgba(8,18,37,.88);backdrop-filter:blur(8px);border:1px solid rgba(148,163,184,.25);border-radius:13px;padding:8px 10px;display:flex;gap:9px;flex-wrap:wrap;max-width:calc(100% - 24px);font-size:.68rem;color:#dce9f6}
.studio-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.studio-legend .dot{width:10px;height:10px;border-radius:999px;display:inline-block}.dot.published{background:#10b981}.dot.to-photo{background:#fb923c}.dot.exact{background:#38bdf8}.dot.approx{background:#facc15}.dot.manual{background:#c084fc}.dot.selected{background:#fde047}
.circuit-studio-admin .studio-save-row{display:grid;grid-template-columns:1fr 88px 106px;gap:10px;margin:12px 0}
.circuit-studio-admin .stats-banner{background:#102b46;border:1px solid #1e4568;border-radius:15px;padding:13px 16px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px}.circuit-studio-admin .stats-banner strong{font-size:1.35rem;color:#67d5ff}.circuit-studio-admin .stats-banner small{font-size:.67rem;color:#9fb7cc}
.studio-export,.circuit-studio-admin .studio-save{border:0;border-radius:15px;color:#fff;font-weight:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}.studio-export{background:#0ea5e9}.circuit-studio-admin .studio-save{background:#10b981}.studio-export i,.circuit-studio-admin .studio-save i{font-size:1.2rem}
.circuit-studio-admin .steps-container{border:1px solid #253b58;border-radius:15px;overflow:hidden;min-height:250px;background:#0d1c33}.circuit-studio-admin .steps-head{background:#0b1729;border-bottom:1px solid #253b58}.circuit-studio-admin .steps-head button{border:1px solid #315777;background:#102b46;color:#bde8ff;border-radius:9px;padding:7px 10px;font-weight:900}
.circuit-studio-admin .sortable-list{list-style:none;margin:0;padding:10px;display:grid;gap:7px;max-height:340px;overflow:auto}.circuit-studio-admin .sortable-list li{display:grid;grid-template-columns:30px 34px minmax(0,1fr) auto 32px;align-items:center;gap:8px;background:#142641;border:1px solid #294461;border-radius:12px;padding:10px;cursor:grab}.step-number{height:26px;width:26px;border-radius:999px;background:#0ea5e9;color:#fff;display:grid;place-items:center;font-weight:1000;font-size:.75rem}.step-icon{height:30px;width:30px;border-radius:10px;background:#203752;color:#7dd3fc;display:grid;place-items:center}.step-copy strong,.step-copy small{display:block}.step-copy strong{color:#fff}.step-copy small{color:#9fb7cc;margin-top:2px}.step-badge{color:#fef3c7;background:#854d0e;border-radius:999px;padding:4px 8px;font-size:.62rem;font-weight:1000}.step-remove{width:30px;height:30px;border:0;border-radius:9px;background:#2b1831;color:#fda4af;cursor:pointer}
.circuit-studio-admin .selector-box{height:650px;display:flex;flex-direction:column;overflow:hidden;padding:13px}.circuit-studio-admin .modern-search{margin:4px 0 9px}.circuit-studio-admin .lavoir-list-scroll{overflow:auto;flex:1;border:1px solid #edf3f8;border-radius:13px;background:#fbfdff}.circuit-studio-admin .lavoir-pick-item{display:grid!important;grid-template-columns:13px minmax(0,1fr) auto;gap:9px!important;align-items:center!important;padding:10px!important;border-top:1px solid #eef3f8;background:#fff}.circuit-studio-admin .lavoir-pick-item:first-child{border-top:0}.circuit-studio-admin .lavoir-pick-item.is-selected{background:#fffbe8}.lavoir-status-dot{width:10px;height:10px;border-radius:999px;display:block}.lavoir-status-dot.published{background:#10b981}.lavoir-status-dot.to_photo{background:#fb923c}.lavoir-status-dot.gps_exact{background:#38bdf8}.lavoir-status-dot.gps_approx{background:#facc15}.lavoir-status-dot.to_check{background:#f87171}.circuit-studio-admin .lavoir-pick-item strong{font-size:.76rem;color:#0f172a}.circuit-studio-admin .lavoir-pick-item small{font-size:.68rem;color:#64748b}.circuit-studio-admin .lavoir-pick-item em{display:block;font-style:normal;color:#0ea5e9;font-size:.62rem;font-weight:900;margin-top:2px}.lavoir-pick-actions{display:flex;gap:5px}.lavoir-pick-actions button{border:1px solid #cfe0ee;border-radius:9px;background:#fff;padding:7px 8px;color:#0f3554;font-weight:900;cursor:pointer;font-size:.66rem}.lavoir-pick-actions button:hover{background:#e7f8ff;border-color:#7dd3fc}.studio-list-more{padding:12px;text-align:center;color:#64748b;font-size:.72rem}
.studio-popup strong,.studio-popup small,.studio-popup span{display:block}.studio-popup small{color:#64748b;margin:3px 0}.studio-popup span{font-size:.72rem;color:#0ea5e9;font-weight:900;margin-bottom:8px}.studio-popup div{display:flex;gap:6px}.studio-popup button{border:0;border-radius:8px;background:#0ea5e9;color:#fff;padding:6px 9px;font-weight:900;cursor:pointer}.studio-popup button+button{background:#10b981}
.studio-saved-section{margin-top:22px}.circuit-studio-admin .saved-circuits>article{border-radius:16px}.circuit-studio-admin .saved-circuits h3 .fa-heart{color:#e11d48}
@media (max-width:1300px){.studio-shell{grid-template-columns:370px minmax(0,1fr)}.studio-map-toolbar{grid-template-columns:1fr}.studio-map-panel{position:static}.circuit-studio-admin #map-preview{height:500px}.studio-metrics-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:980px){.studio-shell{grid-template-columns:1fr}.studio-metrics-row{grid-template-columns:repeat(2,1fr)}.circuit-studio-admin .studio-save-row{grid-template-columns:1fr}.circuit-studio-admin .stats-banner{grid-template-columns:1fr}.studio-export,.circuit-studio-admin .studio-save{min-height:58px}.circuit-studio-admin #map-preview{height:60vh}.studio-mini-actions,.studio-switch-grid,.studio-filter-grid{grid-template-columns:1fr}}
@media (max-width:620px){.studio-metrics-row{grid-template-columns:1fr}.circuit-studio-admin .sortable-list li{grid-template-columns:28px minmax(0,1fr) 30px}.circuit-studio-admin .sortable-list .step-icon,.circuit-studio-admin .sortable-list .step-badge{display:none}.studio-legend{position:static;border-radius:0}.circuit-studio-admin .lavoir-pick-item{grid-template-columns:12px 1fr}.lavoir-pick-actions{grid-column:2;justify-content:flex-start}}
