/* =============================================================
   eSurvey Entrepots - style.css (theme clair)
   Palette : violet #5B3FD4 / lavande #f5f3ff
   ============================================================= */
:root{--pri:#5B3FD4;--pri2:#7C5CE7;--g:#10b981;--r:#ef4444;--o:#f59e0b;--sw:250px;--bg:#f5f3ff;--cb:#ffffff;--br:#e5e7eb;--tx:#1e293b;--txm:#6b7280;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter','Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;}

/* Pages auth */
.auth-body{background:linear-gradient(135deg,#f5f3ff,#ede9fe,#f0fdfa);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;}
.auth-card{border:none;border-radius:16px;box-shadow:0 20px 60px rgba(91,63,212,.12);max-width:440px;width:100%;padding:40px;background:#fff;color:#1e293b;}
.auth-logo{text-align:center;margin-bottom:28px;}.auth-logo img{max-height:60px;}
.auth-title{text-align:center;font-size:18px;font-weight:700;color:#1e293b;margin-bottom:20px;}
.btn-primary{background:linear-gradient(135deg,var(--pri),var(--pri2));border:none;}
.btn-primary:hover{background:var(--pri);}
label.form-label{color:var(--txm);font-size:13px;}
.form-control,.form-select{background:#fff;border:1px solid var(--br);color:var(--tx);}
.form-control:focus,.form-select:focus{background:#fff;color:var(--tx);border-color:var(--pri);box-shadow:0 0 0 .2rem rgba(91,63,212,.15);}
a{color:var(--pri);}
.pwd-strength{display:flex;gap:4px;margin-top:6px;}
.pwd-seg{height:5px;flex:1;border-radius:3px;background:#e5e7eb;transition:background .3s;}
.pwd-label{font-size:11px;color:#6b7280;margin-top:3px;}

/* Sidebar */
#sb{width:var(--sw);min-height:100vh;background:#fff;border-right:1px solid var(--br);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto;}
.sb-brand{padding:16px;border-bottom:1px solid var(--br);}.sb-brand img{max-height:44px;max-width:100%;}
.sb-nav{flex:1;padding:8px 0;}
.ni{display:flex;align-items:center;gap:10px;padding:9px 18px;cursor:pointer;font-size:13px;font-weight:500;color:var(--txm);border-left:3px solid transparent;transition:all .15s;text-decoration:none;}
.ni:hover{background:rgba(91,63,212,.08);color:var(--tx);border-left-color:var(--pri);}
.ni.active{background:rgba(91,63,212,.12);color:var(--pri);border-left-color:var(--pri);}
.ni i{font-size:15px;width:16px;}
.sb-sep{padding:10px 18px 4px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#94a3b8;}
.sb-foot{padding:14px;border-top:1px solid var(--br);display:flex;align-items:center;gap:8px;}
.rpill{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--pri);color:#fff;}

/* Burger mobile + topbar */
.mob-topbar{display:none;position:fixed;top:0;left:0;right:0;height:54px;background:#fff;border-bottom:1px solid var(--br);z-index:110;align-items:center;justify-content:space-between;padding:0 14px;overflow:hidden;}
.mob-logo{height:26px;max-width:110px;object-fit:contain;flex-shrink:0;}
.hamburger{display:flex;width:38px;height:38px;border-radius:8px;border:1px solid var(--br);background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex-shrink:0;}
.hamburger span{display:block;width:18px;height:2px;background:var(--tx);border-radius:2px;}
.sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:95;}

/* Contenu */
#main{margin-left:var(--sw);flex:1;min-height:100vh;}
.ph{padding:20px 24px 16px;border-bottom:1px solid var(--br);display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;background:#fff;}
.ph h4{font-size:18px;font-weight:700;margin:0;color:var(--tx);}
.ca{padding:0 24px 40px;}
.cd,.kc,.ep-card,.cwrap{background:var(--cb);border:1px solid var(--br);border-radius:12px;padding:18px;}
.ep-card{transition:border-color .2s;}.ep-card:hover{border-color:var(--pri);}
.kc{position:relative;overflow:hidden;}
.kc .kv{font-size:28px;font-weight:800;color:var(--tx);}
.kc .kl{font-size:12px;color:var(--txm);margin-top:2px;}
.kc .ki{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.sh{color:#22c55e;}.sm{color:#f59e0b;}.sl{color:#ef4444;}.sn{color:#94a3b8;}
.tc{--bs-table-bg:var(--cb);--bs-table-color:var(--tx);--bs-table-border-color:#f1f5f9;font-size:13px;}
.tc th{color:var(--txm);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--br);background:#faf9ff;}
.tc td{border-bottom:1px solid #f1f5f9;}
.br-r{font-size:10px;padding:2px 8px;border-radius:20px;font-weight:600;}
.br-aq{background:#e0f2fe;color:#0369a1;}.br-de{background:#dcfce7;color:#15803d;}.br-dg{background:#f3e8ff;color:#7e22ce;}
.pbs{font-size:11px;padding:2px 9px;border-radius:20px;font-weight:600;}
.s-EA{background:#fef3c7;color:#b45309;}.s-EC{background:#dbeafe;color:#1d4ed8;}.s-CO{background:#dcfce7;color:#15803d;}.s-EX{background:#fee2e2;color:#b91c1c;}
.ps{display:none;}.ps.active{display:block;}

/* Wizard */
.wiz-top{position:sticky;top:0;background:var(--bg);padding:10px 0;z-index:10;}
.apb{height:6px;border-radius:3px;background:#e5e7eb;margin-bottom:8px;overflow:hidden;}
.apbf{height:100%;border-radius:3px;background:var(--pri);transition:width .4s;}
.dm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.dm-head .dn-title{font-size:18px;font-weight:800;color:var(--tx);}
.dm-head .dn-count{font-size:12px;color:var(--txm);font-weight:600;}
.pc{background:#faf8ff;border:1px solid var(--br);border-radius:10px;padding:14px;margin-bottom:10px;}
.pc.done{border-color:#22c55e;background:#f0fdf4;}
.rb{border:1px solid;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;background:transparent;}
.rb.C{border-color:#22c55e;color:#22c55e;}.rb.C.active{background:#22c55e;color:#fff;}
.rb.N{border-color:#ef4444;color:#ef4444;}.rb.N.active{background:#ef4444;color:#fff;}
.rb.NA{border-color:#94a3b8;color:#94a3b8;}.rb.NA.active{background:#94a3b8;color:#fff;}

/* Leaderboard */
.lbr{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9;}
.lbr:last-child{border-bottom:none;}
.lbrank{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;}
.lbbw{flex:1;background:#f1f5f9;border-radius:4px;height:7px;overflow:hidden;}
.lbb{height:100%;border-radius:4px;transition:width .6s;}
.lbsc{font-size:14px;font-weight:800;min-width:44px;text-align:right;}

/* Modals */
.md .modal-content{background:#fff;border:1px solid var(--br);color:var(--tx);}
.md .modal-header{border-bottom:1px solid var(--br);}
.md .modal-footer{border-top:1px solid var(--br);}
.md .form-control,.md .form-select{background:#fff;border:1px solid var(--br);color:var(--tx);}
.md .form-control:focus,.md .form-select:focus{border-color:var(--pri);box-shadow:0 0 0 .2rem rgba(91,63,212,.2);}
.md label{color:var(--txm);font-size:13px;}
.btn-p{background:linear-gradient(135deg,var(--pri),var(--pri2));border:none;color:#fff;padding:7px 18px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;}
.btn-p:hover{background:var(--pri);}
.ctt{font-size:13px;font-weight:700;margin-bottom:14px;color:var(--tx);}

/* Detail audit */
.det-dom{font-weight:700;color:var(--pri);font-size:14px;margin:16px 0 8px;padding-bottom:4px;border-bottom:2px solid rgba(91,63,212,.2);}
.det-item{display:flex;align-items:flex-start;gap:10px;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:13px;}
.det-item .det-rep{font-weight:700;white-space:nowrap;}
.det-photos{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.det-photos img{width:70px;height:70px;object-fit:cover;border-radius:6px;border:1px solid var(--br);cursor:pointer;}

/* Mobile responsive */
@media (max-width: 768px) {
    .mob-topbar{display:flex;}
    #sb{transform:translateX(-100%);transition:transform .25s;top:54px;height:calc(100vh - 54px);min-height:0;}
    #sb.open{transform:translateX(0);}
    .sb-overlay{top:54px;}
    .sb-overlay.open{display:block;}
    #main{margin-left:0;padding-top:54px;}
    .ph{padding:12px 16px;margin-bottom:14px;}
    .ca{padding:0 12px 30px;}
    .kc .kv{font-size:22px;}
    .tc{font-size:12px;}
    .wiz-side{display:none;}
}
@media (max-width: 480px) {
    .kc .kv{font-size:20px;}
    .ph h4{font-size:16px;}
}

/* Slider % non-conformite (vert -> orange -> rouge) */
.nc-wrap{margin:10px 0 4px;}
.nc-label{display:flex;justify-content:space-between;font-size:12px;color:var(--txm);margin-bottom:4px;}
.nc-label .nc-val{font-weight:700;color:var(--tx);}
.nc-range{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:10px;outline:none;cursor:pointer;}
.nc-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #5B3FD4;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2);}
.nc-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #5B3FD4;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2);}
