
    :root{--copper:#C9962C;--cl:rgba(201,150,44,0.14);--cb:rgba(240,200,105,0.35);--cd:#F0C869;--bg:#17130E;--w:#211A13;--text:#EDE6DC;--muted:#A89880;--border:rgba(240,200,105,0.14);--bmed:rgba(240,200,105,0.24);--r:12px;--rs:8px;--sb:220px;--tb:56px;}
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);font-size:14px;}
    #topbar{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--w);border-bottom:1px solid var(--border);}#topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:var(--tb);}
    .logo{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;text-decoration:none;color:var(--text);}
    .logo span{color:var(--copper);}
    /* role-sw défini plus bas */
    .rtab{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;background:transparent;color:var(--muted);transition:all .15s;font-family:'DM Sans',sans-serif;display:flex;align-items:center;gap:4px;}
    .rtab.active{background:var(--copper);color:#17110A;}
    .rtab:not(.active):hover{background:var(--w);}
    .tbr{display:flex;align-items:center;gap:12px;}
    .nbtn{position:relative;background:none;border:none;cursor:pointer;color:var(--muted);font-size:20px;padding:4px;}
    .ndot{position:absolute;top:2px;right:2px;width:8px;height:8px;background:#E24B4A;border-radius:50%;border:2px solid var(--w);}
    .uav{width:32px;height:32px;border-radius:50%;background:var(--cl);color:var(--copper);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;cursor:pointer;}
    #layout{display:flex;padding-top:var(--tb);min-height:100vh;}.topbar-tel{color:var(--muted);text-decoration:none;font-size:13px;display:flex;align-items:center;gap:5px;}.topbar-tel:hover{color:var(--copper);}
    #sidebar{width:var(--sb);flex-shrink:0;position:fixed;top:var(--tb);bottom:0;left:0;background:var(--w);border-right:1px solid var(--border);overflow-y:auto;padding:.75rem 0;}
    .smenu{list-style:none;}
    .smenu li{padding:8px 12px;border-radius:var(--rs);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--muted);transition:all .15s;margin:1px 6px;}
    .smenu li:hover{background:var(--bg);color:var(--text);}
    .smenu li.active{background:var(--cl);color:var(--copper);}
    .smenu li i{font-size:16px;width:18px;}
    .smenu li .bc{margin-left:auto;background:var(--copper);color:#17110A;font-size:10px;font-weight:500;padding:1px 6px;border-radius:10px;}
    .sg{font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 18px 4px;}
    #main{margin-left:var(--sb);flex:1;padding:2rem;max-width:calc(100vw - var(--sb));}
    .page{display:none;}.page.active{display:block;}
    .ph{margin-bottom:1.75rem;}
    .pt{font-family:'Playfair Display',serif;font-size:22px;font-weight:500;margin-bottom:3px;}
    .ps{font-size:13px;color:var(--muted);}
    .metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:1.75rem;}
    .metric{background:var(--w);border:1px solid var(--border);border-radius:var(--rs);padding:12px 14px;}
    .ml{font-size:11px;color:var(--muted);margin-bottom:4px;}
    .mv{font-size:22px;font-weight:500;}
    .mv.copper{color:var(--copper);}.mv.green{color:#8FCB5C;}.mv.blue{color:#6FB0E8;}.mv.red{color:#F5A3A3;}
    .card{background:var(--w);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem 1.5rem;margin-bottom:14px;}
    .ch{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
    .ct{font-size:15px;font-weight:500;}.cs{font-size:12px;color:var(--muted);margin-top:2px;}
    .badge{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:500;white-space:nowrap;}
    .b-new{background:rgba(24,95,165,.22);color:#6FB0E8;}.b-wait{background:var(--cl);color:var(--cd);}
    .b-sign{background:rgba(83,74,183,.22);color:#A79EF0;}.b-ok{background:rgba(59,109,17,.22);color:#8FCB5C;}
    .b-red{background:rgba(153,27,27,.22);color:#F5A3A3;}.b-grey{background:var(--bg);color:var(--muted);}
    .row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:7px;}
    .row i{font-size:15px;width:16px;flex-shrink:0;}
    .row strong{color:var(--text);font-weight:500;}
    .row a{color:var(--copper);text-decoration:none;}
    .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
    .btn{padding:8px 16px;border-radius:var(--rs);font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--bmed);background:transparent;color:var(--text);transition:all .15s;font-family:'DM Sans',sans-serif;display:inline-flex;align-items:center;gap:6px;}
    .btn:hover{background:var(--bg);}
    .btn.primary{background:var(--copper);color:#17110A;border-color:var(--copper);}
    .btn.primary:hover{opacity:.88;background:var(--copper);}
    .btn.danger{color:#F5A3A3;border-color:rgba(245,163,163,.45);}.btn.danger:hover{background:rgba(153,27,27,.22);}
    .btn.success{color:#8FCB5C;border-color:rgba(143,203,92,.5);}.btn.success:hover{background:rgba(59,109,17,.22);}
    hr{border:none;border-top:1px solid var(--border);margin:14px 0;}
    .fg{margin-bottom:14px;}
    .fl{font-size:12px;color:var(--muted);margin-bottom:5px;display:block;font-weight:500;}
    input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--bmed);border-radius:var(--rs);font-family:'DM Sans',sans-serif;font-size:13px;background:var(--w);color:var(--text);outline:none;transition:border-color .15s;}
    input:focus,select:focus,textarea:focus{border-color:var(--copper);}
    textarea{resize:vertical;min-height:80px;}
    .tc{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
    .tc3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
    .pb{height:6px;background:var(--bg);border-radius:3px;margin:8px 0;overflow:hidden;}
    .pf{height:100%;background:var(--copper);border-radius:3px;}
    .tl{list-style:none;}
    .tli{display:flex;gap:14px;margin-bottom:16px;align-items:flex-start;}
    .tld{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;}
    .tld.done{background:rgba(59,109,17,.22);color:#8FCB5C;}.tld.cur{background:var(--cl);color:var(--copper);}.tld.todo{background:var(--bg);color:var(--muted);border:1px solid var(--border);}
    .tlt{font-size:14px;font-weight:500;}.tls{font-size:12px;color:var(--muted);margin-top:2px;}
    .tw{overflow-x:auto;}
    table.dt{width:100%;border-collapse:collapse;font-size:13px;}
    table.dt th{text-align:left;padding:10px 12px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--border);font-size:12px;}
    table.dt td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;}
    table.dt tr:last-child td{border-bottom:none;}
    table.dt tr:hover td{background:var(--bg);}
    .al{border-radius:var(--rs);padding:12px 16px;font-size:13px;display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;}
    .al i{font-size:16px;flex-shrink:0;margin-top:1px;}
    .al.info{background:var(--cl);color:var(--cd);border:1px solid var(--cb);}
    .al.ok{background:rgba(59,109,17,.22);color:#8FCB5C;border:1px solid rgba(143,203,92,.5);}
    .al.warn{background:rgba(153,27,27,.22);color:#F5A3A3;border:1px solid rgba(245,163,163,.45);}
    .al.blue{background:rgba(24,95,165,.22);color:#6FB0E8;border:1px solid rgba(111,176,232,.4);}
    .sl{font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:1.5rem 0 10px;}
    .pills{display:flex;flex-wrap:wrap;gap:8px;}
    .pill{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:13px;color:var(--muted);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px;}
    .pill:hover,.pill.sel{border-color:var(--copper);color:var(--copper);background:var(--cl);}
    .dtot{background:var(--bg);border-radius:var(--rs);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;margin-top:12px;}
    .dtot span{font-size:13px;color:var(--muted);}
    .dtot strong{font-size:20px;font-weight:500;color:var(--copper);}
    .ci{background:var(--cl);border:1px solid var(--cb);border-radius:var(--rs);padding:10px 14px;font-size:12px;color:var(--cd);display:flex;gap:8px;align-items:center;margin-top:10px;}
    .wk{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
    .dc{border:1px solid var(--border);border-radius:var(--rs);padding:10px 8px;min-height:110px;}
    .dl{font-size:11px;color:var(--muted);font-weight:500;text-align:center;margin-bottom:8px;}
    .sl2{border-radius:4px;padding:4px 6px;font-size:11px;margin-bottom:4px;font-weight:500;}
    .sl2.busy{background:var(--cl);color:var(--cd);}.sl2.work{background:rgba(59,109,17,.22);color:#8FCB5C;}.sl2.free{background:var(--bg);color:var(--muted);border:1px dashed var(--bmed);cursor:pointer;}
    .signbox{border:1px solid var(--border);border-radius:var(--rs);padding:20px;text-align:center;background:var(--bg);margin:14px 0;}
    .signame{font-family:'Playfair Display',serif;font-size:32px;color:var(--copper);border-bottom:2px solid var(--copper);display:inline-block;padding:0 24px;}
    .net-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;}
    .int-card{background:var(--w);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem;position:relative;transition:border-color .2s;}
    .int-card:hover{border-color:var(--copper);}
    .int-card.artisan{border-left:3px solid var(--copper);}
    .int-card.expert{border-left:3px solid #A79EF0;}
    .int-card.fournisseur{border-left:3px solid #6FB0E8;}
    .com-chip{position:absolute;top:10px;right:10px;font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500;}
    .c7{background:var(--cl);color:var(--cd);border:.5px solid var(--cb);}
    .c5{background:rgba(24,95,165,.22);color:#6FB0E8;border:.5px solid rgba(111,176,232,.4);}
    .ih{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
    .iav{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0;}
    .av-copper{background:var(--cl);color:var(--copper);}
    .av-green{background:rgba(59,109,17,.22);color:#8FCB5C;}
    .av-blue{background:rgba(24,95,165,.22);color:#6FB0E8;}
    .av-purple{background:rgba(83,74,183,.22);color:#A79EF0;}
    .av-teal{background:rgba(15,110,86,.22);color:#5FD9B4;}
    .iname{font-size:14px;font-weight:500;}
    .irole{font-size:11px;color:var(--muted);margin-top:1px;}
    .ibadges{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
    .ib{font-size:10px;padding:2px 8px;border-radius:8px;font-weight:500;}
    .ib-gold{background:var(--cl);color:var(--cd);}
    .ib-green{background:rgba(59,109,17,.22);color:#8FCB5C;}
    .ib-blue{background:rgba(24,95,165,.22);color:#6FB0E8;}
    .ib-purple{background:rgba(83,74,183,.22);color:#A79EF0;}
    .ib-teal{background:rgba(15,110,86,.22);color:#5FD9B4;}
    .dist-bar{background:linear-gradient(135deg,#000000,var(--copper));border-radius:var(--r);padding:1.25rem 1.5rem;display:flex;gap:14px;align-items:center;margin-bottom:14px;}
    .dist-bar i{font-size:26px;color:var(--cd);flex-shrink:0;}
    .dist-bar h4{font-family:'Playfair Display',serif;font-size:16px;color:white;margin-bottom:3px;}
    .dist-bar p{font-size:12px;color:var(--muted);}
    .sbar{height:5px;background:var(--border);border-radius:3px;overflow:hidden;}
    .sf{height:100%;background:var(--copper);border-radius:3px;}
    .statr{display:grid;grid-template-columns:110px 1fr 50px 50px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px;}
    .statr:last-child{border-bottom:none;}
    .terrain{background:var(--w);border:1px solid var(--bmed);border-radius:var(--r);padding:1rem;margin-bottom:10px;border-left:3px solid #E24B4A;}
    .terrain.nw{border-left-color:var(--copper);}
    .nc{border:1px solid var(--border);border-radius:var(--rs);padding:10px;text-align:center;cursor:pointer;transition:all .15s;}
    .nc.on{border-color:#8FCB5C;background:rgba(59,109,17,.22);}
    .nc i{font-size:20px;color:var(--muted);margin-bottom:4px;display:block;}
    .nc.on i{color:#8FCB5C;}
    .nn{font-size:11px;font-weight:500;color:var(--muted);}
    .nc.on .nn{color:#8FCB5C;}
    .net-pub{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:14px;}
    /* Upload zone */
    .upload-zone{border:2px dashed var(--bmed);border-radius:var(--r);padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg);}
    .upload-zone:hover{border-color:var(--copper);background:var(--cl);}
    .upload-zone i{font-size:36px;color:var(--muted);margin-bottom:8px;display:block;}
    .upload-zone.dragover{border-color:var(--copper);background:var(--cl);}
    /* Photos chantier */
    .photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0;}
    .photo-item{aspect-ratio:1;border-radius:var(--rs);overflow:hidden;position:relative;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;}
    .photo-item img{width:100%;height:100%;object-fit:cover;}
    .photo-item .photo-date{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.5);color:white;font-size:10px;padding:4px 6px;text-align:center;}
    /* Rating */
    .stars{display:flex;gap:2px;}
    .star{font-size:20px;cursor:pointer;color:var(--border);}
    .star.on{color:var(--copper);}
    /* Profil public badge */
    .profil-pub{background:linear-gradient(135deg,var(--cl),white);border:1px solid var(--cb);border-radius:var(--r);padding:1.25rem 1.5rem;display:flex;gap:14px;align-items:center;margin-bottom:14px;}
    .profil-pub i{font-size:24px;color:var(--copper);flex-shrink:0;}
    /* Simulateur */
    .sim-result{background:var(--cl);border:1px solid var(--cb);border-radius:var(--r);padding:1.25rem 1.5rem;margin-top:14px;}
    .sim-big{font-family:'Playfair Display',serif;font-size:32px;color:var(--copper);font-weight:700;}
    /* SAGE export */
    .sage-box{background:#1A3354;border-radius:var(--r);padding:1.25rem 1.5rem;display:flex;gap:14px;align-items:center;margin-bottom:14px;}
    .sage-box i{font-size:24px;color:#4DB8FF;flex-shrink:0;}
    .sage-box h4{font-size:15px;color:white;margin-bottom:3px;}
    .sage-box p{font-size:12px;color:#8DB5D8;}
    /* Flux de contrôle prospect */
    .prospect-lock{background:rgba(153,27,27,.22);border:1px solid rgba(245,163,163,.45);border-radius:var(--r);padding:1rem 1.5rem;display:flex;gap:12px;align-items:center;margin-bottom:14px;}
    .prospect-lock i{font-size:22px;color:#F5A3A3;flex-shrink:0;}
    .prospect-lock div{font-size:13px;color:#F5A3A3;}
    .prospect-lock strong{font-weight:600;}
    /* Commission badge flottant */
    .com-float{position:fixed;bottom:20px;right:20px;background:var(--copper);color:#17110A;border-radius:var(--r);padding:12px 16px;font-size:13px;font-weight:500;box-shadow:0 4px 20px rgba(201,150,44,.35);z-index:300;display:flex;gap:8px;align-items:center;animation:slideup .4s ease;}
    @keyframes slideup{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ── LOGIN & DEMANDE ── */
.fl-app{font-size:12px;color:var(--muted);font-weight:500;display:block;margin-bottom:4px}
.fi-app{width:100%;border:1.5px solid var(--bmed);background:var(--bg);color:var(--text);border-radius:8px;padding:10px 13px;font-family:inherit;font-size:13px;outline:none;transition:border-color .15s;box-sizing:border-box;margin-bottom:12px}
.fi-app:focus{border-color:var(--copper)}
textarea.fi-app{resize:vertical;min-height:70px}
/* ── SÉLECTEUR CLIENT ARTISAN ── */
.client-card{background:var(--w);border:1.5px solid var(--bmed);border-radius:12px;padding:14px;cursor:pointer;transition:all .15s;margin-bottom:10px}
.client-card:hover,.client-card.sel{border-color:var(--copper);background:var(--cl)}
.client-card .client-nom{font-weight:600;color:var(--text);font-size:14px;margin-bottom:3px}
.client-card .client-meta{font-size:11px;color:var(--muted)}
.client-card .client-avance{font-size:12px;color:var(--cd);font-weight:500;margin-top:4px}
/* ── PHOTO GRID AMÉLIORÉ ── */
.photo-grid-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:12px}
.photo-item-v2{background:var(--w);border:1px solid var(--border);border-radius:10px;overflow:hidden;position:relative}
.photo-item-v2 .photo-thumb{height:90px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg),var(--cl))}
.photo-item-v2 .photo-info{padding:6px 8px;font-size:10px;color:var(--muted)}
.photo-item-v2 .photo-label{font-weight:600;color:var(--text);font-size:11px}
/* ── ONGLET RÉSEAU ── */
.reseau-tab-artisan{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.rtab-artisan{padding:7px 16px;border:1.5px solid var(--bmed);background:var(--w);border-radius:20px;font-family:inherit;font-size:12px;cursor:pointer;color:var(--muted)}
.rtab-artisan.active{background:linear-gradient(135deg,var(--copper),#8B6914);color:#17110A;border-color:transparent}



@media(max-width:768px){
  #main{margin-left:0;padding:1rem;}
  .tc{grid-template-columns:1fr;}
  .tc3{grid-template-columns:1fr;}
  #topbar{height:auto;flex-direction:column;padding:8px 10px;gap:6px;}
  #topbar-inner{width:100%;justify-content:space-between;}
  
  .rtab{padding:5px 8px;font-size:11px;white-space:nowrap;}
  #layout{padding-top:calc(var(--tb) + 40px);}
}
@media(min-width:769px){
  #layout{padding-top:var(--tb);}
}


/* ── TOPBAR RESPONSIVE ── */
/* role-sw défini plus bas */

@media(max-width:600px){
  
  .rtab{padding:6px 8px;font-size:14px;}
  .logo img{height:36px !important;}
}
@media(max-width:768px){
  #sidebar{display:none;}
  #main{margin-left:0 !important;padding:1rem;}
  .tc{grid-template-columns:1fr;}
  .tc3{grid-template-columns:1fr;}
}



/* ══ TOPBAR & ONGLETS RÔLES ══ */
.role-sw{display:flex;gap:3px;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 8px;}
.rtab{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;background:transparent;color:var(--muted);font-family:'DM Sans',sans-serif;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:all .15s;}
.rtab.active{background:var(--copper);color:#17110A;}
.rtab:not(.active):hover{background:var(--bg);}
.rtab .rtab-label{display:inline;}
@media(max-width:520px){
  .rtab .rtab-label{display:none;}
  .rtab{padding:6px 8px;font-size:15px;}
}
@media(max-width:768px){
  #sidebar{display:none;}
  #main{margin-left:0 !important;padding:1rem;}
  .tc,.tc3{grid-template-columns:1fr;}
}





@keyframes slideUp {from{transform:translateY(100%)}to{transform:translateY(0)}}
