/* To-do INCYBER 2027 — écran Paramètres (Lot 2, 05/10/2026). Chargé après app.css et responsive.css.
   Responsive dès l'origine : aucune largeur fixe, tout peut passer à la ligne, testé jusqu'à 280 px (Galaxy Z Fold 3 replié). */

#viewSettings{max-width:1180px;}
.set-tabs{display:flex;flex-wrap:wrap;margin-bottom:var(--sp-4);width:100%;max-width:860px;}
.set-tabs button{flex:1 1 auto;}
.set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--sp-4);align-items:start;}
.set-wide{grid-column:1 / -1;}
.set-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-4) var(--sp-5);min-width:0;margin-bottom:var(--sp-4);}
.set-grid > .set-card{margin-bottom:0;}
.set-card h2{margin:0 0 var(--sp-3);font-size:var(--fs-lg);}
.set-card p.hint{margin:0 0 var(--sp-3);line-height:1.5;}
.set-card input, .set-card select{background:var(--panel);color:var(--text);max-width:100%;min-width:0;}
.set-card .field input, .set-card .field select{width:100%;padding:var(--sp-2) 10px;border:1px solid var(--border);border-radius:var(--r-sm);font:inherit;font-size:var(--fs-md);box-sizing:border-box;}
.set-card input[type=file]{max-width:100%;font-size:var(--fs-sm);color:var(--muted);}

.set-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);}
.set-bar input[type=search]{flex:1 1 200px;min-width:0;height:36px;padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);font:inherit;font-size:var(--fs-md);box-sizing:border-box;}
.set-bar .btn-primary{height:36px;}
.set-check{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-md);color:var(--muted);cursor:pointer;}
.set-btns{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3);}
.set-btns button{display:inline-flex;align-items:center;gap:6px;}
button.danger, .btn-ghost.danger{color:var(--red-ink);}
.set-card .btn-primary, .set-card .btn-ghost{min-height:36px;}

/* Tableaux (réutilisent .task-table : cartes sous 820 px grâce aux data-label) */
.set-table{width:100%;}
.set-table td{vertical-align:middle;}
.set-table td.set-act{text-align:right;white-space:nowrap;}   /* cellule de tableau conservée (sinon la bordure de ligne s'arrête avant) */
.set-table td.set-act .btn-small{margin-left:var(--sp-2);}
.set-table tr.is-archived td:not(.set-act){opacity:.6;}
.set-table .badge{margin-left:6px;vertical-align:middle;}

.set-radio{display:flex;align-items:flex-start;gap:8px;margin:0 0 var(--sp-2);font-size:var(--fs-md);cursor:pointer;line-height:1.4;}
.set-radio input{margin-top:3px;flex:none;}
.set-radio span{min-width:0;}
.set-radio select{max-width:100%;margin-left:4px;}
.set-radio small{color:var(--muted);}
.set-each{margin:var(--sp-2) 0 0;display:flex;flex-direction:column;gap:var(--sp-2);max-height:40vh;overflow:auto;}
.set-each[hidden]{display:none;}
.set-each-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--sp-3);padding:6px 0;border-bottom:1px solid var(--border);}
.set-each-t{flex:1 1 180px;min-width:0;overflow-wrap:anywhere;font-size:var(--fs-md);}
.set-each-t small{color:var(--muted);margin-left:4px;}
.set-each-row select{flex:1 1 160px;min-width:0;max-width:100%;}
.modal-wide{max-width:560px;}

.set-list{list-style:none;margin:0;padding:0;}
.set-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--sp-3);padding:10px 0;border-bottom:1px solid var(--border);min-width:0;}
.set-list li:last-child{border-bottom:0;}
.set-sp{flex:1 1 0;}
.set-list b{overflow-wrap:anywhere;min-width:0;}

/* Ajout d'un admin en 2 étapes */
.set-step{margin:0 0 var(--sp-3);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:700;color:var(--muted);}
.set-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--sp-3);}
.set-choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);color:var(--text);font-weight:600;min-width:0;}
.set-choice:hover, .set-choice:focus-visible{border-color:var(--blue);background:var(--blue-bg);}
.set-choice span{font-weight:400;font-size:var(--fs-sm);color:var(--muted);line-height:1.4;overflow-wrap:anywhere;}
.set-pick-list{max-height:230px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-sm);margin:0 0 var(--sp-2);}
.set-pick{display:flex;align-items:center;gap:10px;padding:9px var(--sp-3);border-bottom:1px solid var(--border);cursor:pointer;min-width:0;}
.set-pick:last-child{border-bottom:0;}
.set-pick:hover, .set-pick:has(input:checked){background:var(--blue-bg);}
.set-pick input{flex:none;}
.set-pick span{min-width:0;overflow-wrap:anywhere;}
.set-pick small{color:var(--muted);margin-left:4px;}

/* Afficheur de conformité du mot de passe */
.pwd-meter{margin:calc(-1 * var(--sp-1)) 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);}
.pwd-bar{height:6px;border-radius:99px;background:var(--border);overflow:hidden;margin-bottom:var(--sp-2);}
.pwd-bar i{display:block;height:100%;width:0;background:var(--muted);border-radius:99px;transition:width .2s,background .2s;}
.pwd-meter.all-ok .pwd-bar i{background:var(--green);}
.pwd-rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-sm);color:var(--muted);}
.pwd-rules li{display:flex;align-items:flex-start;gap:8px;line-height:1.35;overflow-wrap:anywhere;}
.pwd-ic{flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--faint);box-sizing:border-box;margin-top:1px;position:relative;}
.pwd-rules li.ok{color:var(--text);}
.pwd-rules li.ok .pwd-ic{background:var(--green);border-color:var(--green);}
.pwd-rules li.ok .pwd-ic::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg);}
.pwd-n{color:var(--faint);}
.pwd-state{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);font-weight:700;color:var(--muted);min-height:1.2em;}
.pwd-meter.all-ok .pwd-state{color:var(--text);}

/* Données : aperçu d'import */
.set-preview{margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);}
.set-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-3);}
.set-stats div{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:2px;min-width:0;}
.set-stats b{font:600 22px var(--mono);letter-spacing:-.02em;}
.set-stats span{font-size:var(--fs-sm);color:var(--muted);}
.set-dup{border:1px solid var(--border);border-radius:var(--r-sm);margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);min-width:0;}
.set-dup legend{font-size:var(--fs-sm);font-weight:700;color:var(--muted);padding:0 6px;}
.set-ul{margin:var(--sp-2) 0 var(--sp-3);padding-left:18px;font-size:var(--fs-sm);line-height:1.5;overflow-wrap:anywhere;}
.set-preview details{margin-bottom:var(--sp-2);font-size:var(--fs-md);}
.set-preview summary, .set-danger summary{cursor:pointer;font-weight:600;}
.set-danger summary{color:var(--red-ink);}
.set-danger input[type=file]{margin-top:var(--sp-2);}

/* Projets : ordre et couleur */
.set-proj li{flex-wrap:wrap;}
.set-pn{flex:1 1 140px;}
.set-sw{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;}
.set-sw button{width:26px;height:26px;padding:0;border-radius:50%;border:2px solid transparent;font-size:var(--fs-xs);line-height:1;}
.set-sw .sw-auto{background:var(--panel);color:var(--muted);border:1px solid var(--border);}
.set-sw button.on{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--text);}
.set-mv{display:inline-flex;gap:4px;}
.set-mv .ibtn[disabled]{opacity:.35;cursor:default;}
.set-mv{align-items:center;}
.set-cnt{margin-right:4px;white-space:nowrap;}

/* Suppression d'un projet : répartition tâche par tâche */
.dp-list{display:flex;flex-direction:column;gap:var(--sp-2);max-height:50vh;overflow-y:auto;margin-top:var(--sp-2);}
.dp-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;}
.dp-t{flex:1 1 160px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dp-sel{flex:1 1 160px;min-width:0;max-width:100%;}
#modalDeleteProjectConfirmBtn[disabled]{opacity:.45;cursor:not-allowed;}

/* ---------- Petits écrans ---------- */
@media (max-width:900px){
  .set-card .field input, .set-card .field select, .set-bar input[type=search]{font-size:16px;min-height:44px;}   /* ≥ 16 px : évite le zoom automatique sur iOS */
  .set-card .btn-primary, .set-card .btn-ghost, .set-bar .btn-primary{min-height:44px;}
  .set-check{min-height:44px;}
  .set-radio select{display:block;margin:6px 0 0;width:100%;}
  .set-pick{min-height:44px;}
  .set-choice{min-height:64px;}
  .set-sw button{width:36px;height:36px;}
  .set-mv .ibtn{width:40px;height:40px;}
}
@media (max-width:820px){
  .set-table td.set-act{grid-column:1 / -1;display:flex !important;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-start;text-align:left;white-space:normal;}
  .set-table td.set-act .btn-small{margin-left:0;min-height:40px;flex:1 1 auto;}
}
@media (max-width:480px){
  .set-card{padding:var(--sp-3) var(--sp-3) var(--sp-4);}
  .set-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .set-tabs button{padding:8px 6px;font-size:var(--fs-sm);}
  .set-tabs button:nth-child(odd){border-left:0;}
  .set-tabs button:nth-child(n+3){border-top:1px solid var(--border);}
  .set-tabs button:last-child:nth-child(odd){grid-column:1 / -1;}
  .set-btns button{flex:1 1 100%;justify-content:center;}
  .set-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Accès API et Notifications (Lot I) */
.set-token{margin:0 0 var(--sp-4);padding:var(--sp-3);border:1px solid var(--blue);border-radius:var(--r-md);background:var(--blue-bg);line-height:1.5;overflow-wrap:anywhere;}
.set-token-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0;}
.set-token-row code{flex:1 1 220px;min-width:0;padding:8px 10px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);font:13px var(--mono);overflow-wrap:anywhere;user-select:all;}
.set-card code{font:12.5px var(--mono);overflow-wrap:anywhere;}
.wh-state{margin:0 0 var(--sp-3);padding:var(--sp-3);border-radius:var(--r-sm);background:var(--hover);line-height:1.5;overflow-wrap:anywhere;}
.wh-state.on{background:var(--blue-bg);}
.wh-tuto summary{cursor:pointer;font-weight:700;margin-bottom:var(--sp-3);}
.wh-steps{margin:0 0 var(--sp-3);padding-left:1.3em;line-height:1.6;}
.wh-steps li{margin-bottom:var(--sp-2);overflow-wrap:anywhere;}
.set-btns button[disabled]{opacity:.45;cursor:default;}
